基于MSP430F1611的無線傳感器網絡節(jié)點的設計
本文在簡要介紹無線傳感器網絡節(jié)點體系結構的基礎上,從實際應用考慮,設計了一種基于MSP430F1611的無線傳感器網絡節(jié)點,詳細介紹了節(jié)點的硬件設計方案。
1 無線傳感器網絡節(jié)點的體系結構
無線傳感器網絡節(jié)點是網絡的基本單元,節(jié)點的穩(wěn)定運行是整個網絡可靠性的重要保障。在不同應用中,傳感器網絡節(jié)點的組成不盡相同,但都由數據采集模塊(傳感器、A/D轉換器)、數據處理模塊(微處理器、存儲器)、數據傳輸模塊(無線收發(fā)器)和電源模塊(電池、DC/DC能量轉換器)四部分組成[2]。被監(jiān)測物理信號的形式決定傳感器的類型,處理器通常選用嵌入式CPU,數據傳輸模塊主要由低功耗短距離的射頻收發(fā)器組成。因為需要進行復雜的任務調度與管理,需要一個微型化的操作系統(tǒng),UCBerkely為此專門開發(fā)了TinyOS操作系統(tǒng)。傳感器網絡節(jié)點的組成如圖1所示。
2 無線傳感器網絡節(jié)點的硬件設計
為了實現對溫度、濕度、光等多種物理信息的精確采集,并將采集信息進行采樣、數模轉換,以及根據應用需求進行相應的處理,把處理后的信息通過多跳轉發(fā)傳送回PC機進行處理;同時為了滿足節(jié)點壽命和工作性能的要求,綜合考慮能耗、傳輸距離、數據速率、安全性和通用性等因素,本文所設計的無線傳感器網絡節(jié)點硬件平臺選用如下設計方案。
數據采集模塊選用了Sensirion公司的數字溫濕度傳感器SHT71以及光傳感器S1087和S1087-01;數據處理模塊選用了TI公司的16位超低功耗單片機MSP430F1611;無線通信模塊選用了RFM公司低功耗、短距離的433.92MHz單頻點RF收發(fā)芯片TR3000;電源模塊采用CR2032紐扣電池為整個節(jié)點供電。傳感器網絡節(jié)點硬件平臺如圖2所示。
2.1 數據采集模塊
節(jié)點的數據采集部分可以根據實際需要和被監(jiān)測信號的物理特征選擇合適的傳感器,如:溫度、濕度、光強、壓力、振動等,本節(jié)點的設計可以對外界溫度、濕度、可見光、紅外光信號進行精確采集。
2.1.1溫濕度數據的采集
本節(jié)點的設計采用了Sensirion公司的數字溫濕度傳感器SHT71[3]。它是一款將溫/濕度傳感器、信號放大調理器、A/D轉換器和總線接口全部集成于一個芯片上的單片全校準數字輸出傳感器,可以直接提供溫度在-40℃~120℃范圍內且分辨率為14bit以及濕度在O~100%RH范圍內且分辨率為12bit的數字輸出。
SHT71采用串行時鐘輸入線SCK與單片機保持通信同步,串行數據線DATA收發(fā)通信協(xié)議命令和數據。其控制流程如下:程序開始用一組"啟動傳輸"時序表示數據傳輸的初始化(當SCK時鐘為高電平時,DATA翻轉為低電平,緊接著SCK變?yōu)榈碗娖?,隨后在SCK時鐘高電平時DATA翻轉為高電平);然后發(fā)送一組測量命令('00000011'表示溫度,'00000101'表示相對濕度)后釋放DATA線,等待SHT71下拉DATA值低電平,表示測量結束,同時輸出采集數據到MSP430F16ll,讀取測量數據后可以通過下式計算出相對濕度和溫度值。
溫度計算公式為:溫度=d1+d2XSOT
相對溫度值如下:
相對濕度計算公式為:Rlinear=c1+c2xSORH+c3xS0RH2
相對濕度值如下:
2.1.2 可見光與紅外光數據的采集
本節(jié)點的設計除了能夠對外界環(huán)境中的溫濕度數據進行精確采集外,還可以通過光傳感器S1087和S1087-0l[4]來采集可見光數據和紅外光數據。該光傳感器是一種陶瓷包裝的光電測量計,它的測量輸出為標準電流信號,陶瓷封裝可用于光密封,因此背光和側光不能到達測量活動區(qū),從而可以得到可靠的可見光和紅外光范圍的光信號測量。
從傳感器輸出的是標準電流信號,由于A/D轉換基準為電壓,所以ADCl2轉換的是電壓。因此采集電路通過100kΩ負載電阻將傳感器輸出的電流信號轉換為電壓信號后送入MSP430F1611的片內ADCl2模塊進行轉換,ADCl2轉換輸出的最大值為4095。
在進行光強值計算時,通過讀取處理器轉換存儲寄存器值可以得到轉換結果,由(1)式計算出電壓Vin,進而得到電流值。再根據S1087/S1087-01的輸出特性曲線得到光強值。圖3給出了實際光信號與傳感器輸出電流信號的關系曲線。
其中:VR+為參考電源正端,VR-為參考電源負端,Vin為ADCl2轉換得到的電壓值,NADC為處理器轉換存儲寄存器值。
模擬量采集部分具有一定的通用性,只要連接不同類型的傳感器就可以采集不同信號源的數據。
2.2 數據處理模塊
數據處理模塊是傳感器網絡節(jié)點的核心部分,一方面接收來自傳感器的測量數據,按要求對數據進行處理和計算等,交給通信模塊發(fā)送;另一方面讀取通信模塊送入的數據信息,對硬件平臺其它模塊的操作進行控制。
本節(jié)點選用TI公司的16位超低功耗單片機MSP430F161l[5]。該單片機電源采用1.8V~3.6V的低電壓,RAM數據保持方式下耗電僅為0.1μA,可以在低電壓下以超低功耗狀態(tài)工作。其中48KB Flash存儲器可以支持在線編程和仿真,并具有較強的處理能力和豐富的片內外設,具體如下:
看門狗可以在程序失控時迅速復位;16位定時器(Timer_A和Timer_B)具有捕獲/比較功能;大量的捕獲/比較寄存器可以用于事件計數、時序發(fā)生等;多功能串口(USART)可以實現異步、同步和I2C串行通信,可以方便地實現多機通信的應用;具有較多的I/O端口,最多達6x8條I/O口線,Pl、P2端口還可以接收外部上升沿或下降沿的中斷輸入;12位A/D轉換器有較高的轉換速率,最高可達200kbps,能夠滿足大多數數據采集的應用。
單片機的接口電路非常簡單,通過片內的A/D通道實現模擬量的采集。通過片內的A/D轉換部分不僅可以降低系統(tǒng)設計的復雜性,而且還可以提高系統(tǒng)的可靠性,避免接口的復雜性,同時還可以減小PCB板的面積;設計中采用一般I/O口實現數字量的采集電路接口;其中串口通信通過單片機內的UART。
實現;在單片機的時鐘設計上,考慮到通信速率的要求,MSP430F1611單片機采用一個4MHz的時鐘信號,該系統(tǒng)的時鐘部分均采用晶體振蕩器實現;考慮到電源的輸入紋波對單片機的影響,在電源的管腳增加一個O.1μF的電容來實現濾波,以減小輸入端受到的干擾。
在網絡中,節(jié)點需要處理的信息和數據大致可分為四類:管理控制信息、網內組網交互信息、需轉發(fā)的數據和采集的數據。它們在節(jié)點中的處理流程如圖4所示。
2.3 無線通信模塊
基于無線傳感器網絡所要求的數據傳輸速率不高及傳輸距離相對節(jié)點能耗控制要求嚴格的特點,綜合研究比較了幾類無線收發(fā)芯片,選用RFM公司的TR3000[7]來完成通信模塊的設計。它是RFM公司推出的一款433.92MHz單頻點無線RF收發(fā)器,TR3000工作穩(wěn)定,尺寸小,功耗低,在采用ASK調制方式時最高通信速率可達115.2kbps。在通信速率較低的情況下,通信距離可達100米,是短距離無線數據傳輸的理想選擇。
TR3000可以很容易地與MSP430超低功耗微處理器相連接并通過軟件對TR3000進行控制,使其處于不同的工作模式??刂乒苣_CNTRL0和CNTRL1的狀態(tài)與工作模式的對應關系為:00一休眠模式;01一OOK發(fā)送模式;10-ASK發(fā)送模式;11一接收模式。TR3000電路原理圖如圖5所示。
2.4 串口通信模塊
該節(jié)點的串口通信模塊主要負責PC 機與傳感器網絡節(jié)點之間的通信。在網絡中只有網關節(jié)點(Sink節(jié)點)中含有串口通信模塊。Sink節(jié)點是網絡中所特有的,主要向下級節(jié)點發(fā)送查詢命令,同時散布在外界環(huán)境中的網絡節(jié)點將采集到的信息通過多跳轉發(fā)送回Sink節(jié)點并通過串口送至PC機進行處理。
MSP430F161l具有片內UART,因此實現串口通信相當容易。由于單片機與上位機進行通信的接口電平不同,因此需要進行接口電平轉換,串口通信電路的設計采用MAX3221實現單片機的TTL電平與PC機的RS232接口電平的轉換。
2.5 電源模塊
在節(jié)點的設計中采用CR2032紐扣電池為整個節(jié)點供電,CR2032在大于2.8V的條件下能提供大約200mAh的能量。
為了及時了解節(jié)點的能量存儲和消耗狀況,并根據節(jié)點能量狀態(tài)來調整節(jié)點的通信策略[6],本文將來自電源正極的電平值輸入到MSP430F1611的ADCl2模塊內,與參考電平進行比較,通過讀取處理器轉換存儲寄存器值可以得到轉換結果,同樣由公式(1)可以計算出電壓Vin,從而掌握電源電壓的變化情況。
3 節(jié)能策略的設計
在整個硬件平臺的設計中,節(jié)能一直是本文考慮的一個重要因素,它決定著傳感器網絡的壽命。節(jié)點節(jié)能的最主要方式是休眠機制。當節(jié)點目前沒有傳感任務并且不需要為其他節(jié)點轉發(fā)數據時關閉節(jié)點的無線通信模塊、數據采集模塊等以節(jié)省能量。
這樣,一個傳感任務發(fā)生時,只有與之相鄰的區(qū)域內的傳感器節(jié)點處于活動狀態(tài),才能形成一個活動區(qū)域。活動區(qū)域隨著數據向Sink節(jié)點傳送而移動,這樣原先活動的節(jié)點在離開活動區(qū)域后可以轉入休眠模式從而節(jié)省能量。另外,由于處理器系統(tǒng)中有一種活動模式和五種低功耗模式,所以通過指令控制處理器時鐘的打開與關閉(即采用不同的工作模式),實現對總體功耗的控制來達到節(jié)能的目的。
在采用各種節(jié)能策略之后,整個硬件平臺的整體能耗如表1所示。
本文主要介紹了以MSP430F1611單片機為核心,實現對外界環(huán)境中溫度、濕度及光信號進行精確采集的無線傳感器網絡節(jié)點的硬件設計方案。在實際的組網測試中,筆者將其應用于黃河地區(qū)生態(tài)環(huán)境監(jiān)測,構建了15個節(jié)點和1個Sink節(jié)點的小型網絡,一般情況下節(jié)點處于休眠狀態(tài),當有中斷請求時激活節(jié)點工作,采用中斷方式接收和發(fā)送數據,將采集到的數據傳輸給主機。實驗表明,采用這種方式建立的無線傳感器網絡具有穩(wěn)定可靠的性能,能以及低的電能消耗進行工作,使功耗達到最低,從而滿足設計要求。
評論