摘? 要:在簡要介紹無線傳感器網絡及其節點體系結構的基礎上,設計了以TI公司16位超低功耗" title="超低功耗">超低功耗單片機MSP430F1611為核心的無線傳感器網絡節點" title="無線傳感器網絡節點">無線傳感器網絡節點,詳細介紹了節點系統的硬件實現,并通過實際組網測試驗證了設計方案的可行性。
關鍵詞:無線傳感器網絡? MSP430F1611? 節點? TR3000
?
無線傳感器網絡綜合了傳感器技術、遙測技術、嵌入式計算技術、分布式信息處理技術和無線通信技術等。它是一種特殊的無線自組織網絡,由成千上萬的具有感知和路由功能的無線傳感器節點組成,能夠協作地實時監測、感知和采集各種環境對象的信息,將其通過多跳轉發傳送回主機進行分析、處理。無線傳感器網絡作為一種全新的信息獲取和處理技術,將在國防軍事、反恐抗災、環境監測、交通管理、工程安全和醫療衛生等領域得到廣泛的應用[1]。
本文在簡要介紹無線傳感器網絡節點體系結構的基礎上,從實際應用考慮,設計了一種基于MSP430F1611的無線傳感器網絡節點,詳細介紹了節點的硬件設計方案。
1無線傳感器網絡節點的體系結構
無線傳感器網絡節點是網絡的基本單元,節點的穩定運行是整個網絡可靠性的重要保障。在不同應用中,傳感器網絡節點的組成不盡相同,但都由數據采集模塊(傳感器、A/D" title="A/D">A/D轉換器)、數據處理模塊(微處理器、存儲器)、數據傳輸模塊(無線收發器)和電源模塊(電池、DC/DC能量轉換器)四部分組成[2]。被監測物理信號的形式決定傳感器的類型,處理器通常選用嵌入式CPU,數據傳輸模塊主要由低功耗短距離的射頻收發器組成。因為需要進行復雜的任務調度與管理,需要一個微型化的操作系統,UCBerkely為此專門開發了TinyOS操作系統。傳感器網絡節點的組成如圖1所示。
2 無線傳感器網絡節點的硬件設計
為了實現對溫度、濕度、光等多種物理信息的精確采集,并將采集信息進行采樣、數模轉換,以及根據應用需求進行相應的處理,把處理后的信息通過多跳轉發傳送回PC機進行處理;同時為了滿足節點壽命和工作性能的要求,綜合考慮能耗、傳輸距離、數據速率、安全性和通用性等因素,本文所設計的無線傳感器網絡節點硬件平臺選用如下設計方案。
數據采集模塊選用了Sensirion公司的數字溫濕度傳感器SHT71以及光傳感器S1087和S1087-01;數據處理模塊選用了TI公司的16位超低功耗單片機MSP430F1611;無線通信模塊" title="通信模塊">通信模塊選用了RFM公司低功耗、短距離的433.92MHz單頻點RF收發芯片TR3000;電源模塊采用CR2032紐扣電池為整個節點供電。傳感器網絡節點硬件平臺如圖2所示。
?
2.1 數據采集模塊
節點的數據采集部分可以根據實際需要和被監測信號的物理特征選擇合適的傳感器,如:溫度、濕度、光強、壓力、振動等,本節點的設計可以對外界溫度、濕度、可見光、紅外光信號進行精確采集。
2.1.1 溫濕度數據的采集
本節點的設計采用了Sensirion公司的數字溫濕度傳感器SHT71[3]。它是一款將溫/濕度傳感器、信號放大調理器、A/D轉換器和總線接口全部集成于一個芯片上的單片全校準數字輸出傳感器,可以直接提供溫度在-40°C~120°C范圍內且分辨率為14bit以及濕度在0~100%RH范圍內且分辨率為12bit的數字輸出。
SHT71采用串行時鐘輸入線SCK與單片機保持通信同步,串行數據線DATA收發通信協議命令和數據。其控制流程如下:程序開始用一組“啟動傳輸”時序表示數據傳輸的初始化(當SCK時鐘為高電平時,DATA翻轉為低電平,緊接著SCK變為低電平,隨后在SCK時鐘高電平時DATA翻轉為高電平);然后發送一組測量命令(‘00000011’表示溫度,‘00000101’表示相對濕度)后釋放DATA線,等待SHT71下拉DATA值低電平,表示測量結束,同時輸出采集數據到MSP430F1611,讀取測量數據后可以通過下式計算出相對濕度和溫度值。
?
2.1.2 可見光與紅外光數據的采集
本節點的設計除了能夠對外界環境中的溫濕度數據進行精確采集外,還可以通過光傳感器S1087和S1087-01[4]來采集可見光數據和紅外光數據。該光傳感器是一種陶瓷包裝的光電測量計,它的測量輸出為標準電流信號,陶瓷封裝可用于光密封,因此背光和側光不能到達測量活動區,從而可以得到可靠的可見光和紅外光范圍的光信號測量。
從傳感器輸出的是標準電流信號,由于A/D轉換基準為電壓,所以ADC12轉換的是電壓。因此采集電路通過100k?贅負載電阻將傳感器輸出的電流信號轉換為電壓信號后送入MSP430F1611的片內ADC12模塊進行轉換,ADC12轉換輸出的最大值為4 095。在進行光強值計算時,通過讀取處理器轉換存儲寄存器值可以得到轉換結果,由(1)式計算出電壓Vin,進而得到電流值。再根據S1087/S1087-01的輸出特性曲線得到光強值。圖3給出了實際光信號與傳感器輸出電流信號的關系曲線。
其中: VR+ 為參考電源正端,VR–為參考電源負端,Vin為ADC12轉換得到的電壓值,NADC為處理器轉換存儲寄存器值。
模擬量采集部分具有一定的通用性,只要連接不同類型的傳感器就可以采集不同信號源的數據。
2.2 數據處理模塊
數據處理模塊是傳感器網絡節點的核心部分,一方面接收來自傳感器的測量數據,按要求對數據進行處理和計算等,交給通信模塊發送;另一方面讀取通信模塊送入的數據信息,對硬件平臺其它模塊的操作進行控制。
本節點選用TI公司的16位超低功耗單片機MSP430F1611[5]。該單片機電源采用1.8V~3.6V的低電壓,RAM數據保持方式下耗電僅為0.1μA,可以在低電壓下以超低功耗狀態工作。其中48KB Flash存儲器可以支持在線編程和仿真,并具有較強的處理能力和豐富的片內外設,具體如下:
看門狗可以在程序失控時迅速復位; 16位定時器(Timer_A和Timer_B)具有捕獲/比較功能;大量的捕獲/比較寄存器可以用于事件計數、時序發生等;多功能串口" title="串口">串口(USART)可以實現異步、同步和I2C串行通信,可以方便地實現多機通信的應用;具有較多的I/O端口,最多達6×8條I/O口線, P1、P2端口還可以接收外部上升沿或下降沿的中斷輸入;12位A/D轉換器有較高的轉換速率,最高可達200kbps,能夠滿足大多數數據采集的應用。
單片機的接口電路非常簡單,通過片內的A/D通道實現模擬量的采集。通過片內的A/D轉換部分不僅可以降低系統設計的復雜性,而且還可以提高系統的可靠性,避免接口的復雜性,同時還可以減小PCB板的面積;設計中采用一般I/O口實現數字量的采集電路接口;其中串口通信通過單片機內的UART實現;在單片機的時鐘設計上,考慮到通信速率的要求,MSP430F1611單片機采用一個4MHz的時鐘信號,該系統的時鐘部分均采用晶體振蕩器實現;考慮到電源的輸入紋波對單片機的影響,在電源的管腳增加一個0.1?滋F的電容來實現濾波,以減小輸入端受到的干擾。
在網絡中,節點需要處理的信息和數據大致可分為四類:管理控制信息、網內組網交互信息、需轉發的數據和采集的數據。它們在節點中的處理流程如圖4所示。
2.3 無線通信模塊
基于無線傳感器網絡所要求的數據傳輸速率不高及傳輸距離相對節點能耗控制要求嚴格的特點,綜合研究比較了幾類無線收發芯片,選用RFM公司的TR3000[7]來完成通信模塊的設計。它是RFM公司推出的一款433.92MHz單頻點無線RF收發器,TR3000工作穩定,尺寸小,功耗低,在采用ASK調制方式時最高通信速率可達115.2kbps。在通信速率較低的情況下,通信距離可達100米,是短距離無線數據傳輸的理想選擇。
TR3000可以很容易地與MSP430超低功耗微處理器相連接并通過軟件對TR3000進行控制,使其處于不同的工作模式。控制管腳CNTRL0和CNTRL1的狀態與工作模式的對應關系為:00—休眠模式;01—OOK發送模式;10—ASK發送模式;11—接收模式。TR3000電路原理圖如圖5所示。
?
2.4 串口通信模塊
該節點的串口通信模塊主要負責PC機與傳感器網絡節點之間的通信。在網絡中只有網關節點(Sink節點)中含有串口通信模塊。Sink節點是網絡中所特有的,主要向下級節點發送查詢命令,同時散布在外界環境中的網絡節點將采集到的信息通過多跳轉發送回Sink節點并通過串口送至PC機進行處理。
MSP430F1611具有片內UART,因此實現串口通信相當容易。由于單片機與上位機進行通信的接口電平不同,因此需要進行接口電平轉換,串口通信電路的設計采用MAX3221實現單片機的TTL電平與PC機的RS232接口電平的轉換。
2.5 電源模塊
在節點的設計中采用CR2032紐扣電池為整個節點供電,CR2032在大于2.8V的條件下能提供大約200mAh的能量。
為了及時了解節點的能量存儲和消耗狀況,并根據節點能量狀態來調整節點的通信策略[6],本文將來自電源正極的電平值輸入到MSP430F1611的ADC12 模塊內,與參考電平進行比較,通過讀取處理器轉換存儲寄存器值可以得到轉換結果,同樣由公式(1)可以計算出電壓Vin,從而掌握電源電壓的變化情況。
3 節能策略的設計
在整個硬件平臺的設計中,節能一直是本文考慮的一個重要因素,它決定著傳感器網絡的壽命。節點節能的最主要方式是休眠機制。當節點目前沒有傳感任務并且不需要為其他節點轉發數據時關閉節點的無線通信模塊、數據采集模塊等以節省能量。這樣,一個傳感任務發生時,只有與之相鄰的區域內的傳感器節點處于活動狀態,才能形成一個活動區域。活動區域隨著數據向Sink節點傳送而移動,這樣原先活動的節點在離開活動區域后可以轉入休眠模式從而節省能量。另外,由于處理器系統中有一種活動模式和五種低功耗模式,所以通過指令控制處理器時鐘的打開與關閉(即采用不同的工作模式),實現對總體功耗的控制來達到節能的目的。
在采用各種節能策略之后,整個硬件平臺的整體能耗如表1所示。
本文主要介紹了以MSP430F1611單片機為核心,實現對外界環境中溫度、濕度及光信號進行精確采集的無線傳感器網絡節點的硬件設計方案。在實際的組網測試中,筆者將其應用于黃河地區生態環境監測,構建了15個節點和1個Sink節點的小型網絡,一般情況下節點處于休眠狀態,當有中斷請求時激活節點工作,采用中斷方式接收和發送數據,將采集到的數據傳輸給主機。實驗表明,采用這種方式建立的無線傳感(接上頁)
器網絡具有穩定可靠的性能,能以極低的電能消耗進行工作,使功耗達到最低,從而滿足設計要求。
參考文獻
[1] ?孫利民,李建中,陳 渝.無線傳感器網絡[M].北京:清華大學出版社,2005,05:293-305.
[2]? 任豐源,黃海寧,林 闖.無線傳感器網絡.軟件學報,2003,14(J):1282-1291.
[3] ?沈建華,楊艷琴,翟曉曙.MSP430系列16位超低功耗單片機原理與應用[M].北京:清華大學出版社,2004.
[4]? SHT1x/SHT7x Humidity & Temperature Sensor Datasheet(V2.1) [f] 2003.03? http://www.sensirion.com .
[5] ?Si photodiode S1087/S1087-01 Datasheet [f] 2001.04??http://www.hamamatsu.com.
[6] ?霍宏偉,張宏科,郜 帥.一種IPv6無線傳感器網絡節點的設計與實現 [J]. 計算機應用,2006,02:303-306.
[7]? ASH Transceiver Designer’s Guide [f]. 2004.05?http://www.rfm.com.