蘭 羽
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 電氣學(xué)院,陜西 咸陽(yáng) 712000)
無(wú)線傳感器網(wǎng)絡(luò)(WSN)是互聯(lián)網(wǎng)的延伸,是由大量的、廉價(jià)的、微型的傳感器節(jié)點(diǎn)構(gòu)成,節(jié)點(diǎn)間通過(guò)自組織、多跳方式組成無(wú)線網(wǎng)絡(luò),對(duì)陌生環(huán)境的數(shù)據(jù)采集并通過(guò)無(wú)線網(wǎng)絡(luò)傳送至監(jiān)控中心[1-2]。它是集數(shù)據(jù)感知、處理、傳輸為一體的微型系統(tǒng),是物理世界連接計(jì)算機(jī)世界和人類社會(huì)的紐帶。隨著信息技術(shù)的發(fā)展,無(wú)線傳感器網(wǎng)絡(luò)已在國(guó)家安全、軍事國(guó)防、醫(yī)療衛(wèi)生、環(huán)境監(jiān)測(cè)、搶險(xiǎn)救災(zāi)、交通管理等領(lǐng)域已取得廣泛的應(yīng)用[2-3]。傳感節(jié)點(diǎn)是無(wú)線傳感器網(wǎng)絡(luò)最基本的單元,節(jié)點(diǎn)一般由電池供電,能量有限,所以無(wú)線傳感器節(jié)點(diǎn)的能耗決定了網(wǎng)絡(luò)的性能和生存周期。目前許多商業(yè)化的傳感器節(jié)點(diǎn)片面追求節(jié)點(diǎn)性能,忽略了能耗因素,影響節(jié)點(diǎn)壽命,限制了無(wú)線傳感器網(wǎng)絡(luò)有效生存周期[4-5]。傳感器節(jié)點(diǎn)的低功耗設(shè)計(jì)可有效提高節(jié)點(diǎn)和網(wǎng)絡(luò)的壽命,是無(wú)線傳感器網(wǎng)絡(luò)的關(guān)鍵技術(shù)之一。有實(shí)驗(yàn)表明,無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)90%以上能耗主要集中在微處理器和射頻芯片上[6-7],因此,本文主要討論處理器模塊和無(wú)線模塊的低功耗控制的設(shè)計(jì),以達(dá)到減低節(jié)點(diǎn)功耗的目的。
每個(gè)無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)都是一個(gè)微系統(tǒng)。其可分為4個(gè)模塊:電源驅(qū)動(dòng)模塊、傳感器模塊、處理器模塊、無(wú)線通信模塊。圖1為無(wú)線節(jié)點(diǎn)結(jié)構(gòu)框。目前主流節(jié)點(diǎn)架構(gòu)有SOC架構(gòu),處理器芯片射頻芯片各自獨(dú)立架構(gòu)、主控制器和協(xié)處理器架構(gòu)3種。

