新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 基于MSP430F1611的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)

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

——
作者:王戈 盧伍根 張效義 時(shí)間:2007-07-06 來(lái)源:電子技術(shù)應(yīng)用 收藏

本文在簡(jiǎn)要介紹網(wǎng)絡(luò)節(jié)點(diǎn)體系結(jié)構(gòu)的基礎(chǔ)上,從實(shí)際應(yīng)用考慮,設(shè)計(jì)了一種基于MSP430F1611的網(wǎng)絡(luò)節(jié)點(diǎn),詳細(xì)介紹了節(jié)點(diǎn)的硬件設(shè)計(jì)方案。 

1 網(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轉(zhuǎn)換器)、數(shù)據(jù)處理模塊(微處理器、存儲(chǔ)器)、數(shù)據(jù)傳輸模塊(無(wú)線收發(fā)器)和電源模塊(電池、DC/DC能量轉(zhuǎn)換器)四部分組成[2]。被監(jiān)測(cè)物理信號(hào)的形式?jīng)Q定傳感器的類(lèi)型,處理器通常選用嵌入式CPU,數(shù)據(jù)傳輸模塊主要由低功耗短距離的射頻收發(fā)器組成。因?yàn)樾枰M(jìn)行復(fù)雜的任務(wù)調(diào)度與管理,需要一個(gè)微型化的操作系統(tǒng),UCBerkely為此專(zhuān)門(mén)開(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í)為了滿(mǎn)足節(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ú)線通信模塊選用了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℃~120℃范圍內(nèi)且分辨率為14bit以及濕度在O~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)榈碗娖?,隨后在SCK時(shí)鐘高電平時(shí)DATA翻轉(zhuǎn)為高電平);然后發(fā)送一組測(cè)量命令('00000011'表示溫度,'00000101'表示相對(duì)濕度)后釋放DATA線,等待SHT71下拉DATA值低電平,表示測(cè)量結(jié)束,同時(shí)輸出采集數(shù)據(jù)到MSP430F16ll,讀取測(cè)量數(shù)據(jù)后可以通過(guò)下式計(jì)算出相對(duì)濕度和溫度值。 

溫度計(jì)算公式為:溫度=d1+d2XSOT 

相對(duì)溫度值如下: 

                    

相對(duì)濕度計(jì)算公式為:Rlinear=c1+c2xSORH+c3xS0RH2 

相對(duì)濕度值如下:


2.1.2 可見(jiàn)光與紅外光數(shù)據(jù)的采集 

    本節(jié)點(diǎn)的設(shè)計(jì)除了能夠?qū)ν饨绛h(huán)境中的溫濕度數(shù)據(jù)進(jìn)行精確采集外,還可以通過(guò)光傳感器S1087和S1087-0l[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)為電壓,所以ADCl2轉(zhuǎn)換的是電壓。因此采集電路通過(guò)100kΩ負(fù)載電阻將傳感器輸出的電流信號(hào)轉(zhuǎn)換為電壓信號(hào)后送入MSP430F1611的片內(nèi)ADCl2模塊進(jìn)行轉(zhuǎn)換,ADCl2轉(zhuǎn)換輸出的最大值為4095。 

    在進(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為ADCl2轉(zhuǎn)換得到的電壓值,NADC為處理器轉(zhuǎn)換存儲(chǔ)寄存器值。 

   模擬量采集部分具有一定的通用性,只要連接不同類(lèi)型的傳感器就可以采集不同信號(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ī)MSP430F161l[5]。該單片機(jī)電源采用1.8V~3.6V的低電壓,RAM數(shù)據(jù)保持方式下耗電僅為0.1μA,可以在低電壓下以超低功耗狀態(tài)工作。其中48KB Flash存儲(chǔ)器可以支持在線編程和仿真,并具有較強(qiáng)的處理能力和豐富的片內(nèi)外設(shè),具體如下: 

    看門(mén)狗可以在程序失控時(shí)迅速?gòu)?fù)位;16位定時(shí)器(Timer_A和Timer_B)具有捕獲/比較功能;大量的捕獲/比較寄存器可以用于事件計(jì)數(shù)、時(shí)序發(fā)生等;多功能串口(USART)可以實(shí)現(xiàn)異步、同步和I2C串行通信,可以方便地實(shí)現(xiàn)多機(jī)通信的應(yīng)用;具有較多的I/O端口,最多達(dá)6x8條I/O口線,Pl、P2端口還可以接收外部上升沿或下降沿的中斷輸入;12位A/D轉(zhuǎn)換器有較高的轉(zhuǎn)換速率,最高可達(dá)200kbps,能夠滿(mǎn)足大多數(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è)O.1μF的電容來(lái)實(shí)現(xiàn)濾波,以減小輸入端受到的干擾。 

    在網(wǎng)絡(luò)中,節(jié)點(diǎn)需要處理的信息和數(shù)據(jù)大致可分為四類(lèi):管理控制信息、網(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),綜合研究比較了幾類(lèi)無(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ā)送查詢(xún)命令,同時(shí)散布在外界環(huán)境中的網(wǎng)絡(luò)節(jié)點(diǎn)將采集到的信息通過(guò)多跳轉(zhuǎn)發(fā)送回Sink節(jié)點(diǎn)并通過(guò)串口送至PC機(jī)進(jìn)行處理。 

    MSP430F161l具有片內(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的ADCl2模塊內(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ú)線傳感器網(wǎng)絡(luò)具有穩(wěn)定可靠的性能,能以及低的電能消耗進(jìn)行工作,使功耗達(dá)到最低,從而滿(mǎn)足設(shè)計(jì)要求。 



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