發布時間:2014-09-30所屬分類:科技論文瀏覽:1次
摘 要: 摘要:在傳統的無線網絡中,優異的服務質量和帶寬的高效利用是路由協議追求的目標,但是這是基于傳統的無線網絡中的Hoc通常是有源供電的,不需要考慮能量耗盡的問題。但是在WSN中,傳感器節點的電源模塊一般都是體積較小的鋰電池,能量是極其有限的,怎么樣
摘要:在傳統的無線網絡中,優異的服務質量和帶寬的高效利用是路由協議追求的目標,但是這是基于傳統的無線網絡中的Hoc通常是有源供電的,不需要考慮能量耗盡的問題。但是在WSN中,傳感器節點的電源模塊一般都是體積較小的鋰電池,能量是極其有限的,怎么樣在有限的能量供應下最大程度地延長系統的工作時間是路由協議中需要重點考慮的問題。相較于傳統的無線網絡,路由協議在WSN中具備下面六個特點。
能量優先、基于局部的拓撲信息、以數據為中心、自組織特性、數據聚合特性、應用相關。
WSN中的路由協議會依據網絡的拓撲結構的不同而不同,而網絡的拓撲結構會根據實際系統中的應用而改變。本文的長鏈式路由協議的應用十分廣泛,如在電力系統的高壓開關柜進行溫度監測時,可以根據街道上高壓開關柜的分布情況劃分成多個鏈式的監控支路。沿鐵道線或者公路線進行環境的監控也可以利用此鏈路結構。本文重點探討在長鏈式路由協議的實現過程中的幾個關鍵問題。
1 長鏈式路由協議簡介
1.1 長鏈式網絡結構
本文的長鏈式路由協議是根據圖1所示的網絡結構提出的。
在圖示的網絡中共有三種無線設備:匯聚終端、通信節點和采集節點。匯聚終端負責對整條鏈路進行控制,并且通過串口與上位機進行通信,通信節點控制采集節點進行數據的采集。通信節點會把采集節點采集的數據逐跳地發送給匯聚終端。
1.2 長鏈式路由協議工作原理概述
網絡的工作分成四個過程:數據采集過程、鏈路建立過程、數據匯集過程和數據上傳過程。
(1)數據采集過程。由采集節點啟動。采集節點醒來后,采集數據,并發給同編號的通信節點,然后接收通信節點的確認信號和控制命令(主要是下次數據采集的時間間隔即睡眠時間)。
(2)鏈路建立過程。由匯聚終端啟動。在設定的數據匯集時間到來的時候,匯聚終端發送鏈路建立命令給最小編號的相鄰節點,并依次傳遞,直到編號最大的節點。不能通信的節點被越過,一個可以正常通信的鏈路被建立起來。每個節點都會記錄已經建立鏈路的前后相鄰節點編號,從而形成本次建立的鏈路的記錄。后續的數據匯集過程將沿著本次建立的鏈路反向傳回匯聚終端。
如果匯聚終端有一條以上采集鏈路,則輪流在采集支路上發送鏈路建立命令。
(3)數據匯集過程。當鏈路建立命令傳送到采集支路的最后一個節點后,此節點啟動數據匯集過程,沿著本次建立的鏈路逆序傳向匯聚終端的方向。每個通信節點在收到匯聚過程的數據包后,都會把自己采集的數據附在數據包的尾部,再接力傳向匯聚終端方向。
(4)數據上傳過程。由匯聚終端啟動,通過串口把采集的所有數據一次傳輸給上位機。此過程不涉及本文的協議核心部分。具體執行過程不再討論。
2 長鏈式路由協議實現中的關鍵問題
2.1 數據采集過程的時間同步問題
采集節點初始化后首先按照5分鐘一次主動發送數據給相同編號的通信節點,并要求通信節點給予確認并下達控制命令。子網初始化后,通信節點會把采集間隔等參數在下一個采集過程的通信中發送給采集節點。
采集節點發送數據給通信節點時,如果連續5次通信不成功,則放棄本次數據采集過程進入休眠狀態,等待下一次數據采集過程的時間到來,若連續6個采集過程無法與通信節點取得聯系,則主動把數據采集時間間隔設為120分鐘。這樣做,一方面可以保證采集節點先開機或通信節點暫時故障或者信道短期出現強干擾的情況下,采集節點可以減少醒來的次數以節省電量;另一方面,在上述問題得到解決后仍可以在最長兩個小時的時間后自動回復到正常工作狀態。
通信節點在收到匯聚終端傳來的鏈路建立命令后,記錄收到命令的時刻TCommand和命令中的數據采集時間間隔Interval。若在TAquisition時刻采集節點報送數據,通信節點就把再次醒來的時間延遲Delay發送給采集節點。
Delay=[Interval-Mod(TAquisition-TCommand,Interval)]-[Mod(N,10)+1]該計算式中,右邊第一項是為了保證通信節點在收到一次鏈路建立命令后,后續的命令收不到的情況下,仍然可以規范采集節點的數據采集時間。右邊第二項是為了使相鄰的節點不在相同的時間進行數據采集,以避免有可能的相互干擾。
同時為了使采集節點和通信節點成功通信一次,而后面無法正常通信的情況下,采集節點仍然按照固定的采集時間間隔醒來,通信節點的每次發送確認幀時還把Interval的值發送給采集節點。采集節點從收到通信節點的確認幀,到隨后第一次醒來的時間延遲,是根據確認幀中的時間延遲值計時。若隨后節點醒來不能與通信節點取得聯系,則根據原來接收的Interval值進行定時。這樣可以保證通信節點和采集節點在不能正確通信的情況下不會打亂采集節點的休眠規律。
2.2 鏈路建立過程的通信過程 鏈路建立過程由匯聚終端啟動。匯聚終端產生鏈路建立命令幀,并送往1號節點。命令幀帶有源節點和目的節點編號,及采集時間間隔和采集支路總的節點數據,只有目的節點會接收。1號節點產生新的命令幀,送往下一個節點,以此類推,直到最后一個節點。最后一個節點收到命令幀后,產生數據幀,并啟動數據匯聚過程,根據鏈路建立過程產生的路徑,逆向傳回匯聚終端。
如果鏈路建立過程中某節點暫時失效,或者由于信道干擾無法成功通信,則本次鏈路建立過程將越過此節點。如果3號通信節點無法正常工作,則2號通信節點無法聯系上3號通信節點,將嘗試聯系4號通信節點,如果4號節點也無法正常工作,則嘗試聯系5號節點,以此類推。
連接成功的節點號被記錄在本節點,同時,鏈路建立命令由哪個節點發過來也會被記錄,這樣整個鏈路建立過程經過的節點組成的臨時傳輸路徑被分布記錄,并用于隨后的數據匯集過程。
在鏈路建立過程中,如果N節點與N+1節點通信不成功,則延遲LinkCreatDelay后再次試著通信,重復LinkCreatRepeat次后仍不成功則放棄。然后與N+1節點通信,依次類推。如果與N+MaxNeigh
bors仍然無法通信,則認為鏈路出現故障,把自己作為此次通信的最后一個節點,產生數據匯集過程數據幀,并啟動數據匯集過程。
LinkCreatDelay的設置是根據數據采集過程傳輸的最大時間需求確定。鏈路建立過程中N節點與N+X節點通信不成功最大的可能是與N+X節點的數據采集過程沖突?紤]到數據的實時性,數據采集過程優先,采集節點發送不成功立即重發,重發次數為5。而鏈路建立過程在應該讓出5+1次重復采集數據傳輸的時間后再嘗試新的連接。
LinkCreatRepeat可以設置為3-5。
MaxNeighbors的值可設置為3-5。這個值要根據射頻芯片的傳輸距離以及通信節點的間隔距離綜合決定。
2.3 數據匯集過程的時間同步
數據匯集過程是這一個工作周期的最后一個階段,是鏈路建立過程的逆過程。在鏈路建立過程中,每一個成功傳遞過鏈路建立命令的通信節點都保存了其前面一個通信節點的地址UPADDRESS和后面一個通信節點的地址DOWNADDRESS。當鏈路建立命令傳遞到最后一個通信節點,該通信節點完成數據采集階段后,就產生數據匯集命令幀,并且啟動數據匯集過程。
數據匯集過程是鏈路建立過程的逆過程,不需要再對鏈路進行處理。但是也有可能鏈路建立過程建好的鏈路在隨后的數據匯集過程中出現中斷。為避免數據匯集和隨后的鏈路建立過程相沖突,通信節點在數據匯集過程中按照以下方式進行處理。
節點N在把鏈路建立命令傳送到節點N+X后,即等待N+X節點的數據匯集命令幀。當收到數據匯集命令幀時,記錄當前時間TCurrent,并計算TCurrent-TCommand>Interval-11s?
其中TCommand是收到鏈路建立命令的時間,Interval是系統休眠時間。
如果計算結果為假說明即將開始下一輪數據采集和數據傳輸過程,通信節點N不再轉發數據匯集命令幀,以防和數據采集過程及下一輪的鏈路建立過程沖突。公式中右邊加入的11s是為了避開采集節點提前開始采集的最大時間10s。
如果計算結果為真,則立即將數據匯集命令幀傳送給有效鏈路中的N-X節點。
3 長鏈式路由協議數據幀格式簡介
由于需要傳輸的數據不同,各個過程使用的數據幀格式也不同。數據采集過程中的發送幀和確認幀格式都比較簡單這里就不做介紹了。重點解釋一下鏈路建立過程請求幀,幀格式如下表1。
在該命令幀中,Syn是同步字;Bran是采集支路編號,半個字節;Sty是幀類型,1個字節;Sor是發送請求幀節點編號,1個字節;Dest接收請求幀節點編號,1個字節;N是本采集支路最大節點編號,1個字節;Req是鏈路建立請求幀發送輪次,1個字節,設置該參數的主要目的有兩個。
(1)通信節點N發送命令給通信節點N+1,通信節點N+1正確接收了并且回復了確認信號,但通信節點N沒有收到,于是重復發送鏈路建立命令。這種情況下,若N+1判斷是同一輪次的鏈路建立命令,則不進行重復處理(因為鏈路建立命令已經轉發),只是再次向N節點發送確認信號。
(2)通信節點N重復發送鏈路建立命令給通信節點N+3,但是N+3節點僅最后一次正確接收了,且回復了確認信號給N節點,但是,由于信道臨時的干擾,N節點并沒有接收到確認信號,于是把自己作為最后一個節點,啟動了數據匯集過程。這種情況下,N+1及后面的通信節點很可能隨后再把數據匯集幀發送給N節點,造成混亂。解決方法是:N節點啟動數據匯集過程后,即把Req加1,隨后凡是與Req不相符的數據匯集幀不再響應。
4 結語
本文根據長鏈式網絡結構的規律設計了一種長鏈式的路由協議,首先簡單介紹了本協議的應用場景和工作原理。重點對長鏈式路由協議中的幾個關鍵問題進行了探討,并且給出了優良的解決方案。本協議可以實現數據的遠距離傳輸,而且具有較低的功耗,適合大規模使用。
SCISSCIAHCI