文獻(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)中并沒有實(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ò)模型
無(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的圖路由(見圖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)(見圖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.