《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于嵌入式系統的ZigBee芯片的研究與應用
基于嵌入式系統的ZigBee芯片的研究與應用
來源:微型機與應用2012年第2期
暢 達,耿淑琴,侯立剛,吳武臣
(北京工業大學 電控學院集成電路與系統研究室,北京100124)
摘要: 分析了ZigBee的特點,指出了以ARM-Linux嵌入式系統與CC2420組合作為ZigBee網絡中的全功能節點的特有優勢。闡述了芯片工作原理與硬件系統組成方式,并且給出了CC2420與ARM底層通信機制SPI驅動設計的方法,使得CC2420與系統間的數據交換得到保證,同時也是上層應用的基礎。
Abstract:
Key words :

摘  要: 分析了ZigBee的特點,指出了以ARM-Linux嵌入式系統與CC2420組合作為ZigBee網絡中的全功能節點的特有優勢。闡述了芯片工作原理與硬件系統組成方式,并且給出了CC2420與ARM底層通信機制SPI驅動設計的方法,使得CC2420與系統間的數據交換得到保證,同時也是上層應用的基礎。
關鍵詞: ZigBee;CC2420;ARM-Linux;SPI驅動

    隨著信息技術的不斷發展,無線傳感網絡逐漸得到認同與應用。無線傳感網絡是由大量傳感器節點通過無線通信的方式形成的一個多跳的自組織網絡系統,它包括基本的傳感單元、處理單元、通信單元和電源部分。符合IEEE 802.15.4標準的ZigBee協議可以很好地支持網絡中的傳輸需要,將其與嵌入式系統相結合,可以形成無線傳感網的基本單元[1]。
    ARM嵌入式系統作為當下最為流行的嵌入式系統,其在功耗、體積、可靠性與便攜性方面都有很強的競爭力,而CC2420作為TI推出的符合2.4 GHz IEEE 802.15.4的射頻收發器,為無線網絡提供了良好的射頻傳輸保證。在操作系統方面,嵌入式Linux系統憑借其開源性、穩定性等特點,成為眾多嵌入式系統的優先選擇。所以,將ARM-Linux嵌入式系統與CC2420芯片相結合作為網絡中對硬件要求較高的具有完整功能的全功能設備,完全可以開發出基于ZigBee協議的無線傳感網絡,它同時具有低成本、低功耗、低復雜度、高性能、高通用性與移植性等諸多優勢。
1 ZigBee協議的特點分析
    ZigBee(紫蜂)是IEEE 802.15.4協議的兼容版本。IEEE 802.15.4協議是針對低速無線個人局域網設計的符合IEEE規范的官方標準,工作在2.4 GHz頻段,最多支持16個傳輸速率為250 kb/s的信道。ZigBee是一種短距離、低功耗的無線通信技術,支持星形、簇形和網狀三種拓撲結構,具有短距離、低功耗、自組織、低成本、低速率和低復雜度的特點。ZigBee的網絡標準共分為4層,從上到下分別為應用層、網絡層、多媒體訪問控制層(MAC)和物理層。每一層為它的上一層提供數據與管理服務。其中,物理層和MAC層采用了IEEE 802.15.4標準,應用層和網絡層則在此基礎上進行了定制。
    ZigBee標準的物理層規定了3個有效頻段,分別是868 MHz、915 MHz和2.4 GHz。其中,在中國常用的2.4 GHz頻段上采用直接序列擴頻技術進行數據通信,從而提高了設備的抗干擾性。MAC層為傳輸提供可靠的數據通信鏈路與安全機制。在MAC層,不同的幀類型采用相同的結構,可以通過調用自定義的API函數構造不同的幀。網絡層的主要功能是建立于管理網絡,提供路由機制等。在應用層中,每個節點具有16位的網絡地址和64位的IEEE地址,并且還有8位的應用層入口地址對應于應用對象。
    相對于Wi-Fi、藍牙等其他無線通信技術,ZigBee技術憑借其功耗和成本上的優勢,越來越廣泛地用于低速率、小范圍的網絡。
