ZigBee無(wú)線路由協(xié)議ZLGnet
2011-04-19
作者:廣州致遠(yuǎn)電子有限公司
來(lái)源:來(lái)源:電子技術(shù)應(yīng)用2011年第2期
ZigBee名字來(lái)源于蜂群使用的賴以生存和發(fā)展的通信方式,蜜蜂通過(guò)跳ZigZag形狀的舞蹈來(lái)通知發(fā)現(xiàn)的新食物源的位置、距離和方向等信息,ZigBee技術(shù)模仿蜜蜂通過(guò)跳舞來(lái)傳遞信息的方式,通過(guò)相鄰網(wǎng)絡(luò)節(jié)點(diǎn)之間信息的接力傳遞,將信息從一個(gè)節(jié)點(diǎn)傳輸?shù)竭h(yuǎn)處的另外一個(gè)節(jié)點(diǎn)。
ZigBee聯(lián)盟制定了ZigBee協(xié)議棧的規(guī)范,各個(gè)無(wú)線廠商根據(jù)自己的硬件平臺(tái)和應(yīng)用環(huán)境,編寫自己的ZigBee協(xié)議棧。
本文介紹一種實(shí)際工程的ZigBee對(duì)等網(wǎng)絡(luò)協(xié)議棧的開(kāi)發(fā)過(guò)程。
1 一般路由測(cè)試方法
無(wú)線路由協(xié)議一般是按照以下方式進(jìn)行路徑查找的:由源節(jié)點(diǎn)發(fā)出廣播的路徑查找請(qǐng)求,在網(wǎng)絡(luò)中傳播,到達(dá)目標(biāo)節(jié)點(diǎn)之后,目標(biāo)節(jié)點(diǎn)選擇一個(gè)最佳路徑(中間節(jié)點(diǎn)也做最佳路徑的篩選),返回給源節(jié)點(diǎn)。路由查找過(guò)程如圖1所示。
2 無(wú)線網(wǎng)絡(luò)協(xié)議棧一般開(kāi)發(fā)過(guò)程
一個(gè)無(wú)線網(wǎng)絡(luò)協(xié)議棧的開(kāi)發(fā),需要一個(gè)詳細(xì)的規(guī)劃,完成路由算法的設(shè)計(jì)、代碼實(shí)施、硬件平臺(tái)的搭建、測(cè)試方法的選擇和實(shí)施等,下面逐一介紹。
(1)路由算法
無(wú)線路由協(xié)議需要考慮兩個(gè)因素:速度和穩(wěn)定性。查找路徑時(shí),有時(shí)收到一個(gè)時(shí)間非??斓膽?yīng)答,但是這并不一定是最佳的路徑,有可能是查找路由表的瞬間兩點(diǎn)之間,信號(hào)剛好達(dá)到臨界信號(hào)強(qiáng)度(即“超常發(fā)揮路徑”),接下來(lái)傳輸數(shù)據(jù)的時(shí)候,恢復(fù)障礙物之后,信號(hào)又不能達(dá)到之前的速度,這在有移動(dòng)遮擋物的時(shí)候,特別容易出現(xiàn),如圖2所示。“超常發(fā)揮路徑”判斷的依據(jù)是接收信號(hào)強(qiáng)度。
最短路徑和最佳信號(hào)質(zhì)量的結(jié)合,才是最佳路徑,在實(shí)際應(yīng)用中,還需要預(yù)留一條備用路徑,即次佳路徑。如圖3所示。
(2)測(cè)試開(kāi)發(fā)過(guò)程
按照路由算法實(shí)施代碼之后,需要進(jìn)行小規(guī)模的測(cè)試,因?yàn)樵缙趦?yōu)化更改比較多,需要每個(gè)節(jié)點(diǎn)進(jìn)行更新,因此最好在小范圍內(nèi)操作,改變拓?fù)浣Y(jié)構(gòu)進(jìn)行測(cè)試也方便。這個(gè)測(cè)試環(huán)境還必須很穩(wěn)定,節(jié)點(diǎn)之間的信號(hào)不要變化太大,否則早期測(cè)試的時(shí)候會(huì)引入很多的變量,測(cè)試快要結(jié)束的時(shí)候,才可以放入嘈雜的環(huán)境,進(jìn)行穩(wěn)定性測(cè)試。
如圖4所示,測(cè)試節(jié)點(diǎn)懸掛在通道的兩側(cè),離地面2 m左右,彼此間的通訊不會(huì)因?yàn)槿说淖邉?dòng)而干擾,每個(gè)節(jié)點(diǎn)由電線供電,也有獨(dú)立的電源開(kāi)關(guān),可以關(guān)掉其中的任意一個(gè),制造節(jié)點(diǎn)損壞的現(xiàn)象。
如圖 5所示,在測(cè)試時(shí),可以查找到達(dá)某個(gè)目標(biāo)節(jié)點(diǎn)的路徑地址和路由級(jí)數(shù),在拓?fù)浣Y(jié)構(gòu)圖上即可看是否是最優(yōu)的路徑。通過(guò)此表,還可以查看整個(gè)路徑中最差信號(hào)強(qiáng)度以及節(jié)點(diǎn)號(hào)碼,通過(guò)此號(hào)碼,我們可以判斷哪些節(jié)點(diǎn)之間的信號(hào)最差,為改善網(wǎng)絡(luò)整體鏈路通信質(zhì)量提供一個(gè)簡(jiǎn)便的定位方法。
(3)拉遠(yuǎn)及穩(wěn)定性測(cè)試
這一階段進(jìn)行大規(guī)模、干擾性測(cè)試,主要包括:
· 增加移動(dòng)障礙物,影響節(jié)點(diǎn)之間的信號(hào)質(zhì)量;
· 增加同頻段信號(hào)干擾;
· 長(zhǎng)時(shí)間路由查找成功率測(cè)試。
3 ZLGnet性能參數(shù)
ZLGnet在無(wú)線路由中的實(shí)際測(cè)試效果如表1所示。
按照每級(jí)1 km計(jì)算(20 dbm輸出模塊ZICM2410P2在7 dbi天線下可靠視距通訊距離1.5 km),默認(rèn)20級(jí)路由可以實(shí)現(xiàn)40 km(前后20 km)覆蓋。
無(wú)線路由協(xié)議設(shè)計(jì)還包括其他很多方面的內(nèi)容,如路徑節(jié)點(diǎn)丟失報(bào)告機(jī)制,路徑表的老化和更新,底層重傳次數(shù)的最佳選擇,要做好一個(gè)無(wú)線路由協(xié)議棧,需要做大量路由決策及測(cè)試分析,但是相信隨著對(duì)環(huán)境變量的增加,測(cè)試環(huán)境的更多變化,ZLGnet將會(huì)越來(lái)越完善穩(wěn)定。