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