ZigBee協(xié)議框架
ZigBee協(xié)議是一種低成本,、低功耗、低速率嵌入式設(shè)備互相間及與外界網(wǎng)絡(luò)通信的組網(wǎng)解決方案,,它是ZigBee聯(lián)盟基于IEEE 802.15.4技術(shù)標(biāo)準(zhǔn)物理層和媒體訪問控制層(MAC層)協(xié)議對網(wǎng)絡(luò)層協(xié)議和API進(jìn)行標(biāo)準(zhǔn)化而制定的無線局域網(wǎng)組網(wǎng),、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)。
ZigBee協(xié)議棧結(jié)構(gòu)如圖1所示
ZigBee的MAC層負(fù)責(zé)設(shè)備間無線數(shù)據(jù)鏈路的建立,、維護(hù)和結(jié)束,,確認(rèn)模式的數(shù)據(jù)傳送和接收,采用載波偵聽多址/沖突避免接入方式,,數(shù)據(jù)包的最大長度為127字節(jié),,每個數(shù)據(jù)包均由頭字節(jié)和16位CRC校驗(yàn)值組成
網(wǎng)絡(luò)層為ZigBee協(xié)議棧的核心部分,,實(shí)現(xiàn)節(jié)點(diǎn)接入或離開網(wǎng)絡(luò)、路由查找及傳送數(shù)據(jù)等功能,,支持星形,、樹形、網(wǎng)絡(luò)三種拓?fù)浣Y(jié)構(gòu),,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)根據(jù)具體的ZigBee應(yīng)用來選擇節(jié)點(diǎn)按功能分為全功能設(shè)備(FFD),、簡化功能設(shè)備(RFD)、協(xié)調(diào)器(ZCRD)和路由器,,協(xié)調(diào)器與路由器通常也是全功能設(shè)備
ZigBee的應(yīng)用層包括了應(yīng)用支持子層(APS),、ZigBee設(shè)備對象(ZDO)和制造商制訂的應(yīng)用對象應(yīng)用支持子層負(fù)責(zé)維護(hù)綁定表,根據(jù)服務(wù)和需求在兩個綁定實(shí)體間傳遞信息ZDO負(fù)責(zé)定義設(shè)備節(jié)點(diǎn)在網(wǎng)絡(luò)中的角色,,并負(fù)責(zé)網(wǎng)絡(luò)設(shè)備的發(fā)現(xiàn),,決定提供何種應(yīng)用服務(wù),還負(fù)責(zé)初始化或響應(yīng)綁定請求及建立網(wǎng)絡(luò)設(shè)備間安全關(guān)系
ZigBee網(wǎng)絡(luò)采用多點(diǎn)接入,,有使能信標(biāo)網(wǎng)絡(luò)或不使能信標(biāo)網(wǎng)絡(luò)兩種類型使能信標(biāo)的網(wǎng)絡(luò)中,,協(xié)調(diào)器在預(yù)定義的時隙周期性發(fā)送信標(biāo)幀用于節(jié)點(diǎn)關(guān)聯(lián)、加入網(wǎng)絡(luò),、同步傳送數(shù)據(jù)在不使能信標(biāo)的網(wǎng)絡(luò)中,,協(xié)調(diào)器也周期性發(fā)送信號,但這只用于終端設(shè)備并檢測協(xié)調(diào)器的存在,,設(shè)備要隨時準(zhǔn)備好進(jìn)行點(diǎn)對點(diǎn)通信,,通過發(fā)送數(shù)據(jù)請求和應(yīng)答進(jìn)行通信
ZigBee支持兩種類型的數(shù)據(jù)格式:KVP關(guān)鍵值對及MSG消息幀一般KVP幀采用命令響應(yīng)機(jī)制,用于傳輸一個簡單的屬性變量值,;而MSG幀還沒有一個具體格式上的規(guī)定,,通常用于多信息,復(fù)雜信息的傳輸,,其支持二進(jìn)制數(shù)據(jù)傳輸,,數(shù)據(jù)大小受支持的幀大小限制
在安全方面,ZigBee采用IEEE 802.15.4媒體訪問控制子層的安全模型,,其規(guī)范了四個方面的安全服務(wù),,即訪問控制、數(shù)據(jù)加密,、幀完整性檢查及采用順序更新值防止幀重放
ZigBee單芯片方案——EM250
EM250是Ember公司推出的ZigBee片上系統(tǒng),,它集成了一個符合IEEE 802.15.4標(biāo)準(zhǔn)的2.4GHz射頻收發(fā)器和一個功能強(qiáng)大的高速率16位微處理器,支持網(wǎng)絡(luò)級的調(diào)試,,系統(tǒng)的軟件開發(fā)簡便微處理器主頻為12MHz,,滿足作為協(xié)調(diào)器、全功能設(shè)備或簡化功能設(shè)備的要求
EM250可以進(jìn)入三種不同的狀態(tài):工作狀態(tài)、待機(jī)狀態(tài)和深度睡眠狀態(tài)在工作狀態(tài)時可執(zhí)行程序代碼,,典型情況電流為8.5mA在待機(jī)狀態(tài),,處理器不再工作,但允許中斷喚醒,,外圍器件及射頻收發(fā)器正常工作在深度睡眠狀態(tài),,處理器和射頻收發(fā)器都不再工作,直至有外部中斷或定時中斷喚醒,,典型情況電流僅為1.5μA深度睡眠狀態(tài)不適用于全功能設(shè)備,,但對于簡化功能設(shè)備節(jié)省耗電而言,則必不可少
EM250具有4路模路轉(zhuǎn)換,,兩路可用作數(shù)據(jù)轉(zhuǎn)換單元的模擬信號捕捉數(shù)字中斷可在睡眠或待機(jī)狀態(tài)接收一位的數(shù)字?jǐn)?shù)據(jù)其通用同步和異步串行接收器及轉(zhuǎn)發(fā)器模塊可配置成為通用異步接收器/發(fā)送器或串行外圍接口SPI及I2C總線接口
EM250集成的射頻收發(fā)器支持四種功率工作模式,,即爆發(fā)模式、高功率模式,、正常模式和最小功率模式,可根據(jù)設(shè)備類型及相鄰節(jié)點(diǎn)距離,,利用功率管理來合適設(shè)置工作模式
硬件組成及設(shè)計(jì)
EM250集成了MCU,、射頻收發(fā)器、內(nèi)存以及通信端口,,只需要極少的外圍元器件就可構(gòu)成ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)硬件,,以作為全功能設(shè)備、簡化功能設(shè)備以及協(xié)調(diào)器參考設(shè)計(jì)功能模塊見圖2
外圍元器件包括:射頻不平衡到平衡轉(zhuǎn)換器(RF BALUN 50/200Ω),、諧波濾波,、晶振與負(fù)載電容構(gòu)成的振蕩器、電源去耦電容電路,、電源板阻容濾波,、上拉和下拉電阻、異步復(fù)位信號的阻容濾波,、諧波濾波的輸出端外接的 50Ω非平衡天線等
網(wǎng)絡(luò)節(jié)點(diǎn)采用Future技術(shù)設(shè)備公司USB轉(zhuǎn)UART芯片F(xiàn)T232R作為與PC通信接口FT232R無須編程即可完成USB協(xié)議到RS232串口通信協(xié)議的轉(zhuǎn)換,,F(xiàn)T232R驅(qū)動可以支持在以PC端建立起虛擬通信端口(VPC),VPC驅(qū)動將完成USB信號與RS232信號的自動轉(zhuǎn)換系統(tǒng)的電源可由3~3.3V直流源提供或由USB接口5V電源經(jīng)FT232R轉(zhuǎn)換為3.3V電源提供,,3~3.3V直流源可以是電池或AC/DC變換器兩種電源可由跳線來進(jìn)行選擇
系統(tǒng)的軟件設(shè)計(jì)
一個ZigBee只能有唯一的協(xié)調(diào)器,,其主要功能是初始化及維護(hù)整個ZigBee網(wǎng)絡(luò),其維護(hù)著所有直接連接的節(jié)點(diǎn)及未直接連接但允許加入網(wǎng)絡(luò)的節(jié)點(diǎn)的表,,加入到此ZigBee網(wǎng)絡(luò)的設(shè)備必須得到協(xié)調(diào)器的批準(zhǔn)協(xié)調(diào)器需要不間斷地監(jiān)聽其他節(jié)點(diǎn)加入或退出網(wǎng)絡(luò)請求及消息,,在不發(fā)送消息時就需進(jìn)入接收狀態(tài),因此協(xié)調(diào)器不能進(jìn)入“睡眠”模式典型的協(xié)調(diào)器軟件功能模塊設(shè)計(jì)見圖3
ZigBee網(wǎng)絡(luò)中的路由器為全功能設(shè)備,,它完成各個全功能設(shè)備,、簡化功能設(shè)備、協(xié)調(diào)器等節(jié)點(diǎn)間數(shù)據(jù)的路由,是構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)ZigBee網(wǎng)絡(luò)所必須的,,同協(xié)調(diào)器一樣,,全功能設(shè)備也維護(hù)著網(wǎng)絡(luò)中節(jié)點(diǎn)的相關(guān)信息表,且由于它必須連續(xù)不斷的監(jiān)聽路由消息,,所以也不可進(jìn)入“睡眠”模式全功能設(shè)備的軟件功能模塊設(shè)計(jì)見圖4
簡化功能設(shè)備是ZigBee網(wǎng)絡(luò)的終端設(shè)備,,它可以同協(xié)調(diào)器和路由器進(jìn)行通信,但不能作為中間路由器,,RFD可以進(jìn)入睡眠模式,,以減少功率消耗,大大延長電源使用時間
在簡化功能設(shè)備進(jìn)入睡眠模式時,,相鄰的協(xié)調(diào)器或路由器會緩存發(fā)送它的相關(guān)數(shù)據(jù)在退出睡眠模式時,,它會向相鄰的協(xié)調(diào)器或路由器詢問是否有發(fā)送到它的數(shù)據(jù),相鄰的協(xié)調(diào)器或路由器則返回是否有其數(shù)據(jù)包的響應(yīng)簡化功能設(shè)備在處理完發(fā)送到它的數(shù)據(jù)后,,可重新進(jìn)入睡眠模式簡化功能設(shè)備的軟件功能模塊設(shè)計(jì)見圖5
各節(jié)點(diǎn)的管理可采用超級終端撥號到相連的單個節(jié)點(diǎn)或用統(tǒng)一的集中網(wǎng)絡(luò)管理界面來完成集中網(wǎng)絡(luò)管理界面安裝于與協(xié)調(diào)器相連接的PC,,用于用戶同ZigBee網(wǎng)絡(luò)進(jìn)行交互,主要功能有網(wǎng)絡(luò)拓?fù)滹@示,、節(jié)點(diǎn)狀態(tài)顯示,、節(jié)點(diǎn)數(shù)據(jù)、告警信息,、網(wǎng)絡(luò)日志等
小結(jié)
ZigBee無線傳感器網(wǎng)絡(luò)具有廣泛的應(yīng)用前景,,已越來越得到業(yè)界的重視并逐步開始廣泛應(yīng)用基于EM250實(shí)現(xiàn)的ZigBee無線傳感器網(wǎng)絡(luò)具有實(shí)現(xiàn)簡易、方便,,同時利用Ember的InSight集成開發(fā)環(huán)境,,可快速地進(jìn)行系統(tǒng)的開發(fā)、調(diào)試,、編譯,,具有很強(qiáng)的實(shí)際應(yīng)用價值。