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