《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 基于MSP430F1611的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)

基于MSP430F1611的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)

《電子技術(shù)應(yīng)用》2007年第1期
2007-11-08
作者:王 戈, 盧伍根, 張效義

摘? 要:在簡(jiǎn)要介紹無(wú)線傳感器網(wǎng)絡(luò)及其節(jié)點(diǎn)體系結(jié)構(gòu)的基礎(chǔ)上,設(shè)計(jì)了以TI公司16位超低功耗" title="超低功耗">超低功耗單片機(jī)MSP430F1611為核心的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)" title="無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)">無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),詳細(xì)介紹了節(jié)點(diǎn)系統(tǒng)的硬件實(shí)現(xiàn),并通過(guò)實(shí)際組網(wǎng)測(cè)試驗(yàn)證了設(shè)計(jì)方案的可行性。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò)? MSP430F1611? 節(jié)點(diǎn)? TR3000

?

無(wú)線傳感器網(wǎng)絡(luò)綜合了傳感器技術(shù)、遙測(cè)技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)和無(wú)線通信技術(shù)等。它是一種特殊的無(wú)線自組織網(wǎng)絡(luò),由成千上萬(wàn)的具有感知和路由功能的無(wú)線傳感器節(jié)點(diǎn)組成,能夠協(xié)作地實(shí)時(shí)監(jiān)測(cè)、感知和采集各種環(huán)境對(duì)象的信息,將其通過(guò)多跳轉(zhuǎn)發(fā)傳送回主機(jī)進(jìn)行分析、處理。無(wú)線傳感器網(wǎng)絡(luò)作為一種全新的信息獲取和處理技術(shù),將在國(guó)防軍事、反恐抗災(zāi)、環(huán)境監(jiān)測(cè)、交通管理、工程安全和醫(yī)療衛(wèi)生等領(lǐng)域得到廣泛的應(yīng)用[1]。
本文在簡(jiǎn)要介紹無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)體系結(jié)構(gòu)的基礎(chǔ)上,從實(shí)際應(yīng)用考慮,設(shè)計(jì)了一種基于MSP430F1611的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),詳細(xì)介紹了節(jié)點(diǎn)的硬件設(shè)計(jì)方案。
1無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的體系結(jié)構(gòu)
無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)是網(wǎng)絡(luò)的基本單元,節(jié)點(diǎn)的穩(wěn)定運(yùn)行是整個(gè)網(wǎng)絡(luò)可靠性的重要保障。在不同應(yīng)用中,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的組成不盡相同,但都由數(shù)據(jù)采集模塊(傳感器、A/D" title="A/D">A/D轉(zhuǎn)換器)、數(shù)據(jù)處理模塊(微處理器、存儲(chǔ)器)、數(shù)據(jù)傳輸模塊(無(wú)線收發(fā)器)和電源模塊(電池、DC/DC能量轉(zhuǎn)換器)四部分組成[2]。被監(jiān)測(cè)物理信號(hào)的形式?jīng)Q定傳感器的類型,處理器通常選用嵌入式CPU,數(shù)據(jù)傳輸模塊主要由低功耗短距離的射頻收發(fā)器組成。因?yàn)樾枰M(jìn)行復(fù)雜的任務(wù)調(diào)度與管理,需要一個(gè)微型化的操作系統(tǒng),UCBerkely為此專門開(kāi)發(fā)了TinyOS操作系統(tǒng)。傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的組成如圖1所示。


2 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件設(shè)計(jì)
為了實(shí)現(xiàn)對(duì)溫度、濕度、光等多種物理信息的精確采集,并將采集信息進(jìn)行采樣、數(shù)模轉(zhuǎn)換,以及根據(jù)應(yīng)用需求進(jìn)行相應(yīng)的處理,把處理后的信息通過(guò)多跳轉(zhuǎn)發(fā)傳送回PC機(jī)進(jìn)行處理;同時(shí)為了滿足節(jié)點(diǎn)壽命和工作性能的要求,綜合考慮能耗、傳輸距離、數(shù)據(jù)速率、安全性和通用性等因素,本文所設(shè)計(jì)的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)硬件平臺(tái)選用如下設(shè)計(jì)方案。
數(shù)據(jù)采集模塊選用了Sensirion公司的數(shù)字溫濕度傳感器SHT71以及光傳感器S1087和S1087-01;數(shù)據(jù)處理模塊選用了TI公司的16位超低功耗單片機(jī)MSP430F1611;無(wú)線通信模塊" title="通信模塊">通信模塊選用了RFM公司低功耗、短距離的433.92MHz單頻點(diǎn)RF收發(fā)芯片TR3000;電源模塊采用CR2032紐扣電池為整個(gè)節(jié)點(diǎn)供電。傳感器網(wǎng)絡(luò)節(jié)點(diǎn)硬件平臺(tái)如圖2所示。

