新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一種快速可靠的無線傳感器網絡路由

        一種快速可靠的無線傳感器網絡路由

        ——
        作者: 時間:2007-11-26 來源: 收藏

          引 言

          傳感器(wireless sensor networks,簡稱)是當前在國際上備受關注的涉及多學科高度交叉的熱點研究領域。它綜合了傳感器技術、嵌入式計算技術、現代通信技術等,能夠通過各類集成化的微型傳感器協同工作,完成指定的任務,并進行自組織通信以多跳中繼方式將所感知信息傳送到用戶終端。

          一般運行在人們無法接近的惡劣甚至危險的遠程環境中,并且傳感器節點通常攜帶不能補充的有限能量。低能耗、低延遲、自動修復路徑成了最根本的要求。目前所存在的WSNs路由協議大都不能同時滿足這樣的條件,或者需要依靠特殊硬件才能實現這些功能,本文提出了一種快速可靠的低能耗路由(a fast andreliable protocol,簡稱為),不僅可以滿足上面的基本要求,還可以工作于任務查詢方式及事件驅動方式,并具有較強的路徑修復能力。

          主要分為3個部分。首先是構建路由樹結構,SINK點以洪泛方式向傳感器網絡傳播路由樹組建消息,使得網絡中的每個節點都擁有自己的級別值和父節點,然后SINK點將所要查詢的任務通過路由樹發布出去;最后源節點將選擇最短路徑將數據反饋給SINK點。主要能夠實現以下幾種功能:任務查詢、事件驅動以及路徑自我修復。而這些僅依靠普通的射頻芯片即可實現,以下將做詳細介紹。

          1 FRP路由的建立與運行

          1.1 路由樹的建立

          在網絡里,由于受到射頻芯片通信距離的限制,單個節點無法了解網絡中全部節點,只能知道其鄰節點的一些信息。因此第一步需要建立路由樹結構,讓節點了解其所處的級別及父節點。SINK點首先通過洪泛方式向網絡傳播路由樹組建消息。組建消息由組建標志位、發送節點ID、發送節點級值組成。收到該組建消息的節點將發送節點ID記錄為父節點,然后將級值加1,并以自身ID和級值更新消息后繼續向鄰節點傳播,直到網絡中所有節點都擁有自己父節點和級值。由于洪泛傳輸中可能會導致已經發出消息的節點再次收到鄰節點將級值加1后重新發送來的消息,從而導致消息循環。為了解決該問題,文中制定如下規則:當一個節點從鄰節點處收到組建消息時,首先檢查消息中級值是否低于自身級值,如果是,則以該級值更新,并向鄰節點發送新的組建消息;否則將不予處理。在組建消息傳播過程中,節點選擇最早發送其消息,級值更低的節點作為父節點。圖1所示為路由樹的初始化過程。

          

          1.2 任務查詢機制

          當SINK點進行任務查詢時,首先以洪泛方式向整個網絡發布任務查詢命令,該命令主要由任務查詢標志位、任務發送節點ID、任務發送節點級別、任務條件、任務存活時間等字段組成。收到該命令的節點,將以記錄的形式將本次任務存儲在本地存儲器里,每一條記錄代表不同的任務。當節點收到任務查詢命令時,首先檢查命令中的發送節點級別,若低于本身節點,則與本地存儲的任務記錄表相比較,如果不存在該任務,則添加該任務記錄。然后檢查自身是否滿足該任務條件,若不滿足,則以本身級點更新任務查詢命令中的任務發送節點ID、任務發送節點級別,然后轉發該命令;否則該節點即為源節點,并從任務查詢命令中取出任務發送節點ID,作為目標節點,準備向其發送任務確認命令。該命令由任務確認標志位、源節點ID、數據發送節點ID、測量數據等字段組成。收到任務確認命令的節點從中取出數據發送節點ID,存儲在任務記錄中,作為以后相同任務的子節點,然后以自身ID作為新的數據發送節點ID更新命令,并從任務列表中取出該任務的任務發送節點作為目標節點繼續傳輸任務確認命令,直到返回至SINK點。同時,其它未收到任務確認命令的節點將會在任務存活時間到期后,將存儲器中的任務記錄刪除。在任務查詢命令廣播過程中,若接收節點檢測到本地任務記錄表中存在相同任務,則從該記錄中取出子節點作為目標節點,向其發送任務查詢命令,避免洪泛傳播,從而大大節約了能量。

          1.3 事件驅動

          當某事件被傳感器節點捕捉時,則該節點即為源節點,并向其父節點發送事件命令。該命令由事件類型、源節點ID、發送節點ID、測量數據組成。收到事件命令的節點,以自身ID作為新的發送節點ID更新命令,向其父節點繼續傳輸事件驅動命令,直到數據傳輸至SINK點。

          2 路由修復機制

          本文中的節點傳輸路徑是唯一的,這樣可以節約能量,提高效率。但是由于這種唯一性,如果一個節點電池耗盡或者物理損害而失效,則會導致其下級節點也脫離了網絡。目前有些路由協議針對這一問題,采用通過由SINK點發起洪泛協議進行路徑修復的辦法來解決,但是這樣明顯浪費能量,而且在洪泛期間,失效節點的鄰節點若產生事件將無法傳遞,導致了數據丟失。

          FRP路徑修復機制分為2個部分:節點狀態檢測和新目標節點的選擇。文中采用應答機制來進行節點狀態檢測。當節點發送數據給目標節點后,若在一定時間內,收到目標節點的ACK,則認為目標節點仍然正常工作,并已將數據向前傳輸;否則目標節點已經死亡,需要另行尋找新的目標節點。如果在任務查詢方式運行過程中,某節點檢測到子節點死亡時,按相反路徑發送命令通知SINK點,進行本次任務的重新路由,建立新的任務路徑。如果在事件驅動方式下,當節點發現其父節點死亡,則發送SEARCH消息,鄰節點將返回ACK。節點從中選取響應時間低的低級別節點作為目標節點。若無低級別的節點應答,則該節點將以洪泛方式發送命令通知SINK點進行新的路由樹的建立。其過程如圖2,圖3所示。

          

          3 軟件仿真

          本文采用了Visual C++開發了網絡路由仿真平臺。分別研究了從100到500個節點共5個不同規模的傳感器區域。我們建立參數如表1所示。

          

          PEQ將根據上述參數在相同的仿真環境下與Directed Diffusion協議(DD協議)進行測試并進行以下幾個方面的比較:SINK點-源節點-SINK點時間延遲;平均延遲;平均消耗能量,以下將分別作以說明。

          SINK點-源節點-SINK點的時間延遲指的是從SINK點發出查詢信息,到數據返回到SINK點所消耗的時間。低的延遲時間可以保證用戶有更充足的時間來處理突發事件。FRP主要通過SINK點發布任務查詢命令建立路徑,源節點沿著該路徑反方向將數據傳輸給SINK點。而DD協議則是通過SINK點發布興趣給網絡,當源節點收到后,源節點通過多個路徑傳送數據給SINK點,SINK點收到后,并從中選擇更快捷的路徑加強,進行數據傳輸。FRP比DD協議在步驟上更簡潔,從而獲得更低的延遲效果。其仿真數據如圖4所示:

          平均延遲指的是仿真中所產生的事件從源節點傳播到SINK點需要的平均時間。仿真數據如圖5所示,結果表明,隨著網絡規模的擴大,PEQ協議顯示了比DD協議更好的延遲特性。

          平均消耗能量指的是仿真結束后,節點平均所消耗的能量。仿真數據如圖6所示,結果表明,FRP比DD更節約能量。原因在于FRP在數據傳輸中僅使用單一路徑,而DD協議在數據傳輸中會使用多個傳輸路徑,并對其中傳輸速度慢的路徑進行反向增強,產生了能量消耗。

          

          4 結 論

          本文提出了一種新的無線傳感器路由協議FRP,經過與DD協議仿真比較,實驗數據顯示,無論是小規模網絡(100個節點),還是中大規模網絡(300~500個節點),FRP都具有更短的時間延遲和較低的能量消耗。并且該協議已經在基于MSP430F123和NRF2401的硬件節點上成功應用。現場試驗表明,該路由反應迅速,自我修復能力強,可以滿足無線傳感器實時監測應用的要求。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苏尼特左旗| 凤阳县| 报价| 汶川县| 北流市| 永清县| 海原县| 辽源市| 监利县| 陇川县| 德令哈市| 永嘉县| 湘潭市| 灵山县| 揭东县| 日喀则市| 维西| 温宿县| 泸西县| 晴隆县| 南溪县| 海丰县| 永春县| 高平市| 武威市| 云阳县| 长海县| 内江市| 葫芦岛市| 昌吉市| 虹口区| 安新县| 隆回县| 西安市| 阳城县| 岱山县| 沈丘县| 南木林县| 东乌珠穆沁旗| 海口市| 双桥区|