顧倩,余敏
(河海大學 計算機與信息學院,江蘇 南京 211100)
由于受到成本以及體積等原因的限制,無線傳感器節點的處理能力、通信帶寬以及電池容量等資源更為有限。尤其是在多數應用中,傳感器節點的能量無法得到補充(如被部署在敵后或者環境惡劣的地區)。
為有效利用能源,延長網絡的工作壽命,本文著重研究了可喚醒無線傳感器網絡雨量傳感器節點設計,運用該無線傳感節點可建立基于無線傳感網絡的低功耗、可喚醒的雨量監測系統,這對于今后建立大規模基于無線傳感網絡的氣象自動站系統有著重要的參考意義。
根據無線傳感器網絡的應用需求以及功能要求,無線節點包括如下幾個基本單元:處理器單元、存儲器單元、射頻單元、擴展接口單元、傳感器以及電源[1-2]。可喚醒的無線傳感器網絡雨量傳感器節點的設計中需要滿足小型化、可喚醒、低功耗的特點,因此,對于硬件的結構設計應該趨于簡單實用。根據該節點的設計要求及目的,硬件結構設計中主要分為以下幾部分:電源、雨量傳感器、微處理器、無線收發模塊(天線)、可喚醒模塊以及程序下載口。各硬件模塊以微處理器為中心,微處理器可被可喚醒模塊從低功耗模式下喚醒,并通過程序控制各個硬件模塊的工作狀態,完成相應功能,程序由程序下載口下載,無線收發模塊完成與其他節點之間的無線通信,雨量傳感器則為環境雨量采集提供精確測量值,電源為各模塊供電,節點的硬件體系結構框架如圖1所示。

圖1 節點的硬件體系結構框架Fig.1 The hardware structure of the node
雨量節點硬件主要包含以下幾個部分:微控制器、無線收發模塊、可喚醒模塊和雨量傳感器,各模塊通過電源模塊供電。這些模塊中,微處理器MSP430F149是核心,程序通過下載接口下入單片機中,其它模塊都是直接或間接的與微處理器相連接。
在硬件方面,芯片及器件的選擇都是根據低功耗的原則選定,選用極低功耗的微控制器芯片MSP430F149作為主控制芯片;無線收發模塊采用功耗較低的AT86RF212,并選用780 MHz的無線頻段作為節點通信的主要頻率。
2.1.1 處理器模塊
MSP430系列微處理器功耗低、內存適中。因此,本節點設計中采用MSP430作為微處理器。MSP430F149單片機的基本外圍電路主要由單片機電路、復位電路和JTAG接口電路三部分組成[3]。復位電路的基本功能是在系統上電時提供復位信號,待系統電源穩定后撤銷復位信號。為了可靠起見,電源穩定后還要經一定的延時才撤銷信號,以防電源開關或電源插頭分合過程中引起的抖動。
在單片機電路中,由電容、晶振構成時鐘電路,零歐電阻組成的隔離電路,由二極管、電阻、電容構成低電平有效的復位電路,另外增加一個復位開關,方便在調試的時候手動復位。MSP430F149芯片的程序下載方式主要包括并行口下載和JTAG口下載兩種方式,JTAG口下載方式由于其強大的仿真功能被廣泛使用。在本設計采用JTAG口下載方式進行下載。
2.1.2 無線通信模塊
無線射頻芯片是無線傳感器網絡中數據無線發送和接收的關鍵器件。無線射頻芯片的數據傳輸速率、功耗、接收靈敏度、所需外圍器件和調制方式等對系統誤碼率、電流消耗和傳輸距離等都有著重要的影響。
AT86RF212是一款專為低成本的IEEE802.15.4標準ZigBeeTM技術、6LoWPAN技術與高數據傳輸速率的ISM應用而設計的低功耗、低電壓700/800/900 MHz頻段收發器。它具有高達-110 dBm的接收靈敏度,以及高輸出功率,能夠提供業界領先的鏈路預算。AT86RF212射頻芯片的供電電壓范圍為1.8~3.6 V,具有業界最低的功耗,睡眠(SLEEP)狀態下的電流消耗可低至0.2μA,時鐘(TRX_OFF)狀態下電流消耗為0.4 mA,而且工作狀態下的功耗在RX收聽(RX_ON)狀態時為9 mA,在發送(BUSY_TX)狀態時為18 mA(在5 dBm發送功率時)[4],AES-128位硬件加速器則可提供安全性支援。
AT86RF212射頻芯片與微處理器MSP430F149的接口連接電路如圖2所示。