?


2.1 數(shù)據(jù)采集模塊
節(jié)點(diǎn)的數(shù)據(jù)采集部分可以根據(jù)實(shí)際需要和被監(jiān)測(cè)信號(hào)的物理特征選擇合適的傳感器,如:溫度、濕度、光強(qiáng)、壓力、振動(dòng)等,本節(jié)點(diǎn)的設(shè)計(jì)可以對(duì)外界溫度、濕度、可見(jiàn)光、紅外光信號(hào)進(jìn)行精確采集。
2.1.1 溫濕度數(shù)據(jù)的采集
本節(jié)點(diǎn)的設(shè)計(jì)采用了Sensirion公司的數(shù)字溫濕度傳感器SHT71[3]。它是一款將溫/濕度傳感器、信號(hào)放大調(diào)理器、A/D轉(zhuǎn)換器和總線接口全部集成于一個(gè)芯片上的單片全校準(zhǔn)數(shù)字輸出傳感器,可以直接提供溫度在-40°C~120°C范圍內(nèi)且分辨率為14bit以及濕度在0~100%RH范圍內(nèi)且分辨率為12bit的數(shù)字輸出。
SHT71采用串行時(shí)鐘輸入線SCK與單片機(jī)保持通信同步,串行數(shù)據(jù)線DATA收發(fā)通信協(xié)議命令和數(shù)據(jù)。其控制流程如下:程序開(kāi)始用一組“啟動(dòng)傳輸”時(shí)序表示數(shù)據(jù)傳輸?shù)某跏蓟ó?dāng)SCK時(shí)鐘為高電平時(shí),DATA翻轉(zhuǎn)為低電平,緊接著SCK變?yōu)榈碗娖剑S后在SCK時(shí)鐘高電平時(shí)DATA翻轉(zhuǎn)為高電平);然后發(fā)送一組測(cè)量命令(‘00000011’表示溫度,‘00000101’表示相對(duì)濕度)后釋放DATA線,等待SHT71下拉DATA值低電平,表示測(cè)量結(jié)束,同時(shí)輸出采集數(shù)據(jù)到MSP430F1611,讀取測(cè)量數(shù)據(jù)后可以通過(guò)下式計(jì)算出相對(duì)濕度和溫度值。

?



