《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于通信鏈路質(zhì)量的無(wú)線HART圖路由算法實(shí)現(xiàn)
基于通信鏈路質(zhì)量的無(wú)線HART圖路由算法實(shí)現(xiàn)
2015年電子技術(shù)應(yīng)用第4期
封岸松1,2,3,王 宏1
1.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所,遼寧 沈陽(yáng)110016; 2.沈陽(yáng)化工大學(xué) 信息工程學(xué)院,遼寧 沈陽(yáng)110142; 3.中國(guó)科學(xué)院大學(xué),北京100039
摘要: 圖路由是無(wú)線HART提出的路由機(jī)制,目前對(duì)圖路由算法的研究較少。提出了一種基于通信鏈路質(zhì)量的無(wú)線HART圖路由算法,引入路徑穩(wěn)定度作為判斷鏈路質(zhì)量的機(jī)制。采用基于路徑穩(wěn)定度的分層算法,保證跳數(shù)最少和通信可靠性;依據(jù)層間節(jié)點(diǎn)的路徑穩(wěn)定度選擇層間路由,保證層間路由冗余性和可靠性,實(shí)現(xiàn)了無(wú)線HART的圖路由算法,并應(yīng)用到無(wú)線HART網(wǎng)絡(luò)管理者中。
中圖分類號(hào): TN92
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)04-0119-03
Implementation of graph routing algorithm based on quality of communication link in wireless HART
Feng Ansong1,2,3,Wang Hong1
1.Shenyang Institute of Automation Chinese Academy of Sciences, Shenyang 110016,China; 2.College of Information Engineering, Shenyang University of Chemical Technology,Shenyang 110142,China; 3.University of Chinese Academy of Sciences,Beijing 100039,China
Abstract: The graph routing proposed by wireless HART is researched seldom at present. A graph routing algorithm based on quality of the communication link was presented in the paper. The quality discrimination mechanism based on path stability about the communication link was proposed. The hierarchical algorithm based on path stability of the communication channel was adopted and guaranteed the least hop and communication reliability. Path stability about the communication link was used to select the routing between the two layers. The network manager of the Wireless HART realizes the graph routing in wireless HART and ensures the reliability and redundancy of communication with the routing algorithm.
Key words : the graph routing;quality of the communication link;wireless HART;path stability

  

0 引言

  HART基金會(huì)于2007年6月正式通過(guò)了無(wú)線HART規(guī)范和通信協(xié)議,它是一種無(wú)線網(wǎng)絡(luò)通信協(xié)議,是HART現(xiàn)場(chǎng)通信協(xié)議第七版HART 7.0的核心部分,向后兼容現(xiàn)有的HART設(shè)備和應(yīng)用。

  無(wú)線HART網(wǎng)絡(luò)具有其他無(wú)線傳感器網(wǎng)絡(luò)無(wú)法比擬的網(wǎng)絡(luò)傳輸可靠性和網(wǎng)絡(luò)健壯性,主要通過(guò)以下幾點(diǎn)實(shí)現(xiàn):(1)網(wǎng)絡(luò)路由方式,無(wú)線HART采用圖(Graph)路由實(shí)現(xiàn)設(shè)備間的路由,其路由在每一跳間都有冗余路由,能最大限度地保證設(shè)備之間的安全傳輸;(2)信道跳頻技術(shù),在跳間傳輸中,無(wú)線HART采用IEEE 802.15.4定義的16個(gè)信道進(jìn)行跳頻通信,以便更好地克服網(wǎng)絡(luò)干擾;(3)無(wú)線HART采用TDMA方式通信,通過(guò)全網(wǎng)絡(luò)時(shí)鐘同步技術(shù),避免沖突,保證安全傳輸[1]。其中設(shè)備之間通過(guò)圖路由傳輸,是保證網(wǎng)絡(luò)高可靠性傳輸?shù)年P(guān)鍵技術(shù)。本文提出一種基于通信鏈路質(zhì)量的圖路由算法,選擇路徑穩(wěn)定度(Path stability)作為通信鏈路質(zhì)量判別機(jī)制,采用分層算法保證跳數(shù)最少,通過(guò)通信鏈路質(zhì)量判別機(jī)制選取層間的路由。

