新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于CC2420的Zigbee無線網(wǎng)絡(luò)系統(tǒng)的實現(xiàn)

基于CC2420的Zigbee無線網(wǎng)絡(luò)系統(tǒng)的實現(xiàn)

——
作者:電子科技大學 林煒 吳健 時間:2006-12-06 來源:21IC中國電子網(wǎng) 收藏
是為低速率控制設(shè)計的標準協(xié)議。協(xié)議的一些應(yīng)用包括建筑自動化、建筑安防系統(tǒng)、工業(yè)控制網(wǎng)絡(luò)、遠程抄表以及PC外設(shè)。與其他協(xié)議相比,協(xié)議提供了低復(fù)雜性、縮減的資源要求,最重要的是它提供了一組標準的規(guī)范,并提供了三個工作頻帶,以及一些網(wǎng)絡(luò)配置和可選的安全功能。

1  Zigbee協(xié)議概述

1.1  IEEE 802.15.4
 

Zigbee協(xié)議使用IEEE 802.15.4規(guī)范作為介質(zhì)訪問層(MAC)和物理層(PHY)。IEEE 802.15.4總共定義了3個頻帶:2.4GHz、915MHz和868MHz。每個頻帶提供固定數(shù)量的信道。例如,2.4GHz頻帶有16個信道(信道11-26)、915MHz頻帶提供10個信道(信道1-10)而868MHz頻帶提供1個信道(信道0)。

協(xié)議的比特率由所選擇的工作頻率決定。2.4GHz頻帶提供的數(shù)據(jù)速率為250kpbs,915MHz頻帶提供的數(shù)據(jù)速率為20kbps。由于數(shù)據(jù)包開銷和處理延遲,實際的數(shù)據(jù)吞吐量會小于規(guī)定的比特率。

IEEE 802.15.4 MAC數(shù)據(jù)包的最大長度為127字節(jié)。每個數(shù)據(jù)包都由頭字節(jié)和16位CRC值組成。16位CRC值驗證幀的完整性。此外,IEEE 802.15.4還可以選擇使用應(yīng)答數(shù)據(jù)傳輸機制。使用這種方法,所有特殊ACK標志位置1的幀均會被它們的接收器應(yīng)答。這就可以確定幀實際上已經(jīng)被傳遞了。如果發(fā)送幀的時候置位了ACK 標志位而且在一定的超時期限內(nèi)沒有收到應(yīng)答,發(fā)送器將重復(fù)進行固定次數(shù)的發(fā)送,如仍無應(yīng)答就宣布發(fā)生錯誤。注意接收到應(yīng)答僅僅表示幀被MAC層正確接收,而不表示幀被正確處理,這是非常重要的。接收節(jié)點的MAC 層可能正確地接收并應(yīng)答了一個幀,但是由于缺乏處理資源,該幀可能被上層丟棄。因此,很多上層和應(yīng)用程序要求其他的應(yīng)答響應(yīng)。

1.2  網(wǎng)絡(luò)配置 

Zigbee無線網(wǎng)絡(luò)可采用多種類型的配置。

星型網(wǎng)絡(luò)配置由一個協(xié)調(diào)器節(jié)點(主設(shè)備)和一個或多個終端設(shè)備(從設(shè)備)組成。協(xié)調(diào)器是實現(xiàn)了一組很多Zigbee服務(wù)的一種特殊的全功能設(shè)備(FFD)。終端設(shè)備可能是FFD或簡化功能設(shè)備(RFD)。RFD是最小而且最簡單的Zigbee節(jié)點。它只實現(xiàn)了一組最小的Zigbee服務(wù)。在星型網(wǎng)絡(luò)中,所有的終端設(shè)備都只與協(xié)調(diào)器通信。如果某個終端設(shè)備需要傳輸數(shù)據(jù)到另一個終端設(shè)備,它會把數(shù)據(jù)發(fā)送給協(xié)調(diào)器,然后協(xié)調(diào)器依次將數(shù)據(jù)轉(zhuǎn)發(fā)到目標接收器終端設(shè)備。星型拓撲結(jié)構(gòu)如圖1所示。

                  星型網(wǎng)絡(luò)拓撲結(jié)構(gòu)
                                        圖1  星型網(wǎng)絡(luò)拓撲結(jié)構(gòu)