2.1.2 可見(jiàn)光與紅外光數(shù)據(jù)的采集
本節(jié)點(diǎn)的設(shè)計(jì)除了能夠?qū)ν饨绛h(huán)境中的溫濕度數(shù)據(jù)進(jìn)行精確采集外,還可以通過(guò)光傳感器S1087和S1087-01[4]來(lái)采集可見(jiàn)光數(shù)據(jù)和紅外光數(shù)據(jù)。該光傳感器是一種陶瓷包裝的光電測(cè)量計(jì),它的測(cè)量輸出為標(biāo)準(zhǔn)電流信號(hào),陶瓷封裝可用于光密封,因此背光和側(cè)光不能到達(dá)測(cè)量活動(dòng)區(qū),從而可以得到可靠的可見(jiàn)光和紅外光范圍的光信號(hào)測(cè)量。
從傳感器輸出的是標(biāo)準(zhǔn)電流信號(hào),由于A/D轉(zhuǎn)換基準(zhǔn)為電壓,所以ADC12轉(zhuǎn)換的是電壓。因此采集電路通過(guò)100k?贅負(fù)載電阻將傳感器輸出的電流信號(hào)轉(zhuǎn)換為電壓信號(hào)后送入MSP430F1611的片內(nèi)ADC12模塊進(jìn)行轉(zhuǎn)換,ADC12轉(zhuǎn)換輸出的最大值為4 095。在進(jìn)行光強(qiáng)值計(jì)算時(shí),通過(guò)讀取處理器轉(zhuǎn)換存儲(chǔ)寄存器值可以得到轉(zhuǎn)換結(jié)果,由(1)式計(jì)算出電壓Vin,進(jìn)而得到電流值。再根據(jù)S1087/S1087-01的輸出特性曲線得到光強(qiáng)值。圖3給出了實(shí)際光信號(hào)與傳感器輸出電流信號(hào)的關(guān)系曲線。

其中: VR+ 為參考電源正端,VR–為參考電源負(fù)端,Vin為ADC12轉(zhuǎn)換得到的電壓值,NADC為處理器轉(zhuǎn)換存儲(chǔ)寄存器值。
模擬量采集部分具有一定的通用性,只要連接不同類型的傳感器就可以采集不同信號(hào)源的數(shù)據(jù)。


2.2 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊是傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的核心部分,一方面接收來(lái)自傳感器的測(cè)量數(shù)據(jù),按要求對(duì)數(shù)據(jù)進(jìn)行處理和計(jì)算等,交給通信模塊發(fā)送;另一方面讀取通信模塊送入的數(shù)據(jù)信息,對(duì)硬件平臺(tái)其它模塊的操作進(jìn)行控制。
本節(jié)點(diǎn)選用TI公司的16位超低功耗單片機(jī)MSP430F1611[5]。該單片機(jī)電源采用1.8V~3.6V的低電壓,RAM數(shù)據(jù)保持方式下耗電僅為0.1μA,可以在低電壓下以超低功耗狀態(tài)工作。其中48KB Flash存儲(chǔ)器可以支持在線編程和仿真,并具有較強(qiáng)的處理能力和豐富的片內(nèi)外設(shè),具體如下:
看門狗可以在程序失控時(shí)迅速?gòu)?fù)位; 16位定時(shí)器(Timer_A和Timer_B)具有捕獲/比較功能;大量的捕獲/比較寄存器可以用于事件計(jì)數(shù)、時(shí)序發(fā)生等;多功能串口" title="串口">串口(USART)可以實(shí)現(xiàn)異步、同步和I2C串行通信,可以方便地實(shí)現(xiàn)多機(jī)通信的應(yīng)用;具有較多的I/O端口,最多達(dá)6×8條I/O口線, P1、P2端口還可以接收外部上升沿或下降沿的中斷輸入;12位A/D轉(zhuǎn)換器有較高的轉(zhuǎn)換速率,最高可達(dá)200kbps,能夠滿足大多數(shù)數(shù)據(jù)采集的應(yīng)用。
單片機(jī)的接口電路非常簡(jiǎn)單,通過(guò)片內(nèi)的A/D通道實(shí)現(xiàn)模擬量的采集。通過(guò)片內(nèi)的A/D轉(zhuǎn)換部分不僅可以降低系統(tǒng)設(shè)計(jì)的復(fù)雜性,而且還可以提高系統(tǒng)的可靠性,避免接口的復(fù)雜性,同時(shí)還可以減小PCB板的面積;設(shè)計(jì)中采用一般I/O口實(shí)現(xiàn)數(shù)字量的采集電路接口;其中串口通信通過(guò)單片機(jī)內(nèi)的UART實(shí)現(xiàn);在單片機(jī)的時(shí)鐘設(shè)計(jì)上,考慮到通信速率的要求,MSP430F1611單片機(jī)采用一個(gè)4MHz的時(shí)鐘信號(hào),該系統(tǒng)的時(shí)鐘部分均采用晶體振蕩器實(shí)現(xiàn);考慮到電源的輸入紋波對(duì)單片機(jī)的影響,在電源的管腳增加一個(gè)0.1?滋F的電容來(lái)實(shí)現(xiàn)濾波,以減小輸入端受到的干擾。
在網(wǎng)絡(luò)中,節(jié)點(diǎn)需要處理的信息和數(shù)據(jù)大致可分為四類:管理控制信息、網(wǎng)內(nèi)組網(wǎng)交互信息、需轉(zhuǎn)發(fā)的數(shù)據(jù)和采集的數(shù)據(jù)。它們?cè)诠?jié)點(diǎn)中的處理流程如圖4所示。