圖1 傳感器節(jié)點(diǎn)結(jié)構(gòu)圖
該方案將微控制器和射頻芯片整合到單芯片上。優(yōu)點(diǎn):可靠性高、易于開發(fā),典型芯片有JN5319、CC2430和CC2530。缺點(diǎn):靈活性差、功耗高。新推出的CC430系列芯片雖功耗低,但成本高、靈活性依然較差[8]。
該方案微處理器器不僅承擔(dān)數(shù)據(jù)的處理,還負(fù)責(zé)功耗的控制,射頻芯片負(fù)責(zé)數(shù)據(jù)無(wú)線收發(fā)。優(yōu)點(diǎn):靈活性好(可以嵌入EZMac等協(xié)議棧,Zigbee或者UCOS-2,TinyOS等操作系統(tǒng)。),易于擴(kuò)展,系統(tǒng)的整體功耗取決于系統(tǒng)的調(diào)度和芯片的功耗。典型組合MSP430型微處理器和CC2420射頻芯片[9]。
主控制器負(fù)責(zé)運(yùn)行應(yīng)用程序,協(xié)處理器運(yùn)行協(xié)議棧。主控制器通過(guò)API函數(shù)控制協(xié)議的運(yùn)行。優(yōu)點(diǎn):主微控制器效率提高,便于維護(hù)。缺點(diǎn):靈活性差,可支持的協(xié)議少,僅支持Zigbee協(xié)議。
無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)的性能優(yōu)劣主要體現(xiàn)在微處理器芯片和無(wú)線芯片選型上。微處理器的選擇首先要考慮的因素是低功耗,其次考慮性能。目前采用的較多有TI公司的MSP430系列單片機(jī)和Atemel公司的AT2mega系列單片機(jī)。幾種典型型號(hào)微處理器性能作比較如表1所示。從表1中知,MSP430系列單片機(jī)能耗方面和總體性能優(yōu)勢(shì)較明顯。MSP430系列單片機(jī)是一種16位微控制器,其具有功能強(qiáng)大、集成度高、低功耗[10]。特別是MSP430F2618是MSP430系列一種典型的低功耗高性能微處理器,工作電壓范圍較寬(1.8~3.6 V),CPU時(shí)鐘頻率方面:支持的高頻至16 MHz和低頻至32 kHz之間的切換,以降低自身功耗。內(nèi)部功能模塊方面:集成有比較器、乘法器、A/D轉(zhuǎn)換器等[11]。在存儲(chǔ)器方面:存儲(chǔ)單元豐富, RAM為8 kB,F(xiàn)lash為116 kB,充足的容量不需再另外擴(kuò)展存儲(chǔ)單元。在模式切換方面:?jiǎn)拘褧r(shí)間不到1 μs,根據(jù)不同需要有5種低功耗模式,從而靈活的控制節(jié)點(diǎn)功耗。另外MSP430系列單片機(jī)在外設(shè)接口有IIC、SPI、UART和DMA等,這些接口在不需要時(shí)可直接屏蔽,不增加處理器功耗。基于以上特征,本文的節(jié)點(diǎn)的微控制器選擇MSP430F2618芯片。

表1 4種微處理器特征比較
射頻芯片選擇需從多方面綜合考慮,涉及芯片功能、封裝大小、睡眠電流和功耗、通信頻段、通信距離、芯片外圍器件的多少、技術(shù)先進(jìn)性等,另外還要考慮芯片的性價(jià)比、技術(shù)支持和開發(fā)成本等因素[11-12]。隨著IEEE802.15.4標(biāo)準(zhǔn)的發(fā)布,支持該協(xié)議低功耗芯片越要越多,F(xiàn)reescale公司發(fā)布的MC13192,Chipcon公司發(fā)布的CC2420,Ember 公司推出的EM2420,ComXs公司發(fā)布的ML7065,TI公司(并購(gòu)Chipcon公司)推出的第二代2.4 G無(wú)線收發(fā)器CC2520,都具有很好競(jìng)爭(zhēng)力。表2給出對(duì)CC2420,CC2520和MC13192各主要指標(biāo)作比較。由表2可知,CC2520的睡眠電流是最低的,電源電壓范圍最寬,1.8 V即可驅(qū)動(dòng)。CC2520與CC2420比較,集成的硬件模塊增多、緩存增大、指令更加靈活、發(fā)射功率增寬、靈敏度增強(qiáng)、性價(jià)比提高、更小的封裝等優(yōu)點(diǎn)[13]。雖然CC2520相對(duì)CC2420收發(fā)射功率較大,但作為WSN的節(jié)點(diǎn)大部分時(shí)間是處于睡眠狀態(tài),CC2520睡眠電流僅0.12 μA。本文節(jié)點(diǎn)的無(wú)線模塊選擇CC2520作為收發(fā)器件。

