范學升,宋戈,張德學
(山東科技大學 電子通信與物理學院,青島 266590)
?
混合休眠策略的ZigBee多點監控自組網設計
范學升,宋戈,張德學
(山東科技大學 電子通信與物理學院,青島 266590)
分析了ZigBee多點監控網絡中休眠節點工作不同步、網絡性能不穩定等問題,提出基于混合休眠策略的ZigBee多點監控自組網設計方案,完成基于Z-Stack的軟件設計,并組建ZigBee星型網絡進行測試。實驗結果表明,節點在維持低功耗的同時,系統的同步性、穩定性得到了提高。
ZigBee;混合休眠;低功耗;自組網;同步
隨著國內物聯網行業進入發展快車道,ZigBee技術越來越多地被應用到環境、安全監測系統中,利用傳感器技術與ZigBee技術的有機結合,將采集的數據周期性發送到網絡中心節點,進行多點信息實時監控。
傳統的ZigBee多點監控網絡中節點采用同步休眠或異步休眠方式,節點的功耗和同步性難以得到平衡,網絡性能不穩定。本文將同步和異步方式相結合,采用混合休眠策略構建基于ZigBee星型網絡拓撲結構[1]的無線監控系統,并加入網絡自愈功能,提高系統的穩定性。
ZigBee技術是一種基于IEEE 802.15.4標準[4]的無線技術,在農業、工業、環境、軍事、醫療等諸多領域取得了成功的應用[5]。IEEE 802.15.4標準定義了物理層和媒體訪問控制層,ZigBee聯盟[6]在這個基礎上擴展了網絡層和應用層框架。
ZigBee網絡是一種結構簡單、低功耗、低成本的無線網絡,它實現了低功耗和低數據吞吐量的無線連接。IEEE 802.15.4網絡中根據設備所具有的通信能力,可以分為全功能設備(Full Function Device, FFD)和精簡功能設備[7](Reduced Function Device, RFD)。FFD之間以及FFD與RFD之間都可以直接通信,RFD之間只能通過FFD轉發數據,進而實現間接通信,這個與RFD相關聯的FFD稱為該RFD的協調器。IEEE 802.15.4網絡中,必須有一個FFD作為PAN(Personal Area Network)網絡協調器,其除了直接參與應用外,還要完成成員身份管理、鏈路狀態信息管理以及分組轉發等任務[8]。
2.1 網絡組建
ZigBee星型網絡中,只有一個FFD作為協調器,其他RFD都是終端節點。完整的ZigBee網絡組建分為兩步:第一步是協調器初始化網絡;第二步是終端節點加入網絡。
ZigBee協調器上電后,首先由協調器發起建立一個新網絡的進程;然后,由網絡層管理實體請求媒體訪問控制層對信道進行掃描[1],找到建立網絡的最佳信道,并為新建網絡選擇唯一的PAN描述符;最后確定好PAN描述符后,網絡層管理實體將協調器網絡地址設為0x 0000,網絡建立完成,運行并等待終端節點加入。
ZigBee協調器建立網絡后,終端設備可以申請加入網絡。終端設備上電后主動尋找射頻范圍內的網絡,如果一定時間內檢測到包含PAN標識符的信標幀,則向協調器發出連接請求。協調器在地址分配空間充足的條件下為之分配16位的網絡地址,在經過傳輸響應確認后,終端節點成功加入。
2.2 網絡自愈功能
在網絡正常運行的情況下,如果某個節點由于斷電或受到干擾,而與網絡斷開連接,會影響系統的穩定性。本設計提供了良好的網絡自愈功能,在軟件設計中,及時檢測節點網絡狀態并對異常節點進行處理。當節點出現網絡異常或重新上電后,通過訪問非易失(NV)存儲器,查看之前網絡信息,主動查找并重新加入之前的網絡。網絡自愈功能使節點能自動處理網絡異常,系統中其他節點的數據傳輸不受異常節點的干擾而能正常運行,增強了網絡的穩定性,提高了系統的容錯性。
ZigBee網絡中終端節點采用電池供電,節省能耗對網絡的運作和維護非常重要,休眠是降低功耗的有效方法,而對于多點監控網絡,節點的同步工作更有利于數據的分析和處理。節點的休眠方式會影響系統的同步性能,本設計在同步休眠和異步休眠的基礎上提出混合休眠策略。
3.1 同步休眠
在多點監測系統中,終端節點周期性地采集發送數據,在不工作時進入休眠狀態。同步休眠模式下,終端節點同時工作、同時休眠。終端節點同步休眠模式下的時間片使用方式如圖1所示。其中,時間片的同步由協調器向全網廣播同步休眠指令實現。休眠指令命令終端節點同時進入同步休眠狀態,其休眠時間長度可靈活設定,醒來時自動進入工作狀態。

