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