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