圖1 同步休眠示意圖
在同步休眠中,終端節點待機電流為1 μA,系統同步性高,但若由于某些因素導致終端節點未能正常收到協調器的休眠指令,則無法進入休眠狀態,待機電流為24 mA,會造成大量不必要的功率損耗,系統性能不穩定。
3.2 異步休眠
在異步休眠模式下,各節點間休眠相互獨立,終端節點在完成數據傳輸后主動進入休眠狀態,無需等待協調器的休眠指令。節點按照預設的頻率進行周期性的休眠,在休眠時間片結束時,會打開無線接收器監聽網絡中的數據報文。如果在監聽時間片內收到協調器的喚醒指令,則進入正常工作狀態,否則進入下一個休眠時間片。終端節點異步休眠模式下的時間片使用方式如圖2所示。

圖2 異步休眠示意圖
監聽時間片與節點從睡眠狀態轉入工作狀態的時間長度有關,而休眠時間片的長度可以根據系統實際需求靈活設定。CC2530淺度休眠時電流為1 μA,接收時電流為24 mA,如果按照200:1的睡醒比例計算,則終端節點的平均待機電流為:
異步休眠中,終端節點避免了由于收不到休眠指令而造成的大量功耗浪費,系統性能穩定。不足的是節點平均待機功耗有所增加,且系統的同步性低于同步休眠機制,其最大誤差為一個睡醒周期。因此,系統須根據此誤差合理設置監聽時間片的長度。
3.3 混合休眠
正常情況下終端節點工作在同步休眠模式,當某個節點出現異常沒有正確接收到協調器休眠指令時,進入異步休眠模式。同步和異步的有效結合組成了本設計的混合休眠模式,如圖3所示。

圖3 混合休眠示意圖
當異步休眠節點進入監聽時間片時,會主動向協調器詢問是否緩存了屬于自己的喚醒報文,協調器在收到請求后會向終端節點返回媒體訪問控制層的ACK報文,告訴終端節點是否有緩存報文。當終端節點被告知沒有緩存的喚醒報文時,可以再次進入異步休眠模式。如果有緩存的喚醒報文,則查看緩存報文中同步節點的醒來時刻,并根據此時刻進入休眠等待,從而避免了空閑等待的功耗浪費。當從休眠等待中醒來時,此節點和同步休眠節點共同進入同步模式,進行數據傳輸。
其中,喚醒報文是協調器在同步節點休眠即將結束時向全網廣播。假設異步狀態中監聽時間片長度為t1,休眠時間片長度為t2,則協調器緩存報文時間t3應滿足:t3>t1+t2,確保異步節點在t3時間段至少有一次進入監聽狀態,以被喚醒。由于協調器緩存數據報文時間有限,所以采用多次重發短報文方式,使喚醒報文在緩存區連續存在t3的時間長度。同時,協調器在每個同步周期內都廣播一次喚醒報文,使異常節點在一個工作周期內能被及時喚醒,盡可能地減少由于異步休眠次數過多造成的功耗浪費。
混合模式下,同步節點平均待機電流為1 μA,異步節點平均待機電流為120.4 μA,假設平均在n次休眠中進入一次異步休眠,則混合模式下節點的平均待機電流為:

可以看出當系統越穩定,即n越大時,混合休眠模式下的平均待機電流越接近同步休眠模式下的待機電流,且明顯小于異步休眠模式下的平均待機電流。因此,混合休眠策略在實現低功耗傳感器網絡的基礎上,能夠達到全網節點同步的效果,更有利于整個系統的運行和管理。
系統軟件設計主要包括協調器和終端節點的工作控制。
4.1 協調器程序設計
協調器主要負責網絡的組建、維護和控制及數據處理的工作,網絡的組建主要由協議棧內部完成,協調器主要工作流程如圖4所示。

圖4 協調器主要工作流程
協調器組網成功后,接收到終端節點發送的無線消息,并進行處理。根據接收到的無線消息節點的設備ID號判斷是否成功接收所有節點的數據,若成功接收,則廣播同步休眠指令,終端節點進入同步休眠。否則,記錄未成功發送數據的節點,提醒其再次發送,通過重傳機制增強數據傳輸的穩定性。若規定時間內,檢測不到無線消息,協調器也將廣播同步休眠指令,實現全網終端節點的同步休眠。
協調器向終端節點發送休眠指令后,將數據打包發送至上位機,同時啟動定時器,在同步休眠節點醒來前t3時刻,連續發送t3時間長度的喚醒指令,確保異步休眠模式下的節點在同步節點醒來前被喚醒,并在下一個工作周期加入到同步網絡中。
4.2 終端節點程序設計
終端節點加入網絡后,周期性地采集和發送數據,并處理協調器的消息。終端節點主要工作流程如圖5所示。

圖5 終端節點主要工作流程
終端節點成功發送采集信息后,若在一定時間內收到協調器重發指令,則再次發送采集數據;若收到休眠指令,則進入同步休眠;其余情況進入異步休眠。異步模式下,若監聽時間片內收到協調器喚醒指令,則進入休眠等待,醒來后和同步休眠節點一起進入同步模式。
為了驗證混合休眠策略在實際應用中的可行性,選取50個終端節點模塊和1個協調器模塊組成ZigBee星型網絡,異步模式下采取200:1的睡醒比,在各終端節點程序中對異步休眠次數、喚醒周期數進行統計,求得每個節點的平均異步休眠次數和每次異步休眠的平均喚醒周期數,計算出各節點的平均待機電流,整理數據如表1所列。