1 無(wú)線HART網(wǎng)絡(luò)及研究現(xiàn)狀

  1.1 無(wú)線HART網(wǎng)絡(luò)組成

  無(wú)線HART采用MESH網(wǎng)技術(shù),整個(gè)網(wǎng)絡(luò)包括現(xiàn)場(chǎng)設(shè)備(Field Device)、適配器(Adapter)、網(wǎng)關(guān)設(shè)備(Gateway Device)、網(wǎng)絡(luò)接入點(diǎn)(AP)、手持設(shè)備(Handheld)和網(wǎng)絡(luò)管理者(Network Manager)。其中現(xiàn)場(chǎng)設(shè)備負(fù)責(zé)采集工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù),并通過(guò)網(wǎng)關(guān)傳送到上位機(jī)控制系統(tǒng);網(wǎng)關(guān)負(fù)責(zé)不同網(wǎng)絡(luò)之間的數(shù)據(jù)通信,連接無(wú)線HART網(wǎng)絡(luò)和工廠自動(dòng)化網(wǎng)絡(luò);網(wǎng)絡(luò)接入點(diǎn)(AP)負(fù)責(zé)接入無(wú)線數(shù)據(jù)到網(wǎng)關(guān);網(wǎng)絡(luò)管理者負(fù)責(zé)整個(gè)網(wǎng)絡(luò)的管理、路由分配、資源調(diào)度和網(wǎng)絡(luò)通信參數(shù)的維護(hù)。

  1.2 無(wú)線HART網(wǎng)絡(luò)的路由技術(shù)及研究現(xiàn)狀

  無(wú)線HART網(wǎng)絡(luò)協(xié)議中定義了圖路由機(jī)制,圖路由是一種全冗余的路由機(jī)制,路由中的每一跳至少有兩個(gè)路由選擇。

  無(wú)線HART網(wǎng)絡(luò)是集中式的MESH網(wǎng)絡(luò),它的路由是由網(wǎng)絡(luò)管理者計(jì)算的,因此一些傳統(tǒng)的無(wú)線傳感器路由算法并不適用,如ADHOC網(wǎng)絡(luò)的路由相關(guān)算法[2]和分簇算法[3]。無(wú)線HART網(wǎng)絡(luò)協(xié)議的發(fā)布時(shí)間較短,其相關(guān)的研究還較少。劉楊在無(wú)線HART網(wǎng)絡(luò)實(shí)現(xiàn)中并沒有實(shí)現(xiàn)圖路由的路由方式,而是由兩條路由代替[4];文獻(xiàn)[5]提出符合圖路由機(jī)制的算法,且能夠?qū)崿F(xiàn)最少跳數(shù),但在選擇路由中沒有考慮通信鏈路的質(zhì)量;黨魁提出一種分層結(jié)構(gòu)的圖路由算法,在路由選擇中引入通信質(zhì)量判別機(jī)制,提高了路由的健壯性,但通信鏈路質(zhì)量?jī)H僅考慮了RSSI(Received Signal Strength Indication)因素,并沒有考慮路徑的穩(wěn)定性,這可能引起過(guò)多的數(shù)據(jù)重傳[6];黃聰提出無(wú)線HART圖路由的路由增加和刪除策略,降低了路由維護(hù)開銷,但路由選擇時(shí)沒有考慮通信鏈路的質(zhì)量[7]。本文在分層算法的基礎(chǔ)上,采用路徑穩(wěn)定度作為通信鏈路質(zhì)量判別機(jī)制選擇層間路由,實(shí)現(xiàn)了無(wú)線HART圖路由算法。實(shí)驗(yàn)數(shù)據(jù)表明,采用路徑穩(wěn)定度作為通信鏈路質(zhì)量判別機(jī)制,相對(duì)于使用RSSI,提高了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