表2 幾種無(wú)線收發(fā)芯片主要參數(shù)
根據(jù)以上對(duì)典型的微處理器和射頻芯片性能分析,節(jié)點(diǎn)的處理器芯片選擇MSP430F2618,射頻芯片選擇CC2520,圖2為節(jié)點(diǎn)硬件總體設(shè)計(jì)方案。圖中MSP430F2618和CC2520通過(guò)SPI接口相互通信,GPIO起輔助通信作用,MSP430F2618二個(gè)通用GPIO端口分別控制CC2520的RESETn和VERG_EN端,實(shí)現(xiàn)對(duì)CC2520的復(fù)位和功耗的控制。通過(guò)晶振接口配置一個(gè)32 K的低頻晶振和一個(gè)6 M的高頻晶振。預(yù)留出IIC、SPI等通信接口以及GPIO接口以便與傳感器模塊連接。

圖2 傳感器節(jié)點(diǎn)框圖
在WSN中實(shí)現(xiàn)低功耗節(jié)點(diǎn),硬件設(shè)計(jì)是一方面,另外還需有芯片低功耗控制設(shè)計(jì)和低功耗協(xié)議軟件的支持。本文主要從微控制器、射頻芯片低功耗控制,以及微控制器的時(shí)鐘頻率切換等方面研究降低節(jié)點(diǎn)功耗措施。
MSP430單片機(jī)超工作時(shí)有兩種狀態(tài):工作狀態(tài)和低功耗狀態(tài)。當(dāng)MCU無(wú)數(shù)據(jù)處理時(shí),節(jié)點(diǎn)立即切換到低功耗模式上,需要處理數(shù)據(jù)時(shí),立即喚醒MCU進(jìn)入工作模式。處理器低功耗控制策略即最大化低功耗模式的工作時(shí)間和不同狀態(tài)時(shí)鐘系統(tǒng)的切換。DCO用于CPU激活后的突發(fā)短暫運(yùn)行,32 kHz晶振用于ACLK的時(shí)鐘[14]。
MSP430系列單片機(jī)低功耗微處理器,通過(guò)狀態(tài)寄存器中CPU Off、OSC Off、SCG1、SCG0位配置來(lái)實(shí)現(xiàn)工作模式,0000活動(dòng)模式(AM)分,1000為低功耗模式0(LMP0),1001低功耗模式1(LMP1),1010為低功耗模式2(LMP2),1011為低功耗模式3(LMP3),1111為低功耗模式4(LMP4)。微處理器內(nèi)部集成有CPU、MCLK、SMCLK(次主時(shí)鐘) 和DCO、DC使能禁止、ACLK(輔助時(shí)鐘) 和計(jì)數(shù)器功能模塊。表3列出微處理器在不同狀態(tài)下,開啟部分模塊,其余關(guān)閉,從而最大限度地降低為控制器功耗。當(dāng)需要低功耗模式進(jìn)入活動(dòng)時(shí),通過(guò)中斷將微處理器喚醒到活動(dòng)模式,喚醒時(shí)間只需不到1 μs,響應(yīng)速度很快。MSP430系列單片機(jī)低功耗正是通過(guò)這些實(shí)現(xiàn)的。
2.3快速房顫患者的房顫患者和肽素與pro-BNP水平呈正相關(guān),Pearson相關(guān)系數(shù)為0.610(P=0.000)