2.3 無(wú)線通信模塊
基于無(wú)線傳感器網(wǎng)絡(luò)所要求的數(shù)據(jù)傳輸速率不高及傳輸距離相對(duì)節(jié)點(diǎn)能耗控制要求嚴(yán)格的特點(diǎn),綜合研究比較了幾類無(wú)線收發(fā)芯片,選用RFM公司的TR3000[7]來(lái)完成通信模塊的設(shè)計(jì)。它是RFM公司推出的一款433.92MHz單頻點(diǎn)無(wú)線RF收發(fā)器,TR3000工作穩(wěn)定,尺寸小,功耗低,在采用ASK調(diào)制方式時(shí)最高通信速率可達(dá)115.2kbps。在通信速率較低的情況下,通信距離可達(dá)100米,是短距離無(wú)線數(shù)據(jù)傳輸?shù)睦硐脒x擇。
TR3000可以很容易地與MSP430超低功耗微處理器相連接并通過(guò)軟件對(duì)TR3000進(jìn)行控制,使其處于不同的工作模式??刂乒苣_CNTRL0和CNTRL1的狀態(tài)與工作模式的對(duì)應(yīng)關(guān)系為:00—休眠模式;01—OOK發(fā)送模式;10—ASK發(fā)送模式;11—接收模式。TR3000電路原理圖如圖5所示。

?