2 無(wú)線HART圖路由算法及實(shí)現(xiàn)

  本文的無(wú)線HART圖路由算法以分層算法為基礎(chǔ),引入了鏈路質(zhì)量判別機(jī)制,根據(jù)路徑穩(wěn)定度分層并選擇相應(yīng)的層間路由。路徑穩(wěn)定度是反映物理層連接質(zhì)量的量度單位,定義為物理層接收確認(rèn)的包與發(fā)送包的比率,用百分?jǐn)?shù)表示。在論證算法實(shí)現(xiàn)過(guò)程之前,首先給出無(wú)線HART網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)模型。

  2.1 無(wú)線HART網(wǎng)絡(luò)模型


001.jpg

  無(wú)線HART網(wǎng)絡(luò)采用集中控制式的MESH網(wǎng)絡(luò),其結(jié)構(gòu)可抽象為節(jié)點(diǎn)和邊組成的圖,用圖G(V,E)表示,其中V表示節(jié)點(diǎn),E表示節(jié)點(diǎn)之間的連接即邊。文中的圖路由算法以圖1為例來(lái)說(shuō)明。圖1為有10個(gè)現(xiàn)場(chǎng)設(shè)備的無(wú)線HART網(wǎng)絡(luò),最大跳數(shù)為4(無(wú)線HART協(xié)議定義無(wú)線HART網(wǎng)絡(luò)最大跳數(shù)為4),其中節(jié)點(diǎn)1(AP)為根節(jié)點(diǎn)(即無(wú)線網(wǎng)絡(luò)接入點(diǎn)AP),其余節(jié)點(diǎn)表示現(xiàn)場(chǎng)設(shè)備節(jié)點(diǎn)。節(jié)點(diǎn)之間的邊的權(quán)重值表示鏈路的質(zhì)量,文中定義為路徑穩(wěn)定度。表1列出了節(jié)點(diǎn)之間路徑穩(wěn)定度的信息。路徑穩(wěn)定度來(lái)自現(xiàn)場(chǎng)設(shè)備周期性的Keep-Alive信息(實(shí)測(cè)數(shù)據(jù))。

  2.2 基于路徑穩(wěn)定度的分層算法

  在無(wú)線HART網(wǎng)絡(luò)中,現(xiàn)場(chǎng)設(shè)備周期性向網(wǎng)絡(luò)管理者發(fā)送Keep-Alive信息,網(wǎng)絡(luò)管理者定時(shí)更新鄰居表,分層算法根據(jù)鄰居表信息完成對(duì)節(jié)點(diǎn)的分層,在鄰居選擇中根據(jù)鄰居之間的路徑穩(wěn)定度判別鏈路質(zhì)量,對(duì)于路徑穩(wěn)定度小于規(guī)定閾值(文中為<80%)的鄰居,從鄰居表中剔除。表2為算法中使用的符號(hào)說(shuō)明。

005.jpg


  算法實(shí)現(xiàn)步驟如下:

  (1)初始化AP設(shè)備的層數(shù)為第一層,即Lev[node[1]]=1,n=2;

  (2)搜索node[n]的鄰居表,如果路徑穩(wěn)定度大于規(guī)定閾值(文中為大于80%),并且該節(jié)點(diǎn)已經(jīng)加入網(wǎng)絡(luò)(Lev[node[n]]>0),則記錄該鄰居,并存入相應(yīng)的緩存區(qū);

  (3)比較緩存區(qū)中各個(gè)節(jié)點(diǎn)的層數(shù),得到最小的層數(shù)Min(Lev[node[L]]),L表示在緩存區(qū)的節(jié)點(diǎn);

  (4)Lev[node[n]]= Min(Lev[node[L]])+1,清空緩存區(qū);

  (5)判斷是否為最后加入節(jié)點(diǎn),若是則退出;否則n=n+1,并轉(zhuǎn)到步驟(2)。

  對(duì)圖1所示的結(jié)構(gòu)做算法運(yùn)行(表1為相關(guān)的鏈路質(zhì)量參數(shù)),得到如圖2所示的分層結(jié)構(gòu)。