表3 在不同工作模式CPU狀態(tài)、振蕩器及時(shí)鐘狀態(tài)
節(jié)點(diǎn)能量主要消耗在收發(fā)數(shù)據(jù)時(shí)即節(jié)點(diǎn)處在活動(dòng)模式,這時(shí)節(jié)點(diǎn)能耗占系統(tǒng)總能耗90%以上。因此,系統(tǒng)在無(wú)需收發(fā)數(shù)據(jù)時(shí)射頻芯片CC2520需置于低功耗模式,以降低節(jié)點(diǎn)能耗。CC2520有活動(dòng)模式和低功耗模式,低功耗模式有LPM1和LPM2,低功耗模式和活動(dòng)模式可根據(jù)需要隨意切換。在低功耗LPM1時(shí),時(shí)鐘關(guān)閉,數(shù)字電壓調(diào)節(jié)器開啟,保持?jǐn)?shù)據(jù);在低功耗LPM2時(shí),時(shí)鐘關(guān)閉,數(shù)字電壓調(diào)節(jié)器關(guān)閉、時(shí)鐘關(guān)閉,不保持?jǐn)?shù)據(jù),這時(shí)芯片內(nèi)部的模擬模塊處于電源關(guān)閉狀態(tài),電流值僅為30 nA,芯片進(jìn)入深度休眠,此時(shí)功耗極低,缺點(diǎn)是激活時(shí)間較長(zhǎng)。CC2520在不需要收發(fā)數(shù)據(jù)時(shí),通過(guò)微控制器使其CC2520的VERG_ EN=0,實(shí)現(xiàn)LPM2模式芯片進(jìn)入深度休眠。另外根據(jù)實(shí)際環(huán)境因素和通信距,通過(guò)軟件設(shè)置CC2520的TX2POWER寄存器的值,來(lái)調(diào)節(jié)射頻芯片CC2520的輸出功率,綜合功耗和通信距離的折中,以降低節(jié)點(diǎn)功耗。
有研究表明,微處理器的工作頻率和節(jié)點(diǎn)的功耗成正比[15]。MSP430F2618在不同的工作模式切換,時(shí)鐘頻率也進(jìn)行切換,節(jié)點(diǎn)的晶振電路配置了高頻和低頻的晶振。低頻32 kHz和12 kHz晶振,為在節(jié)點(diǎn)低功耗、低速運(yùn)行,以及低速外設(shè)提供時(shí)鐘;高頻6 MHz的晶振和內(nèi)部的數(shù)控振蕩器DCO,為在節(jié)點(diǎn)實(shí)現(xiàn)高性能、快速響應(yīng)的處理能力提供時(shí)鐘。這些時(shí)鐘源可產(chǎn)生ACLK 、SMCLK、MCLK,通過(guò)軟件可調(diào)控頻率。系統(tǒng)可節(jié)點(diǎn)工作模式靈活切換時(shí)鐘:例如在低功耗時(shí)選用12 kHz晶振;在節(jié)點(diǎn)有數(shù)據(jù)處理量大時(shí),選用高頻6 MHz晶體提供MCLK;在節(jié)點(diǎn)數(shù)據(jù)處理量少時(shí),選用用低頻32 kHz晶振。
節(jié)點(diǎn)在滿足上述措施后,在設(shè)計(jì)節(jié)點(diǎn)MAC協(xié)議時(shí),使用能量均衡消耗,同時(shí)盡量減小數(shù)據(jù)碰撞機(jī)率,減少重傳次數(shù),從而降低節(jié)點(diǎn)能耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期。
節(jié)點(diǎn)軟件設(shè)計(jì)是在TI公司免費(fèi)提供的Zstack-2.1.0-1.3.0協(xié)議棧的基礎(chǔ)上,以IAR FOR MSP430為開發(fā)平臺(tái),采用C++編程進(jìn)行軟件設(shè)計(jì)。主要涉及協(xié)調(diào)節(jié)點(diǎn)和端節(jié)點(diǎn)。
在WSN布網(wǎng)中,協(xié)調(diào)節(jié)點(diǎn)作為匯聚節(jié)點(diǎn),數(shù)據(jù)處理量較大,并在網(wǎng)絡(luò)整個(gè)周期中一直工作,一般固定電源供電,軟件設(shè)計(jì)協(xié)調(diào)節(jié)點(diǎn)時(shí),不考慮低功耗措施。圖3為協(xié)調(diào)器工作流程,通電后節(jié)點(diǎn)初始化,接著掃描信道(選擇網(wǎng)絡(luò)標(biāo)和確定低能量的信道),建立一個(gè)網(wǎng)絡(luò),并置于開放狀態(tài),允許外部設(shè)備加入,然后處于等待偵聽(tīng)狀態(tài),如接收到外部設(shè)備申請(qǐng)加入網(wǎng)絡(luò)的信號(hào),立即發(fā)出應(yīng)答信號(hào),接著給該設(shè)備分配一個(gè)網(wǎng)絡(luò)地址(16位); 判斷有無(wú)上行數(shù)據(jù),有則將數(shù)據(jù)通過(guò)串口發(fā)送給上位機(jī),然后繼續(xù)偵聽(tīng)。

