徐閩燕
(浙江工業職業技術學院電氣工程分院 浙江 紹興 312000)
ZigBee技術是為低速數據傳輸、低功耗、低成本應用而產生的一種新型的無線通信技術,在應用簡單、功耗低、有自組網能力、網絡容量大、可靠性高、使用成本低等方面有很大優勢。ZigBee能彌補IEEE 802.11、藍牙和超寬帶等短距離無線通信技術在組網能力和節能方面的不足,適合組建節能型的大規模無線傳感器網絡。
雖然ZigBee網絡的能耗低于普通的無線網絡,但是眾多場合下ZigBee網絡的節點沒有固定基礎設施支持,大都采用電池供電,而ZigBee網絡的生命周期一般都至少是幾個月。ZigBee應用的特殊性使得ZigBee對節點的能耗控制嚴格要求。
為了實現低能耗,ZigBee引入了多種降低功耗的方法:一是ZigBee基于IEEE802.15.4協議,采用DSSS(直接序列擴譜)技術;二是采用間接數據傳輸,大部分時間里,節點將關閉其收發設備處于睡眠狀態;三是ZigBee的傳輸速率低,傳輸數據量很小,因而信號的收發實際時間很短;四是采用了AODV(按需距離矢量路由)和Cluster-Tree相結合的路由算法來降低能耗等等。
現在很多機構和個人對ZigBee的節能機制及ZigBee節點的能量有效性進行研究。部分研究者從硬件層面來考慮節能方法,采用低功耗電路設計方法和高效的電源管理方法,降低傳感節點的功耗。為了延長節點壽命,考慮從節點周圍的環境中獲取能量為節點使用,如采用光電池。除電源外,節點還包括處理器、傳感器和無線通信模塊。其中針對處理器的節能有一些較為成熟的節能方法,如通過切換處理器工作狀態而節能的動態功率管理(DPM)技術[1],通過對處理器的工作電壓和工作頻率動態調整而節能的動態電壓調節(DVS)技術[2]。也有研究者從網絡層面來考慮節能方法。目前研究較多的節能技術包括:節點休眠/喚醒調度機制,功率管理算法、報文驅動的節能機制和時間驅動的節能機制,數據融合技術,改進路由算法和組網方式等等。
在大部分ZigBee網絡的應用中,事件發生的偶然性很強,監測節點沒有必要時刻保持在高速的工作狀態。節點一般處于睡眠狀態,必要時加以喚醒,將顯著地降低節點的能耗,是一種有效的節能方案。休眠喚醒的方法通常有定時喚醒和射頻喚醒兩種。定時喚醒無需對節點硬件進行改動,只需利用軟件預先設定節點的工作狀態時刻表,但定時喚醒在延長無線網絡壽命的同時降低了系統的實時性,不能達到最佳的節能效果。而射頻喚醒對網絡的實時性損害很小,能更大程度地降低節點的功耗,延長無線傳感器網絡的壽命。尤其在一些實時性要求比較高的特殊區域,可以采用定時喚醒與射頻喚醒相結合的工作方式,在對硬件進行改進的同時,在軟件的編寫中使用定時時刻表[3]。
無線網絡節點一般由傳感器、處理器、無線通信和能量供應四大模塊組成。本系統增加了一個射頻喚醒模塊,其作用是給微處理器模塊一個中斷使其從睡眠狀態喚醒到工作狀態。
本文選擇西安華凡科技有限公司的HFZ-CC2430/CC2431ZDK開發套件,以CC2430芯片作為ZigBee無線傳感器網絡的核心元件。CC2430集成了符合IEEE802.15.4標準的2.4 GHz的 RF無線電收發機、1個8位增強型51內核MCU、128 KB可編程閃存和8 KB的RAM,帶有2個強大的支持幾組協議的USART,以及1個符合IEEE 802.15.4規范的MAC計時器[4]。CC2430在接收和發射模式下,電流損耗分別低于27 mA或25 mA;在休眠模式時僅0.9 μA的流耗,同時具有從休眠模式轉換到主動模式時間超短的特性。
射頻喚醒模塊由接收電路和發射電路兩部分組成。由于ZigBee節點之間的距離較近(幾十米),選用低頻喚醒的方式比較適合。選用Atmel公司的具有超低功耗、序列頭偵測功能的ATA5276和ATA5283,其中ATA5276用于發射125KHz電磁波,ATA5283用于接收125KHz電磁波。ATA5276待機電流小于50μA。ATA5283在接收數據前處于待機偵聽模式時電流僅為1uA,接收數據的過程中功耗為2uA。射頻喚醒模塊的低頻信號與CC2430的高頻信號采用不同的天線。本文采用單極天線電感加載方式來接收125KHz電磁波。
CC2430的五種工作模式和對應的工作電流如下:發送(24.7mA)、接收(27mA)、空閑(190uA)、掉電(0.9 uA)和關閉(0.6uA)。本系統采用數據采集節點在數據采集間隔期進入掉電工作模式,喚醒之后系統進入正常工作模式 (發送/接收)。
節點在初始狀態下處于睡眠狀態,其射頻喚醒模塊ATA5283則處于待機偵聽模式,可以接收電磁波。ATA5283接收到一個完整的序列頭后會在N_WAKEUP腳給出一個低電平去喚醒CC2430。CC2430通過讀取ATA5283的N_DATA腳可以獲得ASK解調輸出的串行數據。當CC2430判斷數據已接收完,給出一個高電平到ATA5283的RESET腳,它就會回到待機偵聽模式。如果需要喚醒周圍的其他節點進行數據的轉發操作,CC2430就通過一個單線雙向接口控制ATA5276配合天線線圈發射125kHz低頻載波傳送數據和能量,來喚醒周圍節點協助工作。節點在處理完事件后,會判斷是否繼續停留在全速工作狀態,如果不需要就再次進入睡眠狀態等待下一次被喚醒。
在50平方米的房間里隨機放置了一個協調節點,六個采集節點。每個采集節點用兩節1600mAh的電池供電。測試時采集節點的工作狀態分三種情況:一是始終處于工作狀態;二是采用定時喚醒機制,設定狀態切換周期為4秒(3795ms休眠,5ms過渡,200ms偵聽);三是采用射頻喚醒機制。假定每天有20個隨機事件發生,每個事件持續1分鐘,則6個節點一天內消耗的總能量分別為8463.5mAh.V、536.4mAh.V、42.3mAh.V。經過比較,射頻喚醒機制下能耗最低,是定時喚醒機制下的7.9%,是始終處于工作狀態下的0.5%。
本文在分析現有節能機制的基礎上著重研究射頻喚醒機制,設計低功耗節點,有效控制節點的喚醒時間,降低的節點的能量消耗,對于ZigBee無線傳感器網絡技術的推廣有一定的實際意義。
[1]Sinha and A.Chandrakasan.Operating System and Algorithmic Techniques for Energy Scalable Wireless Sensor Networks[R].Proc.of the Second International Conference on Mobile Data Management,Jan,2001.
[2]Pering T,Burd T,Brodersen R.Dynamic Voltage Scaling and the Design of a Low-power Microprocessor System[C]//Proceeding of Power Driven Microarchitecture Workshop at ISCA98,Barcelona,Spain,1998.
[3]吳鵬程.無線傳感器網絡射頻喚醒機制研究 [D].重慶大學,2008.
[4]CHIPCON.CC2430 PRELIMINARY data sheet(rev.1.03)SWRS036A[M].CHIPCON,2005.