2.4 串口通信模塊
該節(jié)點(diǎn)的串口通信模塊主要負(fù)責(zé)PC機(jī)與傳感器網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信。在網(wǎng)絡(luò)中只有網(wǎng)關(guān)節(jié)點(diǎn)(Sink節(jié)點(diǎn))中含有串口通信模塊。Sink節(jié)點(diǎn)是網(wǎng)絡(luò)中所特有的,主要向下級(jí)節(jié)點(diǎn)發(fā)送查詢命令,同時(shí)散布在外界環(huán)境中的網(wǎng)絡(luò)節(jié)點(diǎn)將采集到的信息通過(guò)多跳轉(zhuǎn)發(fā)送回Sink節(jié)點(diǎn)并通過(guò)串口送至PC機(jī)進(jìn)行處理。
MSP430F1611具有片內(nèi)UART,因此實(shí)現(xiàn)串口通信相當(dāng)容易。由于單片機(jī)與上位機(jī)進(jìn)行通信的接口電平不同,因此需要進(jìn)行接口電平轉(zhuǎn)換,串口通信電路的設(shè)計(jì)采用MAX3221實(shí)現(xiàn)單片機(jī)的TTL電平與PC機(jī)的RS232接口電平的轉(zhuǎn)換。
2.5 電源模塊
在節(jié)點(diǎn)的設(shè)計(jì)中采用CR2032紐扣電池為整個(gè)節(jié)點(diǎn)供電,CR2032在大于2.8V的條件下能提供大約200mAh的能量。
為了及時(shí)了解節(jié)點(diǎn)的能量存儲(chǔ)和消耗狀況,并根據(jù)節(jié)點(diǎn)能量狀態(tài)來(lái)調(diào)整節(jié)點(diǎn)的通信策略[6],本文將來(lái)自電源正極的電平值輸入到MSP430F1611的ADC12 模塊內(nèi),與參考電平進(jìn)行比較,通過(guò)讀取處理器轉(zhuǎn)換存儲(chǔ)寄存器值可以得到轉(zhuǎn)換結(jié)果,同樣由公式(1)可以計(jì)算出電壓Vin,從而掌握電源電壓的變化情況。
3 節(jié)能策略的設(shè)計(jì)
在整個(gè)硬件平臺(tái)的設(shè)計(jì)中,節(jié)能一直是本文考慮的一個(gè)重要因素,它決定著傳感器網(wǎng)絡(luò)的壽命。節(jié)點(diǎn)節(jié)能的最主要方式是休眠機(jī)制。當(dāng)節(jié)點(diǎn)目前沒(méi)有傳感任務(wù)并且不需要為其他節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)關(guān)閉節(jié)點(diǎn)的無(wú)線通信模塊、數(shù)據(jù)采集模塊等以節(jié)省能量。這樣,一個(gè)傳感任務(wù)發(fā)生時(shí),只有與之相鄰的區(qū)域內(nèi)的傳感器節(jié)點(diǎn)處于活動(dòng)狀態(tài),才能形成一個(gè)活動(dòng)區(qū)域。活動(dòng)區(qū)域隨著數(shù)據(jù)向Sink節(jié)點(diǎn)傳送而移動(dòng),這樣原先活動(dòng)的節(jié)點(diǎn)在離開(kāi)活動(dòng)區(qū)域后可以轉(zhuǎn)入休眠模式從而節(jié)省能量。另外,由于處理器系統(tǒng)中有一種活動(dòng)模式和五種低功耗模式,所以通過(guò)指令控制處理器時(shí)鐘的打開(kāi)與關(guān)閉(即采用不同的工作模式),實(shí)現(xiàn)對(duì)總體功耗的控制來(lái)達(dá)到節(jié)能的目的。
在采用各種節(jié)能策略之后,整個(gè)硬件平臺(tái)的整體能耗如表1所示。


本文主要介紹了以MSP430F1611單片機(jī)為核心,實(shí)現(xiàn)對(duì)外界環(huán)境中溫度、濕度及光信號(hào)進(jìn)行精確采集的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件設(shè)計(jì)方案。在實(shí)際的組網(wǎng)測(cè)試中,筆者將其應(yīng)用于黃河地區(qū)生態(tài)環(huán)境監(jiān)測(cè),構(gòu)建了15個(gè)節(jié)點(diǎn)和1個(gè)Sink節(jié)點(diǎn)的小型網(wǎng)絡(luò),一般情況下節(jié)點(diǎn)處于休眠狀態(tài),當(dāng)有中斷請(qǐng)求時(shí)激活節(jié)點(diǎn)工作,采用中斷方式接收和發(fā)送數(shù)據(jù),將采集到的數(shù)據(jù)傳輸給主機(jī)。實(shí)驗(yàn)表明,采用這種方式建立的無(wú)線傳感(接上頁(yè))
器網(wǎng)絡(luò)具有穩(wěn)定可靠的性能,能以極低的電能消耗進(jìn)行工作,使功耗達(dá)到最低,從而滿足設(shè)計(jì)要求。
參考文獻(xiàn)
[1] ?孫利民,李建中,陳 渝.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005,05:293-305.
[2]? 任豐源,黃海寧,林 闖.無(wú)線傳感器網(wǎng)絡(luò).軟件學(xué)報(bào),2003,14(J):1282-1291.
[3] ?沈建華,楊艷琴,翟曉曙.MSP430系列16位超低功耗單片機(jī)原理與應(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ú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn) [J]. 計(jì)算機(jī)應(yīng)用,2006,02:303-306.
[7]? ASH Transceiver Designer’s Guide [f]. 2004.05?http://www.rfm.com.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。