摘 要:針對無線傳感器網絡節點低功耗設計問題,介紹無線傳感器節點組成及其能耗,分析動態功率管理原理及其算法,研究混合自動控制并對其進行改進。改進的混合自動控制算法通過對環境變量的變化值劃分來控制無線收發模塊的收發頻率,能減少收發次數,降低系統功耗。最后介紹了在MSP430,nRF905和SCA3000組成的無線加速度傳感器系統中對傾斜角測量時改進的混合自動控制算法的應用。
關鍵詞:混合自動控制; 動態功率管理; 無線傳感器; 低功耗設計
中圖分類號:TP212文獻標識碼:A
文章編號:1004-373X(2010)08-0163-04
Research of Dynamic Power Management in Wireless Sensor Nodes Based on MSP430
YIN Guang-hong1, GUO Min1, TIAN Xi1, TANG Xiu-jun2
(1.School of Electronic Science and Engineering, National University of Defense Technology, Changsha, 410073, China;
2.Sany Heavy Industry Co. Ltd., Changsha 410100, China)
Abstract: Aiming at difficulties of low-power consumption design of wireless sensor network nodes,the constitution and power consumption of wireless sensor network nodes are introduced,the dynamic power management and its algorithms are analyzed,the hybrid auto control is studied and improved.The improved hybrid auto control algorithm divided the variation values of environment variable into different parts to control the transceiving frequency of the transceiver module, the way which can reduce frequency of transceivers and the power of system.The improved hybrid autocontrol algorithm are applied in the wireless system composed of MSP430,nRF905 and SCA3000 to measure tilt angles.
Key words:hybrid auto control; dynamic power management;wireless sensor;low-power consumption design
0 引 言
無線傳感器網絡是由多個帶有傳感器、數據處理單元和通信模塊的節點組織而成的網絡,因為在軍事、工業、醫療、農業等領域的巨大應用前景而成為近年來的研究熱點。由于無線傳感器節點通常工作在人們難以觸及的環境中,并且節點能量有限,難以補充,所以降低功耗、延長使用壽命成為無線傳感器網絡設計的核心問題。因此,傳感器網絡的體系結構、通信協議、算法、電路和感知都必須滿足能量有效性。就降低單個無線傳感器節點功耗而言,除在硬件設計時采用低功耗元件外,動態功率管理[1](Dynamic Power Management,DPM)和動態電壓調節(Dynamic Voltage Supply,DVS)都能有效地降低系統功耗。DPM的基本原理是傳感器節點內部各個設備根據需求在不同工作狀態下進行轉換,減少節點不必要的開支,DPM能盡可能使系統各部分運行在節能模式下,從而降低系統功耗。本文從低功耗設計的角度出發,介紹了無線傳感器節點系統組成,分析了DPM原理及其算法,研究了混合自動控制并對其進行改進,最后通過在MSP430和nRF905無線加速度傳感器系統中介紹了改進的混合自動控制算法的應用。
1 系統組成及低功耗設計
系統組成如圖1所示,數據處理單元采用TI公司MSP430系列單片機,無線收發模塊采用Nordic公司的nRF905。目前國內外出現了許多典型的無線傳感器網絡硬件平臺,其中MSP430系列單片機以其卓越的性能和超低功耗特性,在電池供電的無線傳感器節點設計中具有獨特的優勢。其低功耗特性有:CPU和外圍模塊可以在不同時鐘下運行,外圍模塊在不使用時可以關閉以節省能耗;處理器的功耗與工作頻率成比例,工作在低頻方式下將大大降低處理器的功耗;CPU功耗可以通過開關狀態寄存器的控制位來控制:正常運行時電流為160 μA,備用時僅為0.1 μA,功耗極低,為設計低功耗系統提供了有利的條件。nRF905無線收發芯片具有功耗低、控制簡單、可自動處理字頭和CRC校驗的優點,MSP430通過SPI接口及相關指令訪問nRF905的內部寄存器。SCA3000-D1是VTI公司的全數字化低功耗三軸加速度傳感器,量程±2g,電源電壓3.3 V,64組緩沖存儲器記錄數據,在系統一級上面,有先進的性能和有效節能方式,頻響可選,SPI數字串口通信,抗沖擊力強,可以運用于許多惡劣的條件下,但是其沒有低功耗模式,通過對其電源模塊的關斷管理進行節能處理。根據傳感器測得的傾斜角的連續變化,對系統進行合適的操作,當傳感器數據變化到臨界點時,使nRF905,MSP430進入不同的功耗模式,通過MSP430控制SCA3000的數據采集,從而有效地降低功耗。整個系統具有電路簡單、功耗低、操作靈活、穩定性高、抗干擾能力強等特點。
圖1 系統組成原理圖
2 DPM基本原理[1-2]
無線傳感器網絡節點內部模塊存在著多種工作狀態,假定每個節點都有相同的模塊元件,如CPU、存儲器、傳感器、無線收發器,DPM通過轉換工作狀態,使系統各個部分運行在節能模式下。把節點的功率狀態分為Sk(k=0,1,2,3,4)五個部分。其中:S0表示活動狀態,此時節點消耗的功率最大;S4表示睡眠狀態,此狀態下大部分元件處于關閉狀態,此時的功耗最小。假設節點Nk在某時刻有事件發生,Nk在t1時刻完成事件的處理,下一事件發生在t2=t1+ti時刻,在t1時刻,節點決定從狀態S0轉換到狀態Sk,如圖2所示。
圖2 狀態轉換示意圖
狀態Sk的功率為Pk,狀態轉換時間和恢復時間分別為τd,k和τu,k,定義i>j,τd,i>τd,j和τu,i>τu,j,則節點轉入狀態Sk節省的能量為Esave,k,可由等式確定:
Esave,k=P0ti-P0+Pk2(τd,k+τu,k)-Pk(ti-τd,k)
=(P0-Pk)ti-P0-Pk2τd,k-P0+Pk2τu,k(1)
只有當Esave,k>0時,式(1)才有意義。式中:P0為傳感器處于激活狀態時的功率;Pk為睡眠狀態為Sk時的傳感器節點功率;τd,k(τu,k)為傳感器從激活狀態S0(睡眠Sk)到睡眠狀態Sk(激活狀態S0)的轉換時間。
理想狀態下,傳感器節點在完成任務后迅速進入睡眠狀態并在下一事件到達時迅速進入活動狀態,能最大程度地節省能耗,根據式(1)可得門限時間:
Tth,k=12τd,k+P0+PkP0-Pkτu,k〗(2)
但事實上,節點的狀態轉換也存在較大的能量消耗和延遲。因此,在進入睡眠狀態時,節點應首先在寄存器上保存之前的數據和參數,同時,激活節點仍然需要大量的能耗和額外的時間,低功耗模式下消耗的能量越少,轉換到活動模式時帶來的延遲就越大,所以,應考慮到狀態轉換額外的能耗Padd。當且僅當Esave,k>Padd時,系統才有意義,因此,可以得出門限時間:
Tth,k=12τd,k+P0+PkP0-Pkτu,k〗+PaddP0-Pk(3)
Tth,k代表傳感器節點的門限時間。在節點的非完全關閉狀態,事件到達,系統可以自動轉入激活的工作狀態,對于完全關閉的狀態S4,由于節點的大部分元件都處于關閉狀態,節點無法檢測到事件和收到信息,所以一些事件將會丟失,根據剩余能量,得出S4的門限時間為:
Tth,4=ueVstd/Vpre(4)
式中:Vstd代表標準工作電壓,Vpre代表當前電壓。
3 DPM算法
文獻[1]中提出了基于概率判別無線傳感器網絡動態功率管理。此方法對于是否進入完全關閉的狀態S4,給出一個概率值,利用概率判別來進行有效的功率狀態轉換,如果概率值偏大,則進入完全休眠狀態的機率增大,能量消耗減少,但事件丟失的可能性增加;否則,使用能量增多,事件丟失的可能性減小。文獻[3]提出了一種利用小波和卡爾曼濾波和自回歸分析聯合預測下一事件發生的時間來決定進入何種功率狀態的方法,該方法根據歷史事件的到達時間來預測下一事件的發生的時間。在森林火警監視、洪水監測等特殊事件發生概率很小,歷史數據無法獲得的應用領域,文獻[4]提出了一種利用小波和自回歸的動態功率管理方法。該方法利用收發器(Sink)節點上的歷史數據流預測未來的值,在后續周期內,若傳感器節點的觀測值不超過給定閾值則不向Sink節點發送數據,Sink節點將預測值作為觀測結果,通過減少傳感器節點工作時間,降低網絡數據傳輸量來減少傳感器網絡的總體能量消耗。由于無線通信占整個無線傳感器網絡能耗的主要部分,所以在不影響系統性能的前提下,有效地對無線收發系統進行管理可以高效地降低系統能耗。混合自動控制[5](Hybrid Automata)是根據傳感器檢測信息的變化情況來控制傳感器節點收發的頻率,通過增加休眠時間、降低收發次數對無線傳感器節點進行動態功率管理,從而降低系統功耗。
4 混合自動控制
4.1 混合自動控制原理
在混合自動控制條件下,系統分為幾個離散的狀態,每個狀態都有一定的保持條件、相應的控制變量、初始值和向其他狀態轉換的臨界值。當環境變量改變或保持不變時,通過對形勢加以分析(反饋)來執行在不同狀態模式之間的轉換。圖3為混合自動控制示意圖。
圖3 混合自動控制原理圖
假如系統存在兩種狀態l1和l2,一個動態變量x,系統開始的狀態為l1,x的初始值為20,在狀態l1下,變量x隨著等式=0.2+x不斷增大,當x的值等于30時,就達到了臨界條件,>31時,迅速地進入狀態l2。在狀態l2,x隨等式x=x-0.5遞減,臨界條件是x=25,當x<25發生狀態轉換進入狀態l1。在實際運用中,此示意圖可以理解為傾斜角度控制在25°~31°之間。
4.2 混合自動控制算法在無線傳感器節點上的實現
由于對運動中物體的傾角測量在交通、航天、軍事等領域有著重要的意義,這里采用加速度傳感器對傾斜角進行測量,介紹混合自動控制算法的應用。基本思路:無線傳感器節點根據環境變量的連續性變化,對傳感器執行離散的處理應用,當環境參數改變(增加或減小)時,傳感器的狀態變量相應改變,當改變到臨界點時,系統狀態轉換為另一功率狀態。首先對系統作如下要求:變量x表示所測量的傾斜角度值,最高為30°,最低為8°,它代表環境參數的改變,是各狀態之間轉換的主要因素;變量z為計時器,用于狀態的計時。為了簡化控制過程,把系統分為三個狀態,l1為睡眠狀態,此時傳感器模塊和無線收發器都處于不活動狀態,控制系統保持l1狀態為60 s,其不等式條件為z≤60,當z>60時,轉入狀態l2。狀態l2和l3表示不同的采集和無線傳輸頻率的活動狀態,狀態l2下的采集和無線傳輸頻率低于l3,此時每間隔10 s發送一次采集的傾斜角度數據,在發送完之后,無線收發器和傳感器進入關閉狀態等待下一個周期的到來。運行過程中,當傾斜角的變化在0.5°~5°之間(0.5≤x-xold≤5)且傾斜角度不超過30°(x≤30°)時,系統運行在狀態l2;當傾斜角度變化大于5°(x-xold>5)或x>30°時,系統進入狀態l3運行;當傾斜角度變化小于0.5°(x-xold<0.5)且x≤30°時,節點處于睡眠狀態l1。狀態轉換圖如圖4所示。
圖4 狀態轉換圖
在狀態l3下,節點各部分都處于活動狀態,每間隔1 s發送一次數據,用于傾斜角度變化過快或角度達到了高危值。節點開始于狀態l2,一般情況下,當傾斜角不發生變化或變化值低于0.5°,系統在狀態l1和l2之間轉換,即數據在每間隔60 s發送一次,間隔期內,節點處于睡眠模式,以節省能耗。如果變化值超過0.5°,系統進入狀態l2,否則,當變化值超過5°,就進入狀態l3。使用該算法,在傾斜角變化正常的情況下,設無線傳感器節點直接和sink節點通信,則節點大部分的時間處于狀態l1。
圖5為混合自動控制算法在MSP430和nRF905無線加速度傳感器系統中實現的簡化流程圖。
圖5 程序流程圖
5 結 語
由于傳感器節點各部分存在著多種工作模式并且能量消耗差異較大,所以通過動態功率管理方法可以在系統級有效地降低節點的功耗,這里在介紹無線傳感器動態功率管理基本原理的基礎上,對幾種典型的動態功率管理方法進行了分析研究,發現在環境參數(如加速度、溫度等)變化穩定的情況下,通過混合自動控制算法對環境變量的變化值范圍劃分來設定系統的工作狀態,控制無線收發模塊的收發頻率,能增加節點的休眠時間,減少收發次數,從而有效地降低系統功耗,最后通過MSP430、nRF905無線加速度傳感器系統,介紹了混合自動控制算法的應用。
參考文獻
[1]SINHA A, CHANDRAKASAN A. Dynamic power management in wireless sensor networks[J]. IEEE Design Test of Computers, 2001, 18(4): 62-74.
[2]SHEN Y, LI B X. Wavelet neural network approach for dynamic power management in wireless sensor networks[C]. \\: ICESS, 2008, 21: 376-381.
[3]田豐民, 陳向東, 張傳武. 無線傳感器網絡動態功率管理方法[J]. 傳感器技術, 2005, 24(11): 33-35.
[4]李國徽, 江德平. 基于流預測的無線傳感器網絡動態功率管理[J]. 華中科技大學學報, 2007, 35(7): 27-30.
[5]PASSOS R M, COELHO Jr C J N, LOUREIRO A A F, et al. Dynamic power management in wireless sensor networks: An application-drivena Approach[C]. \\: Proceedings of the Second Annual Conference on Wireless on-Demand Network Systems and Services, 2005.
[6]沈建華, 楊艷琴, 翟驍曙. MSP430系列16位超低功耗單片機原理與應用\\. 北京: 清華大學出版社, 2004.
[7]Nordic. Single chip 433/868/915 MHz transceiver nRF905 datasheet\\. \\: Nordic, 2004.
[8]Texas Instruments. MSP430x1xx family user′s guide\\. USA: Texas Inseruments, 2006.
[9]田豐民. 基于小波分解的無線傳感器網絡動態功率管理[D]. 成都: 西南交通大學, 2005.
[10]王毅, 張德運, 陳海榮. 無線傳感器網絡匯聚節點動態功耗管理方法[J]. 西安交通大學學報, 2008, 42(2): 138-142.
[11]張大蹤, 楊濤, 魏冬梅. 無線傳感器網絡低功耗設計綜述[J]. 傳感器與微系統, 2006, 25(5): 10-14.
[12]袁勇. 無線傳感器網絡節能傳輸技術研究[D]. 武漢: 華中科技大學, 2005.
[13]VTI Technologies. SCA3000-D01 3-AXIS low power accelerometer with digital SPI interface\\. \\:VTI Technologies, 2005.