研究發(fā)現(xiàn),無(wú)線傳感器網(wǎng)絡(luò)與傳統(tǒng)無(wú)線網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo)和標(biāo)準(zhǔn)具有明顯不同的要求,后者注重在移動(dòng)的環(huán)境中通過(guò)優(yōu)化路由和充分利用帶寬為用戶提供質(zhì)量較高的服務(wù),而前者常常工作在人無(wú)法接近的惡劣環(huán)境中,無(wú)法更換能源和重復(fù)利用網(wǎng)絡(luò)節(jié)點(diǎn),因此高效能、低成本、自組織等問題是無(wú)線傳感器網(wǎng)絡(luò)首先要解決的。
引言
無(wú)線傳感器網(wǎng)絡(luò)是將大量傳感器節(jié)點(diǎn)采用規(guī)則或隨機(jī)方式部署在監(jiān)測(cè)區(qū)域,通過(guò)無(wú)線通信自組織方式所構(gòu)成的網(wǎng)絡(luò)。傳感器網(wǎng)絡(luò)在軍事偵察、環(huán)境信息檢測(cè)、農(nóng)業(yè)生產(chǎn)、醫(yī)療健康監(jiān)護(hù)、建筑與家居、工業(yè)生產(chǎn)控制以及商業(yè)等領(lǐng)域有著廣闊的應(yīng)用前景。
研究發(fā)現(xiàn),無(wú)線傳感器網(wǎng)絡(luò)與傳統(tǒng)無(wú)線網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo)和標(biāo)準(zhǔn)具有明顯不同的要求,后者注重在移動(dòng)的環(huán)境中通過(guò)優(yōu)化路由和充分利用帶寬為用戶提供質(zhì)量較高的服務(wù),而前者常常工作在人無(wú)法接近的惡劣環(huán)境中,無(wú)法更換能源和重復(fù)利用網(wǎng)絡(luò)節(jié)點(diǎn),因此高效能、低成本、自組織等問題是無(wú)線傳感器網(wǎng)絡(luò)首先要解決的。
本文研究并設(shè)計(jì)實(shí)現(xiàn)了一種無(wú)線傳感器網(wǎng)絡(luò),采用低功耗的MSP430F149作為主控芯片和nRF905作為無(wú)線數(shù)據(jù)傳輸模塊設(shè)計(jì)了無(wú)線節(jié)點(diǎn)。
網(wǎng)絡(luò)構(gòu)架
本文提出的傳感器網(wǎng)絡(luò)架構(gòu)如圖1所示,節(jié)點(diǎn)任意散落在監(jiān)測(cè)區(qū)域中,通過(guò)飛行器散播、人工埋置和火箭彈射等方式完成。因此,節(jié)點(diǎn)必須以自組織的方式構(gòu)成網(wǎng)絡(luò),通過(guò)多跳中繼的方式將監(jiān)測(cè)的數(shù)據(jù)傳輸?shù)絪ink節(jié)點(diǎn),然后借助尢線廣域網(wǎng)和Intcrnet傳輸?shù)奖O(jiān)控中心集中處理。圖1中的傳感器節(jié)點(diǎn)以sink節(jié)點(diǎn)為中心,采用了分級(jí)規(guī)劃的方法,網(wǎng)絡(luò)中所有能與sink節(jié)點(diǎn)直接通信的節(jié)點(diǎn)屬于0級(jí)區(qū)域。顯然,0級(jí)區(qū)域范圍是以通信模塊的可靠通信距離dr為半徑的圓,能與0級(jí)區(qū)域節(jié)點(diǎn)無(wú)中繼通信的節(jié)點(diǎn)屬于1級(jí)區(qū)域。以此類推,可以對(duì)整個(gè)通信網(wǎng)絡(luò)進(jìn)行分級(jí)。一個(gè)n級(jí)網(wǎng)絡(luò)最大的監(jiān)控半徑為(n+1)×dr。
sink節(jié)點(diǎn)具有網(wǎng)關(guān)的功能,需要將所有接收的數(shù)據(jù)轉(zhuǎn)發(fā)到監(jiān)控中心,這要求它有強(qiáng)大處理能力。因此,本文采用具有ARM9內(nèi)核的S3C2410處理器,外接nRF905和GPRS通信模塊,通過(guò)GPRS網(wǎng)絡(luò)將數(shù)據(jù)通過(guò)Internet傳輸?shù)奖O(jiān)控中心;傳感器節(jié)點(diǎn)主要負(fù)責(zé)采集、處理、壓縮、發(fā)送和中繼轉(zhuǎn)發(fā)數(shù)據(jù)。
節(jié)點(diǎn)硬件電路
節(jié)點(diǎn)硬件電路如圖2所示。由于該網(wǎng)絡(luò)的主要要求是低功耗、通信協(xié)議簡(jiǎn)單可靠,因此,主控制器選抒MSP430F149。它是超低功耗控制器,使用3.3V電壓供電;端口高電平最高輸出電壓為3.6V,提供SPI接口,方便與nRF905直接連接;可在6μs內(nèi)從低功耗模式喚醒;片內(nèi)集成有2KB數(shù)據(jù)存儲(chǔ)器、ADC、硬件乘法器和比較器。
nRF905是單片射頻收發(fā)器,工作電壓為1.9V~3.6V;可工作在433/868/915MHz 3個(gè)ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻段,每一個(gè)頻段有29個(gè)頻道可以使用,頻道之間的轉(zhuǎn)換時(shí)間小于650μs,可實(shí)現(xiàn)快速跳頻。本網(wǎng)絡(luò)使用433MHz載頻,通過(guò)SPI接口與主控制器連接,使用了增益天線,在開闊地帶傳輸距離可達(dá)1000m以上。
網(wǎng)絡(luò)通信模型及關(guān)鍵技術(shù)
通信模型
自組織的無(wú)線傳感器網(wǎng)絡(luò)通信協(xié)議分為4層。由于傳感器節(jié)點(diǎn)自身硬件的限制,它們只實(shí)現(xiàn)低3層功能,完整的4層協(xié)議在傳感器網(wǎng)絡(luò)邊緣的sink節(jié)點(diǎn)實(shí)現(xiàn),由它負(fù)責(zé)與外網(wǎng)的通信。物理層的功能由nRF905硬件模塊實(shí)現(xiàn)。鏈路層的CRC校驗(yàn)在nRF905內(nèi)部硬件電路實(shí)現(xiàn),而媒體訪問控制(MAC)采用雙信道跳頻鏈路控制。網(wǎng)絡(luò)層的路由協(xié)議采用在有序分配路由策略(SAR)基礎(chǔ)上提出的分級(jí)有序分配路由策略,這種路由機(jī)制綜合了平面路由和分層路由的優(yōu)勢(shì)。下面對(duì)鏈路層和網(wǎng)絡(luò)層實(shí)觀的關(guān)鍵技術(shù)進(jìn)行詳細(xì)的討論。
雙信道跳頻鏈路控制
雙信道跳頻鏈路控制是指將網(wǎng)絡(luò)的信道分為兩類,即控制信道和數(shù)據(jù)信道。控制信道用于傳感器節(jié)點(diǎn)間交換協(xié)商信息、應(yīng)答信息等非數(shù)據(jù)信息,整個(gè)網(wǎng)絡(luò)使用單一的控制頻道,節(jié)點(diǎn)間通過(guò)控制信道協(xié)商確定專用的數(shù)據(jù)頻道,以傳輸數(shù)據(jù)信息。節(jié)點(diǎn)在空閑時(shí)低功耗監(jiān)聽控制頻道,數(shù)據(jù)通信接收后釋放占用的數(shù)據(jù)頻道。
控制信道使用共用頻道,它采用了IEEE 802.11b的CSMA/CA避免沖突機(jī)制,簡(jiǎn)單說(shuō)就是發(fā)送前監(jiān)聽載波直到信道空閑,再用"二進(jìn)制指數(shù)退避算法"隨機(jī)延遲一段時(shí)間后,再發(fā)送數(shù)據(jù),這樣就有效避免了同頻道下的數(shù)據(jù)沖突。
在數(shù)據(jù)通信中,為了保證數(shù)據(jù)傳輸?shù)目煽啃砸约邦l道表和路由表的及時(shí)更新,系統(tǒng)采用了DATA+ACK的機(jī)制,即發(fā)方和收方通過(guò)專用數(shù)據(jù)頻道收發(fā)n幀數(shù)據(jù)后(通信時(shí)間為td),跳頻到控制頻道交互數(shù)據(jù)應(yīng)答幀,同時(shí)雙方可以接收其它控制信息完成更新頻道表等操作,為了避免在n幀數(shù)據(jù)的通信過(guò)程中不錯(cuò)過(guò)更新路由和頻道表的控制幀,要求這些控制幀在t0和t0+td時(shí)刻發(fā)送兩次。
分級(jí)有序分配路由策略
網(wǎng)絡(luò)節(jié)點(diǎn)自組織路由的建立和路由及時(shí)更新是整個(gè)網(wǎng)絡(luò)通信的基礎(chǔ)。所謂分級(jí)有序分配路由策略是指,整個(gè)網(wǎng)絡(luò)的路由采用分級(jí)樹的結(jié)構(gòu),如圖3所示,每個(gè)節(jié)點(diǎn)只記錄可與之直接通信的上級(jí)節(jié)點(diǎn)地址,這樣可以最大限度減小每個(gè)節(jié)點(diǎn)的路由表,加快網(wǎng)絡(luò)的收斂速度。
網(wǎng)絡(luò)的分級(jí)是通過(guò)節(jié)點(diǎn)16位地址的低4位管理的,初始狀念sink節(jié)點(diǎn)地址低4位為0000B,所有傳感器節(jié)點(diǎn)地址低4位為1111B,在網(wǎng)絡(luò)路由建立后,sink節(jié)點(diǎn)地址低4位為0000B,0級(jí)區(qū)域節(jié)點(diǎn)地址低4位為0001B,其它區(qū)域節(jié)點(diǎn)地址低4位依次增1。
圖3中,節(jié)點(diǎn)上電后,首先由sink節(jié)點(diǎn)通過(guò)控制頻道廣播路南請(qǐng)求,a、b節(jié)點(diǎn)收到廣播,將本節(jié)點(diǎn)地址低4位(ada)與廣播源地址低4位(ads)進(jìn)行比較。如果ada≤ads,則拋棄廣播數(shù)據(jù)幀;如果ada>ads,則檢查此地址是否已記錄在路由表中,若已在路由表中,直接發(fā)出應(yīng)答,若不在路由表中,記錄此地址并將ada設(shè)置為ads+1后,發(fā)出應(yīng)答。a、b節(jié)點(diǎn)發(fā)出應(yīng)答后,各自廣播路由請(qǐng)求,d、e、f節(jié)點(diǎn)按照a、b節(jié)點(diǎn)對(duì)路由請(qǐng)求的處理方法,建立與它們上級(jí)節(jié)點(diǎn)a、b的鏈路。以此類推,可以建立起如圖3所示的網(wǎng)絡(luò)連接。在2級(jí)區(qū)域中,i節(jié)點(diǎn)與上級(jí)節(jié)點(diǎn)e、f同時(shí)建立鏈接,在數(shù)據(jù)通信中,只要根據(jù)路由表任選1個(gè)通信即可。
協(xié)議定義
為了實(shí)現(xiàn)網(wǎng)絡(luò)控制和數(shù)據(jù)傳輸,網(wǎng)絡(luò)中定義了數(shù)據(jù)協(xié)議和控制協(xié)議,其中數(shù)據(jù)協(xié)議依據(jù)不同數(shù)據(jù)類型具體定義。網(wǎng)絡(luò)控制協(xié)議格式的定義如表2所示。
其中,數(shù)據(jù)長(zhǎng)度為標(biāo)識(shí)數(shù)據(jù)區(qū)的字節(jié)數(shù)。協(xié)議+類型為各種協(xié)議+類型的定義,如表3所示。目的地址為數(shù)據(jù)要到達(dá)的最終地址,其中OFFFFH定義為廣播地址。數(shù)據(jù)中繼地址為當(dāng)前發(fā)出數(shù)據(jù)的節(jié)點(diǎn)地址,它可能是源數(shù)據(jù)節(jié)點(diǎn)或中繼節(jié)點(diǎn)的地址。源地址為數(shù)據(jù)源節(jié)點(diǎn)的地址。數(shù)據(jù)為不同協(xié)議類型對(duì)應(yīng)的數(shù)據(jù),協(xié)議類型不同,對(duì)應(yīng)的數(shù)據(jù)區(qū)內(nèi)容也不同,具體內(nèi)容如表3所示。
在這種策略中,路由表只需記錄每個(gè)節(jié)點(diǎn)上級(jí)節(jié)點(diǎn)的地址,路由表的數(shù)據(jù)結(jié)構(gòu)定義如下:
網(wǎng)絡(luò)測(cè)試
測(cè)試網(wǎng)絡(luò)使用上文介紹的方法設(shè)計(jì),50個(gè)無(wú)線傳感器節(jié)點(diǎn)隨機(jī)分布,長(zhǎng)時(shí)間監(jiān)測(cè)網(wǎng)絡(luò),改變各個(gè)節(jié)點(diǎn)發(fā)送監(jiān)測(cè)數(shù)據(jù)的時(shí)間間隔tn,在監(jiān)控中心的上位機(jī)中得到接收到的有效數(shù)據(jù)包的統(tǒng)計(jì)值。測(cè)試結(jié)果如圖4所示,可見,網(wǎng)絡(luò)在tn=5s以上時(shí),網(wǎng)絡(luò)可長(zhǎng)時(shí)間穩(wěn)定工作。
結(jié)語(yǔ)
本文在理論上詳細(xì)討論了分級(jí)路由無(wú)線傳輸網(wǎng)絡(luò)實(shí)現(xiàn)的關(guān)鍵技術(shù),提出了雙信道跳頻鏈路控制和分級(jí)有序分配路由策略。應(yīng)用上開發(fā)了測(cè)試網(wǎng)絡(luò)。網(wǎng)絡(luò)測(cè)試說(shuō)明分級(jí)路由無(wú)線傳輸網(wǎng)絡(luò)設(shè)計(jì)具有可行性、穩(wěn)定性、高效性。