002.jpg

  2.3 基于通信鏈路質(zhì)量的圖路由算法

  本文中的圖路由算法是基于分層算法實(shí)現(xiàn)的,保證了節(jié)點(diǎn)到網(wǎng)關(guān)(接入點(diǎn))的跳數(shù)最小。下面著重說(shuō)明圖路由算法中幾個(gè)關(guān)鍵創(chuàng)新點(diǎn)。

  (1)在層間路由選擇算法中,通過(guò)通信鏈路的質(zhì)量選擇路由,文中提出了基于路徑穩(wěn)定度的鏈路質(zhì)量的判別機(jī)制,即圖G(V,E)邊的權(quán)重,對(duì)于路徑穩(wěn)定度相同的路徑,選擇子節(jié)點(diǎn)少的上層節(jié)點(diǎn)。

  (2)圖路由算法要求每個(gè)節(jié)點(diǎn)都有一個(gè)子圖,新加入的節(jié)點(diǎn)只需要從鄰居表中根據(jù)鏈路質(zhì)量選擇2個(gè)上層(更接近目標(biāo))節(jié)點(diǎn)作為路徑加入就可以實(shí)現(xiàn)該節(jié)點(diǎn)的圖路由,即圖疊加。

  (3)為了防止回路的發(fā)生,節(jié)點(diǎn)只選擇上一層節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),在無(wú)線HART應(yīng)用中,如果上一跳節(jié)點(diǎn)(非第一層節(jié)點(diǎn))只有一個(gè),則需要重新配置節(jié)點(diǎn)的位置。

  (4)對(duì)于第一層節(jié)點(diǎn),由于上層節(jié)點(diǎn)只有一個(gè),可以選擇同層節(jié)點(diǎn),為了防止回路,在選擇同層節(jié)點(diǎn)中選擇先于該節(jié)點(diǎn)加入網(wǎng)絡(luò)的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)(在無(wú)線HART網(wǎng)絡(luò)中,先加入的節(jié)點(diǎn)地址值小于后加入的節(jié)點(diǎn)地址)。

  2.4 圖路由算法的實(shí)現(xiàn)過(guò)程

  下面介紹算法的實(shí)現(xiàn)過(guò)程。node[n](n=1~n)表示無(wú)線HART網(wǎng)絡(luò)中的節(jié)點(diǎn),其中1表示網(wǎng)絡(luò)接入點(diǎn)(AP)。步驟如下:

  (1)節(jié)點(diǎn)2的路由第一條路徑和第二條路徑均指向網(wǎng)關(guān),n=n+1;

  (2)對(duì)節(jié)點(diǎn)n執(zhí)行分層算法,得到其所在的層數(shù),執(zhí)行步驟(3);

  (3)如果節(jié)點(diǎn)n在第一層,則第一條路徑指向網(wǎng)關(guān),計(jì)算鄰居表中先加入網(wǎng)絡(luò)的節(jié)點(diǎn)的鏈路質(zhì)量權(quán)重值,第二條路徑選擇指向先加入網(wǎng)絡(luò)的第一層鄰居,轉(zhuǎn)到步驟(6);如果節(jié)點(diǎn)不在一層,從節(jié)點(diǎn)鄰居表中選取上層節(jié)點(diǎn)放入數(shù)組中,執(zhí)行步驟(4);

  (4)在數(shù)組中根據(jù)鏈路質(zhì)量排序;

  (5)節(jié)點(diǎn)選擇鏈路質(zhì)量權(quán)重值最高的作為第一條路徑,鏈路質(zhì)量權(quán)重值次高為第二條路徑;

  (6)n=n+1,判斷是否為新節(jié)點(diǎn),是則轉(zhuǎn)向步驟(2),否則退出。

  應(yīng)用上述算法,選取圖1所示的無(wú)線HART網(wǎng)絡(luò),節(jié)點(diǎn)1為網(wǎng)絡(luò)接入點(diǎn),節(jié)點(diǎn)2~11為現(xiàn)場(chǎng)設(shè)備,應(yīng)用2.4節(jié)提出的算法,分別得到節(jié)點(diǎn)2~11的圖路由,文中只列出節(jié)點(diǎn)2,3,7,11的圖路由(見圖3)。

003.jpg

