無線HART數(shù)據(jù)鏈路層設(shè)計(jì)與實(shí)現(xiàn)
電子設(shè)計(jì)工程
吳志盛 劉 楓
摘要: 無線HART是一種專門為過程控制領(lǐng)域而設(shè)計(jì)的網(wǎng)絡(luò)通信協(xié)議,,是HART現(xiàn)場(chǎng)總線在無線領(lǐng)域的延伸,,其通信模型主要由應(yīng)用層、網(wǎng)絡(luò)層,、數(shù)據(jù)鏈路層、物理層組成,。其中數(shù)據(jù)鏈路層在物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),,其最基本的服務(wù)就是將來自節(jié)點(diǎn)網(wǎng)絡(luò)層的數(shù)據(jù)可靠的傳輸?shù)较噜徆?jié)點(diǎn)的網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層協(xié)議主要用于建立可靠的點(diǎn)到點(diǎn)的單跳通信,。在層型的拓?fù)浣Y(jié)構(gòu)上實(shí)現(xiàn)無線HART數(shù)據(jù)鏈路層通信協(xié)議,,這里所設(shè)計(jì)的算法已成功應(yīng)用于無線HART單跳網(wǎng)絡(luò)。
Abstract:
Key words :
無線HART是一種專門為過程控制領(lǐng)域而設(shè)計(jì)的網(wǎng)絡(luò)通信協(xié)議,,是HART現(xiàn)場(chǎng)總線在無線領(lǐng)域的延伸,,其通信模型主要由應(yīng)用層、網(wǎng)絡(luò)層,、數(shù)據(jù)鏈路層,、物理層組成。其中數(shù)據(jù)鏈路層在物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),,其最基本的服務(wù)就是將來自節(jié)點(diǎn)網(wǎng)絡(luò)層的數(shù)據(jù)可靠的傳輸?shù)较噜徆?jié)點(diǎn)的網(wǎng)絡(luò)層,。數(shù)據(jù)鏈路層協(xié)議主要用于建立可靠的點(diǎn)到點(diǎn)的單跳通信,。在層型的拓?fù)浣Y(jié)構(gòu)上實(shí)現(xiàn)無線HART數(shù)據(jù)鏈路層通信協(xié)議,,這里所設(shè)計(jì)的算法已成功應(yīng)用于無線HART單跳網(wǎng)絡(luò)。
1 無線HART拓?fù)浣Y(jié)構(gòu)
無線通信網(wǎng)絡(luò)拓?fù)渲饕ㄐ切秃途W(wǎng)狀兩種結(jié)構(gòu),,星型單跳網(wǎng)絡(luò)支持高可靠性的網(wǎng)絡(luò)通信,,而網(wǎng)狀多跳網(wǎng)絡(luò)支持遠(yuǎn)距離通信,無線HART協(xié)議支持網(wǎng)狀拓?fù)浣Y(jié)構(gòu)和星型拓?fù)鋬煞N結(jié)構(gòu),,用戶可根據(jù)實(shí)際需要選擇星型或網(wǎng)狀拓?fù)浣Y(jié)構(gòu),,或者介于二者之間的拓?fù)浣Y(jié)構(gòu)。本文根據(jù)工業(yè)現(xiàn)場(chǎng)的實(shí)際要求,,采用星型和網(wǎng)狀結(jié)合的兩層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),,第一層是網(wǎng)狀結(jié)構(gòu),由網(wǎng)關(guān)和路由設(shè)備構(gòu)成,;第二層是星型結(jié)構(gòu),,由路由設(shè)備以及現(xiàn)場(chǎng)設(shè)備構(gòu)成。其中,,網(wǎng)關(guān)負(fù)責(zé)無線HART網(wǎng)絡(luò)與工廠內(nèi)的其他網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換與數(shù)據(jù)映射,。簇首作為網(wǎng)絡(luò)管理者的代理,負(fù)責(zé)構(gòu)建由現(xiàn)場(chǎng)設(shè)備和路由設(shè)備構(gòu)成的星型結(jié)構(gòu),,監(jiān)測(cè)星型結(jié)構(gòu)性能,;作為安全管理者代理,負(fù)責(zé)合并及轉(zhuǎn)發(fā)簇成員的數(shù)據(jù);負(fù)責(zé)轉(zhuǎn)發(fā)其他簇首的數(shù)據(jù),。簇成員負(fù)責(zé)獲取現(xiàn)場(chǎng)數(shù)據(jù)并發(fā)送到簇首,。
無線通信網(wǎng)絡(luò)拓?fù)渲饕ㄐ切秃途W(wǎng)狀兩種結(jié)構(gòu),,星型單跳網(wǎng)絡(luò)支持高可靠性的網(wǎng)絡(luò)通信,,而網(wǎng)狀多跳網(wǎng)絡(luò)支持遠(yuǎn)距離通信,無線HART協(xié)議支持網(wǎng)狀拓?fù)浣Y(jié)構(gòu)和星型拓?fù)鋬煞N結(jié)構(gòu),,用戶可根據(jù)實(shí)際需要選擇星型或網(wǎng)狀拓?fù)浣Y(jié)構(gòu),,或者介于二者之間的拓?fù)浣Y(jié)構(gòu)。本文根據(jù)工業(yè)現(xiàn)場(chǎng)的實(shí)際要求,,采用星型和網(wǎng)狀結(jié)合的兩層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),,第一層是網(wǎng)狀結(jié)構(gòu),由網(wǎng)關(guān)和路由設(shè)備構(gòu)成,;第二層是星型結(jié)構(gòu),,由路由設(shè)備以及現(xiàn)場(chǎng)設(shè)備構(gòu)成。其中,,網(wǎng)關(guān)負(fù)責(zé)無線HART網(wǎng)絡(luò)與工廠內(nèi)的其他網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換與數(shù)據(jù)映射,。簇首作為網(wǎng)絡(luò)管理者的代理,負(fù)責(zé)構(gòu)建由現(xiàn)場(chǎng)設(shè)備和路由設(shè)備構(gòu)成的星型結(jié)構(gòu),,監(jiān)測(cè)星型結(jié)構(gòu)性能,;作為安全管理者代理,負(fù)責(zé)合并及轉(zhuǎn)發(fā)簇成員的數(shù)據(jù);負(fù)責(zé)轉(zhuǎn)發(fā)其他簇首的數(shù)據(jù),。簇成員負(fù)責(zé)獲取現(xiàn)場(chǎng)數(shù)據(jù)并發(fā)送到簇首,。
2 無線HART數(shù)據(jù)鏈路層協(xié)議
無線HART數(shù)據(jù)鏈路層包括邏輯鏈路層協(xié)議(LLC)和介質(zhì)訪問控制層協(xié)議(MAC),數(shù)據(jù)鏈路層主要定義數(shù)據(jù)幀格式,,介質(zhì)訪問控制層主要負(fù)責(zé)管理和協(xié)調(diào)通信資源的分配和使用,。
無線HART數(shù)據(jù)鏈路層包括邏輯鏈路層協(xié)議(LLC)和介質(zhì)訪問控制層協(xié)議(MAC),數(shù)據(jù)鏈路層主要定義數(shù)據(jù)幀格式,,介質(zhì)訪問控制層主要負(fù)責(zé)管理和協(xié)調(diào)通信資源的分配和使用,。
2.1 邏輯鏈路層
2.1.1 幀格式
其中,地址指示為無線HART網(wǎng)絡(luò)支持兩種地址格式,,一種用于局域網(wǎng)的短地址,,一種用于廣域網(wǎng)的長(zhǎng)地址。其中短地址由16位二進(jìn)制組成,,用戶可自行定義:長(zhǎng)地址由64位二進(jìn)制數(shù)組成,,64位中高24位表示設(shè)備ID,低24位表示0UI地址(由IEEE STD 802.15.4協(xié)議分配,,其中無線HART的OUI地址為0x00181E),,中間16位表示設(shè)備類型(設(shè)備生產(chǎn)廠家確定);時(shí)序號(hào)為絕對(duì)時(shí)序號(hào)的最低8位,;網(wǎng)絡(luò)ID為無線HART根據(jù)網(wǎng)絡(luò)應(yīng)用類型確定的網(wǎng)絡(luò)ID號(hào):數(shù)據(jù)包指示為數(shù)據(jù)包指示由8位二進(jìn)制數(shù)組成,,低3位表示數(shù)據(jù)包的類型,第4位表示網(wǎng)絡(luò)密鑰,,第5,、6位表示數(shù)據(jù)包的優(yōu)先級(jí)。
無線HART數(shù)據(jù)包分為ACK,、Advertise,、Keep alive、Disconnect,、Data5種類型,,分為命令、過程數(shù)據(jù),、一般,、報(bào)警4種優(yōu)先級(jí)。發(fā)送數(shù)據(jù)來自網(wǎng)絡(luò)層并需要發(fā)送的數(shù)據(jù),。MIC為網(wǎng)絡(luò)授權(quán)檢測(cè),。CRC為數(shù)據(jù)完整性檢測(cè)。
2.2 MAC協(xié)議分析
無線HART鏈路調(diào)度主要通過以鄰居表位核心的五張表實(shí)現(xiàn),,其中超幀表記錄超幀的分配和使用狀態(tài),;鏈路表記錄鏈路(通信資源)的分配和使用狀態(tài);鄰居表記錄著節(jié)點(diǎn)本身的鄰居節(jié)點(diǎn)(處于節(jié)點(diǎn)單挑通信范圍之類的節(jié)點(diǎn)稱為該節(jié)點(diǎn)的鄰居節(jié)點(diǎn)),;路由表記錄著多跳網(wǎng)絡(luò)中的路由信息,;緩沖表存儲(chǔ)著待發(fā)送的數(shù)據(jù)同時(shí)記錄優(yōu)先級(jí)以及等待時(shí)間等狀態(tài),。
無線HART網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)都支持多個(gè)超幀,網(wǎng)絡(luò)管理者完成超幀的構(gòu)建和維護(hù),,并根據(jù)網(wǎng)絡(luò)需求進(jìn)行時(shí)隙鏈路的分配,。每一個(gè)超幀包含一定數(shù)量的時(shí)隙。超幀一旦建立,,網(wǎng)絡(luò)管理者為該超幀增加,、刪除、優(yōu)化鏈路時(shí)隙,。一旦分配時(shí)隙,,超幀應(yīng)該使能從而允許鏈路的調(diào)度。鏈接表中一個(gè)鏈接表示一個(gè)通信機(jī)會(huì),,通過鏈接表實(shí)現(xiàn)目標(biāo)鄰居節(jié)點(diǎn)的識(shí)別,,時(shí)隙、超幀序列號(hào),、發(fā)送接收方向,、鏈路類別、信道,。鄰居表維護(hù)并記錄著一組能與節(jié)點(diǎn)直接通信(單跳)鄰居節(jié)點(diǎn),,通過鄰居表可查詢鄰居節(jié)點(diǎn)地址、時(shí)鐘源標(biāo)志,、通信數(shù)據(jù)量,、節(jié)點(diǎn)最后通信時(shí)間、通信節(jié)點(diǎn)狀態(tài),、節(jié)點(diǎn)通信優(yōu)先級(jí),。圖表提供上行和下行多跳網(wǎng)絡(luò)的路由信息,,其元素主要由多個(gè)路由路徑節(jié)點(diǎn)信息,,圖標(biāo)主要由網(wǎng)絡(luò)管理者實(shí)現(xiàn)管理。緩沖表主要用于節(jié)點(diǎn)存儲(chǔ)待發(fā)送數(shù)據(jù),,記錄著數(shù)據(jù)包的ID,、優(yōu)先級(jí)、目的地址類型,、保存時(shí)間,。
3 無線HART數(shù)據(jù)鏈路層設(shè)計(jì)與實(shí)現(xiàn)
3.1 通信資源分配
無線HART網(wǎng)絡(luò)采用頻分多址(FDMA)和時(shí)分多址(TDMA)混合的信道訪問機(jī)制。無線HART協(xié)議采用集中式資源分配方式,,即通信資源由網(wǎng)絡(luò)管理器統(tǒng)一分配,。無線HART網(wǎng)絡(luò)工作于2.4 GHz射頻頻段。為了保證系統(tǒng)能在非常惡劣的工業(yè)現(xiàn)場(chǎng)通信環(huán)境中實(shí)時(shí),、可靠的工作,,無線HART采用TDMA和FDMA的混合信道分文機(jī)制,。TDMA技術(shù)將每一個(gè)時(shí)隙復(fù)用到2.4 GHz的16個(gè)信道上,使系統(tǒng)的有效帶寬提高了16倍,。
為了進(jìn)行資源分配,,首先建立通信資源矩陣??v坐標(biāo)表示信道頻率,,橫坐標(biāo)表示時(shí)隙,矩陣中的每個(gè)單元表示一個(gè)通信資源,,每個(gè)通信資源用頻率和時(shí)隙的二元組來唯一標(biāo)示,。每個(gè)矩陣元素包含如下通信資源和鏈路的信息:占用標(biāo)志位,鏈路的源節(jié)點(diǎn),、鏈路的目的節(jié)點(diǎn),、鏈路的類型。矩陣中每個(gè)元素都被初始化為0,,當(dāng)某個(gè)通信資源已經(jīng)被分配,,矩陣中對(duì)應(yīng)元素的占用標(biāo)志位被置為1,并填充相應(yīng)的通信資源信息,。
無線HART網(wǎng)絡(luò)中,,通信資源有NORMAL、ADVERTIS,、JOIN和DISCOVERY 4種類型,,NORMAL通信資源主要用于過程數(shù)據(jù)和管理命令的傳輸,ADVERTISE通信資源用于廣播網(wǎng)絡(luò)信息以方便新節(jié)點(diǎn)加入網(wǎng)絡(luò),,JOIN通信資源用于新設(shè)備加入,,DISCOVERY通信資源用于鄰居發(fā)現(xiàn)。其中NORM-AL類型的通信資源與路由路徑相關(guān),,其他的資源都與路由路徑無關(guān),,重點(diǎn)考慮NORMAL通信資源的分配。NORMAL通信資源分配以所建立的拓?fù)浣Y(jié)構(gòu)為基礎(chǔ),,以圖表和鄰居表為分配圖,,根據(jù)所建立的兩層結(jié)構(gòu)進(jìn)行兩層分配。
1)簇內(nèi)通信
簇內(nèi)所有的通信節(jié)點(diǎn)的通信資源位于矩陣的同一行,,并按照時(shí)隙進(jìn)一步分配,。對(duì)于下行通信,每一資源的源地址為簇首節(jié)點(diǎn),,目的地址為節(jié)點(diǎn)地址,;對(duì)于上行通信,每一分資源的源地址為節(jié)點(diǎn)地址,,目的地址為簇首節(jié)點(diǎn),。
2)簇間通信
簇間通信主要是負(fù)責(zé)簇首與網(wǎng)關(guān)之間的通信,,而其資源主要占據(jù)矩陣中兩行,其中上行網(wǎng)絡(luò)通信資源,,一行為下行網(wǎng)絡(luò)通信資源,。在資源不滿足的情況下,可以根據(jù)資源分配的具體情況進(jìn)行拓展,,但必須以雙行網(wǎng)絡(luò)為前提,,而且上行還有下行資源不能占據(jù)同一個(gè)時(shí)隙。分配的路徑以圖表和鄰居表為分配路徑,,進(jìn)行上行和下行節(jié)點(diǎn)的分配,。
3.1 通信資源分配
無線HART網(wǎng)絡(luò)采用頻分多址(FDMA)和時(shí)分多址(TDMA)混合的信道訪問機(jī)制。無線HART協(xié)議采用集中式資源分配方式,,即通信資源由網(wǎng)絡(luò)管理器統(tǒng)一分配,。無線HART網(wǎng)絡(luò)工作于2.4 GHz射頻頻段。為了保證系統(tǒng)能在非常惡劣的工業(yè)現(xiàn)場(chǎng)通信環(huán)境中實(shí)時(shí),、可靠的工作,,無線HART采用TDMA和FDMA的混合信道分文機(jī)制,。TDMA技術(shù)將每一個(gè)時(shí)隙復(fù)用到2.4 GHz的16個(gè)信道上,使系統(tǒng)的有效帶寬提高了16倍,。
為了進(jìn)行資源分配,,首先建立通信資源矩陣??v坐標(biāo)表示信道頻率,,橫坐標(biāo)表示時(shí)隙,矩陣中的每個(gè)單元表示一個(gè)通信資源,,每個(gè)通信資源用頻率和時(shí)隙的二元組來唯一標(biāo)示,。每個(gè)矩陣元素包含如下通信資源和鏈路的信息:占用標(biāo)志位,鏈路的源節(jié)點(diǎn),、鏈路的目的節(jié)點(diǎn),、鏈路的類型。矩陣中每個(gè)元素都被初始化為0,,當(dāng)某個(gè)通信資源已經(jīng)被分配,,矩陣中對(duì)應(yīng)元素的占用標(biāo)志位被置為1,并填充相應(yīng)的通信資源信息,。
無線HART網(wǎng)絡(luò)中,,通信資源有NORMAL、ADVERTIS,、JOIN和DISCOVERY 4種類型,,NORMAL通信資源主要用于過程數(shù)據(jù)和管理命令的傳輸,ADVERTISE通信資源用于廣播網(wǎng)絡(luò)信息以方便新節(jié)點(diǎn)加入網(wǎng)絡(luò),,JOIN通信資源用于新設(shè)備加入,,DISCOVERY通信資源用于鄰居發(fā)現(xiàn)。其中NORM-AL類型的通信資源與路由路徑相關(guān),,其他的資源都與路由路徑無關(guān),,重點(diǎn)考慮NORMAL通信資源的分配。NORMAL通信資源分配以所建立的拓?fù)浣Y(jié)構(gòu)為基礎(chǔ),,以圖表和鄰居表為分配圖,,根據(jù)所建立的兩層結(jié)構(gòu)進(jìn)行兩層分配。
1)簇內(nèi)通信
簇內(nèi)所有的通信節(jié)點(diǎn)的通信資源位于矩陣的同一行,,并按照時(shí)隙進(jìn)一步分配,。對(duì)于下行通信,每一資源的源地址為簇首節(jié)點(diǎn),,目的地址為節(jié)點(diǎn)地址,;對(duì)于上行通信,每一分資源的源地址為節(jié)點(diǎn)地址,,目的地址為簇首節(jié)點(diǎn),。
2)簇間通信
簇間通信主要是負(fù)責(zé)簇首與網(wǎng)關(guān)之間的通信,,而其資源主要占據(jù)矩陣中兩行,其中上行網(wǎng)絡(luò)通信資源,,一行為下行網(wǎng)絡(luò)通信資源,。在資源不滿足的情況下,可以根據(jù)資源分配的具體情況進(jìn)行拓展,,但必須以雙行網(wǎng)絡(luò)為前提,,而且上行還有下行資源不能占據(jù)同一個(gè)時(shí)隙。分配的路徑以圖表和鄰居表為分配路徑,,進(jìn)行上行和下行節(jié)點(diǎn)的分配,。
3.2 時(shí)間同步實(shí)現(xiàn)
整個(gè)網(wǎng)絡(luò)的時(shí)鐘同步對(duì)于無線HART的TDMA通信是十分必要的,設(shè)備間的時(shí)鐘偏移是不可避免的,,TDMA網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)現(xiàn)全網(wǎng)完全同步并不現(xiàn)實(shí),,而且精確度越高能量消耗就越大,因此無線HART節(jié)點(diǎn)需要在精確度與能耗之間取得平衡,,在滿足網(wǎng)絡(luò)TDMA時(shí)隙通信要求的基礎(chǔ)上盡可能的降低能耗,。
無線HART為工業(yè)環(huán)境的無線通信協(xié)議,其對(duì)穩(wěn)定性,、可靠性有著比一般通信網(wǎng)絡(luò)更高的要求,;而無線HART作為一個(gè)mesh的無線通信網(wǎng)需要實(shí)現(xiàn)全局的時(shí)間同步,但是由于硬件設(shè)備以及能量等問題,,使得傳統(tǒng)的有線時(shí)間同步的算法以及常規(guī)的WSN時(shí)間同步算法無法在無線HART中實(shí)現(xiàn),。為此以最小能耗為設(shè)計(jì)目標(biāo),設(shè)計(jì)一個(gè)多層次,、全局,、不問斷的同步策略應(yīng)用簡(jiǎn)易但有效的同步算法實(shí)現(xiàn)無線HART-TDMA時(shí)間同步。圖1為相鄰節(jié)點(diǎn)通信,。
整個(gè)網(wǎng)絡(luò)的時(shí)鐘同步對(duì)于無線HART的TDMA通信是十分必要的,設(shè)備間的時(shí)鐘偏移是不可避免的,,TDMA網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)現(xiàn)全網(wǎng)完全同步并不現(xiàn)實(shí),,而且精確度越高能量消耗就越大,因此無線HART節(jié)點(diǎn)需要在精確度與能耗之間取得平衡,,在滿足網(wǎng)絡(luò)TDMA時(shí)隙通信要求的基礎(chǔ)上盡可能的降低能耗,。
無線HART為工業(yè)環(huán)境的無線通信協(xié)議,其對(duì)穩(wěn)定性,、可靠性有著比一般通信網(wǎng)絡(luò)更高的要求,;而無線HART作為一個(gè)mesh的無線通信網(wǎng)需要實(shí)現(xiàn)全局的時(shí)間同步,但是由于硬件設(shè)備以及能量等問題,,使得傳統(tǒng)的有線時(shí)間同步的算法以及常規(guī)的WSN時(shí)間同步算法無法在無線HART中實(shí)現(xiàn),。為此以最小能耗為設(shè)計(jì)目標(biāo),設(shè)計(jì)一個(gè)多層次,、全局,、不問斷的同步策略應(yīng)用簡(jiǎn)易但有效的同步算法實(shí)現(xiàn)無線HART-TDMA時(shí)間同步。圖1為相鄰節(jié)點(diǎn)通信,。
圖1中描述了無線HART節(jié)點(diǎn)A與節(jié)點(diǎn)B間的一次通信,,節(jié)點(diǎn)A在T1時(shí)刻發(fā)送一個(gè)數(shù)據(jù)包給節(jié)點(diǎn)B,節(jié)點(diǎn)B在T2時(shí)刻接收到A所發(fā)送的數(shù)據(jù)包,,節(jié)點(diǎn)B在T3數(shù)據(jù)包發(fā)送一個(gè)應(yīng)答數(shù)據(jù)包,,節(jié)點(diǎn)A在T4時(shí)刻接收到B所發(fā)送的應(yīng)答數(shù)據(jù)包,。T1,、T2、T3,,T4為節(jié)點(diǎn)時(shí)鐘,,四者存在以下關(guān)系:
式中,表示A到B的時(shí)間延遲,,表示B到A的時(shí)間延遲,。在整個(gè)通信過程中,,延遲主要發(fā)送在層與層間數(shù)據(jù)傳送以及點(diǎn)與點(diǎn)之間數(shù)據(jù)傳輸過程中。式(1)中以及式(2)中分別表示T1時(shí)刻節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B的時(shí)鐘漂移和T4時(shí)刻節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B的時(shí)鐘漂移,,盡管由于環(huán)境因數(shù)(如溫度,、壓力等)的影響,時(shí)鐘漂移每一個(gè)時(shí)刻都在發(fā)生,,二者并不完全相等,,但一般情況二者一次通信進(jìn)行的時(shí)間間隔較短,可以認(rèn)為二者幾乎相等,。同樣假定和相等,。
通過式(1)和式(2)可得出延遲時(shí)間以及漂移時(shí)間:
節(jié)點(diǎn)將根據(jù)式(3)和式(4)所求出的延遲時(shí)間以及漂移時(shí)間進(jìn)行時(shí)鐘的主動(dòng)同步與被動(dòng)同步。
時(shí)鐘同步由兩步驟完成,,首先選取時(shí)鐘源,,網(wǎng)絡(luò)管理節(jié)點(diǎn)作為時(shí)鐘服務(wù)器,并選取若干節(jié)點(diǎn)作為網(wǎng)絡(luò)時(shí)鐘源:然后在同步過程,,每一個(gè)節(jié)點(diǎn)通過與時(shí)鐘源進(jìn)行被動(dòng)或主動(dòng)的時(shí)鐘同步,。其中,主動(dòng)同步為當(dāng)高層節(jié)點(diǎn)向低層節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),,低層節(jié)點(diǎn)記錄數(shù)據(jù)包實(shí)際到達(dá)時(shí)間與計(jì)算達(dá)到時(shí)間的偏移調(diào)整本地時(shí)鐘,;被動(dòng)同步為當(dāng)?shù)蛯庸?jié)點(diǎn)向高層節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),底層節(jié)點(diǎn)等待并接收高層節(jié)點(diǎn)的應(yīng)答數(shù)據(jù)包,,并利用應(yīng)答數(shù)據(jù)包中所包含的時(shí)鐘偏移信息進(jìn)行時(shí)鐘調(diào)整,。
高層節(jié)點(diǎn)發(fā)送邀請(qǐng)數(shù)據(jù)包,待加入節(jié)點(diǎn)接收邀請(qǐng)數(shù)據(jù)包并完成一次被動(dòng)同步過程,;高層節(jié)點(diǎn)發(fā)送偵聽數(shù)據(jù)包,,判斷臨近節(jié)點(diǎn)是否處于網(wǎng)絡(luò)并完成一次被動(dòng)同步過程;低層節(jié)點(diǎn)通過接收一次數(shù)據(jù)包完成一次被動(dòng)同步過程,;底層節(jié)點(diǎn)通過接收高層節(jié)點(diǎn)的應(yīng)答數(shù)據(jù)包完成一次主動(dòng)同步過程,。整個(gè)同步網(wǎng)絡(luò)低層同步高層,整個(gè)網(wǎng)絡(luò)時(shí)鐘以根時(shí)鐘源為基準(zhǔn)實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的時(shí)鐘同步,。根時(shí)鐘源可根據(jù)實(shí)際情況采用可行方
法(如GPRS等)與理想時(shí)鐘同步,。
3.3 數(shù)據(jù)鏈路調(diào)度實(shí)現(xiàn)
3.3.1 調(diào)度
數(shù)據(jù)鏈路層在實(shí)現(xiàn)無線HART網(wǎng)絡(luò)全網(wǎng)時(shí)鐘同步的基礎(chǔ)上,主要負(fù)責(zé)鏈路的調(diào)度,,控制著數(shù)據(jù)的發(fā)送和接收,,從而保證網(wǎng)絡(luò)的正常通信。鏈路調(diào)度通過查詢活動(dòng)超幀表,、鏈接表,、數(shù)據(jù)等表從而決定下一個(gè)將要通信的時(shí)隙。所有的接收鏈接將會(huì)被允許通信,。網(wǎng)絡(luò)層發(fā)出發(fā)送數(shù)據(jù)請(qǐng)求,,若待定表中已無空余空間,,調(diào)用失敗,否則數(shù)據(jù)包進(jìn)入待定表中的同時(shí)查詢等待表是否存在相同目的地址的高優(yōu)先級(jí)數(shù)據(jù)包,,若不存在,,數(shù)據(jù)包進(jìn)入等待表中等待發(fā)送,否則保存在待定表中,,待發(fā)送表根據(jù)目的地址的類型進(jìn)行查詢,,鄰居地址查詢鄰居表、圖地址查詢圖表的基礎(chǔ)上再查詢鄰居表,,最終鄰居地址,、圖地址、廣播地址,、代理地址的4種都將查詢鏈路表獲得相應(yīng)鏈路并設(shè)置為發(fā)送類型(TX=1),,之后進(jìn)入等待狀態(tài)。
當(dāng)ASN到達(dá)相應(yīng)時(shí)隙,,數(shù)據(jù)包根據(jù)TX\RX的值進(jìn)入發(fā)送,、接收、休眠狀態(tài),。如圖2所示,。
3.3.2 狀態(tài)機(jī)
圖3為TDMA狀態(tài)機(jī),該狀態(tài)機(jī)建立在邏輯鏈路層所建立的四張調(diào)度表以及調(diào)度機(jī)制的基礎(chǔ)上,,TDMA狀態(tài)機(jī)開始于節(jié)點(diǎn)加入無線HART網(wǎng)絡(luò),,加入的同時(shí)建立狀態(tài)機(jī)所需要的超幀表、圖表,、鏈路表,,開始從鄰居節(jié)點(diǎn)接收數(shù)據(jù)并以此為基礎(chǔ)建立鄰居表。節(jié)點(diǎn)維護(hù)存儲(chǔ)著一列待發(fā)送數(shù)據(jù)包,,當(dāng)一個(gè)發(fā)送時(shí)隙發(fā)生,,節(jié)點(diǎn)將會(huì)嘗試發(fā)送數(shù)據(jù)包。發(fā)送數(shù)據(jù)包包括發(fā)送數(shù)據(jù)包和接收ACK應(yīng)答兩個(gè)過程,。當(dāng)一個(gè)發(fā)送時(shí)隙產(chǎn)生,,進(jìn)入發(fā)送狀態(tài)。成功發(fā)送一個(gè)廣播地址的數(shù)據(jù)包在數(shù)據(jù)包發(fā)送之后結(jié)束,,并從等待表中刪除,。成功發(fā)送一個(gè)非廣播地址的數(shù)據(jù)包,節(jié)點(diǎn)將等待ACK應(yīng)答數(shù)據(jù)包,,ACK數(shù)據(jù)包將表明數(shù)據(jù)包是成功接收還是出現(xiàn)接收錯(cuò)誤,。如果目的地址是廣播地址,將不會(huì)有ACK應(yīng)答數(shù)據(jù)包,,發(fā)送完成并進(jìn)入空閑狀態(tài)進(jìn)行調(diào)度表的更新,;成功發(fā)送一個(gè)非廣播地址數(shù)據(jù)包,進(jìn)行數(shù)據(jù)完整性和權(quán)限完整性檢驗(yàn),,TDMA狀態(tài)機(jī)進(jìn)入等待ACK狀態(tài),,如果無ACK應(yīng)答表明發(fā)送失敗。如果是一個(gè)共享鏈接,,將啟動(dòng)重發(fā)機(jī)制,,若最終依然失敗,進(jìn)入空閑狀態(tài)更新調(diào)度表,。如果一個(gè)ACK應(yīng)答數(shù)據(jù)包被成功接收,,節(jié)點(diǎn)根據(jù)ACK確定發(fā)送是否成功,若發(fā)送成功,,進(jìn)入空閑狀態(tài)更新調(diào)度表,。如果顯示發(fā)送錯(cuò)誤,將啟動(dòng)重發(fā)機(jī)制,。所有的接收鏈接都將在沒有發(fā)送請(qǐng)求的基礎(chǔ)被全部服務(wù),,節(jié)點(diǎn)接收數(shù)據(jù)有三種可能:1)數(shù)據(jù)包的目的地址就是節(jié)點(diǎn)地址;2)數(shù)據(jù)包目的地址是路由地址,;3)數(shù)據(jù)包目的地址非以上兩種情況,。每一次接收數(shù)據(jù),鄰居表都將被更新維護(hù),。
圖3為TDMA狀態(tài)機(jī),該狀態(tài)機(jī)建立在邏輯鏈路層所建立的四張調(diào)度表以及調(diào)度機(jī)制的基礎(chǔ)上,,TDMA狀態(tài)機(jī)開始于節(jié)點(diǎn)加入無線HART網(wǎng)絡(luò),,加入的同時(shí)建立狀態(tài)機(jī)所需要的超幀表、圖表,、鏈路表,,開始從鄰居節(jié)點(diǎn)接收數(shù)據(jù)并以此為基礎(chǔ)建立鄰居表。節(jié)點(diǎn)維護(hù)存儲(chǔ)著一列待發(fā)送數(shù)據(jù)包,,當(dāng)一個(gè)發(fā)送時(shí)隙發(fā)生,,節(jié)點(diǎn)將會(huì)嘗試發(fā)送數(shù)據(jù)包。發(fā)送數(shù)據(jù)包包括發(fā)送數(shù)據(jù)包和接收ACK應(yīng)答兩個(gè)過程,。當(dāng)一個(gè)發(fā)送時(shí)隙產(chǎn)生,,進(jìn)入發(fā)送狀態(tài)。成功發(fā)送一個(gè)廣播地址的數(shù)據(jù)包在數(shù)據(jù)包發(fā)送之后結(jié)束,,并從等待表中刪除,。成功發(fā)送一個(gè)非廣播地址的數(shù)據(jù)包,節(jié)點(diǎn)將等待ACK應(yīng)答數(shù)據(jù)包,,ACK數(shù)據(jù)包將表明數(shù)據(jù)包是成功接收還是出現(xiàn)接收錯(cuò)誤,。如果目的地址是廣播地址,將不會(huì)有ACK應(yīng)答數(shù)據(jù)包,,發(fā)送完成并進(jìn)入空閑狀態(tài)進(jìn)行調(diào)度表的更新,;成功發(fā)送一個(gè)非廣播地址數(shù)據(jù)包,進(jìn)行數(shù)據(jù)完整性和權(quán)限完整性檢驗(yàn),,TDMA狀態(tài)機(jī)進(jìn)入等待ACK狀態(tài),,如果無ACK應(yīng)答表明發(fā)送失敗。如果是一個(gè)共享鏈接,,將啟動(dòng)重發(fā)機(jī)制,,若最終依然失敗,進(jìn)入空閑狀態(tài)更新調(diào)度表,。如果一個(gè)ACK應(yīng)答數(shù)據(jù)包被成功接收,,節(jié)點(diǎn)根據(jù)ACK確定發(fā)送是否成功,若發(fā)送成功,,進(jìn)入空閑狀態(tài)更新調(diào)度表,。如果顯示發(fā)送錯(cuò)誤,將啟動(dòng)重發(fā)機(jī)制,。所有的接收鏈接都將在沒有發(fā)送請(qǐng)求的基礎(chǔ)被全部服務(wù),,節(jié)點(diǎn)接收數(shù)據(jù)有三種可能:1)數(shù)據(jù)包的目的地址就是節(jié)點(diǎn)地址;2)數(shù)據(jù)包目的地址是路由地址,;3)數(shù)據(jù)包目的地址非以上兩種情況,。每一次接收數(shù)據(jù),鄰居表都將被更新維護(hù),。
4 結(jié)論
以無線HART協(xié)議為基礎(chǔ)根據(jù)工業(yè)現(xiàn)場(chǎng)的特點(diǎn),,設(shè)計(jì)并實(shí)現(xiàn)了數(shù)據(jù)鏈路層協(xié)議模型。在以無線HART適配器節(jié)點(diǎn)為平臺(tái)的實(shí)驗(yàn)結(jié)果表明,,模型所實(shí)現(xiàn)的時(shí)鐘同步精度達(dá)到30μs,,滿足工業(yè)現(xiàn)場(chǎng)要求的前提下降低了節(jié)點(diǎn)的能耗,以模型為基礎(chǔ)的無線HART節(jié)點(diǎn)成功組建形成無線HART單跳網(wǎng)絡(luò),。
以無線HART協(xié)議為基礎(chǔ)根據(jù)工業(yè)現(xiàn)場(chǎng)的特點(diǎn),,設(shè)計(jì)并實(shí)現(xiàn)了數(shù)據(jù)鏈路層協(xié)議模型。在以無線HART適配器節(jié)點(diǎn)為平臺(tái)的實(shí)驗(yàn)結(jié)果表明,,模型所實(shí)現(xiàn)的時(shí)鐘同步精度達(dá)到30μs,,滿足工業(yè)現(xiàn)場(chǎng)要求的前提下降低了節(jié)點(diǎn)的能耗,以模型為基礎(chǔ)的無線HART節(jié)點(diǎn)成功組建形成無線HART單跳網(wǎng)絡(luò),。
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。