??? 摘 要: 基于低功耗nRF24L01無(wú)線收發(fā)器和MSP430F449單片機(jī),,采用短時(shí)突發(fā)式無(wú)線發(fā)射技術(shù)和低功耗休眠機(jī)制,,設(shè)計(jì)一種超低功耗的傳感器節(jié)點(diǎn)。測(cè)量結(jié)果表明,,在電源電壓為3.3V,、平均數(shù)據(jù)率為1kb/s、發(fā)送功率為0dBmW,、傳輸距離為10m,、誤幀率為0.12%時(shí),本系統(tǒng)平均功耗約42μW,,可以應(yīng)用于光照,、振動(dòng)、熱和氣流等環(huán)境能量供電的無(wú)線傳感器網(wǎng)絡(luò),。
??? 關(guān)鍵詞: 無(wú)線傳感器網(wǎng)絡(luò),;低功耗;nRF24L01,;MSP430F449
?
??? 無(wú)線傳感器網(wǎng)絡(luò)作為信息技術(shù)領(lǐng)域的一項(xiàng)新技術(shù),,在軍事監(jiān)控、地震與氣候預(yù)測(cè),、數(shù)字農(nóng)業(yè),、醫(yī)療監(jiān)控等領(lǐng)域得到廣泛應(yīng)用[1],。其中加州大學(xué)伯克利分校研制的MOTE[2]傳感器節(jié)點(diǎn),如MICA2,、MICAZ,、TELOS等,是無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的典型結(jié)構(gòu),。無(wú)線傳感節(jié)點(diǎn)一般采用電池供電,,對(duì)于節(jié)點(diǎn)數(shù)目龐大的傳感器網(wǎng)絡(luò),電池更換非常困難,,所以降低節(jié)點(diǎn)功耗可以延長(zhǎng)節(jié)點(diǎn)的壽命,。
??? 在保證整個(gè)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)性能的前提下,設(shè)計(jì)一種超低功耗的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),,采用超低功耗短時(shí)突發(fā)式無(wú)線發(fā)射技術(shù),、低功耗休眠機(jī)制等,使節(jié)點(diǎn)功耗最小,,一方面可以延長(zhǎng)電池的使用壽命,,另一方面還可以采用光照、振動(dòng),、熱和氣流等環(huán)境能量供電,。
1 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的體系結(jié)構(gòu)
??? 傳感器網(wǎng)絡(luò)節(jié)點(diǎn),一般由數(shù)據(jù)采集(由傳感器和模數(shù)轉(zhuǎn)換功能模塊組成),、數(shù)據(jù)處理(由嵌入式系統(tǒng)構(gòu)成,,包括處理器、存儲(chǔ)器,、嵌入式操作系統(tǒng)等),、數(shù)據(jù)傳輸(由無(wú)線通信模塊組成)和電源四部分組成。本系統(tǒng)中,,信息處理和控制單元采用內(nèi)置A/D轉(zhuǎn)換器的超低功耗微控制器MSP430F449,;數(shù)據(jù)傳輸模塊采用超低功耗的nRF24L01射頻收發(fā)模塊;數(shù)據(jù)采集模塊采用低功耗數(shù)字式溫濕度傳感器SHT11,,可根據(jù)被監(jiān)測(cè)的物理信號(hào)要求選擇其他類型的低功耗傳感器,。
2 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)低功耗設(shè)計(jì)
2.1 微處理器模塊
??? 基于CMOS工藝的微處理器的功耗基本滿足:
??? P=CV2f????????????????????????????????????????????? (1)
其中,C為系統(tǒng)的負(fù)載電容,,V為電源電壓,,f為系統(tǒng)的工作頻率。系統(tǒng)的負(fù)載電容一般是不變的,,所以在不影響系統(tǒng)工作性能的情況下,選用較低的工作電壓和工作頻率可以有效降低系統(tǒng)的功耗,。
??? 本設(shè)計(jì)選用了TI公司推出的一款16位超低功耗單片機(jī)MSP430F449[3],,其工作電壓范圍為1.8V~3.6V,,并且采用三套獨(dú)立的時(shí)鐘源,包括高速的主時(shí)鐘,、低頻時(shí)鐘(如32.768kHz)以及DCO片內(nèi)時(shí)鐘,,可在滿足功能需要的情況下按一定比例降低MCU主時(shí)鐘頻率,以降低功耗,。
??? 如圖1所示,,MSP430F449具有五種節(jié)能模式:LPM0、LPM1,、LPM2,、LPM3和LPM4,為其功耗管理提供了極好的性能保證[4],。系統(tǒng)復(fù)位時(shí),,MSP430F449先進(jìn)入AM(Active Mode)模式,然后可經(jīng)AM模式轉(zhuǎn)入任何一種低功耗模式,,并通過(guò)中斷方式使CPU退出低功耗模式,,返回AM模式。MSP430F449可以在整個(gè)過(guò)程中長(zhǎng)時(shí)間保持睡眠狀態(tài),,只有產(chǎn)生中斷時(shí)才激活,,中斷響應(yīng)時(shí)間不超過(guò)6μs,可以在突發(fā)模式下快速處理中斷事件,。
?
??? 除MSP430F449本身的功耗外,,所有從電源到地的回路都會(huì)有功率損耗。MSP430F449必需的外圍電路包括復(fù)位電路,、JTAG仿真口,、電源濾波電路以及無(wú)源晶振,其中復(fù)位電路直接與電源連接,,會(huì)有幾微瓦的功耗,。因MSP430F449內(nèi)部采用CMOS電路,I/O口懸空可能產(chǎn)生狀態(tài)翻轉(zhuǎn),,造成功率損耗,,所以最好把閑置的I/O口上拉到電源。
2.2 數(shù)據(jù)傳輸模塊
??? 數(shù)據(jù)傳輸模塊負(fù)責(zé)與其他節(jié)點(diǎn)進(jìn)行無(wú)線通信,,交換控制消息和收發(fā)采集數(shù)據(jù),。無(wú)線通信消耗的能量占了整個(gè)無(wú)線傳感器網(wǎng)絡(luò)能耗的絕大部分,因此對(duì)這一模塊的選取和設(shè)計(jì)事關(guān)低功耗設(shè)計(jì)的全局,。除了考慮功耗因素外,,還應(yīng)兼顧數(shù)據(jù)傳輸模塊的靈敏度、誤幀率以及傳輸距離等綜合性能。
??? 本設(shè)計(jì)選用NORDIC公司近期推出的融合了高速,、低功耗,、低成本的2Mb/s工業(yè)級(jí)嵌入式2.4GHz無(wú)線收發(fā)芯片nRF24L01[5],它具有增強(qiáng)型的ShockBurst功能,,集成了雙向通信所需要的鏈路層,,這通常需要一個(gè)高速的MCU和較大的RAM。
??? nRF24L01有五種工作模式:RX,、TX,、StandbyⅡ、StandbyⅠ,、PowerDown模式,,在3V電壓下五種工作模式的工作電流情況如表1所示。其中PowerDown模式的工作電流最小,,僅900nA,,因此應(yīng)盡量在PowerDown模式下工作,當(dāng)需要傳輸數(shù)據(jù)時(shí)才轉(zhuǎn)入TX或RX模式,。在各種模式間轉(zhuǎn)換過(guò)程也會(huì)產(chǎn)生功耗,,模式間切換的延時(shí)主要由晶振起振的穩(wěn)定時(shí)間決定,選擇起振快,、負(fù)載電容小的晶振可以減小延時(shí),。nRF24L01與MCU進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)間,也是需要考慮的,。數(shù)據(jù)傳輸率低會(huì)使數(shù)據(jù)傳輸模塊功耗升高,,nRF24L0內(nèi)置高速的SPI口(速率高達(dá)8Mb/s),很好地解決了nRF24L01與MCU數(shù)據(jù)傳輸率問(wèn)題,。
?
?? ?nRF24L01的控制流程如圖2所示,。采用低功耗的工作模式完成nRF24L01所必需的工作步驟,去掉不必要的輔助功能,,例如自動(dòng)應(yīng)答和自動(dòng)重發(fā)等,。nRF24L01具有自動(dòng)應(yīng)答和自動(dòng)重發(fā)功能,使數(shù)據(jù)傳輸模塊的功耗大大增加,,采用W_TX_PAYLOAD_NOACK指令使發(fā)送的數(shù)據(jù)包不帶應(yīng)答信息,,去除了自動(dòng)應(yīng)答和自動(dòng)重發(fā)功能。
?
??? nRF24L01采用鞭形PCB天線,,天線的頻率和阻抗必須與射頻芯片匹配,,以獲取最大的傳輸功率,減少無(wú)效的功率損耗,。通常情況下,,天線阻抗與射頻芯片不匹配,,因此在nRF24L01的外圍電路接入了的L1、L2,、L3,、C7和C10等電容和電感,,作為匹配網(wǎng)絡(luò),,并抑制高頻噪聲,如圖3所示,。
?
2.3 傳感器模塊
??? 采用低功耗的數(shù)字式溫濕度傳感器SHT11,,完成傳感器節(jié)點(diǎn)的數(shù)據(jù)采集工作,在測(cè)量和傳輸完成后,,SHT11自動(dòng)轉(zhuǎn)入休眠模式,,等待下次命令的開(kāi)始,這樣可以降低傳感器模塊的功耗,。SHT11是瑞士Sensirion公司推出的一種高度集成的溫濕度傳感器,,將溫濕度傳感器、信號(hào)放大調(diào)理,、A/D轉(zhuǎn)換,、I2C總線接口全部集成在一塊芯片上,具有極高的可靠性與長(zhǎng)期穩(wěn)定性,。片內(nèi)裝載的校準(zhǔn)系數(shù)可保證互換性,;電流極低,休眠時(shí)為3μA,,平均為28μA,。
2.4 軟件設(shè)計(jì)
??? 本設(shè)計(jì)采用低功耗的軟件設(shè)計(jì)方法:優(yōu)化系統(tǒng)時(shí)鐘、優(yōu)化工作時(shí)序和精簡(jiǎn)冗余指令等,,實(shí)現(xiàn)了節(jié)點(diǎn)的低功耗,。優(yōu)化系統(tǒng)時(shí)鐘,采用輔助時(shí)鐘ACLK(32768Hz)作為MCU休眠(LPM3模式)的時(shí)鐘源,,將ACLK倍頻至1MHz作為MCU喚醒后的系統(tǒng)時(shí)鐘,;優(yōu)化工作時(shí)序,nRF24L01的TX/RX模式的功耗遠(yuǎn)大于MSP430F449的AM模式,,基于nRF24L01掉電讀寫(xiě)控制寄存器的功能,,采用nRF24L01先睡眠后喚醒的工作時(shí)序,可以使節(jié)點(diǎn)的功耗進(jìn)一步降低,;精簡(jiǎn)冗余指令,,簡(jiǎn)化中斷服務(wù)程序,中斷服務(wù)程序僅完成MSP430F449退出睡眠的任務(wù),。
??? 傳感器節(jié)點(diǎn)的主程序流程圖如圖4所示,。首先,,初始化MSP430F449的時(shí)鐘、定時(shí)器和SPI口等,,采用定時(shí)中斷方法實(shí)現(xiàn)節(jié)點(diǎn)按一定的周期完成數(shù)據(jù)的采集和發(fā)送,,在休眠狀態(tài)下實(shí)現(xiàn)定時(shí)器定時(shí)Ts=0.2s;在nRF24L01的 PowerDown模式下,,初始化速率,、發(fā)射功率、頻段,、地址和校驗(yàn)等配置,,完成后MCU打開(kāi)全局中斷;MCU通過(guò)SPI口把有效數(shù)據(jù)(設(shè)為16B)寫(xiě)入nRF24L01的TX_FIFO緩存,。MCU的SPI速率由于受到系統(tǒng)時(shí)鐘頻率的限制僅為500kb/s,,裝載數(shù)據(jù)的通信時(shí)延TUL=(16B×8)/500kb/s=0.256ms;PWR_UP=1,,且MCU控制引腳CE置高大于10μs后,,經(jīng)130μs的晶振穩(wěn)定時(shí)間,nRF24L01進(jìn)入TX模式開(kāi)始發(fā)送數(shù)據(jù)幀(幀格式如圖5所示),;控制位TX_DS置位,,引腳IRQ產(chǎn)生中斷信號(hào),完成一次數(shù)據(jù)發(fā)送,,此時(shí)應(yīng)立即使nRF24L01進(jìn)入PowerDown,,以節(jié)省能量。
?
?
??? 傳感器節(jié)點(diǎn)工作時(shí)序如圖6所示,。其中TAIFG為定時(shí)中斷寄存器,,Ts為定時(shí)時(shí)間,TUL為nRF24L01裝載數(shù)據(jù)的時(shí)間,,TOA為數(shù)據(jù)幀在空中的傳輸時(shí)間,,TIRQ為nRF24L01的中斷響應(yīng)時(shí)間。
?
3 性能測(cè)試
3.1 節(jié)點(diǎn)功耗測(cè)試
?? ?節(jié)點(diǎn)的總功耗可根據(jù)總電流乘以電源電壓計(jì)算,,總電流又可通過(guò)串入采樣電阻實(shí)現(xiàn)電流/電壓轉(zhuǎn)換來(lái)測(cè)量,。電阻大小的選取原則為:引入的壓降可忽略,產(chǎn)生的電壓易于測(cè)量,。本設(shè)計(jì)中采樣電阻取精度為1‰,、阻值為1Ω的電阻。
??? 節(jié)點(diǎn)工作電壓為3.3V,、工作周期為0.2s,、數(shù)據(jù)幀長(zhǎng)度為25B、發(fā)送速率為2Mb/s,、發(fā)射功率為0dBm的情況下,,采用泰克公司的TDS1012B數(shù)字存儲(chǔ)示波器測(cè)得的采樣電阻的電壓波形如圖7所示,,此時(shí)節(jié)點(diǎn)的平均數(shù)據(jù)率為1kb/s。
??? 圖7(a)為傳感器節(jié)點(diǎn)連續(xù)工作的脈沖波形,,脈沖的幅值約為12mV(即工作電流為12mA),,與手冊(cè)上公布的節(jié)點(diǎn)工作在TX模式下的電流11.3mA基本吻合。
??? 圖7(b)為單個(gè)脈沖放大的電壓波形,。第一階段,,節(jié)點(diǎn)被喚醒,MCU晶振開(kāi)始起振到完成數(shù)據(jù)幀組裝約300μs,,工作電流約為1mA,;第二階段節(jié)點(diǎn)進(jìn)入TX模式準(zhǔn)備發(fā)送約130μs,為射頻晶振的穩(wěn)定時(shí)間,,這個(gè)階段的平均工作電流約為8mA;第三階段,,節(jié)點(diǎn)發(fā)送數(shù)據(jù)約100μs,,此時(shí),工作電流約為12mA,;最后節(jié)點(diǎn)進(jìn)入睡眠,。
?
??? 由圖7所測(cè)試的實(shí)際波形,可以計(jì)算得出節(jié)點(diǎn)的平均功耗約為:
???
3.2 誤幀率測(cè)試
??? 誤幀率是衡量通信線路指標(biāo)的常用參數(shù),,是表征接收質(zhì)量的重要參數(shù),。誤幀率的測(cè)試是將發(fā)射機(jī)的數(shù)據(jù)源不斷地發(fā)送到接收端,接收端同步接收該數(shù)據(jù)流后再檢查收到的數(shù)據(jù)流中是否有傳錯(cuò)的數(shù)據(jù),。測(cè)試誤幀率的方法:發(fā)送端每200ms發(fā)出一個(gè)數(shù)據(jù)包(約25B),,接收端用一個(gè)“誤幀計(jì)數(shù)器”來(lái)統(tǒng)計(jì)發(fā)錯(cuò)或丟失的數(shù)據(jù)幀數(shù)目。
??? 在室內(nèi)環(huán)境中,,當(dāng)發(fā)送速率為2Mb/s,、輸出功率為0dB、數(shù)據(jù)幀長(zhǎng)度為25B時(shí),,本設(shè)計(jì)節(jié)點(diǎn)誤幀率測(cè)試結(jié)果如表2所示,。
?
??? 本系統(tǒng)的綜合性能如表3所示。采用低功耗電路設(shè)計(jì)方法,、低功耗器件選取方法和低功耗休眠機(jī)制,,實(shí)現(xiàn)了傳感器節(jié)點(diǎn)的低功耗設(shè)計(jì)。對(duì)于使用電池供電無(wú)線傳感器網(wǎng)絡(luò),,可以延長(zhǎng)其使用壽命,;對(duì)于光照、振動(dòng),、熱和氣流等環(huán)境能量供電的無(wú)線傳感器網(wǎng)絡(luò),,實(shí)現(xiàn)其自供電也具有重要意義[5],。
?
參考文獻(xiàn)
[1] AKYILDIZ I F,SU W,,CAYIRCI E.Wireless Sensor Networks:A Survey[J].Computer Networks,,2002,38(3):393-422.
[2] BERKELEY,,POLASTRE J,,SZEWCZYK R,et al.The mote revolution low power wireless sensor network[f].http://webs.cs.berkeley.edu/papers.2004.
[3] Texas Instruments.MSP430x43x,,MSP430x44x Mixed signal microcontroller[f].www.ti.com,,2002/2003.
[4] SEMICONDUCTOR N.Single chip 2.4GHz Transceiver?nRF24L01[f].www.nordicsemi.no,2007,,7
[5] PARADISO J A,,STARNER T.Energy Scavenging for?Mobile and Wireless Electronics[J].IEEE Pervasive Computing,2005:19-26.