圖3 協(xié)調(diào)器工作流程圖
端節(jié)點(diǎn)主要負(fù)責(zé)數(shù)據(jù)采集,在監(jiān)測(cè)區(qū)域布置是隨機(jī)分布的,其驅(qū)動(dòng)電源采用電池,壽命有限。因此,在設(shè)計(jì)端節(jié)點(diǎn)時(shí)盡量降低功耗。圖4為其工作流程,包含主程序流程圖(左邊部分)和中斷服務(wù)程序流程圖(右邊部分)。首先節(jié)點(diǎn)通電,系統(tǒng)初始化,時(shí)鐘MCLK選擇1 MHz,接著掃描信道,發(fā)出申請(qǐng)加入網(wǎng)絡(luò)信號(hào),加入失敗,重新申請(qǐng),直到收到響應(yīng)信號(hào),取得網(wǎng)絡(luò)地址,表明成功進(jìn)入網(wǎng)絡(luò)。隨后,端節(jié)點(diǎn)測(cè)量環(huán)境參數(shù),發(fā)送給協(xié)調(diào)器,發(fā)送完畢切換進(jìn)入LPM3(低功耗模式三),等候系統(tǒng)喚醒進(jìn)入下一輪數(shù)據(jù)采集周期。

圖4 端節(jié)點(diǎn)工作流程圖
測(cè)量方法:測(cè)量一個(gè)工作周期內(nèi)節(jié)點(diǎn)電流情況,包括收發(fā)模式下、低功耗模式下對(duì)應(yīng)電流值,節(jié)點(diǎn)一個(gè)周期內(nèi)功耗等于工作狀態(tài)功耗加睡眠狀態(tài)功耗。測(cè)量周期根據(jù)數(shù)據(jù)采集的需要進(jìn)行設(shè)置,為了測(cè)試方便,設(shè)置測(cè)量周期為10 min,而節(jié)點(diǎn)從系統(tǒng)節(jié)點(diǎn)在處理器LPM3模式與活動(dòng)模式間切換,射頻芯片在深度睡眠LPM2與活動(dòng)模式間切換;具體實(shí)現(xiàn)過(guò)程:
1)通過(guò)MSP430F2618使CC2520的控制端口RESETn=0,VREG_EN=0,CC2520進(jìn)入LPM2模式(深度睡眠);2)選擇ACLK時(shí)鐘,設(shè)置定時(shí)計(jì)數(shù)器周期為300 s;3)通過(guò)設(shè)置狀態(tài)寄存器SR,選擇32 K時(shí)鐘,使MSP430F2618進(jìn)入LPM3模式。
定時(shí)器滿300 s,產(chǎn)生定時(shí)中斷,MSP430F2618微控制器被喚醒,進(jìn)入正常工作模式,其實(shí)現(xiàn)如下:1)MSP430F2618使CC2520的控制端口VREG_ EN=1,使CC2520進(jìn)入活動(dòng)模式;2)端節(jié)點(diǎn)采集數(shù)據(jù)并傳送給協(xié)調(diào)器;3)數(shù)據(jù)傳送完畢,又使CC2520進(jìn)入LPM2模式,再重啟計(jì)時(shí)器,使MSP430F2618進(jìn)入LPM3模式。
通過(guò)這種方法,由定時(shí)器定期喚醒切換,節(jié)點(diǎn)不處理數(shù)據(jù)時(shí)進(jìn)入低功耗模式,處理數(shù)據(jù)時(shí)切換至工作模式,使微處理器和射頻芯片的低功耗特性得到實(shí)現(xiàn),從而極大地降低節(jié)點(diǎn)功耗。
被喚醒到完成數(shù)據(jù)收發(fā)用時(shí)不到1 s,大部分時(shí)間處于睡眠狀態(tài)。
參數(shù)設(shè)置:射頻功率:0 dBm,數(shù)據(jù)傳輸速率:1 Mbps,數(shù)據(jù)包大小:32 Byte。
1)低功耗模式電流測(cè)量:本節(jié)點(diǎn)的低功耗模式是指射頻芯片CC2520處于LPM2模式(掉電),微處理器MPS430F149處于LPM3模式,此時(shí)測(cè)量得到節(jié)點(diǎn)電流為低功耗模式電流(休眠電流):ILPM=1.57 μA。
2)工作模式電流測(cè)量:節(jié)點(diǎn)工作模式是指射頻芯片CC2520處于發(fā)送模式,微處理器MPS430F149處于AM,射頻芯片CC2520處于發(fā)送模式,此時(shí)測(cè)量得到節(jié)點(diǎn)電流即為節(jié)點(diǎn)工作電流:IAM=26.1 mA。

