《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 無線HART數(shù)據鏈路層設計與實現(xiàn)
無線HART數(shù)據鏈路層設計與實現(xiàn)
電子設計工程
吳志盛 劉 楓
摘要: 無線HART是一種專門為過程控制領域而設計的網絡通信協(xié)議,,是HART現(xiàn)場總線在無線領域的延伸,,其通信模型主要由應用層,、網絡層、數(shù)據鏈路層,、物理層組成。其中數(shù)據鏈路層在物理層提供服務的基礎上向網絡層提供服務,,其最基本的服務就是將來自節(jié)點網絡層的數(shù)據可靠的傳輸?shù)较噜徆?jié)點的網絡層,。數(shù)據鏈路層協(xié)議主要用于建立可靠的點到點的單跳通信。在層型的拓撲結構上實現(xiàn)無線HART數(shù)據鏈路層通信協(xié)議,,這里所設計的算法已成功應用于無線HART單跳網絡,。
Abstract:
Key words :

無線HART是一種專門為過程控制領域而設計的網絡通信協(xié)議,是HART現(xiàn)場總線在無線領域的延伸,,其通信模型主要由應用層,、網絡層、數(shù)據鏈路層,、物理層組成,。其中數(shù)據鏈路層在物理層提供服務的基礎上向網絡層提供服務,其最基本的服務就是將來自節(jié)點網絡層的數(shù)據可靠的傳輸?shù)较噜徆?jié)點的網絡層,。數(shù)據鏈路層協(xié)議主要用于建立可靠的點到點的單跳通信,。在層型的拓撲結構上實現(xiàn)無線HART數(shù)據鏈路層通信協(xié)議,這里所設計的算法已成功應用于無線HART單跳網絡,。

1 無線HART拓撲結構
   
無線通信網絡拓撲主要包括星型和網狀兩種結構,,星型單跳網絡支持高可靠性的網絡通信,而網狀多跳網絡支持遠距離通信,,無線HART協(xié)議支持網狀拓撲結構和星型拓撲兩種結構,,用戶可根據實際需要選擇星型或網狀拓撲結構,,或者介于二者之間的拓撲結構。本文根據工業(yè)現(xiàn)場的實際要求,,采用星型和網狀結合的兩層網絡拓撲結構,,第一層是網狀結構,由網關和路由設備構成,;第二層是星型結構,,由路由設備以及現(xiàn)場設備構成。其中,,網關負責無線HART網絡與工廠內的其他網絡的協(xié)議轉換與數(shù)據映射,。簇首作為網絡管理者的代理,負責構建由現(xiàn)場設備和路由設備構成的星型結構,,監(jiān)測星型結構性能,;作為安全管理者代理,負責合并及轉發(fā)簇成員的數(shù)據,;負責轉發(fā)其他簇首的數(shù)據,。簇成員負責獲取現(xiàn)場數(shù)據并發(fā)送到簇首。
 
2 無線HART數(shù)據鏈路層協(xié)議
   
無線HART數(shù)據鏈路層包括邏輯鏈路層協(xié)議(LLC)和介質訪問控制層協(xié)議(MAC),,數(shù)據鏈路層主要定義數(shù)據幀格式,,介質訪問控制層主要負責管理和協(xié)調通信資源的分配和使用。

2.1 邏輯鏈路層
2.1.1 幀格式

   
其中,,地址指示為無線HART網絡支持兩種地址格式,,一種用于局域網的短地址,一種用于廣域網的長地址,。其中短地址由16位二進制組成,,用戶可自行定義:長地址由64位二進制數(shù)組成,64位中高24位表示設備ID,,低24位表示0UI地址(由IEEE STD 802.15.4協(xié)議分配,,其中無線HART的OUI地址為0x00181E),中間16位表示設備類型(設備生產廠家確定),;時序號為絕對時序號的最低8位,;網絡ID為無線HART根據網絡應用類型確定的網絡ID號:數(shù)據包指示為數(shù)據包指示由8位二進制數(shù)組成,低3位表示數(shù)據包的類型,,第4位表示網絡密鑰,,第5、6位表示數(shù)據包的優(yōu)先級,。
    無線HART數(shù)據包分為ACK,、Advertise、Keep alive、Disconnect,、Data5種類型,,分為命令、過程數(shù)據,、一般,、報警4種優(yōu)先級。發(fā)送數(shù)據來自網絡層并需要發(fā)送的數(shù)據,。MIC為網絡授權檢測,。CRC為數(shù)據完整性檢測。

