基于MSP430的無線傳感器網(wǎng)絡(luò)設(shè)計
引言
傳感測試技術(shù)正朝著多功能化、微型化、智能化、網(wǎng)絡(luò)化、無線化的方向發(fā)展。自組織無線傳感器網(wǎng)絡(luò)(Self Organizing Wireless Sensor Networks)作為新興技術(shù),是目前國外研究的熱點,其在軍事、環(huán)境、健康、家庭、商業(yè)、空間探索和災(zāi)難拯救等領(lǐng)域展現(xiàn)出廣闊的應(yīng)用前景。早在2003年美國自然科學基金委員會已經(jīng)斥巨資來支持這方面的研究,并且出現(xiàn)了一些致力于無線傳感器網(wǎng)絡(luò)的公司,其中Crossbow公司已推出了Mica系列傳感器網(wǎng)絡(luò)產(chǎn)品。國內(nèi)很多大學現(xiàn)已經(jīng)開展相關(guān)領(lǐng)域的研究,但大部分工作仍處在自組織無線網(wǎng)絡(luò)協(xié)議性能仿真和硬件節(jié)點小規(guī)模實驗設(shè)計階段。本文就國防科技大學傳感器教研室開展可應(yīng)用于環(huán)境監(jiān)測方面無線傳感器網(wǎng)絡(luò)設(shè)計與實現(xiàn)進行介紹。
1 無線傳感器網(wǎng)絡(luò)硬件設(shè)計
無線傳感器網(wǎng)絡(luò)模型(如圖1所示)是不同于傳統(tǒng)無線網(wǎng)絡(luò)的無基礎(chǔ)設(shè)施網(wǎng),通過在監(jiān)測區(qū)域內(nèi)隨意布撒大量傳感器節(jié)點(簡稱節(jié)點),由各節(jié)點自行協(xié)調(diào)并迅速組建通信網(wǎng)絡(luò),在能量利用率優(yōu)先考慮原則下進行工作任務(wù)劃分以獲取監(jiān)視區(qū)域信息。網(wǎng)絡(luò)的自組織特性體現(xiàn)在當節(jié)點失效或新節(jié)點加入時網(wǎng)絡(luò)能夠自適應(yīng)重新組建,以調(diào)整全局的探測精度,充分發(fā)揮資源優(yōu)勢,即網(wǎng)絡(luò)中的各節(jié)點除具備數(shù)據(jù)采集功能外兼有數(shù)據(jù)轉(zhuǎn)發(fā)實現(xiàn)多跳的路由功能。
圖1 無線傳感器網(wǎng)絡(luò)模型
1.1 節(jié)點組成
典型的無線傳感器網(wǎng)絡(luò)節(jié)點由數(shù)據(jù)采集、處理、傳輸和電源4個主要部分組成。傳感探測單元由傳感器進行監(jiān)測區(qū)域內(nèi)待測對象的信息采集;微控制單元實現(xiàn)數(shù)據(jù)的分析、處理和存儲等功能;無線傳輸單元負責低功耗短距離節(jié)點間通信;供電單元選取小型化、高容量的電池,以確保節(jié)點的長壽命和微型化。具體節(jié)點設(shè)計如圖2和圖3所示。
圖2 無線傳感器網(wǎng)絡(luò)節(jié)點結(jié)構(gòu)
(1) 無線傳輸單元
無線收發(fā)模塊選用挪威Nordic公司推出的nRF401芯片。nRF401是工作在ISM頻段433.92 MHz/434.33 MHz的單片無線收/發(fā)一體芯片,是包括了高頻發(fā)射/接收、PLL合成、FSK調(diào)制/解調(diào)和雙頻道切換等單元的高集成度無線數(shù)傳產(chǎn)品。 其最高傳輸速率可達20 Kb/s, 接收靈敏度為-105 dBm,最大發(fā)射功率為10 dBm,較其他類別射頻收發(fā)芯片外圍電路設(shè)計簡單。 設(shè)計中工作頻率鎖定在434.33 MHz,微控制單元僅須提供四根口線: 收發(fā)狀態(tài)切換TXEN、待機與工作狀態(tài)切換PWRUP和數(shù)據(jù)通信接口線DIN/DOUT。射頻信號輸出設(shè)計采用環(huán)形差分輸出天線。
圖3無線傳感器網(wǎng)絡(luò)節(jié)點實物圖片
(2) 微控制單元
TI公司MSP430系列單片機是一種具有集成度高、功能豐富、功耗極低等技術(shù)特點的16位單片機。超低功耗的混合信號控制器、豐富的片內(nèi)外設(shè)、節(jié)能考慮的多種工作模式和對C語言程序設(shè)計的支持,使得MSP430系列單片機非常適合于應(yīng)用在嵌入式系統(tǒng)中。設(shè)計中選用帶有Flash存儲器可進行在線編程的MSP430x13x、MSP430x14x系列單片機;外圍模塊有看門狗、定時器A/B、同步/異步串行通信接口、10/12位A/D以及6個8位并行端口等多種組合形式。其實現(xiàn)功能如下:
◇ 操作無線收發(fā)芯片,為nRF401提供工作狀態(tài)控制線和兩條單向串行傳輸數(shù)據(jù)線;
◇ 實現(xiàn)傳感器的數(shù)據(jù)采集——加速度、溫度、聲音和感光強度探測;
◇ 本地數(shù)據(jù)處理——剔除冗余數(shù)據(jù),以減少網(wǎng)絡(luò)傳輸?shù)呢撦d和對無線傳輸數(shù)據(jù)的封裝與驗證;
◇ 應(yīng)答遠控中心查詢,完成數(shù)據(jù)的轉(zhuǎn)發(fā)與存儲;
◇ 區(qū)域內(nèi)節(jié)點的路由維護功能;
◇ 節(jié)點電源管理,合理地設(shè)置待機狀態(tài),以節(jié)省能量消耗,延長節(jié)點使用壽命。
(3) 傳感探測單元
根據(jù)實際需要選擇合適傳感器對監(jiān)測區(qū)域內(nèi)溫度、濕度、振動、聲音和光線等物理信號進行測試。實驗設(shè)計選用了兩種外圍電路簡單的數(shù)字式傳感器、光敏器件和駐極體話筒,分別對振動、溫度、光強和聲音進行探測。
◆ AD公司的ADXL202是雙軸向加速度傳感器。其采用先進的MEMS技術(shù),在同一硅片中刻蝕了一個多晶硅編碼微機械傳感器,集成精密的信號處理電路,可測靜態(tài)及動態(tài)加速度,輸出為周期的占空比調(diào)制(DCM)循環(huán)數(shù)字信號。測試范圍為-2~+2 g,測試帶寬為0.01 Hz~5 kHz(外置單電容可調(diào)),60 Hz帶寬下分辨率為5 mg。該傳感器可廣泛應(yīng)用于慣性導(dǎo)航、地震監(jiān)測、車輛安全和電池供電設(shè)備的運動狀態(tài)測試等領(lǐng)域。
◆ Maxim公司的DS18B20是一線式數(shù)字溫度傳感器。測量結(jié)果可選用9~12位串行數(shù)據(jù)輸出,測量范圍為-55~125 ℃,在-10~85 ℃測量準確度為±0.5 ℃。
◆ 光敏電阻5516是基于半導(dǎo)體光電效應(yīng)工作的光導(dǎo)管,對光強感應(yīng)靈敏度相當高。當受到一定波長范圍的光照時,其阻值(亮電阻)急劇減小,電流迅速增加,通過參考電阻分壓后進行A/D采樣即可獲得光敏電阻的阻值,進而換算出光照強度。
◆ 駐極體話筒HX034P是電容式微麥克風。輸入信號為聲音信號,輸出信號經(jīng)MAX4466構(gòu)成的前置放大電路后進行電壓值A(chǔ)/D采樣,處理器的A/D采樣頻率可達200 kHz,可捕獲到聲音信號。結(jié)合使用上述幾種傳感器和敏感器件的無線傳感器網(wǎng)絡(luò)節(jié)點,能夠?qū)崿F(xiàn)溫度、加速度(震動)的準確測量與探測;光敏電阻有其自身的光譜特性和溫度特性,因此在實驗中不作精確標定;另外對聲音信號的捕獲和復(fù)現(xiàn)需要進行大量的數(shù)據(jù)處理,從能量利用和傳感器節(jié)點功能的精簡角度考慮,實驗中對聲光強弱的探測通過設(shè)定閾值來給出布爾型(0或1)輸出。
(4) 供電單元
實現(xiàn)節(jié)點設(shè)計的微型化,節(jié)點可采用輸出電壓3.6 V可充電鋰離子紐扣電池LIR2032供電。該類電池自放電率小于10%/月,但額定容量較小,限制了節(jié)點的生存期。若以兩節(jié)普通5號AA電池供電,則可維持更長的工作時間。在以網(wǎng)絡(luò)形式工作狀態(tài)下,通過合理的設(shè)置節(jié)點發(fā)射機的接收、發(fā)射以及待機狀態(tài),可有效地延長節(jié)點的使用壽命。針對節(jié)點供電單元不便于更換的無線傳感器網(wǎng)絡(luò),新的能源解決方法研究及網(wǎng)絡(luò)系統(tǒng)的低功耗設(shè)計也是當前值得關(guān)注的課題。
1.2 sink點(數(shù)據(jù)匯集點)設(shè)計
傳感探測網(wǎng)絡(luò)內(nèi)的信息與外部網(wǎng)絡(luò)或處理中心的連接需要通過sink點來實現(xiàn)。sink點是無線傳感器網(wǎng)絡(luò)與有線設(shè)備連接的中轉(zhuǎn)站,負責發(fā)送上層命令(如查詢、分配ID地址等)、接收下層節(jié)點的請求和數(shù)據(jù),具有數(shù)據(jù)融合、請求仲裁和路由選擇等功能,是無線傳感器網(wǎng)絡(luò)中最重要的一部分。設(shè)計中sink點由上位PC機與無線通信適配單元組成,如圖4所示。無線收發(fā)模塊仍采用nRF401芯片配以環(huán)形差分天線。以3 V電壓供電,TTL與RS232電平轉(zhuǎn)換單元選用MAX3316芯片。該芯片在2.25~3.0 V供電即可實現(xiàn)兩通道雙向電平轉(zhuǎn)換,可直接操作nRF401芯片串行數(shù)據(jù)線DIN/DOUT、控制線TXEN。但實驗結(jié)果表明,該設(shè)計方式中上位PC機通過API函數(shù)調(diào)用或串口控件方式來操作口線會產(chǎn)生較高的誤碼率,須涉及更底層的寄存器操作才能高效地實現(xiàn)數(shù)據(jù)提取。這無疑增加了設(shè)計的復(fù)雜性,故sink點在實際制作中選用具備2路UART通道的MSP430F149芯片作為無線與有線串行傳輸?shù)倪B接與處理單元,實現(xiàn)數(shù)據(jù)初級的封裝與分解,為上位機提供便攜的接口方式。
圖4 無線傳感器網(wǎng)絡(luò)sink點模型
2 軟件設(shè)計流程
傳感器節(jié)點的處理器MSP430系列單片機支持C語言程序設(shè)計,適用于MSP430系列的C語言與標準C語言兼容程度高,大大提高了軟件設(shè)計開發(fā)的工作效率,增強了程序代碼的可靠性、可讀性和可移植性。圖5為傳感器節(jié)點的工作流程圖。
圖5 無線傳感器網(wǎng)絡(luò)節(jié)點工作流程圖
上位PC機作為控制中心必須具備網(wǎng)絡(luò)喚醒、數(shù)據(jù)處理、路由維護功能,C++ Builder、Delphi和微軟的Visual Basic都是可選的快速開發(fā)工具。上層軟件功能由Delphi實現(xiàn),圖6為無線傳感器網(wǎng)絡(luò)探測系統(tǒng)框圖。
圖6 無線傳感器網(wǎng)絡(luò)探測系統(tǒng)框圖
考慮到點對點通信的可靠性,數(shù)據(jù)在底層無線傳輸中需要增加必要的協(xié)議規(guī)范。設(shè)計中對有效數(shù)據(jù)進行打包,格式為: 前導(dǎo)碼、地址、有效數(shù)據(jù)載荷、校驗碼。針對nRF40x系列芯片,按廠家建議在支持UART方式下使用0x55FF(十六進制)作為“前導(dǎo)碼”;“地址”作為不同應(yīng)答點的標識;“有效數(shù)據(jù)載荷”則包含滿足上層設(shè)計協(xié)議格式的數(shù)據(jù)包,該部分需根據(jù)應(yīng)用要求盡量減小數(shù)據(jù)包長,以縮短該數(shù)據(jù)包在傳輸鏈路的生存期,數(shù)據(jù)包末尾增加“校驗碼”可以驗證數(shù)據(jù)的有效性,CRC(循環(huán)冗余碼)是一種簡單易行的處理方法,數(shù)據(jù)封裝與處理全部由微控制單元實現(xiàn)。
3 組網(wǎng)技術(shù)研究
對應(yīng)nRF401使用的434.33 MHz頻點,在組網(wǎng)設(shè)計中通信方式采用TDMA(時分復(fù)用)方式:sink點分時段對網(wǎng)絡(luò)中節(jié)點進行查詢,若節(jié)點有突發(fā)事件探測,則隨機選擇空閑時隙將數(shù)據(jù)上傳。當信道處于阻塞狀態(tài)則采用隨機退避機制,等待信道處于空閑狀態(tài)再進行數(shù)據(jù)傳輸,因此各節(jié)點在通信過程中必須避免長時間對信道的占用。
網(wǎng)絡(luò)的可靠性和高效性關(guān)鍵是合理的通信協(xié)議設(shè)計,SPIN (Sensor Protocol for Information via Negotiation)是以數(shù)據(jù)為中心的自適應(yīng)路由協(xié)議,通過協(xié)商機制來避免數(shù)據(jù)傳輸過程中的“內(nèi)爆”和“重疊”問題,傳感器各節(jié)點只有在相應(yīng)的請求時,才有目的地發(fā)送數(shù)據(jù)信息。SPIN協(xié)議中有3種類型的消息: ADV廣播數(shù)據(jù)發(fā)送、REQ請求數(shù)據(jù)接收和DATA數(shù)據(jù)封裝。
自組織無線傳感器網(wǎng)的網(wǎng)絡(luò)拓撲可分為3種:① 基于簇(Cluster)的分層結(jié)構(gòu)。簇頭就是分布式處理中心,收集簇成員數(shù)據(jù)并完成數(shù)據(jù)處理和融合,最后將數(shù)據(jù)由其他簇頭多跳轉(zhuǎn)發(fā)或直接傳回sink點。② 基于網(wǎng)(Mesh)的平面結(jié)構(gòu)。在這種結(jié)構(gòu)下傳感器網(wǎng)絡(luò)連成一張網(wǎng),臨近節(jié)點直接通信;在個別鏈路和傳感器節(jié)點發(fā)生失效時不會引起網(wǎng)絡(luò)分立。③ 基于鏈(Chain)的線結(jié)構(gòu)。在這種結(jié)構(gòu)下傳感器節(jié)點被串聯(lián)在一條或多條鏈上,鏈尾與用戶節(jié)點相連。由于鏈型結(jié)構(gòu)更易于在網(wǎng)絡(luò)初始化中實現(xiàn),因此設(shè)計中采用該種網(wǎng)絡(luò)拓撲。
實現(xiàn)超低功耗即可延長節(jié)點和網(wǎng)絡(luò)的壽命。節(jié)點的能量消耗有3方面: 傳感器件數(shù)據(jù)采集、微控制單元的數(shù)據(jù)存儲與處理和無線模塊數(shù)據(jù)接收/發(fā)射。其中能量消耗最大的是在射頻信號發(fā)射過程中,因此必須合理地切換芯片收發(fā),并設(shè)置節(jié)點休眠與喚醒狀態(tài),以最大限度降低能量消耗。
結(jié)語
基于MSP430的無線傳感器網(wǎng)絡(luò)設(shè)計在小規(guī)模實驗中表現(xiàn)出良好穩(wěn)定的效果,可在特殊環(huán)境下實現(xiàn)監(jiān)測區(qū)域內(nèi)信號的采集傳輸與處理。伴隨無線自組織網(wǎng)絡(luò)技術(shù)的成熟和新的能量解決方案的提出,無線傳感器網(wǎng)絡(luò)的應(yīng)用必將廣泛深入環(huán)境監(jiān)測、醫(yī)療保健、空間探索和災(zāi)害預(yù)測等各領(lǐng)域。
評論
查看更多