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