以無線HART協議為基礎的數據鏈路層協議模型設計
圖1中描述了無線HART節點A與節點B間的一次通信,節點A在T1時刻發送一個數據包給節點B,節點B在T2時刻接收到A所發送的數據包,節點B在T3數據包發送一個應答數據包,節點A在T4時刻接收到B所發送的應答數據包。T1、T2、T3,T4為節點時鐘,四者存在以下關系:本文引用地址:http://www.104case.com/article/154686.htm

式中,

表示A到B的時間延遲,

表示B到A的時間延遲。在整個通信過程中,延遲主要發送在層與層間數據傳送以及點與點之間數據傳輸過程中。式(1)中

以及式(2)中

分別表示T1時刻節點A對節點B的時鐘漂移和T4時刻節點A對節點B的時鐘漂移,盡管由于環境因數(如溫度、壓力等)的影響,時鐘漂移每一個時刻都在發生,二者并不完全相等,但一般情況二者一次通信進行的時間間隔較短,可以認為二者幾乎相等。同樣假定

和

相等。
通過式(1)和式(2)可得出延遲時間以及漂移時間:

節點將根據式(3)和式(4)所求出的延遲時間以及漂移時間進行時鐘的主動同步與被動同步。
時鐘同步由兩步驟完成,首先選取時鐘源,網絡管理節點作為時鐘服務器,并選取若干節點作為網絡時鐘源:然后在同步過程,每一個節點通過與時鐘源進行被動或主動的時鐘同步。其中,主動同步為當高層節點向低層節點發送數據時,低層節點記錄數據包實際到達時間與計算達到時間的偏移調整本地時鐘;被動同步為當低層節點向高層節點發送數據時,底層節點等待并接收高層節點的應答數據包,并利用應答數據包中所包含的時鐘偏移信息進行時鐘調整。
高層節點發送邀請數據包,待加入節點接收邀請數據包并完成一次被動同步過程;高層節點發送偵聽數據包,判斷臨近節點是否處于網絡并完成一次被動同步過程;低層節點通過接收一次數據包完成一次被動同步過程;底層節點通過接收高層節點的應答數據包完成一次主動同步過程。整個同步網絡低層同步高層,整個網絡時鐘以根時鐘源為基準實現整個網絡的時鐘同步。根時鐘源可根據實際情況采用可行方
法(如GPRS等)與理想時鐘同步。
3.3 數據鏈路調度實現
3.3.1 調度
數據鏈路層在實現無線HART網絡全網時鐘同步的基礎上,主要負責鏈路的調度,控制著數據的發送和接收,從而保證網絡的正常通信。鏈路調度通過查詢活動超幀表、鏈接表、數據等表從而決定下一個將要通信的時隙。所有的接收鏈接將會被允許通信。網絡層發出發送數據請求,若待定表中已無空余空間,調用失敗,否則數據包進入待定表中的同時查詢等待表是否存在相同目的地址的高優先級數據包,若不存在,數據包進入等待表中等待發送,否則保存在待定表中,待發送表根據目的地址的類型進行查詢,鄰居地址查詢鄰居表、圖地址查詢圖表的基礎上再查詢鄰居表,最終鄰居地址、圖地址、廣播地址、代理地址的4種都將查詢鏈路表獲得相應鏈路并設置為發送類型(TX=1),之后進入等待狀態。
當ASN到達相應時隙,數據包根據TXRX的值進入發送、接收、休眠狀態。如圖2所示。

評論