2.2 MAC協(xié)議分析
   
無線HART鏈路調度主要通過以鄰居表位核心的五張表實現(xiàn),,其中超幀表記錄超幀的分配和使用狀態(tài),;鏈路表記錄鏈路(通信資源)的分配和使用狀態(tài);鄰居表記錄著節(jié)點本身的鄰居節(jié)點(處于節(jié)點單挑通信范圍之類的節(jié)點稱為該節(jié)點的鄰居節(jié)點),;路由表記錄著多跳網絡中的路由信息,;緩沖表存儲著待發(fā)送的數(shù)據同時記錄優(yōu)先級以及等待時間等狀態(tài)。
   
無線HART網絡中每一個節(jié)點都支持多個超幀,,網絡管理者完成超幀的構建和維護,,并根據網絡需求進行時隙鏈路的分配。每一個超幀包含一定數(shù)量的時隙,。超幀一旦建立,,網絡管理者為該超幀增加,、刪除,、優(yōu)化鏈路時隙。一旦分配時隙,,超幀應該使能從而允許鏈路的調度,。鏈接表中一個鏈接表示一個通信機會,通過鏈接表實現(xiàn)目標鄰居節(jié)點的識別,,時隙,、超幀序列號、發(fā)送接收方向,、鏈路類別,、信道。鄰居表維護并記錄著一組能與節(jié)點直接通信(單跳)鄰居節(jié)點,,通過鄰居表可查詢鄰居節(jié)點地址,、時鐘源標志、通信數(shù)據量,、節(jié)點最后通信時間,、通信節(jié)點狀態(tài)、節(jié)點通信優(yōu)先級。圖表提供上行和下行多跳網絡的路由信息,,其元素主要由多個路由路徑節(jié)點信息,,圖標主要由網絡管理者實現(xiàn)管理。緩沖表主要用于節(jié)點存儲待發(fā)送數(shù)據,,記錄著數(shù)據包的ID,、優(yōu)先級、目的地址類型,、保存時間,。
 
3 無線HART數(shù)據鏈路層設計與實現(xiàn)
3.1 通信資源分配

   
無線HART網絡采用頻分多址(FDMA)和時分多址(TDMA)混合的信道訪問機制。無線HART協(xié)議采用集中式資源分配方式,,即通信資源由網絡管理器統(tǒng)一分配,。無線HART網絡工作于2.4 GHz射頻頻段。為了保證系統(tǒng)能在非常惡劣的工業(yè)現(xiàn)場通信環(huán)境中實時,、可靠的工作,,無線HART采用TDMA和FDMA的混合信道分文機制。TDMA技術將每一個時隙復用到2.4 GHz的16個信道上,,使系統(tǒng)的有效帶寬提高了16倍,。
   
為了進行資源分配,首先建立通信資源矩陣,??v坐標表示信道頻率,橫坐標表示時隙,,矩陣中的每個單元表示一個通信資源,,每個通信資源用頻率和時隙的二元組來唯一標示。每個矩陣元素包含如下通信資源和鏈路的信息:占用標志位,,鏈路的源節(jié)點,、鏈路的目的節(jié)點、鏈路的類型,。矩陣中每個元素都被初始化為0,,當某個通信資源已經被分配,矩陣中對應元素的占用標志位被置為1,,并填充相應的通信資源信息,。
    無線HART網絡中,通信資源有NORMAL,、ADVERTIS,、JOIN和DISCOVERY 4種類型,NORMAL通信資源主要用于過程數(shù)據和管理命令的傳輸,,ADVERTISE通信資源用于廣播網絡信息以方便新節(jié)點加入網絡,,JOIN通信資源用于新設備加入,,DISCOVERY通信資源用于鄰居發(fā)現(xiàn)。其中NORM-AL類型的通信資源與路由路徑相關,,其他的資源都與路由路徑無關,,重點考慮NORMAL通信資源的分配。NORMAL通信資源分配以所建立的拓撲結構為基礎,,以圖表和鄰居表為分配圖,,根據所建立的兩層結構進行兩層分配。
    1)簇內通信
簇內所有的通信節(jié)點的通信資源位于矩陣的同一行,,并按照時隙進一步分配,。對于下行通信,每一資源的源地址為簇首節(jié)點,,目的地址為節(jié)點地址,;對于上行通信,每一分資源的源地址為節(jié)點地址,,目的地址為簇首節(jié)點,。
    2)簇間通信
