<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于射頻芯片CC2420的ZigBee無(wú)線(xiàn)通信設計

基于射頻芯片CC2420的ZigBee無(wú)線(xiàn)通信設計

作者: 時(shí)間:2007-03-28 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:本文簡(jiǎn)要介紹了技術(shù),詳細的說(shuō)明了針對使用PIC18系列單片機為控制器、為RF收發(fā)器的節點(diǎn)的硬件組成,并從通信協(xié)議及協(xié)議棧的構架等方面闡述了ZigBee網(wǎng)絡(luò )的實(shí)現。
關(guān)鍵詞:ZigBee,,通信協(xié)議,協(xié)議棧

0 引言

為滿(mǎn)足小型、低成本設備的無(wú)線(xiàn)聯(lián)網(wǎng)要求,2000年12月IEEE成立了IEEE802.15.4工作組,致力于定義一種適于固定、便攜或移動(dòng)設備使用的極低復雜度、成本和功耗的低速率無(wú)線(xiàn)連接技術(shù)――ZigBee技術(shù)。本文針對使用PIC18系列單片機及為RF收發(fā)器,從ZigBee節點(diǎn)的硬件及ZigBee通信協(xié)議和協(xié)議棧方面,介紹了ZigBee網(wǎng)絡(luò )的組成。

1 ZigBee技術(shù)簡(jiǎn)介

2002年8月ZigBee聯(lián)盟成立,由英國Invensys公司、日本三菱電氣公司、美國摩托羅拉公司以及荷蘭飛利浦半導體公司組成。IEEE802.15.4的ZigBee標準于2003年5月獲得批準。

ZigBee技術(shù)的物理層和鏈路層協(xié)議主要采用IEEE802.15.4標準,而ZigBee聯(lián)盟負責網(wǎng)絡(luò )層和應用層的開(kāi)發(fā),以及制定其安全協(xié)議和市場(chǎng)推廣等。IEEE802.15.4定義了兩個(gè)物理層標準,分別是2.4GHz物理層和868/915 MHz物理層。兩個(gè)物理層都DSSS直接序列擴頻技術(shù),使用相同的物理層數據包格式。ZigBee在2.4 GHz頻段有16個(gè)信道,能夠提供250 kb/s的傳輸速率,采用O-QPSK調制;915 MHz和868 MHz分別是歐洲和美國的ISM 頻段,這兩個(gè)頻段的引入避免了2.4 GHz附近各種設備的相互干擾。在916MHz頻段有10個(gè)信道,傳輸速率為是40 kb/s,在868 MHz頻段只有一個(gè)信道,傳輸速率為20 kb/s,這兩個(gè)頻段都采用BPSK調制。

2 ZigBee節點(diǎn)的硬件構成

2.1 典型的ZigBee節點(diǎn)硬件

ZigBee協(xié)議棧對系統微處理器的要求有:8位微處理器;完全的協(xié)議棧:ROM32K;簡(jiǎn)單功能節點(diǎn)協(xié)議棧:ROM約6K;協(xié)調器還需要足夠的RAM,用于保存節點(diǎn)器件數據庫、傳輸路由表等。

可供選用的單片機種類(lèi)較多,本所選用的是PIC18系列的單片機,因此要創(chuàng )建典型的ZigBee節點(diǎn)至少必須具備以下組件:一片帶SPI接口的PIC18F單片機;一個(gè)帶有所需外部元件的RF收發(fā)器;一根天線(xiàn),可以是PCB上的引線(xiàn)形成的天線(xiàn)或單極天線(xiàn)。ZigBee節點(diǎn)的構成如圖1所示,控制器通過(guò)SPI總線(xiàn)和一些離散控制信號與RF收發(fā)器相連??刂破鞒洚擲PI主器件而RF收發(fā)器充當從器件??刂破鲗?shí)現了IEEE 802.15.4 MAC層和ZigBee協(xié)議層。

在RF收發(fā)器上,本選用了Chipcon公司的CC2420收發(fā)器,它實(shí)現ZigBee協(xié)議的物理層(PHY)及媒體訪(fǎng)問(wèn)控制器(MAC)層,具備65,000個(gè)節點(diǎn)通道并可隨時(shí)擴充,以及低耗電、250kbps傳輸速率、快速喚醒時(shí)間(30ms)、CSMA-CA通道狀態(tài)偵測等特性。


2.2 ZigBee節點(diǎn)硬件電路實(shí)現

