以無線HART協(xié)議為基礎的數(shù)據(jù)鏈路層協(xié)議模型設計
圖1中描述了無線HART節(jié)點A與節(jié)點B間的一次通信,節(jié)點A在T1時刻發(fā)送一個數(shù)據(jù)包給節(jié)點B,節(jié)點B在T2時刻接收到A所發(fā)送的數(shù)據(jù)包,節(jié)點B在T3數(shù)據(jù)包發(fā)送一個應答數(shù)據(jù)包,節(jié)點A在T4時刻接收到B所發(fā)送的應答數(shù)據(jù)包。T1、T2、T3,T4為節(jié)點時鐘,四者存在以下關系:本文引用地址:http://2s4d.com/article/154686.htm
式中,
表示A到B的時間延遲,
表示B到A的時間延遲。在整個通信過程中,延遲主要發(fā)送在層與層間數(shù)據(jù)傳送以及點與點之間數(shù)據(jù)傳輸過程中。式(1)中
以及式(2)中
分別表示T1時刻節(jié)點A對節(jié)點B的時鐘漂移和T4時刻節(jié)點A對節(jié)點B的時鐘漂移,盡管由于環(huán)境因數(shù)(如溫度、壓力等)的影響,時鐘漂移每一個時刻都在發(fā)生,二者并不完全相等,但一般情況二者一次通信進行的時間間隔較短,可以認為二者幾乎相等。同樣假定
和
相等。
通過式(1)和式(2)可得出延遲時間以及漂移時間:
節(jié)點將根據(jù)式(3)和式(4)所求出的延遲時間以及漂移時間進行時鐘的主動同步與被動同步。
時鐘同步由兩步驟完成,首先選取時鐘源,網(wǎng)絡管理節(jié)點作為時鐘服務器,并選取若干節(jié)點作為網(wǎng)絡時鐘源:然后在同步過程,每一個節(jié)點通過與時鐘源進行被動或主動的時鐘同步。其中,主動同步為當高層節(jié)點向低層節(jié)點發(fā)送數(shù)據(jù)時,低層節(jié)點記錄數(shù)據(jù)包實際到達時間與計算達到時間的偏移調整本地時鐘;被動同步為當?shù)蛯庸?jié)點向高層節(jié)點發(fā)送數(shù)據(jù)時,底層節(jié)點等待并接收高層節(jié)點的應答數(shù)據(jù)包,并利用應答數(shù)據(jù)包中所包含的時鐘偏移信息進行時鐘調整。
高層節(jié)點發(fā)送邀請數(shù)據(jù)包,待加入節(jié)點接收邀請數(shù)據(jù)包并完成一次被動同步過程;高層節(jié)點發(fā)送偵聽數(shù)據(jù)包,判斷臨近節(jié)點是否處于網(wǎng)絡并完成一次被動同步過程;低層節(jié)點通過接收一次數(shù)據(jù)包完成一次被動同步過程;底層節(jié)點通過接收高層節(jié)點的應答數(shù)據(jù)包完成一次主動同步過程。整個同步網(wǎng)絡低層同步高層,整個網(wǎng)絡時鐘以根時鐘源為基準實現(xiàn)整個網(wǎng)絡的時鐘同步。根時鐘源可根據(jù)實際情況采用可行方
法(如GPRS等)與理想時鐘同步。
3.3 數(shù)據(jù)鏈路調度實現(xiàn)
3.3.1 調度
數(shù)據(jù)鏈路層在實現(xiàn)無線HART網(wǎng)絡全網(wǎng)時鐘同步的基礎上,主要負責鏈路的調度,控制著數(shù)據(jù)的發(fā)送和接收,從而保證網(wǎng)絡的正常通信。鏈路調度通過查詢活動超幀表、鏈接表、數(shù)據(jù)等表從而決定下一個將要通信的時隙。所有的接收鏈接將會被允許通信。網(wǎng)絡層發(fā)出發(fā)送數(shù)據(jù)請求,若待定表中已無空余空間,調用失敗,否則數(shù)據(jù)包進入待定表中的同時查詢等待表是否存在相同目的地址的高優(yōu)先級數(shù)據(jù)包,若不存在,數(shù)據(jù)包進入等待表中等待發(fā)送,否則保存在待定表中,待發(fā)送表根據(jù)目的地址的類型進行查詢,鄰居地址查詢鄰居表、圖地址查詢圖表的基礎上再查詢鄰居表,最終鄰居地址、圖地址、廣播地址、代理地址的4種都將查詢鏈路表獲得相應鏈路并設置為發(fā)送類型(TX=1),之后進入等待狀態(tài)。
當ASN到達相應時隙,數(shù)據(jù)包根據(jù)TXRX的值進入發(fā)送、接收、休眠狀態(tài)。如圖2所示。
評論