0 引 言
無線傳感器網(wǎng)絡(luò)WSN" title="WSN">WSN(wireless sensor network)是一種自組織網(wǎng)絡(luò),,它由大量低成本,、資源有限的傳感節(jié)點設(shè)備組成,節(jié)點間協(xié)同工作實現(xiàn)某一特定任務(wù),。由于無線傳感網(wǎng)絡(luò)所具有的易擴展,、自組織、分布式結(jié)構(gòu)和實時性的特點,,無線傳感網(wǎng)絡(luò)的應(yīng)用已經(jīng)由軍事領(lǐng)域擴展到其他許多領(lǐng)域,,例如環(huán)境監(jiān)測、氣候監(jiān)測,、目標追蹤,、工業(yè)自動化等方面,此外還為未來的遠程醫(yī)療和空間探索提供了很大的應(yīng)用空間,。
無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)如圖1所示,,通常包括傳感器節(jié)點、匯聚節(jié)點(sinknode),、外部網(wǎng)絡(luò)和用戶界面,。大量傳感器節(jié)點隨機部署在感知區(qū)域(Sensorfield)內(nèi)部或附近,能夠通過自組織方式構(gòu)成網(wǎng)絡(luò),,傳感器節(jié)點將采集到的數(shù)據(jù)沿著其他傳感器節(jié)點逐跳進行傳輸,,在傳輸過程中所采集的數(shù)據(jù)可能被多個節(jié)點處理,經(jīng)過多跳路由后到匯聚節(jié)點,,再由匯聚節(jié)點通過外部網(wǎng)絡(luò)把數(shù)據(jù)傳送到處理中心進行集中處理,。
1 系統(tǒng)硬件設(shè)計
無線傳感器網(wǎng)絡(luò)終端節(jié)點的硬件一般包括數(shù)據(jù)處理單元,、無線傳輸單元、傳感采集單元和電源供應(yīng)單元,。如圖2所示,,傳感采集單元可以根據(jù)應(yīng)用背景選擇相應(yīng)的測量物理量的傳感器,電源供應(yīng)單元部分由于系統(tǒng)大部分處于低功耗模式,,可以采用7號電池解決,。下面著重介紹數(shù)據(jù)處理單元、無線傳輸單元,。
1.1 數(shù)據(jù)處理單元
MSP430是具有超低功耗特點的16位單片機,,本方案選用MSP430F148,其功耗電流已經(jīng)達到了μA級,。16位CPU和高效的RISC指令系統(tǒng),,無外擴的數(shù)據(jù)地址總線,在8MHz時可達到125ns的指令周期,,具有16個快速響應(yīng)中斷,,能及時處理各種緊急事件。豐富的片內(nèi)外圍功能模塊:12位的A/D轉(zhuǎn)換器ADC12內(nèi)包括采樣/保持功能的ADC內(nèi)核,、轉(zhuǎn)換存儲邏輯,、內(nèi)部參考電平發(fā)生器、多種時鐘源,、采樣及轉(zhuǎn)換時序電路,。有8個外通道,4個內(nèi)通道,,高達200kbps的采樣速率,,多種采樣方式。兩路USART通信串口,,可用于UART和SPI模式,;片內(nèi)有精密硬件乘法器、兩個16位定時器,,6個并行口P1~P6,,48條I/O口線,其具有64KB的閃存,,用于存儲采集數(shù)據(jù),。
1.2 無線傳輸單元
本系統(tǒng)采用2.4GHz無線單片收發(fā)芯片NRF2401" title="NRF2401">NRF2401,它具有體積小,、功耗低,,外設(shè)少的特點,非常適合于無線傳輸應(yīng)用系統(tǒng),。nRF2401可以由SPI接口與微處理器連接,,通過這個接口完成設(shè)置和收發(fā)數(shù)據(jù)工作。許多單片機都集成了SPI控制器,,例如MSP430,,可以非常方便地通過軟件設(shè)置最多40bit地址,只有收到本機地址時才會輸出數(shù)據(jù)(提供一個中斷指示),,并且支持點對多點的操作,,編程很方便。nRF2401與單片機采用SPI接口連接,,原理圖如圖3所示,。SPI總線接口技術(shù)是一種高速、高效率的串行接口技術(shù),,主要用于擴展外設(shè)和進行數(shù)據(jù)交換,。
2 軟件設(shè)計
軟件開發(fā)以IAR Workbench V3.1為平臺,采用C語言編寫,,軟件編程的基本思路是:先對SPI,、nRF2401控制端口初始化;使能SPI,、UART端口,,使能ADC,對nRF2401芯片初始化,;開啟接收機后,,就可以運行任務(wù)程序了,以實現(xiàn)接收或發(fā)送數(shù)據(jù),,對nRF2401操作流程如下:
nRF2401有4種工作模式:收發(fā)模式,、配置模式、空閑模式和關(guān)機模式,。nRF2401的工作模式由PWR_UP,、CE、TX_EN和CS三個引腳決定,。對nRF2401的操作主要是配置其工作方式和讀寫數(shù)據(jù),,所有配置命令字和數(shù)據(jù)都是通過同步串行口的CLK和DATA兩個引腳完成的。要將nRF2401設(shè)置于ShockBurstTM方式,,首先使PWR_UP引腳為高電平,,CE引腳為低電平。配置字從最高位開始,,依次送入nRF2401,,CLK下降沿鎖定數(shù)據(jù)。配置命令字發(fā)送完后,在CS的下降沿按新配置字的設(shè)置開始工作,。使用nRF2401進行發(fā)送數(shù)據(jù)時,,采用以下的步驟:1)CE置高,使nRF2401開始工作,;2)逐位寫入接收機的地址,;3)逐位寫入要傳送的數(shù)據(jù);4)CE置低,,激發(fā)nRF2401進行ShockBurstTM發(fā)射,。nRF2401的ShockBurstTM發(fā)射過程是:給射頻前端供電,射頻數(shù)據(jù)打包(加字頭,、CRC校驗碼),,高速發(fā)射數(shù)據(jù)包,發(fā)射完成,,nRF2401進入空閑狀態(tài),。nRF2401的接口模塊引腳包括CE、DR1,、CLK1和DATA(接收通道1),,接收端依照以下流程進行數(shù)的接收:1)配置本機地址和即將接收的數(shù)據(jù)包大小,;2)進入接收狀態(tài),,CE置高;3)200μs后,,nRF2401進入監(jiān)視狀態(tài),,等待數(shù)據(jù)包的到來;4)當(dāng)接收到正確的數(shù)據(jù)包時,,nRF2401自動除去字頭,、地址和CRC;5)nRF2401通過把DR1(可用作中斷信號)置高來通知微控制器,;6)微控制器把數(shù)據(jù)從nRF2401逐位移出,;7)所有數(shù)據(jù)移完,nRF2401把DR1置低,,此時如果CE為高,,則等待下一個數(shù)據(jù)包,如果CE為低,,開始其他工作流程,。
程序中用到的部分代碼如下:
考慮到點對多點通信的可靠性,數(shù)據(jù)在底層無線傳輸中需要增加必要的協(xié)議規(guī)范,。設(shè)計中對有效數(shù)據(jù)進行打包,,格式為:前導(dǎo)碼、地址、有效數(shù)據(jù)載荷,、校驗碼,。
3 結(jié)束語
基于MSP430和NRF2401的無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計在實驗中表現(xiàn)出比較好的效果,可以實現(xiàn)監(jiān)測區(qū)域內(nèi)信號的采集傳輸與處理,。但是由于射頻芯片本身的原因,,傳輸距離會受到障礙物的影響和設(shè)置頻率而有變化,,這些問題都有待更深入的研究,。隨著無線網(wǎng)絡(luò)技術(shù)的成熟無線傳感器網(wǎng)絡(luò)的應(yīng)用必將廣泛深入環(huán)境監(jiān)測、目標追蹤,、工業(yè)自動化等各領(lǐng)域,。