2 系統硬件原理
    圖1所示是系統硬件平臺的架構示意圖。S3C2440A是三星公司推出的以ARM920T為核心的32位高性能嵌入式處理器。它憑借高性能、低價格、低功耗等優勢廣泛應用于嵌入式系統中,并且可以穩定運行于Linux和Windows CE等諸多嵌入式操作系統。S3C2440A內置兩組SPI總線,每組SPI擁有兩個8位移位寄存器用于數據發送與接收。任意選取其中一組與CC2420連接即可完成微控制器與CC2420的數據傳輸[2]。

    CC2420作為TI推出的首款符合ZigBee協議的射頻芯片,可以與任何符合IEEE 802.15.4協議的設備實現無線互聯。CC2420通過SPI接口(SCLK、CSn、SO和SI)配置為從機。SPI上所有的地址和數據都是高位優先發送。片選信號低有效,即當CSn變低時,意味著CC2420的新通信周期開始。
    CC2420共有50個寄存器,分別為33個16位配置寄存器、15個命令選通寄存器和2個用來訪問獨立發送和接收FIFO的8位寄存器。每個寄存器都被編址為一個6 bit地址,與第7位的RAM/Register選擇位和第6 bit的讀寫選擇位一起構成一個8 bit地址。在每個寄存器讀寫周期中,共有24 bit數據被發送到SI上,包括8 bit地址和16 bit數據。在發送數據的同時,SO線上將返回8 bit狀態用于調試。命令選通脈沖可以看作是CC2420的單字節指令,通過編址一個命令選通寄存器可以啟動內部序列。這些命令可以用于使能晶振、使能接收、啟動解碼等。晶振必須被首先啟動并且穩定后才可以接收其他命令。命令選通與寄存器讀寫相似,只是沒有數據傳輸,在CSn有效的前提下,命令選通后可以繼續其他SPI操作。
    通過寄存器TXFIFO與RXFIFO可以存取發送FIFO和接收FIFO,且一次操作可以讀取多個FIFO字節。SFLUSHTX命令可以激活TXFIFO,SFLUSHRX可以激活RXFIFO。
    CC2420通過CCA、SDF、FIFO和FIFOP 4條信號將工作狀態反饋給微控制器。CCA信號用于清除通道,在接收狀態下,如果經過8個符號周期后,信道內仍然沒有數據,則CCA信號激活;否則處于非激活狀態。SDF信號用于提供時序信息。在發送過程中,當幀的起始分隔符被傳送后,SDF信號會被激活;當整個數據包完成傳送后,SDF信號立刻處于非激活狀態。在接收過程中,當檢測到有效的幀起始分隔符后,SDF信號激活;整個數據包接收完成后,該信號處于非激活狀態。FIFO信號用于檢測RXFIFO中是否有數據,當RXFIFO中存在至少一個數據時,FIFO信號處于激活狀態,直到RXFIFO為空。當RXFIFO中存入的數據超過了可寫入的閾值時,FIFOP信號會被激活,另外一種情況是,當一個完整的數據包被接收到后,該信號會被激活,而有一個數據包從FIFO中讀出后,該信號將立刻處于非激活狀態。如果地址識別被允許,FIFOP信號會一直保持在非激活狀態直到被傳入的幀通過了地址識別,否則,即使RXFIFO中的數據超越了閾值,FIFOP信號仍然不會被激活[3]。

 