群集網(wǎng)絡(luò)配置也是Zigbee使用的一種網(wǎng)絡(luò)配置結(jié)構(gòu)。在群集網(wǎng)絡(luò)中,終端設(shè)備既可以選擇和協(xié)調(diào)器通信,也可以和路由器(router)通信。路由器有兩個功能:一是增加網(wǎng)絡(luò)中的節(jié)點數(shù)量,二是擴大網(wǎng)絡(luò)的物理范圍。有了路由器后,終端設(shè)備就不必安裝在協(xié)調(diào)器的有效射頻范圍內(nèi)。群集網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

                    群集網(wǎng)絡(luò)拓撲結(jié)構(gòu)
              圖2  群集網(wǎng)絡(luò)拓撲結(jié)構(gòu) 
      
和任何網(wǎng)絡(luò)一樣,Zigbee網(wǎng)絡(luò)也是多點接入網(wǎng)絡(luò),這意味著網(wǎng)絡(luò)中的所有節(jié)點對通信介質(zhì)的訪問是同等的。有兩種類型的多點接入機制。在沒有使能信標的網(wǎng)絡(luò)中,只有信道是空閑的,在任何時候都允許所有節(jié)點發(fā)送。在使能了信標的網(wǎng)絡(luò)中,僅允許節(jié)點在預(yù)定義的時隙內(nèi)進行發(fā)送。協(xié)調(diào)器會定期以一個標知為信標幀的超級幀開始發(fā)送,并且希望網(wǎng)絡(luò)中的所有節(jié)點與此幀同步。在這個超級幀中為每個節(jié)點分配了一個特定的時隙,在該時隙內(nèi)允許節(jié)點發(fā)送和接收數(shù)據(jù)。超級幀可能還含有一個公共時隙,在此時隙內(nèi)所有節(jié)點競爭接入信道。

1.3  數(shù)據(jù)傳輸機制 

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

在點對點網(wǎng)絡(luò)中,每個節(jié)點必須一直保持它們的接收器為開啟狀態(tài)或者同意在一個時間段內(nèi)開啟它們的接收器。這將允許節(jié)點發(fā)送數(shù)據(jù)幀并確保數(shù)據(jù)幀會被其它節(jié)點接收。

2  RF收發(fā)芯片

是Chipcon公司推出的首款符合2.4GHz IEEE 802.15.4標準的射頻收發(fā)器。該器件是第一款適用于Zigbee產(chǎn)品的RF器件。它基于Chipcon公司的SmartRF 03技術(shù),以0.18um CMOS工藝制成,只需極少外部元器件,性能穩(wěn)定且功耗極低。的選擇性和敏感性指數(shù)超過了IEEE 802.15.4標準的要求,可確保短距離通信的有效性和可靠性。利用此芯片開發(fā)的無線通信設(shè)備支持數(shù)據(jù)傳輸率高達250kbps,可以實現(xiàn)多點對多點的快速組網(wǎng)。

CC2420只需要極少的外圍元器件,其典型應(yīng)用電路如圖3所示。
 
              CC2420典型應(yīng)用電路圖
                                            圖3  CC2420典型應(yīng)用電路圖

它的外圍電路包括晶振時鐘電路、射頻輸入/輸出匹配電路和微控制器接口電路三個部分。芯片本振信號既可由外部有源晶體提供,也可由內(nèi)部電路提供。由內(nèi)部電路提供時需外加晶體振蕩器和兩個負載電容,電容的大小取決于晶體的頻率及輸入容抗等參數(shù)。

射頻輸入/輸出匹配電路主要用來匹配芯片的輸入輸出阻抗,使其輸入輸出阻抗為50Ω,同時為芯片內(nèi)部的PA及LAN提供直流偏置。CC2420可以通過4線SPI總線(SI、SO、SCLK、CSn)設(shè)置芯片的工作模式,并實現(xiàn)讀/寫緩存數(shù)據(jù),讀/寫狀態(tài)寄存器等。通過控制FIFO和FIFOP管腳接口的狀態(tài)可設(shè)置發(fā)射/接收緩存器。注意:在SPI總線接口上進行的地址和數(shù)據(jù)傳輸大多是MSB優(yōu)先的。CC2420片內(nèi)有33個16比特狀態(tài)設(shè)置寄存器,在每個寄存器的讀/寫周期中,SI總線上共有24比特數(shù)據(jù),分別為:1比特RAM/寄存器選擇位(0:寄存器,1:RAM),1比特讀/寫控制位(0:寫,1:讀),6比特地址選擇位、16比特數(shù)據(jù)位。在數(shù)據(jù)傳輸過程中CSn必須始終保持低電平。另外,通過CCA管腳狀態(tài)的設(shè)置可以控制清除通道估計,通過SFD管腳狀態(tài)的設(shè)置可以控制時鐘/定時信息的輸入。這些接口必須與微處理器的相應(yīng)管腳相連來實現(xiàn)系統(tǒng)射頻功能的控制與管理。 p;  如前所述,CC2420是一款符合IEEE802.15.4標準的RF收發(fā)芯片。CC2420硬件支持一部分IEEE802.15.4數(shù)據(jù)幀格式。數(shù)據(jù)幀格式示如表1所示。
 
                表1  數(shù)據(jù)通信幀格式

    數(shù)據(jù)通信幀格式
