0 引言
無線傳感器網(wǎng)絡(luò)是由多個(gè)帶有傳感器,、數(shù)據(jù)處理單元和通信模塊的節(jié)點(diǎn)組織而成的網(wǎng)絡(luò),,因?yàn)樵谲娛隆⒐I(yè),、醫(yī)療,、農(nóng)業(yè)等領(lǐng)域的巨大應(yīng)用前景而成為近年來的研究熱點(diǎn)。由于無線傳感器節(jié)點(diǎn)通常工作在人們難以觸及的環(huán)境中,,并且節(jié)點(diǎn)能量有限,,難以補(bǔ)充,所以降低功耗,、延長使用壽命成為無線傳感器網(wǎng)絡(luò)設(shè)計(jì)的核心問題,。因此,傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu),、通信協(xié)議,、算法、電路和感知都必須滿足能量有效性,。就降低單個(gè)無線傳感器節(jié)點(diǎn)功耗而言,,除在硬件設(shè)計(jì)時(shí)采用低功耗元件外,動(dòng)態(tài)功率管理(Dynamic Power Management,,DPM)和動(dòng)態(tài)電壓調(diào)節(jié)(Dynamic Voltage Supply,,DVS)都能有效地降低系統(tǒng)功耗。DPM的基本原理是傳感器節(jié)點(diǎn)內(nèi)部各個(gè)設(shè)備根據(jù)需求在不同工作狀態(tài)下進(jìn)行轉(zhuǎn)換,,減少節(jié)點(diǎn)不必要的開支,,DPM能盡可能使系統(tǒng)各部分運(yùn)行在節(jié)能模式下,,從而降低系統(tǒng)功耗。本文從低功耗設(shè)計(jì)的角度出發(fā),,介紹了無線傳感器節(jié)點(diǎn)系統(tǒng)組成,,分析了DPM原理及其算法,研究了混合自動(dòng)控制并對其進(jìn)行改進(jìn),,最后通過在MSP430和nRF905無線加速度傳感器系統(tǒng)中介紹了改進(jìn)的混合自動(dòng)控制算法的應(yīng)用,。
1 系統(tǒng)組成及低功耗設(shè)計(jì)
系統(tǒng)組成如圖1所示,數(shù)據(jù)處理單元采用TI公司MSP430系列單片機(jī),,無線收發(fā)模塊采用Nordic公司的nRF905,。目前國內(nèi)外出現(xiàn)了許多典型的無線傳感器網(wǎng)絡(luò)硬件平臺,其中MSP430系列單片機(jī)以其卓越的性能和超低功耗特性,,在電池供電的無線傳感器節(jié)點(diǎn)設(shè)計(jì)中具有獨(dú)特的優(yōu)勢,。其低功耗特性有:CPU和外圍模塊可以在不同時(shí)鐘下運(yùn)行,外圍模塊在不使用時(shí)可以關(guān)閉以節(jié)省能耗,;處理器的功耗與工作頻率成比例,,工作在低頻方式下將大大降低處理器的功耗;CPU功耗可以通過開關(guān)狀態(tài)寄存器的控制位來控制:正常運(yùn)行時(shí)電流為160μA,,備用時(shí)僅為O.1-μA,,功耗極低,,為設(shè)計(jì)低功耗系統(tǒng)提供了有利的條件,。nRF905無線收發(fā)芯片具有功耗低、控制簡單,、可自動(dòng)處理字頭和CRC校驗(yàn)的優(yōu)點(diǎn),,MSP-430通過SPI接口及相關(guān)指令訪問nRF905的內(nèi)部寄存器。SCA3000-D1是VTI公司的全數(shù)字化低功耗三軸加速度傳感器,,量程±2g,,電源電壓3.3 V,64組緩沖存儲器記錄數(shù)據(jù),,在系統(tǒng)一級上面,,有先進(jìn)的性能和有效節(jié)能方式,頻響可選,,SPI數(shù)字串口通信,,抗沖擊力強(qiáng),可以運(yùn)用于許多惡劣的條件下,,但是其沒有低功耗模式,,通過對其電源模塊的關(guān)斷管理進(jìn)行節(jié)能處理。根據(jù)傳感器測得的傾斜角的連續(xù)變化,,對系統(tǒng)進(jìn)行合適的操作,,當(dāng)傳感器數(shù)據(jù)變化到臨界點(diǎn)時(shí),,使nRF905,MSP430進(jìn)入不同的功耗模式,,通過MSP430控制SCA3000的數(shù)據(jù)采集,,從而有效地降低功耗。整個(gè)系統(tǒng)具有電路簡單,、功耗低,、操作靈活、穩(wěn)定性高,、抗干擾能力強(qiáng)等特點(diǎn),。
2 DPM基本原理
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部模塊存在著多種工作狀態(tài),假定每個(gè)節(jié)點(diǎn)都有相同的模塊元件,,如CPU,、存儲器、傳感器,、無線收發(fā)器,,DPM通過轉(zhuǎn)換工作狀態(tài),使系統(tǒng)各個(gè)部分運(yùn)行在節(jié)能模式下,。把節(jié)點(diǎn)的功率狀態(tài)分為Sk(k=O,,1,2,,3,,4)五個(gè)部分。其中:S0表示活動(dòng)狀態(tài),,此時(shí)節(jié)點(diǎn)消耗的功率最大,;S4表示睡眠狀態(tài),此狀態(tài)下大部分元件處于關(guān)閉狀態(tài),,此時(shí)的功耗最小,。假設(shè)節(jié)點(diǎn)Nk在某時(shí)刻有事件發(fā)生,Nk在t1時(shí)刻完成事件的處理,,下一事件發(fā)生在 t2=t1+ti時(shí)刻,,在t1時(shí)刻,節(jié)點(diǎn)決定從狀態(tài)S0轉(zhuǎn)換到狀態(tài)Sk,,如圖2所示
狀態(tài)Sk的功率為Pk,,狀態(tài)轉(zhuǎn)換時(shí)間和恢復(fù)時(shí)間分別為τd,k和τu,k,定義i>j,,τd,i>τd,j和τu,i>τu,j,,則節(jié)點(diǎn)轉(zhuǎn)入狀態(tài)Sk節(jié)省的能量為Esave,k,可由等式確定:
只有當(dāng)Esave,k>O時(shí),。式(1)才有意義,。式中:P0為傳感器處于激活狀態(tài)時(shí)的功率,;Pk為睡眠狀態(tài)為Sk時(shí)的傳感器節(jié)點(diǎn)功率;τd,k(τu,k)為傳感器從激活狀態(tài)S0(睡眠Sk)到睡眠狀態(tài)Sk(激活狀態(tài)S0)的轉(zhuǎn)換時(shí)間,。
理想狀態(tài)下,,傳感器節(jié)點(diǎn)在完成任務(wù)后迅速進(jìn)入睡眠狀態(tài)并在下一事件到達(dá)時(shí)迅速進(jìn)入活動(dòng)狀態(tài),能最大程度地節(jié)省能耗,,根據(jù)式(1)可得門限時(shí)間:
但事實(shí)上,,節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換也存在較大的能量消耗和延遲。因此,,在進(jìn)入睡眠狀態(tài)時(shí),,節(jié)點(diǎn)應(yīng)首先在寄存器上保存之前的數(shù)據(jù)和參數(shù)。同時(shí),,激活節(jié)點(diǎn)仍然需要大量的能耗和額外的時(shí)間,,低功耗模式下消耗的能量越少,轉(zhuǎn)換到活動(dòng)模式時(shí)帶來的延遲就越大,,所以,,應(yīng)考慮到狀態(tài)轉(zhuǎn)換額外的能耗Padd。當(dāng)且僅當(dāng) Esave,k>Padd時(shí),,系統(tǒng)才有意義,,因此,可以得出門限時(shí)間:
Tth,k代表傳感器節(jié)點(diǎn)的門限時(shí)間,。在節(jié)點(diǎn)的非完全關(guān)閉狀態(tài),,事件到達(dá),系統(tǒng)可以自動(dòng)轉(zhuǎn)入激活的工作狀態(tài),,對于完全關(guān)閉的狀態(tài)S4,,由于節(jié)點(diǎn)的大部分元件都處于關(guān)閉狀態(tài),節(jié)點(diǎn)無法檢測到事件和收到信息,,所以一些事件將會丟失,根據(jù)剩余能量,,得出S4的門限時(shí)間為:
式中:Vstd代表標(biāo)準(zhǔn)工作電壓,,Vpre代表當(dāng)前電壓。
3 DPM算法
文獻(xiàn)中提出了基于概率判別無線傳感器網(wǎng)絡(luò)動(dòng)態(tài)功率管理,。此方法對于是否進(jìn)入完全關(guān)閉的狀態(tài)S4,,給出一個(gè)概率值,利用概率判別來進(jìn)行有效的功率狀態(tài)轉(zhuǎn)換,,如果概率值偏大,,則進(jìn)入完全休眠狀態(tài)的機(jī)率增大,能量消耗減少,,但事件丟失的可能性增加,;否則,,使用能量增多,事件丟失的可能性減小,。文獻(xiàn)提出了一種利用小波和卡爾曼濾波和自回歸分析聯(lián)合預(yù)測下一事件發(fā)生的時(shí)間來決定進(jìn)入何種功率狀態(tài)的方法,。該方法根據(jù)歷史事件的到達(dá)時(shí)間來預(yù)測下一事件的發(fā)生的時(shí)間。在森林火警監(jiān)視,、洪水監(jiān)測等特殊事件發(fā)生概率很小,。歷史數(shù)據(jù)無法獲得的應(yīng)用領(lǐng)域。文獻(xiàn)提出了一種利用小波和自回歸的動(dòng)態(tài)功率管理方法,。該方法利用收發(fā)器 (Sink)節(jié)點(diǎn)上的歷史數(shù)據(jù)流預(yù)測未來的值,,在后續(xù)周期內(nèi),若傳感器節(jié)點(diǎn)的觀測值不超過給定閾值則不向Sink節(jié)點(diǎn)發(fā)送數(shù)據(jù),,Sink節(jié)點(diǎn)將預(yù)測值作為觀測結(jié)果,,通過減少傳感器節(jié)點(diǎn)工作時(shí)間,降低網(wǎng)絡(luò)數(shù)據(jù)傳輸量來減少傳感器網(wǎng)絡(luò)的總體能量消耗,。由于無線通信占整個(gè)無線傳感器網(wǎng)絡(luò)能耗的主要部分,,所以在不影響系統(tǒng)性能的前提下,有效地對無線收發(fā)系統(tǒng)進(jìn)行管理可以高效地降低系統(tǒng)能耗,?;旌献詣?dòng)控制(Hybrid Automata)是根據(jù)傳感器檢測信息的變化情況來控制傳感器節(jié)點(diǎn)收發(fā)的頻率,通過增加休眠時(shí)間,、降低收發(fā)次數(shù)對無線傳感器節(jié)點(diǎn)進(jìn)行動(dòng)態(tài)功率管理,,從而降低系統(tǒng)功耗。
4 混合自動(dòng)控制
4.1 混合自動(dòng)控制原理
在混合自動(dòng)控制條件下,,系統(tǒng)分為幾個(gè)離散的狀態(tài),,每個(gè)狀態(tài)都有一定的保持條件、相應(yīng)的控制變量,、初始值和向其他狀態(tài)轉(zhuǎn)換的臨界值,。當(dāng)環(huán)境變量改變或保持不變時(shí),通過對形勢加以分析(反饋)來執(zhí)行在不同狀態(tài)模式之間的轉(zhuǎn)換,。圖3為混合自動(dòng)控制示意圖,。
假如系統(tǒng)存在兩種狀態(tài)l1和l2,一個(gè)動(dòng)態(tài)變量x,,系統(tǒng)開始的狀態(tài)為l1,,x的初始值為20,在狀態(tài)l1下,,變量x隨著等式不斷增大,,當(dāng)x的值等于30時(shí),就達(dá)到了臨界條件,時(shí),,迅速地進(jìn)入狀態(tài)l2,。在狀態(tài)l2,x隨等式x=x-0.5遞減,,臨界條件是 x="25",,當(dāng)x<25發(fā)生狀態(tài)轉(zhuǎn)換進(jìn)入狀態(tài)l1。在實(shí)際運(yùn)用中,,此示意圖可以理解為傾斜角度控制在25°~31°之間,。
4.2 混合自動(dòng)控制算法在無線傳感器節(jié)點(diǎn)上的實(shí)現(xiàn)
由于對運(yùn)動(dòng)中物體的傾角測量在交通、航天,、軍事等領(lǐng)域有著重要的意義,,這里采用加速度傳感器對傾斜角進(jìn)行測量,介紹混合自動(dòng)控制算法的應(yīng)用,?;舅悸罚簾o線傳感器節(jié)點(diǎn)根據(jù)環(huán)境變量的連續(xù)性變化,對傳感器執(zhí)行離散的處理應(yīng)用,,當(dāng)環(huán)境參數(shù)改變(增加或減小)時(shí),,傳感器的狀態(tài)變量相應(yīng)改變,當(dāng)改變到臨界點(diǎn)時(shí),,系統(tǒng)狀態(tài)轉(zhuǎn)換為另一功率狀態(tài),。首先對系統(tǒng)作如下要求:變量x表示所測量的傾斜角度值,最高為30°,,最低為8°,,它代表環(huán)境參數(shù)的改變,是各狀態(tài)之間轉(zhuǎn)換的主要因素,;變量z為計(jì)時(shí)器,,用于狀態(tài)的計(jì)時(shí)。為了簡化控制過程,,把系統(tǒng)分為三個(gè)狀態(tài),,l1為睡眠狀態(tài),此時(shí)傳感器模塊和無線收發(fā)器都處于不活動(dòng)狀態(tài),,控制系統(tǒng)保持l1狀態(tài)為60 s,。其不等式條件為z≤ 60,當(dāng)z>60時(shí),,轉(zhuǎn)入狀態(tài)l2。狀態(tài)l2和l3表示不同的采集和無線傳輸頻率的活動(dòng)狀態(tài),,狀態(tài)l2下的采集和無線傳輸頻率低于l3,,此時(shí)每間隔 10 s發(fā)送一次采集的傾斜角度數(shù)據(jù),在發(fā)送完之后,無線收發(fā)器和傳感器進(jìn)入關(guān)閉狀態(tài)等待下一個(gè)周期的到來,。運(yùn)行過程中,,當(dāng)傾斜角的變化在O.5°~5°之間 (O.5≤|x-xold|≤5)且傾斜角度不超過30°(x≤30°)時(shí),系統(tǒng)運(yùn)行在狀態(tài)l2,;當(dāng)傾斜角度變化大于5°(|x-xold|>5) 或x>30°時(shí),,系統(tǒng)進(jìn)入狀態(tài)l3運(yùn)行;當(dāng)傾斜角度變化小于0.5°(|x-xold|<0.5)且x≤30°時(shí),,節(jié)點(diǎn)處于睡眠狀態(tài)l1,。狀態(tài)轉(zhuǎn)換圖如圖4所示。
在狀態(tài)l3下,。節(jié)點(diǎn)各部分都處于活動(dòng)狀態(tài),,每間隔1 s發(fā)送一次數(shù)據(jù),用于傾斜角度變化過快或角度達(dá)到了高危值,。節(jié)點(diǎn)開始于狀態(tài)l2,,一般情況下,當(dāng)傾斜角不發(fā)生變化或變化值低于O.5°,,系統(tǒng)在狀態(tài)l1和 l2之間轉(zhuǎn)換,,即數(shù)據(jù)在每間隔60 s發(fā)送一次,間隔期內(nèi),,節(jié)點(diǎn)處于睡眠模式,,以節(jié)省能耗。如果變化值超過O.5°,,系統(tǒng)進(jìn)入狀態(tài)l2,,否則,當(dāng)變化值超過5°,,就進(jìn)入狀態(tài)l3,。使用該算法,在傾斜角變化正常的情況下,,設(shè)無線傳感器節(jié)點(diǎn)直接和sink節(jié)點(diǎn)通信,,則節(jié)點(diǎn)大部分的時(shí)間處于狀態(tài)l1。
圖5為混合自動(dòng)控制算法在MSP430和nRF905無線加速度傳感器系統(tǒng)中實(shí)現(xiàn)的簡化流程圖,。
5 結(jié)語
由于傳感器節(jié)點(diǎn)各部分存在著多種工作模式并且能量消耗差異較大,,所以通過動(dòng)態(tài)功率管理方法可以在系統(tǒng)級有效地降低節(jié)點(diǎn)的功耗,這里在介紹無線傳感器動(dòng)態(tài)功率管理基本原理的基礎(chǔ)上,,對幾種典型的動(dòng)態(tài)功率管理方法進(jìn)行了分析研究,,發(fā)現(xiàn)在環(huán)境參數(shù)(如加速度、溫度等)變化穩(wěn)定的情況下,,通過混合自動(dòng)控制算法對環(huán)境變量的變化值范圍劃分來設(shè)定系統(tǒng)的工作狀態(tài),,控制無線收發(fā)模塊的收發(fā)頻率,能增加節(jié)點(diǎn)的休眠時(shí)間,減少收發(fā)次數(shù),,從而有效地降低系統(tǒng)功耗,,最后通過 MSP430、nRF905無線加速度傳感器系統(tǒng),,介紹了混合自動(dòng)控制算法的應(yīng)用,。