3 底層通信機制的驅動設計
    在Linux系統中,上層應用程序運行在用戶空間,不能直接訪問硬件,只有通過系統調用將其調用到內核空間,通過設備驅動程序才能把應用程序的需求傳遞給硬件。如圖2所示。CC2420憑借SPI接口與微處理器進行通信,雖然某些2.6內核版本的Linux給出了SPI驅動程序,但是其針對性并不強,所以,為CC2420設計更為合適的SPI驅動更加有益于底層的通信,也更加利于開發和測試工作的進行[4,5]。

    SPI驅動的設計主要包含讀寫兩個操作。其中寫操作用于將上層空間的數據發送給內核中的緩沖區,并控制主SPI將數據發送給CC2420;讀操作將讀取SPI接收到的內容,并將其發送到上層空間。每當SPI完成一次數據傳輸,都會向系統發起一次中斷,中斷由中斷線進入并且中斷CPU,從而通知內核,以調用相關的中斷處理例程。
    驅動程序內部采用環形緩沖區作為數據收發的緩沖結構,如圖3所示。中斷機制采用上半部與下半部的處理方式,上半部只負責響應中斷,而繁瑣的數據處理交由下半部完成,這樣可以大大提高代碼效率。驅動程序的下半部采用tasklet機制,tasklet是一種較為特殊的軟中斷,工作在中斷上下文,并且有嚴格的順序執行保障。另外,設計中采用了自旋鎖機制,從而有效地防止了臨界區的多重訪問問題,提高了驅動程序的安全性。與此同時,休眠機制的成功引入避免了由于緩沖區覆蓋所造成的數據丟失。

    對于寫操作,首先將所需發送的數據從上層空間拷貝到內核中的發送數據結構,然后獲取禁止軟中斷但允許硬中斷的自旋鎖,進而調用寫操作函數write將數據串行拷貝至相應的發送環形緩沖區中,最后將數據依次寫入發送寄存器中,釋放自旋鎖,數據由硬件發送出去。圖4所示為寫操作基本流程圖。但是,如果發送環形緩沖區不為空,程序處于發送過程中,并且不需要寫臨界區時,寫進程就會被設計成休眠模式,休眠的進程將在下半部tasklet中被喚醒。在tasklet中,發送環形緩沖區的尾指針會不斷自增,以表示數據正在被不斷發送出去,直到緩沖區為空后,tasklet會喚醒之前睡眠的進程。

    對于讀操作,其流程大致與寫操作類似,如圖5所示。一旦SPI接收寄存器收到數據,系統就會產生中斷,從而進入中斷處理例程。tasklet將接收寄存器中的數據串行發送到接收環形緩沖區,緩沖區頭指針自增,并喚醒進程。然后進程獲得自旋鎖,在判斷所需讀取的數據長度不超過緩沖區的最大長度后,將接收環形緩沖區的尾指針數據拷貝至內核的接收數據結構,然后尾指針自增。最后將數據拷貝至上層空間。

    圖6所示為測試結果波形圖。從測試結果來看,在8個時鐘周期內可以準確地發送8位二進制數0110_0110。完成底層通信機制SPI的驅動以后,只需要將CC2420注冊設備、完成地址映射,再按照前面所述器件的工作原理發送相關命令與檢測信號,就可以完成此系統的基本應用功能,從而擁有了作為ZigBee網絡中重要節點的通信保證。另外,ARM嵌入式系統具有更強大的功能,在數據處理與網絡接入方面有很好的性能支持,可以作為全功能設備節點的良好選擇。

