自動配置的無線傳感器網絡在民用和軍用方面具有極高的價值,可以在大范圍內用于收集、處理和發布復雜的環境數據。無線傳感器網絡中的節點一般采用電池供電,可以使用的電量非常有限,而且對于有成千上萬節點的無線傳感器網絡來說,對電池的更換是非常困難的甚至是不可能的。但是無線傳感器網絡的生存時間卻要求長達數月甚至數年,因此,如何在不影響功能的前提下,盡可能節約無線傳感器網絡的電池能量成為無線傳感器網絡軟硬件設計中的核心問題,也是當前國內外研究機構關注的焦點。
1 節點組成及能耗分析
規范的無線傳感器節點結構如圖1所示。節點由四部分組成:(1)由微處理器或微控制器構成的計算子系統;(2)用于無線通信的短距離無線收發電路,即通信子系統;(3)將節點與物理世界聯系起來,由一組傳感器和激勵裝置構成的傳感子系統;(4)能量供應子系統,包括電池和AC-DC轉換器。
圖1 無線傳感器節點結構
1) 計算子系統
微處理器(MicroController Unit, MCU)負責控制傳感器、執行通信協議和處理傳感數據的算法。MCU的選擇會對節點的電池消耗帶來很大的影響,比如,Intel的StrongARM常用于高端領域,在執行指令時功耗達到400mW,而ATmega103L AVR的功耗就只有16.5 mW,不過提供的性能也要弱的多。出于電源管理的目的,MCU通常有活躍、空閑和睡眠等多種操作模式,每種模式有不同的電源消耗。比如,StrongARM在空閑模式功耗為50 mW,而在睡眠模式時只有0.16 mW。在不同操作模式之間切換也有電源和延遲開銷,因此,不同的操作模式、模式之間的切換和MCU在每種模式的時長對整個節點的能量消耗有很大的影響。
2) 通信子系統
影響無線收發電路功耗的因素很多,包括節點采用的調制模式、數據率、發射功率和操作周期等。通常,無線收發電路可以工作在四種狀態,即發送、接收、空閑和睡眠狀態。空閑狀態也具有很高的功耗,幾乎與接收模式不相上下,所以在無線收發電路處于空閑狀態時,應該盡可能將其關閉(即置于睡眠狀態)。
3) 傳感子系統
包括一組傳感和激勵裝置,將周圍環境的物理現象轉換成電信號,根據輸出可以分為模擬和數字兩類。在無線傳感器中,能量消耗來自多個部分,包括(1)信號采樣以及物理信號到電信號的轉換 (2)信號調制(3)信號的模-數轉換。
4) 無線傳感器網絡節點能耗分析
現在分析無線傳感器節點的能耗。表1是Rockwell的WINS項目中無線傳感器節點的能耗數據,表2是MEDUSA-II項目中節點的能耗數據,從中可以看出:
采用低功耗模塊、在性能與耗電量之間進行折中對系統整體功耗影響巨大。
節點的能耗在很大程度上取決于各個組成部分的工作狀態。
由于傳輸距離很短,接收時的能耗可能比發送時還大。
無線收發電路在空閑狀態和接收狀態時的耗電量相差無幾。
在分析了無線傳感器節點的組成和能耗特點之后,讓我們看看在單個節點上可以采取哪些措施來節約能耗。
1) 節能計算
除了在節點設計中采用低功耗硬件之外,通過動態電源管理(Dynamic Power Management, DPM)等技術使系統各個部分都運行在節能模式下也可以節約大量的能量。最常用的電源管理策略是關閉空閑模塊,在這種狀態下,無線傳感器節點或其一部分將被關閉或者處于低功耗狀態,直到有感興趣的事件發生。DPM技術的核心問題是狀態調度策略,因為不同的狀態有不同的功耗特征,而且狀態切換也有能量和時間開銷。
在活躍狀態下,則可以采取動態電壓調整(Dynamic Voltage Scaling, DVS)技術來節約能量。在大多數無線傳感器節點上,計算負載是隨時間變化的,因此并不需要微處理器所有時刻都保持峰值性能。DVS技術就是利用了這一點,動態改變微處理器的工作電壓和頻率使其剛好滿足當時的運行需求,從而在性能和能耗之間取得平衡。
2) 節能軟件
如果操作系統、應用層和網絡協議等系統軟件針對能耗進行了專門的優化,那么無線傳感器網絡的生存時間也能得到有效的延長。
在操作系統中進行動態電源管理和動態電壓調整是最合適的,因為操作系統可以獲取所有應用程序的性能需求并能直接控制底層硬件資源,從而在性能和能耗控制之間進行必要的折衷。操作系統的核心是任務調度器,負責調度給定的任務集合使其滿足各自的時間和性能需求,通過在任務調度中考慮節能問題可,系統生存時間可得到明顯的延長。
鑒于傳輸中不可避免的數據丟失,無線傳感器網絡應能根據當時的網絡環境提供不同精度的數據,從而獲得一定的彈性。另一方面,監測對象的屬性是隨時間變化的,從而導致網絡中的計算和通信需求也隨之改變。這樣,我們就可以在實時調度算法中進行某種程度的預測,對能耗進行主動式的管理。另外,應用層可以設計成將主要的計算任務及早執行,然后在算法正常結束前提前中止,這樣就能在對數據精度影響不大的情況下節約能耗。
3) 無線收發電路能耗管理
雖然嵌入式處理器的電源管理已經得到深入研究,但無線收發系統的節能設計卻研究得不夠。由于無線通信占了整個無線傳感器網絡能耗主要部分,因此對無線收發系統的能耗管理非常重要。
無線收發系統電源消耗主要來自兩部分,取決于傳輸距離和調制參數的射頻部分以及進行頻率合成、濾波等操作的基帶電路部分。無線收發系統節能設計很復雜,因為射頻部分和基帶電路部分的電源開銷是相當的,降低射頻部分的速率反而會導致能耗的增加。另外要考慮的問題是,無線收發系統的初始化開銷很大,這一切都加大了無線收發系統節能設計的難度。關于無線通信方面的能耗優化將在下一節詳細討論。
4) 節能報文轉發
除了發送自身感知的數據之外,每個無線傳感器節點又都是路由器,需要為其它節點轉發報文。在典型的無線傳感器網絡環境下,無線傳感器節點接收的大部分報文(大概有65%)需要轉發給其它節點。通常情況下,無線傳感器節點將絕大部分協議處理功能交由MCU執行。這樣,不管其最終目的地是哪里,每個接收到的報文都會經過相同的處理步驟到達計算子系統并得到處理,導致不必要的能耗開銷。利用智能無線收發系統,需要轉發的報文可以直接在通信子系統標識和轉發,甚至在計算子系統處于睡眠狀態時也能正常工作。
3 無線通信的節能優化
與單個節點能耗管理類似,在節點間通信過程中考慮節能措施同樣對提高整個系統的電源使用效率有重要作用,而且,使通信過程對能耗敏感可以將節能優化的范圍從單個節點擴展到參與通信的多個節點。
1) 調制模式
在無線傳感器節點間的無線鏈路上使用的射頻技術對無線通信的能量消耗也有重要影響。調制模式的選擇決定了無線鏈路在總體能耗與靈敏度、延遲等方面的平衡。
調制級別直接影響功率放大器的能耗,與DVS類似,根據實際需求動態改變調制級別是節約能耗的有效手段。由于無線收發電路的啟動開銷較大,因而每次發送報文的長度越大越好,這樣可以將啟動開銷平攤到更多的數據上,但將數據積累到一定長度再發送對信息交換的延遲有影響,需要在兩者之間進行平衡。
2) 鏈路層優化
負責錯誤檢測和糾正的鏈路層影響報文的發送次數,從而影響系統功耗,特別是對于與網關節點等遠距離通信而言。對給定的誤碼率(Bit Error Rate, BER),錯誤控制機制可以減少發送報文消耗的能量,但相應的增加了發送者和接收者的處理能耗。總的來說,鏈路層技術在降低能耗中所起的作用是間接的,好的錯誤控制模式可以降低報文重傳次數,從而節約收發兩端的能耗。