簇間通信主要是負責簇首與網關之間的通信,而其資源主要占據矩陣中兩行,,其中上行網絡通信資源,,一行為下行網絡通信資源。在資源不滿足的情況下,,可以根據資源分配的具體情況進行拓展,,但必須以雙行網絡為前提,而且上行還有下行資源不能占據同一個時隙,。分配的路徑以圖表和鄰居表為分配路徑,,進行上行和下行節(jié)點的分配。
3.2 時間同步實現(xiàn)
   
整個網絡的時鐘同步對于無線HART的TDMA通信是十分必要的,,設備間的時鐘偏移是不可避免的,,TDMA網絡節(jié)點實現(xiàn)全網完全同步并不現(xiàn)實,而且精確度越高能量消耗就越大,,因此無線HART節(jié)點需要在精確度與能耗之間取得平衡,在滿足網絡TDMA時隙通信要求的基礎上盡可能的降低能耗,。
   
無線HART為工業(yè)環(huán)境的無線通信協(xié)議,,其對穩(wěn)定性、可靠性有著比一般通信網絡更高的要求,;而無線HART作為一個mesh的無線通信網需要實現(xiàn)全局的時間同步,,但是由于硬件設備以及能量等問題,使得傳統(tǒng)的有線時間同步的算法以及常規(guī)的WSN時間同步算法無法在無線HART中實現(xiàn),。為此以最小能耗為設計目標,,設計一個多層次、全局、不問斷的同步策略應用簡易但有效的同步算法實現(xiàn)無線HART-TDMA時間同步,。圖1為相鄰節(jié)點通信,。

   
圖1中描述了無線HART節(jié)點A與節(jié)點B間的一次通信,節(jié)點A在T1時刻發(fā)送一個數(shù)據包給節(jié)點B,,節(jié)點B在T2時刻接收到A所發(fā)送的數(shù)據包,,節(jié)點B在T3數(shù)據包發(fā)送一個應答數(shù)據包,節(jié)點A在T4時刻接收到B所發(fā)送的應答數(shù)據包,。T1,、T2、T3,,T4為節(jié)點時鐘,,四者存在以下關系:
   
式中,表示A到B的時間延遲,,表示B到A的時間延遲,。在整個通信過程中,延遲主要發(fā)送在層與層間數(shù)據傳送以及點與點之間數(shù)據傳輸過程中,。式(1)中以及式(2)中分別表示T1時刻節(jié)點A對節(jié)點B的時鐘漂移和T4時刻節(jié)點A對節(jié)點B的時鐘漂移,,盡管由于環(huán)境因數(shù)(如溫度、壓力等)的影響,,時鐘漂移每一個時刻都在發(fā)生,,二者并不完全相等,但一般情況二者一次通信進行的時間間隔較短,,可以認為二者幾乎相等,。同樣假定相等。
    通過式(1)和式(2)可得出延遲時間以及漂移時間:
   
    節(jié)點將根據式(3)和式(4)所求出的延遲時間以及漂移時間進行時鐘的主動同步與被動同步,。
   
時鐘同步由兩步驟完成,,首先選取時鐘源,網絡管理節(jié)點作為時鐘服務器,,并選取若干節(jié)點作為網絡時鐘源:然后在同步過程,,每一個節(jié)點通過與時鐘源進行被動或主動的時鐘同步。其中,,主動同步為當高層節(jié)點向低層節(jié)點發(fā)送數(shù)據時,,低層節(jié)點記錄數(shù)據包實際到達時間與計算達到時間的偏移調整本地時鐘;被動同步為當?shù)蛯庸?jié)點向高層節(jié)點發(fā)送數(shù)據時,,底層節(jié)點等待并接收高層節(jié)點的應答數(shù)據包,,并利用應答數(shù)據包中所包含的時鐘偏移信息進行時鐘調整。
   
高層節(jié)點發(fā)送邀請數(shù)據包,,待加入節(jié)點接收邀請數(shù)據包并完成一次被動同步過程,;高層節(jié)點發(fā)送偵聽數(shù)據包,,判斷臨近節(jié)點是否處于網絡并完成一次被動同步過程;低層節(jié)點通過接收一次數(shù)據包完成一次被動同步過程,;底層節(jié)點通過接收高層節(jié)點的應答數(shù)據包完成一次主動同步過程,。整個同步網絡低層同步高層,整個網絡時鐘以根時鐘源為基準實現(xiàn)整個網絡的時鐘同步,。根時鐘源可根據實際情況采用可行方
法(如GPRS等)與理想時鐘同步,。

