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