CC2420只需要極少的外圍元器件, 其外圍電路包括晶振時(shí)鐘電路、輸入/ 輸出匹配電路和微控制器接口電路三個(gè)部分。本振信號既可由外部有源晶體提供,也可由內部電路提供。由內部電路提供時(shí)需外加晶體振蕩器和兩個(gè)負載電容, 電容的大小取決于晶體的頻率及輸入容抗等參數。輸入/ 輸出匹配電路主要用來(lái)匹配的輸入輸出阻抗。CC2420可以通過(guò)4線(xiàn)SPI總線(xiàn)(SI、SO、SCLK、CSn) 設置的工作模式, 并實(shí)現讀/ 寫(xiě)緩存數據,讀/ 寫(xiě)狀態(tài)寄存器等。通過(guò)控制FIFO和FIFOP管腳接口的狀態(tài)可設置發(fā)射/ 接收緩存器。在數據傳輸過(guò)程中CSn必須始終保持低電平。另外, 通過(guò)CCA管腳狀態(tài)的設置可以控制清除通道估計, 通過(guò)SFD管腳狀態(tài)的設置可以控制時(shí)鐘/ 定時(shí)信息的輸入。

如圖2所示,為CC2420的外圍電路及與PIC18系列單片機的連接方式。此外,CC2420需要3.3V的電源電壓,可以選用PIC18系列單片機中的低壓型號,使控制器和RF收發(fā)器均使用3.3V電源電壓。

3 ZigBee通信協(xié)議

3.1 IEEE 802.15.4MAC數據包

在本文的第一部分,已經(jīng)對IEEE 802.15.4規范做了介紹,以下補充MAC層數據包的部分內容。IEEE 802.15.4 MAC數據包的最大長(cháng)度為127字節,每個(gè)數據包都由頭字節和16位CRC 值組成,16位CRC值驗證幀的完整性。此外,IEEE 802.15.4還可以選擇使用應答數據傳輸機制,使用這種方法,所有特殊ACK標志位置1的幀均會(huì )被它們的接收器應答。如果發(fā)送幀的時(shí)候置位了ACK標志位而且在一定的超時(shí)期限內沒(méi)有收到應答,發(fā)送器將重復進(jìn)行固定次數的發(fā)送,如仍無(wú)應答就宣布發(fā)生錯誤。

3.2 網(wǎng)絡(luò )配置與網(wǎng)絡(luò )關(guān)聯(lián)

ZigBee無(wú)線(xiàn)網(wǎng)絡(luò )可采用多種類(lèi)型的網(wǎng)絡(luò )配置。本使用星型網(wǎng)絡(luò )實(shí)現通信。星型網(wǎng)絡(luò )配置由一個(gè)協(xié)調器節點(diǎn)(主設備)和一個(gè)或多個(gè)終端設備(從設備)組成。在星型網(wǎng)絡(luò )中,所有的終端設備都只與協(xié)調器通信。

根據系統需求,協(xié)調器會(huì )在非易失性存儲器中存儲所有網(wǎng)絡(luò )關(guān)聯(lián),稱(chēng)為鄰接表。為了連接到網(wǎng)絡(luò ),終端設備可能執行孤立通知過(guò)程來(lái)查找先前與之關(guān)聯(lián)的網(wǎng)絡(luò )或者執行關(guān)聯(lián)過(guò)程來(lái)加入一個(gè)新網(wǎng)絡(luò )。在執行孤立通知過(guò)程的情況下,協(xié)調器將通過(guò)查找其鄰接表來(lái)識別先前與之關(guān)聯(lián)的終端設備。

3.3 端點(diǎn)、接口及端點(diǎn)綁定

典型的ZigBee節點(diǎn)可支持多種特性和功能,為了便于在I/O節點(diǎn)和兩個(gè)控制器節點(diǎn)之間進(jìn)行數據傳輸,所有節點(diǎn)中的應用程序必須保存多個(gè)數據鏈路。為了減少成本,ZigBee節點(diǎn)僅使用一個(gè)無(wú)線(xiàn)信道來(lái)和多個(gè)端點(diǎn)/ 接口來(lái)創(chuàng )建多條虛擬鏈路或信道,每個(gè)端點(diǎn)總共有8個(gè)接口。

在星型網(wǎng)絡(luò )中的終端設備總是只與協(xié)調器通信,協(xié)調器負責將端點(diǎn)發(fā)送的數據包從一個(gè)節點(diǎn)轉發(fā)到接收終端設備的相應端點(diǎn)。所以,當建立一個(gè)新的網(wǎng)絡(luò )時(shí),必須告知協(xié)調器如何創(chuàng )建源端點(diǎn)和目標端點(diǎn)之間的鏈路,ZigBee協(xié)議使用了一個(gè)稱(chēng)為端點(diǎn)綁定的特殊過(guò)程來(lái)實(shí)現鏈路的連接。

3.4 數據傳輸機制

傳輸數據到終端設備和從終端設備傳輸數據的確切機制隨網(wǎng)絡(luò )類(lèi)型的不同而有所不同。在無(wú)信標的星型網(wǎng)絡(luò )中,當終端設備想要發(fā)送數據幀時(shí),它只需等待信道變?yōu)榭臻e。在檢測到空閑信道條件時(shí),它將幀發(fā)送到協(xié)調器。如果協(xié)調器想要將此數據發(fā)送到終端設備,它會(huì )將數據幀保存在其發(fā)送緩沖器中,直到目標終端設備明確地來(lái)查詢(xún)該數據為止。