圖2 AT86RF212射頻芯片與微處理器MSP430F149的接口電路Fig.2 The interface circuit of the RF chip of AT86RF212 and the microprocessor of MSP430F149
2.1.3 可喚醒模塊
雨量傳感器節點有兩種工作狀態:正常工作模式和休眠模式。當匯聚節點需要傳感器節點向其提供雨量數據時,傳感器節點的內部電路被喚醒,節點處于正常工作模式,當匯聚節點不需要采集數據時,傳感器節點處于休眠模式,此時不需要其工作以節省電能。采用125 kHz的低頻信號,同時選用Atmel公司生產的超低壓喚醒接收芯片ATA5282。
ATA5282是一款超低功耗具有序列頭(Prealnle)偵測功能的喚醒IC。工作電壓范圍為2~3.6 V。它在接收數據前處于待機偵聽模式(StandbyListenMode),功耗僅為 lμA。 通常與ATA5275配套使用,接收到ATA5275發送的一個完整正確的序列頭后ATA5282會在N-WAKEUP腳給出一個低電平去喚醒后端的MCU。ATA5282在待機狀態下所需的電流僅為0.5μA,正常工作狀態下電流為2μA,對電池消耗極小[5]。雨量傳感器節點的可喚醒電路示意圖如圖3所示。

圖3 雨量傳感器節點的可喚醒電路示意圖Fig.3 The schematic diagram of the rainfall sensor nodes can awaken circuit
2.1.4 雨量傳感器模塊
SL3型翻斗雨量傳感器是有上海氣象儀器廠生產的廣泛應用在軍方以及民用觀測設備中,其分辨率為0.1 mm,符合系統的測量要求[6]。SL3-1型雨量傳感器是雙翻斗式的雨量傳感器,傳感器中有兩個翻斗分別為計量翻斗與計數翻斗,計數翻斗對降水以0.1 mm的分辨率進行計量,即每收集0.1 mm的降水時計量翻斗就翻轉一次,并且將這0.1 mm的降水在翻轉時倒入計數翻斗。計數翻斗對其進行計數,每進入0.1 mm的降水量翻轉一次,產生一個機械接點閉合信號。
2.1.5 電源接口電路
電源可以選擇蓄電池、充電鋰電池或外部電源。對于無線雨量節點,要求小巧便捷,造價低廉。蓄電池較笨重;充電鋰電池雖然體積小重量輕,但是價格較昂貴;外部電源雖然需要電源線進行供電,但是由于雨量節點不需要經常性移動,因此,采用外部電源對該雨量節點供應3 V電壓,以供其他節點中的芯片使用。
為了使得其更具穩定性,并且具有一定擴展性,軟件的設計采用模塊設計,雨量傳感器模塊,無線通信模塊、可喚醒模塊和系統主程序模塊。通過4個模塊之間的聯系和結合實現與匯聚節點SINK節點之間的數據無線傳輸。
2.2.1 雨量傳感器模塊
本設計采用的雨量傳感器為SL3型翻斗雨量傳感器,計數翻斗每翻轉一次會產生一個下降沿信號,單片機每捕獲到一個下降沿中斷信號就使計數值加一,每次計數為0.1 mm的雨量,這些操作都是基于單片機的外部中斷機制。
利用MSP430F149單片機進行雨量采集,可以使單片機處于低功耗狀態,降低功耗。當有中斷發生時,單片機會自行從低功耗模式下退出,執行中斷程序,程序執行完成后又將進入低功耗模式,符合設計的低功耗要求。中斷子程序流程圖如圖4所示。

