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