3.3 數(shù)據鏈路調度實現(xiàn)
3.3.1 調度

   
數(shù)據鏈路層在實現(xiàn)無線HART網絡全網時鐘同步的基礎上,主要負責鏈路的調度,,控制著數(shù)據的發(fā)送和接收,,從而保證網絡的正常通信。鏈路調度通過查詢活動超幀表,、鏈接表,、數(shù)據等表從而決定下一個將要通信的時隙。所有的接收鏈接將會被允許通信,。網絡層發(fā)出發(fā)送數(shù)據請求,,若待定表中已無空余空間,調用失敗,,否則數(shù)據包進入待定表中的同時查詢等待表是否存在相同目的地址的高優(yōu)先級數(shù)據包,,若不存在,數(shù)據包進入等待表中等待發(fā)送,,否則保存在待定表中,,待發(fā)送表根據目的地址的類型進行查詢,鄰居地址查詢鄰居表,、圖地址查詢圖表的基礎上再查詢鄰居表,,最終鄰居地址、圖地址,、廣播地址,、代理地址的4種都將查詢鏈路表獲得相應鏈路并設置為發(fā)送類型(TX=1),之后進入等待狀態(tài),。
    當ASN到達相應時隙,,數(shù)據包根據TX\RX的值進入發(fā)送、接收,、休眠狀態(tài),。如圖2所示。
 
3.3.2 狀態(tài)機
   
圖3為TDMA狀態(tài)機,,該狀態(tài)機建立在邏輯鏈路層所建立的四張調度表以及調度機制的基礎上,TDMA狀態(tài)機開始于節(jié)點加入無線HART網絡,,加入的同時建立狀態(tài)機所需要的超幀表,、圖表,、鏈路表,開始從鄰居節(jié)點接收數(shù)據并以此為基礎建立鄰居表,。節(jié)點維護存儲著一列待發(fā)送數(shù)據包,,當一個發(fā)送時隙發(fā)生,節(jié)點將會嘗試發(fā)送數(shù)據包,。發(fā)送數(shù)據包包括發(fā)送數(shù)據包和接收ACK應答兩個過程,。當一個發(fā)送時隙產生,進入發(fā)送狀態(tài),。成功發(fā)送一個廣播地址的數(shù)據包在數(shù)據包發(fā)送之后結束,,并從等待表中刪除。成功發(fā)送一個非廣播地址的數(shù)據包,,節(jié)點將等待ACK應答數(shù)據包,,ACK數(shù)據包將表明數(shù)據包是成功接收還是出現(xiàn)接收錯誤。如果目的地址是廣播地址,,將不會有ACK應答數(shù)據包,,發(fā)送完成并進入空閑狀態(tài)進行調度表的更新;成功發(fā)送一個非廣播地址數(shù)據包,,進行數(shù)據完整性和權限完整性檢驗,,TDMA狀態(tài)機進入等待ACK狀態(tài),如果無ACK應答表明發(fā)送失敗,。如果是一個共享鏈接,,將啟動重發(fā)機制,若最終依然失敗,,進入空閑狀態(tài)更新調度表,。如果一個ACK應答數(shù)據包被成功接收,節(jié)點根據ACK確定發(fā)送是否成功,,若發(fā)送成功,,進入空閑狀態(tài)更新調度表。如果顯示發(fā)送錯誤,,將啟動重發(fā)機制。所有的接收鏈接都將在沒有發(fā)送請求的基礎被全部服務,,節(jié)點接收數(shù)據有三種可能:1)數(shù)據包的目的地址就是節(jié)點地址,;2)數(shù)據包目的地址是路由地址;3)數(shù)據包目的地址非以上兩種情況,。每一次接收數(shù)據,鄰居表都將被更新維護,。
4 結論
   
以無線HART協(xié)議為基礎根據工業(yè)現(xiàn)場的特點,,設計并實現(xiàn)了數(shù)據鏈路層協(xié)議模型。在以無線HART適配器節(jié)點為平臺的實驗結果表明,,模型所實現(xiàn)的時鐘同步精度達到30μs,,滿足工業(yè)現(xiàn)場要求的前提下降低了節(jié)點的能耗,以模型為基礎的無線HART節(jié)點成功組建形成無線HART單跳網絡,。
此內容為AET網站原創(chuàng),未經授權禁止轉載,。