3 實(shí)驗(yàn)分析

  3.1 建立實(shí)驗(yàn)環(huán)境

  為驗(yàn)證路由算法,搭建了無(wú)線HART網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),包括網(wǎng)絡(luò)管理器、接入點(diǎn)和現(xiàn)場(chǎng)設(shè)備。網(wǎng)絡(luò)管理者在計(jì)算機(jī)上Linux環(huán)境下完成,AP(接入點(diǎn))和現(xiàn)場(chǎng)設(shè)備使用飛思卡爾的無(wú)線模塊MC13224, AP和網(wǎng)絡(luò)管理者通過(guò)UART串口連接。

  3.2 實(shí)驗(yàn)結(jié)果


004.jpg

  現(xiàn)場(chǎng)設(shè)備分別為10個(gè)點(diǎn)(見圖1)、20個(gè)點(diǎn)、30個(gè)點(diǎn)和40個(gè)點(diǎn),應(yīng)用文中算法,分三種情況進(jìn)行實(shí)驗(yàn),即無(wú)鏈路質(zhì)量判別機(jī)制(分層算法和層間路由隨機(jī)選擇)、使用路徑穩(wěn)定度作為鏈路質(zhì)量判別機(jī)制和使用RSSI作為鏈路質(zhì)量判別機(jī)制,實(shí)驗(yàn)時(shí)間為24 h,對(duì)比數(shù)據(jù)為所有節(jié)點(diǎn)的數(shù)據(jù)傳輸成功率,實(shí)驗(yàn)結(jié)果見圖4。從實(shí)驗(yàn)結(jié)果看出,無(wú)鏈路質(zhì)量判別機(jī)制的算法通信效果最差,對(duì)于10個(gè)節(jié)點(diǎn)的無(wú)線HART網(wǎng)絡(luò),兩種判別機(jī)制的影響不大,但隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,選擇路徑穩(wěn)定度作為鏈路質(zhì)量判別機(jī)制比選擇RSSI作為鏈路質(zhì)量判別機(jī)制的通信質(zhì)量有相應(yīng)提升。

4 結(jié)論

  本文在總結(jié)無(wú)線HART圖路由實(shí)現(xiàn)算法的基礎(chǔ)上,提出一種基于通信鏈路質(zhì)量的無(wú)線HART圖路由算法?;跓o(wú)線HART節(jié)點(diǎn)加入的特點(diǎn),采用分層算法,保證節(jié)點(diǎn)到網(wǎng)關(guān)的跳數(shù)最少,提出一種基于路徑穩(wěn)定性判別通信鏈路質(zhì)量的機(jī)制,選擇層間路由,保證層間路由冗余性和可靠性,采用圖疊加算法簡(jiǎn)化算法的實(shí)現(xiàn),實(shí)現(xiàn)了無(wú)線HART的圖路由算法。目前該算法已經(jīng)應(yīng)用到無(wú)線HART網(wǎng)絡(luò)管理者的實(shí)現(xiàn)中。

  參考文獻(xiàn)

  [1] 李繼平,凌志浩.無(wú)線HART技術(shù)及其應(yīng)用[J].世界儀表與自動(dòng)化,2008,12(3):63-65.

  [2] 黃驥,周繼鵬.GLFR:一種新的基于地理位置信息Ad Hoc網(wǎng)絡(luò)路由算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(10):145-148.

  [3] 孫東旭,曹建福,鄭輯光.面向工業(yè)測(cè)控的無(wú)線傳感器網(wǎng)絡(luò)分簇路由算法[J].信息與控制,2012,41(6):779-785.

  [4] 劉揚(yáng),曾鵬,馬連博.無(wú)線HART協(xié)議的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010(7):57-58.

  [5] ZHAO J D,LIANG Z J,ZHAO Y P.ELHFR:a graph routingin industry wireless mesh network[C].Proceedings of the International Conference on Information and Automation,Zhuhai,China,June 22-25,2009:106-110.

  [6] 黨魁,沈繼忠,董利達(dá).基于RSL篩選的Wireless HART最短路徑路由算法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(6):69-73.

  [7] 黃聰,董利達(dá),管林波.一種低開銷無(wú)線HART路由策略[J]傳感技術(shù)學(xué)報(bào),2013,26(2):252-259.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。