文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)04-0119-03
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)中并沒(méi)有實(shí)現(xiàn)圖路由的路由方式,而是由兩條路由代替[4],;文獻(xiàn)[5]提出符合圖路由機(jī)制的算法,,且能夠?qū)崿F(xiàn)最少跳數(shù),但在選擇路由中沒(méi)有考慮通信鏈路的質(zhì)量,;黨魁提出一種分層結(jié)構(gòu)的圖路由算法,,在路由選擇中引入通信質(zhì)量判別機(jī)制,提高了路由的健壯性,,但通信鏈路質(zhì)量?jī)H僅考慮了RSSI(Received Signal Strength Indication)因素,并沒(méi)有考慮路徑的穩(wěn)定性,,這可能引起過(guò)多的數(shù)據(jù)重傳[6],;黃聰提出無(wú)線HART圖路由的路由增加和刪除策略,降低了路由維護(hù)開(kāi)銷,但路由選擇時(shí)沒(méi)有考慮通信鏈路的質(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ò)模型
無(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ō)明,。
算法實(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),。
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的圖路由(見(jiàn)圖3),。
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é)果
現(xiàn)場(chǎng)設(shè)備分別為10個(gè)點(diǎn)(見(jià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é)果見(jiàn)圖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á),管林波.一種低開(kāi)銷無(wú)線HART路由策略[J]傳感技術(shù)學(xué)報(bào),,2013,,26(2):252-259.