同步頭包括前導(dǎo)序列和開始幀分隔符。在CC2420中,前導(dǎo)序列長度和開始幀分隔符是可以配置的。默認值4字節(jié)和1字節(jié)是符合IEEE802.15.4協(xié)議的。物理頭為1字節(jié),幀控制和序列號分別為2字節(jié)和1字節(jié),地址包括個人區(qū)域網(wǎng)身份識別號碼、目的地址和源地址共6字節(jié),待發(fā)數(shù)據(jù)段長度為幀長度減去地址和幀校驗序列。當MODEMCTRL0.AUTOCRC控制位置位時,這個幀校驗序列自動產(chǎn)生2字節(jié),并由CC2420硬件自動插入。

3  配置寄存器實際系統(tǒng)需要做以下配置:

(1)CC2420

內(nèi)部寄存器的設(shè)置:CC2420內(nèi)部有33個16位結(jié)構(gòu)寄存器和15個命令脈沖寄存器以及2個8位訪問獨立的發(fā)射和接收緩沖器的RXFIFO、TXFIFO寄存器。這些寄存器在芯片復(fù)位時都已設(shè)置了一些初始值。例如:MDMCTRL0.AUTOCRC自動循環(huán)冗余校驗;IOCFG0.FIFOP_THR設(shè)置RXFIFO緩沖器中字節(jié)門限值;BATTMON.BATTMON_E電池監(jiān)控使能;TXCTRL.PA_LEVEL輸出功率編程(輸出功率單位為dBm);IN0.XOSC16M_BYPASS使能外部晶體振蕩器等。實際使用時,應(yīng)根據(jù)需要對初始值進行修改。

(2)初始化:定義信息包傳輸?shù)幕靖袷?;定義單片機和CC2420的端口;打開電壓調(diào)節(jié)器,復(fù)位CC2420,開啟晶體振蕩器,寫入所有必須的寄存器和地址識別(為自動地址識別準備),注意晶體振蕩器應(yīng)該一直處于工作狀態(tài)。寄存器設(shè)置如下:SXOSCON打開晶體振蕩器;MDMCTRL0=0x0AF2打開自動應(yīng)答;MDMCTRL1=0x0500;設(shè)置關(guān)聯(lián)門限值為20;IOCFG0=0x007F設(shè)置FIFOP門限至最大值128;SECCTRL0=0x01C4關(guān)閉安全使能。

(3)緩沖發(fā)送模式:使用IEEE802.15.4媒介訪問控制層數(shù)字格式和短地址發(fā)送一個信息包。使能發(fā)送,當信道評估顯示信道空閑時,使能校準然后發(fā)送;當沒有字節(jié)寫入,TXFIFO緩沖器發(fā)出下溢指示狀態(tài)位和下溢脈沖,發(fā)送自動停止。CTRL1.TX_MODE=0;STXON使能發(fā)送;STXONCCA信道估計顯示信道空閑,使能校準然后發(fā)送;SFLUSHTX當沒有字節(jié)寫入,TXFIFO緩沖器發(fā)出下溢脈沖;TXCTL=0xA0FF發(fā)射最大電流為1.72mA。

(4)緩沖接收模式:先使能信息包接收和FIFOP中斷,通過FIFOP中斷服務(wù)程序接收信息包,其中RXFIFO緩沖器溢出和不合法信息包格式都有中斷服務(wù)程序處理,信息包接收采用CC2420自動應(yīng)答。寄存器設(shè)置如下:DMCTRL1.RX_MODE=0;SRXON使能接收;SFLUSHRXRXFIFO緩沖器溢出,復(fù)位解調(diào)器;RXCTRL0=0x12E5低噪聲放大器增益中等。

4   結(jié)論 

筆者在實現(xiàn)此系統(tǒng)的過程中發(fā)現(xiàn),無線網(wǎng)絡(luò)的鏈路層、應(yīng)用層協(xié)議的性能是制約無線傳感網(wǎng)絡(luò)的關(guān)鍵因素。另外,制作電路板時,應(yīng)采用四層板,外圍器件盡量?。ú捎?402封裝),耦合電容盡量靠近芯片,以提高系統(tǒng)性能。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