參考文獻
[1] 蔣挺,趙成林.紫蜂技術及其應用[M].北京:北京郵電大學出版社,2007.
[2] SAMSUNG.S3C2440A user’s manual reltminary[EB/OL]. Revision0.14,2004.
[3] TI.CC2420_datasheet[EB/OL].(2004-06-09).Revision1.2,2007.
[4] 劉淼.嵌入式系統接口設計與Linux驅動程序開發[M].北京:北京航空航天大學出版社,2006.
[5] CORBET J,RUBINI A,GREG K H.Linux device drivers[M].Sebastopol:O’Reilly Media 2005:274-278.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美精品国产| 校园激情久久| 国产无遮挡一区二区三区毛片日本| 亚洲精品欧美一区二区三区| 国产伦精品一区二区| 亚洲高清不卡一区| 国产精品热久久久久夜色精品三区| 久久久久久久999| 久久在线免费观看| 欧美激情 亚洲a∨综合| 欧美a级一区二区| 午夜精彩国产免费不卡不顿大片| 国内欧美视频一区二区| 亚洲女爱视频在线| 欧美福利一区| 欧美大片第1页| 亚洲精品视频免费观看| 欧美在线视频在线播放完整版免费观看| 国产啪精品视频| 国产精品av一区二区| 久久久久一区二区三区| 国产精品一卡| 欧美理论在线播放| 国内激情久久| 亚洲精品久久久久中文字幕欢迎你| 欧美在线一区二区三区| 日韩午夜电影在线观看| 一区二区三区国产精华| 99精品热视频只有精品10| 国产精品久久久久久户外露出| 欧美α欧美αv大片| 亚洲视频免费在线观看| 免费不卡欧美自拍视频| 亚洲欧美日韩国产综合精品二区| 欧美日韩免费观看一区三区| 亚洲精品久久久久久久久久久久| 黑人极品videos精品欧美裸| 久久一二三区| 夜夜嗨av一区二区三区四季av| 亚洲成色www久久网站| 亚洲国产精品福利| 欧美日韩综合精品| 国产精品豆花视频| 黄色一区二区在线| 亚洲麻豆国产自偷在线| 亚洲午夜激情| 欧美激情视频在线免费观看 欧美视频免费一| 久久蜜桃av一区精品变态类天堂| 久久国产精品亚洲77777| 国产精品海角社区在线观看| 久久精品在线播放| 欧美午夜三级| 一区二区三区在线免费播放| 久久成人精品一区二区三区| 今天的高清视频免费播放成人| 欧美视频专区一二在线观看| 免费观看久久久4p| 欧美三级韩国三级日本三斤| 亚洲欧美视频| 久久精品夜夜夜夜久久| 美国成人直播| 久久精品论坛| 国产视频在线观看一区二区三区| 久久久噜噜噜久久狠狠50岁| 亚洲国内在线| 国产精品免费看| 久久夜色精品国产亚洲aⅴ| 99国内精品久久久久久久软件| 久久久久se| 久久午夜av| 亚洲欧美日韩中文在线制服| 亚洲国产高清自拍| 国语自产精品视频在线看抢先版结局| 欧美久色视频| 久久久久久综合| 午夜精品美女久久久久av福利| 亚洲狼人精品一区二区三区| 中文亚洲欧美| 欧美大片91| 久久久亚洲国产天美传媒修理工| 在线视频观看日韩| 亚洲图片在线观看| 一本久道久久综合中文字幕| 亚洲一区二区动漫| 国产一区日韩欧美| 中文无字幕一区二区三区| 亚洲毛片一区二区| 国产亚洲精品aa午夜观看| 久久午夜电影网| 性色av一区二区三区在线观看| 91久久国产综合久久91精品网站| 欧美在线观看视频在线| 亚洲视频一区二区在线观看| 亚洲高清网站| 一区二区三区四区国产精品| 在线成人免费观看| 日韩一级精品| 国产欧美精品一区| 国内精品久久久久久影视8| 久久在精品线影院精品国产| 狠狠爱www人成狠狠爱综合网| 欧美亚洲自偷自偷| 午夜精品视频| 亚洲欧美国产另类| 久久精品在线视频| 欧美激情网友自拍| 伊人久久亚洲影院| 国产欧美在线视频| 久久婷婷人人澡人人喊人人爽| 国产精品三级视频| 亚洲韩国一区二区三区| 国产女人精品视频| 欧美一区永久视频免费观看| 欧美一区二区三区精品电影| 亚洲国产精品精华液网站| 国产精品一国产精品k频道56| 欧美日韩卡一卡二| 欧美午夜精品久久久久久人妖| 久久久久久国产精品mv| 免费在线观看成人av| 久久福利毛片| 欧美激情性爽国产精品17p| 亚洲精品久久久一区二区三区| 亚洲韩国一区二区三区| 亚洲男女自偷自拍| 一二三区精品| 久久久另类综合| 欧美婷婷久久| 国产精品国产馆在线真实露脸| 欧美日韩国产综合一区二区| 国产视频一区二区三区在线观看| 夜夜精品视频一区二区| 亚洲精品一区二区三区婷婷月| 午夜精品一区二区三区四区| 欧美日韩国产片| 欧美国产精品日韩| 激情视频一区二区三区| 1769国内精品视频在线播放| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲国产另类久久精品| 国产真实久久| 欧美视频国产精品| 欧美日韩少妇| 国产欧美另类| 国产精品99久久久久久久女警| 亚洲高清在线| 一区二区三区在线视频观看| 久久久久久久网| 久久国产视频网| 欧美另类69精品久久久久9999| 欧美寡妇偷汉性猛交| 国产精品毛片大码女人| 欧美人与性动交a欧美精品| 国产精品乱码妇女bbbb| 中国日韩欧美久久久久久久久| 在线午夜精品自拍| 欧美日韩国产成人精品| 亚洲第一页在线| 欧美日韩在线精品一区二区三区| 亚洲人体一区| 国产自产女人91一区在线观看| 久久精品国产一区二区电影| 欧美丝袜第一区| 激情婷婷欧美| 国产精品对白刺激久久久| 久久久精品日韩| 欧美婷婷六月丁香综合色| 一区二区三区毛片| 亚洲性图久久| 欧美日韩综合另类| 亚洲一区久久久| 欧美日韩亚洲一区三区| 国产精品白丝黑袜喷水久久久| 国产精品美女久久久久久久| 亚洲一区二区三区777| 国产亚洲成年网址在线观看| 欧美成人免费va影院高清| 亚洲精品一区二区三区在线观看| 美女脱光内衣内裤视频久久影院| 国产精品视频免费一区| 国产在线不卡视频| 久久久噜噜噜久久中文字幕色伊伊| 久久精品123| 久久久亚洲综合| 久久久久欧美| 一区二区日韩欧美| 午夜精品一区二区三区在线播放| 国产精品v日韩精品| 欧美激情精品久久久久久变态| 亚洲国产另类精品专区| 久久精品国产精品亚洲精品| 久久er精品视频| 欧美精选在线| 国产精品午夜视频| 欧美日韩三区四区| 香蕉久久一区二区不卡无毒影院| 欧美精品免费播放| 99视频+国产日韩欧美| 免费在线一区二区| 国产欧美日本在线| 激情成人综合| 欧美精品在线观看一区二区| 狠狠入ady亚洲精品经典电影| 亚洲裸体俱乐部裸体舞表演av| 久久aⅴ乱码一区二区三区| 国产九色精品成人porny| 久久久久久久久久久久久久一区| 亚洲人成毛片在线播放| 国产精品成人一区二区| 亚洲视频精选在线| 亚洲激情成人在线| 一区二区激情视频| 国产麻豆一精品一av一免费| 国产精品视频自拍| 国产日韩精品视频一区二区三区| 亚洲乱码国产乱码精品精98午夜| 国产精品美女午夜av| 久久久午夜电影| 欧美a级片一区| 亚洲成在人线av| 麻豆精品国产91久久久久久| 一区二区三区日韩欧美| 亚洲视频精品| 精品88久久久久88久久久| 影音先锋亚洲电影| 欧美午夜久久| 欧美专区在线观看一区| 欧美一区二区三区日韩视频| 国产精品chinese| 国产热re99久久6国产精品| 欧美激情 亚洲a∨综合| 欧美日本不卡视频| 在线播放豆国产99亚洲| 欧美精品97| 在线播放亚洲| 亚洲一区欧美一区| 欧美一级视频精品观看| 国产精品www色诱视频| 久久综合国产精品| 久久不射2019中文字幕| 欧美日韩精品伦理作品在线免费观看| 国产一区激情| 在线色欧美三级视频| 亚洲久久一区二区| 亚洲精品久久7777| 亚洲宅男天堂在线观看无病毒| 国语自产精品视频在线看抢先版结局| 国产日韩欧美高清免费| 久久精品国产99精品国产亚洲性色| 狠狠干综合网| 国产亚洲欧美色| 久久久www成人免费无遮挡大片| 伊人成人开心激情综合网| 亚洲黄一区二区| 亚洲黄色影片| 另类天堂视频在线观看| 亚洲国产一区二区在线| 狠狠色狠狠色综合日日小说| 欧美主播一区二区三区| 女人天堂亚洲aⅴ在线观看| 欧美激情一区二区三区蜜桃视频| 免费在线一区二区| 欧美成人自拍| 国模私拍一区二区三区| 日韩一区二区精品| 在线观看亚洲视频啊啊啊啊| 国产精品理论片在线观看| 销魂美女一区二区三区视频在线| 国产精品狼人久久影院观看方式| 亚洲国产va精品久久久不卡综合| 性久久久久久久久久久久| 久久久久久黄| 国产一区二区三区四区五区美女| 99综合视频| 国产夜色精品一区二区av| 欧美香蕉大胸在线视频观看| 久久久久久一区二区三区| 国产欧美日韩精品a在线观看| 在线观看视频免费一区二区三区| 国一区二区在线观看| 国产精品色网| 久久久蜜桃一区二区人| 国产精品久久久久久久久久免费看| 亚洲三级免费观看| 欧美一区二区观看视频| 亚洲欧美另类中文字幕| 亚洲——在线| 美女网站久久| 亚洲美女视频| 久久av一区| 欧美另类videos死尸| 国产婷婷色一区二区三区| 国内精品久久久久影院 日本资源| 一色屋精品亚洲香蕉网站| 国产精品女人毛片| 国产伪娘ts一区| 欧美在线视频免费播放| 国产一区二区无遮挡| 欧美激情精品久久久久久免费印度| 亚洲视频在线观看视频| 欧美一区二区三区久久精品茉莉花| 国产精品拍天天在线| 亚洲一区二区三| 亚洲电影天堂av| 亚洲精品一区二区三| 欧美在线播放一区二区| 欧美日韩在线视频观看| 国产精品99久久不卡二区| 国产精品久久| 欧美中文字幕在线视频| 久久综合色一综合色88| 国产精品一区二区你懂的| 久久久久久婷| 国产九色精品成人porny| 国产精品美女久久久久久久| 欧美中文字幕精品| 亚洲自拍偷拍麻豆| 欧美资源在线观看| 蜜臀va亚洲va欧美va天堂| 欧美多人爱爱视频网站| 欧美日韩一区二区三区四区五区| 在线观看亚洲一区| 激情成人综合| 日韩视频免费在线| 极品中文字幕一区| 欧美激情精品久久久久久蜜臀| 欧美成人乱码一区二区三区| 亚洲午夜精品网|