表1 混合休眠模式測試數據
由測試數據可以看出,通信距離小于80 m時,異步休眠節點在1個工作周期內能被及時喚醒,節點的平均待機電流維持在2 μA以下。由于ZigBee的通信距離受環境因素影響較大,當通信距離繼續增大、超出可靠通信范圍時,網絡性能不穩定,節點平均待機電流增加。因此,在正常通信狀態下,混合休眠策略能有效降低節點功耗,提高網絡同步性和穩定性。

[1] 蔣挺,趙成林.紫峰技術及其應用[M].北京:北京郵電大學出版社,2006.
[2] 謝琦,劉蘭濤.用于ZigBee網絡的同步休眠與喚醒算法[J].計算機應用,2010,30(1):12-14.
[3] 劉微珊,陳曉江.DRAD:一種基于異步休眠調度的無線傳感器網絡數據收集協議[J].計算機工程與科學,2010,32(11):40-43.
[4] Salman N,Rasool I,Kemp A H.Overview of the IEEE 802.15.4 standards family for Low Rate Wireless Personal Area Networks[J].Wireless Communication Systems, 2010(7):19-22.
[5] 孫俊杰.ZigBee應用向商用化逼近[J].電子設計應用,2007(11):132.
[6] 孫靜,于洋.ZigBee無線傳感器網絡樹狀路由協議研究[J].通化師范學院學報,2011,32(6):25-36.
[7] Kinney P.ZigBee technology:Wirelesscontrol that simply works[EB/OL].[2014-12].https://docs.zigbee.org/zigbee-docs/dcn/03-1418.doc.
[8] 徐麗華,王宜懷.一種ZigBee網絡的設計與實現[J].微計算機信息,2007(32):72-74.
范學升(碩士研究生)、宋戈(講師),主要研究方向為嵌入式系統及應用;張德學(博士),主要研究方向為異構多核片上網絡NoC建模與評估、SoC集成電路設計。
Atmel聯合上海慶科推出面向IoT應用的超低功耗Wi-Fi平臺
Atmel公司與動點科技評選出的“中國十大物聯網初創企業”之一的上海慶科信息技術有限公司(MXCHIP)近日宣布,兩家公司正在聯合研發一款能夠通過Wi-Fi安全接入云端的超低功耗物聯網(IoT)平臺,以便讓設計人員能夠將他們的物聯網設備快速推向市場。該聯合平臺整合了Atmel的超低功耗的基于ARM Cortex-M4核的Atmel | SMART SAM G系列 MCU和SmartConnect WILC1000 Wi-Fi解決方案,以及 MXCHIP的MiCO IoT操作系統,可服務所有面向IoT應用的智能設備開發者。
伴隨著物聯網市場的快速增長,未來或將有數十億電池供電型智能互連設備要求安全地接入云端。該新平臺整合了Atmel面向可穿戴設備與傳感器集線器管理而設計的成熟的超低功耗SAM G系列MCU、安全超低功耗SmartConnect WILC1000 Wi-Fi解決方案,以及MXCHIP面向下一代IoT應用的MiCO IoT操作系統。這一整合性平臺能夠讓IoT應用設計者更有信心,設計出續航時間更長的電池供電型設備,并安全地將數據傳輸至云端。
Atmel的WILC1000是一款IEEE 802.11b/g/n IoT鏈路控制器,內置一個超低功耗Wi-Fi收發器和一個全集成功率放大器。該解決方案提供超長的通信距離,輸出高達+20.5dBm,是家庭互連設備的理想選擇。集成在一個 3.2 mm×3.2 mm WLCSP(晶圓級芯片尺寸封裝)中的Atmel WILC1000鏈路控制器采用Atmel的SAM G MCU,后者是低功耗IoT應用的理想選擇,經過功耗優化,在一個2.8 mm×2.84 mm封裝中集成了大容量SRAM、高性能及高效率特性和浮點單元。與安全Wi-Fi技術結合使用時,這個聯合平臺可以直接互連,或者連接到一個局域網(LAN),從而實現系統的遠程監控。在增強安全性能方面,該平臺附帶可選的Atmel加密設備ATECC508A以整合ECDH密鑰協議,以便為應用于諸多領域的IoT節點當中的數據系統增強安全保密性,譬如家庭自動化、工業網絡、配件、消耗品授權、醫療、手機等領域。
Multipoint Monitoring of Self-organized ZigBee Network Based on Mixture Sleep
Fan Xuesheng,Song Ge,Zhang Dexue
(College of Electronic,Communication and Physics,Shandong University of Science and Technology,Qingdao 266590,China)
The paper proposes a solution of multipoint monitoring self-organized network which based on mixture sleep through the analysis of problems in ZigBee multipoint monitoring network,such as nodes work out of sync and the network is not stable.Then completes the software design based on Z-Stack and tests in ZigBee star network.The experimental results show that the synchronicity and stability of the system are improved,as well as the nodes keep low consumption.
ZigBee;mixture sleep;low-power;self-organized;synchronization
TP274.5
A
士然
2014-12-17)