4 協(xié)議棧構架

在本設計中,我們的協(xié)議棧是使用C語(yǔ)言編寫(xiě)的,協(xié)議棧使用內部閃存程序存儲器來(lái)存儲可配置的MAC地址、網(wǎng)絡(luò )表和綁定表,因此,必須使用可自編程的閃存存儲器單片機。

用戶(hù)應用程序

ZigBee設備對象

應用層

應用支持子層

網(wǎng)絡(luò )層

MAC層

物理層



圖3 協(xié)議棧構架


圖3為協(xié)議棧構架,協(xié)議棧根據ZigBee規范的定義將其邏輯分為多個(gè)層。實(shí)現每個(gè)層的代碼位于一個(gè)獨立的源文件中,而服務(wù)和應用程序接口(API)則在頭文件中定義。要實(shí)現抽象性和模塊性,頂層總是通過(guò)定義完善的API和緊接著(zhù)的下一層進(jìn)行交互,該層的C頭文件定義該層所支持的所有API。 用戶(hù)應用程序總是與應用支持子層(APS)和應用層(APL)交互。典型的應用程序總是與應用層(APL)和應用支持子層(APS)接口,APL模塊提供高級

協(xié)議棧管理功能,用戶(hù)應用程序使用此模塊來(lái)管理協(xié)議棧功能。

APS層主要提供ZigBee端點(diǎn)接口。應用程序將使用該層打開(kāi)或關(guān)閉一個(gè)或多個(gè)端點(diǎn)并且獲取或發(fā)送數據。它還為鍵值對(KVP)和報文(MSG)數據傳輸提供了原語(yǔ)。當首次對協(xié)調器編程時(shí)綁定表為空,主應用程序必須調用正確的綁定API來(lái)創(chuàng )建新的綁定項。APS還有一個(gè)間接發(fā)送緩沖器RAM,用來(lái)存儲間接幀,直到目標接收者請求這些幀為止。MAC_MAX_ DATA _REQ_PERIOD編譯時(shí)間選項定義了確切的請求時(shí)間。節點(diǎn)請求數據時(shí)間越長(cháng),數據包需要保存在間接發(fā)送緩沖器里的時(shí)間也越長(cháng),數據請求時(shí)間越長(cháng)需要的間接緩沖空間越大。

網(wǎng)絡(luò )層(NWK)負責建立和維護網(wǎng)絡(luò )連接,它獨立處理傳入數據請求、關(guān)聯(lián)、解除關(guān)聯(lián)和孤立通知請求。ZigBee設備對象(ZDO)負責接收和處理遠程設備的不同請求。介質(zhì)訪(fǎng)問(wèn)控制(MAC)層實(shí)現了IEEE 802.15.4規范所要求的功能,并負責同物理(PHY)層進(jìn)行交互。

5 結束語(yǔ)

ZigBee是為低速率控制網(wǎng)絡(luò )設計的標準無(wú)線(xiàn)網(wǎng)絡(luò )協(xié)議,ZigBee協(xié)議的一些應用包括建筑自動(dòng)化網(wǎng)絡(luò )、建筑安防系統、工業(yè)控制網(wǎng)絡(luò )、遠程抄表以及PC外設。本文針對使用PIC18系列單片機及CC2420為RF收發(fā)器,從ZigBee節點(diǎn)的硬件及ZigBee通信協(xié)議和協(xié)議棧方面,介紹了ZigBee無(wú)線(xiàn)通信網(wǎng)絡(luò )的組成。

本文作者創(chuàng )新點(diǎn):將最新的ZigBee技術(shù)使用PIC18系列單片機及CC2420為RF收發(fā)器實(shí)現了無(wú)線(xiàn)通信,并從ZigBee節點(diǎn)的硬件及ZigBee通信協(xié)議和協(xié)議棧方面進(jìn)行了詳細闡述。

參考文獻

[1]Jelena Misic, Shairmina Shafi, Vojislav B. Misic. The impact of MAC parameters on the performance of 802.15.4 PAN. Ad Hoc Networks 3. 2005. 509­-528
[2]江修波. ZigBee技術(shù)及其應用. 低壓電器.2005-7
[3]鄭武,金純,楊致遠.可穿戴式無(wú)線(xiàn)網(wǎng)絡(luò )技術(shù)研究及應用.微計算機信息. (2005)08-0108-03
[4]劉和平,劉林,余紅欣,鄭群英.PIC18FXXX單片機原理及接口程序設計.北京航空航天大學(xué)出版社2004.8
[5]Chipcon AS SmartRF. CC2420 Preliminary Datasheet( rev 1. 2) , 2004-06-09
[6]Microchip Stack for ZigBee. V1.0-3. September 9, 2005. http://www.microchip.com
[7] ZigBee Protocol Specification. http://www.ZigBee.org.



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>