表4 本節(jié)點(diǎn)與Imote節(jié)點(diǎn)、Mica2節(jié)點(diǎn)性能進(jìn)行比較
一般無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),在一個(gè)工作周期內(nèi),其大部分時(shí)間都在休眠狀態(tài),而數(shù)據(jù)的采集、處理和收發(fā)整個(gè)過(guò)程不要1 s。通過(guò)測(cè)量節(jié)點(diǎn)休眠電流ILPM,工作電流IAM,設(shè)置節(jié)點(diǎn)工作周期為10 min,數(shù)據(jù)操作時(shí)間1 s。一個(gè)工作周期10 min節(jié)點(diǎn)的能耗:
如果節(jié)點(diǎn)電池容量為2*700 mAh,則節(jié)點(diǎn)生存周期為:

表3數(shù)據(jù)表明,將設(shè)計(jì)的節(jié)點(diǎn)與目前傳統(tǒng)的Imote節(jié)點(diǎn)、Mica2節(jié)點(diǎn)性能進(jìn)行比較,本文設(shè)計(jì)的節(jié)點(diǎn)功耗明顯低于二者,特別是低功耗狀態(tài)(睡眠模式)的功耗極低,在低功耗模式下的休眠電流達(dá)到微安級(jí)。因此對(duì)于不需要頻繁采集數(shù)據(jù)的場(chǎng)合,本節(jié)點(diǎn)具有更好的優(yōu)越性,提高無(wú)線網(wǎng)絡(luò)生存周期。
為了降低無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)功耗,延長(zhǎng)無(wú)線傳感網(wǎng)絡(luò)生存周期。微處理器芯片和射頻芯片采用獨(dú)立架構(gòu),選擇了低功耗的MSP430F2618處理器和CC2520射頻芯片設(shè)計(jì)了一種低功耗傳感器節(jié)點(diǎn)。實(shí)驗(yàn)證明:在發(fā)射功率為0 dBm時(shí),設(shè)計(jì)的節(jié)點(diǎn)運(yùn)行電流和休眠電流(26.1 mA,1.57 μA)與傳統(tǒng)節(jié)點(diǎn)的Imote節(jié)點(diǎn)(35.1 mA,3.6 μA)、Mica2節(jié)點(diǎn)(56.2 mA,21 μA)比,明顯低于傳統(tǒng)節(jié)點(diǎn),該節(jié)點(diǎn)如電池容量為2*700 mAh,工作周期為10分鐘,其壽命為7.2個(gè)月。其可在惡劣環(huán)境或者狹小空間或者戶外等,需要定期采集數(shù)據(jù)的場(chǎng)合應(yīng)用。