圖4 中斷子程序流程圖Fig.4 The flow chart of the interrupt subroutine
2.2.2 無線通信模塊
無線通信模塊是無線傳感器節點以及匯聚節點之間進行無線通信的關鍵模塊。無線傳感器節點一般由電池供電,能量有限,所以為了節省能量,必須讓射頻芯片更多地處于睡眠狀態,需要時才由微處理器通過SPI接口發送命令進行狀態切換。狀態的切換要么是在微處理器發現有數據發送要求后切換,要么是在中斷結束后切換。
軟件編程實現時,微處理器可通過SPI接口向AT86RF 212射頻芯片中的寄存器 TRX_CMD位 (寄存器 0x02,TRX_STATE)寫入命令,或直接由引腳 11(SLP_TR)和引腳8(/RST)控制射頻芯片的狀態轉換。可通過AT86RF212射頻芯片中的寄存器0x01(TRX_STATUS)讀取射頻芯片狀態,以檢測狀態轉換是否成功。
2.2.3 可喚醒模塊
可喚醒的無線傳感器網絡雨量傳感器節點在沒有接收到低頻信號時,處于睡眠狀態,當ATA5282接收到正確的低頻數據報文時,便喚醒MCU,同時對接收到的數據進行Manchester解碼,對解碼的數據進行CRC校驗,并返回校驗結果。
2.2.4 系統主程序模塊
無線傳感器節點工作時,系統頻率在8 MHz的高速時鐘和32.768 kHz的低速時鐘之間頻繁地切換。根據上文關于低功耗策略的討論,對系統的時鐘頻率率進行優化就可以降低整個系統的功耗。因此只有當無線傳感器雨量節點產生中斷,匯聚節點喚醒傳感器節點,以及無線通信的時候,系統的時鐘頻率才為8 MHz,其他時候均進入LPM3低功耗模式,此時系統的時鐘頻率為32.768 kHz。
本文通過介紹無線傳感器網絡的發展歷程,無線傳感器節點的設計要求,通過硬件設計和軟件設計,采用MSP430F149作為控制芯片,翻斗式雨量傳感器作為雨量傳感器,AT86RF212作為無線收發模塊,通過對其軟件的編寫實現與匯聚節點之間的通信,并最終達到可喚醒的無線傳感器網絡雨量傳感器節點的低功耗、可喚醒、遠距離以及低丟包率的設計目標。本雨量節點可以應用到相應頻率段的無線傳感器網絡中。
[1]孫利民,李建中.無線傳感器網絡[M].北京:清華大學出版社,2005.
[2]王殊,閻毓杰.無線傳感器網絡的理論及應用[M].北京航空航天大學出版社,2007.
[3]胡大可.MSP430系列超低功耗16位單片機原理與應用[M].北京:北京航空航天大學出版社,2000.
[4]張晶晶,王建明.基于AT86RF212芯片的無線傳感器網絡節點的設計[J].電子測量技術,2010,33(7):125-128.ZHANGJing-jing,WANGJian-ming.Design of wireless sensor networks nodes based on AT86RF212[J].Electronic Measurement Technology,2010,33(7):125-128.
[5]葉海浪.集裝箱監測系統的有源RFID電子標簽與讀寫器的研究[D].長沙:中南大學,2008.
[6]朱樂坤.SL3型翻斗雨量傳感器的維護與調校方法 [J].氣象科技,2004,32(4):300-301.ZHU Le-kun.Methods of maintaining and adjusting SL3 tipping-bucket rainfall sensors[J].Meteorological Science and Technology,2004,32(4):300-301.