王振福
摘 要:為了滿足流程工業(yè)設(shè)備狀態(tài)監(jiān)測的實際需求,構(gòu)建了一套基于Zigbee的無線傳感網(wǎng)絡(luò)系統(tǒng)。本文介紹了Zigbee無線傳感網(wǎng)絡(luò)的基本架構(gòu),并詳細(xì)描述了傳感網(wǎng)絡(luò)中接入網(wǎng)關(guān)對于網(wǎng)絡(luò)的管理作用。包含網(wǎng)絡(luò)主要參數(shù)節(jié)點狀態(tài)及丟包率的計算,以及無線傳感網(wǎng)絡(luò)的移動性管理。
關(guān)鍵詞:Zigbee;無線傳感網(wǎng)絡(luò);無線接入網(wǎng)關(guān)
一、引言
為了滿足工業(yè)現(xiàn)場特殊環(huán)境的無線數(shù)據(jù)采集要求,不僅需要Zigbee的高效率協(xié)議棧,還需要與整套無線傳感器網(wǎng)絡(luò)匹配的網(wǎng)絡(luò)管理方法來實現(xiàn)網(wǎng)絡(luò)中各種設(shè)備的協(xié)調(diào)以及配置。
接入網(wǎng)關(guān)作為整套系統(tǒng)中承上啟下的設(shè)備,負(fù)責(zé)與節(jié)點和上位機兩邊的通信。本課題實現(xiàn)了以接入網(wǎng)關(guān)為核心,對于整個網(wǎng)絡(luò)的管理功能:包括接入網(wǎng)關(guān)對于數(shù)據(jù)的管理,對節(jié)點的發(fā)射功率,信道的控制,以及對于網(wǎng)絡(luò)服務(wù)質(zhì)量中主要參數(shù)的控制。并且對于現(xiàn)場中一些特殊的移動性節(jié)點,實現(xiàn)了一種類似于手機漫游的管理機制。
二、基于Zigbee無線接入網(wǎng)絡(luò)概述
ZigBee標(biāo)準(zhǔn)是基于IEEE802.15.4標(biāo)準(zhǔn)的,ZigBee協(xié)議棧分為兩部分,IEEE802.15.4處理低級MAC層和物理層協(xié)議,而ZigBee聯(lián)盟對其網(wǎng)絡(luò)層和API進行標(biāo)準(zhǔn)化,ZigBee節(jié)省的大部分能量歸功于專為低功率設(shè)計的IEEE802.15.4協(xié)議,各層之間通過服務(wù)接入點來實現(xiàn)層層之間的數(shù)據(jù)通信與協(xié)議棧管理,層層之間有兩個服務(wù)接入點,一個提供數(shù)據(jù)傳輸服務(wù),另一個實現(xiàn)網(wǎng)絡(luò)管理。ZigBee設(shè)備在工作時,各種不同的任務(wù)在不同層次上執(zhí)行,通過層的服務(wù)完成所要執(zhí)行的任務(wù)。
物理層完成收發(fā)數(shù)據(jù)、激活和休眠射頻收發(fā)器、信道能量檢測、空閑信道評估、數(shù)據(jù)鏈路質(zhì)量指示的功能。MAC子層提供兩種服務(wù),MAC層數(shù)據(jù)服務(wù)和管理服務(wù),網(wǎng)絡(luò)層職責(zé)為加入和離開網(wǎng)絡(luò)機制、應(yīng)用安全幀的機制及發(fā)現(xiàn)和保持設(shè)備之間的路徑。應(yīng)用層由應(yīng)用支持子層,應(yīng)用框架、ZigBee設(shè)備對象及用戶定義的應(yīng)用對象。應(yīng)用支持子層的作用是維護設(shè)備綁定表,它具有根據(jù)服務(wù)及需求匹配兩設(shè)備的能力,且通過邊界的設(shè)備轉(zhuǎn)發(fā)信息。
三、接入網(wǎng)關(guān)對無線信道的管理
為了避免不同網(wǎng)關(guān)所屬子網(wǎng)之間的通信互不干擾,為每一個網(wǎng)關(guān)分配一個獨有的信道,由于在節(jié)點加入網(wǎng)關(guān)的階段,節(jié)點開始并不知道自己將加入哪一個網(wǎng)關(guān),所以我們需要在劃分出一個公有信道來為用于未加入網(wǎng)絡(luò)的節(jié)點入網(wǎng)。當(dāng)節(jié)點收到網(wǎng)關(guān)的確認(rèn)入網(wǎng)幀后,就跳頻至網(wǎng)關(guān)所屬信道進行通信,直到其離開網(wǎng)關(guān)。而每個網(wǎng)關(guān)為了在接收節(jié)點收發(fā)數(shù)據(jù)的同時,還能保證其他節(jié)點加入網(wǎng)絡(luò),需要在收完數(shù)據(jù)之后切換至公有信道,來接受入網(wǎng)幀。
對于第一次上電的接入網(wǎng)關(guān),均使用公用信道向全網(wǎng)絡(luò)廣播網(wǎng)絡(luò)建立幀,這樣所有未加入網(wǎng)絡(luò)節(jié)點都可以偵聽到網(wǎng)絡(luò)建立幀,之后接入網(wǎng)關(guān)切換至私有信道,首先發(fā)送同步幀,并開始接受節(jié)點發(fā)送過來的數(shù)據(jù),當(dāng)接收完一個節(jié)點的數(shù)據(jù)之后,將判斷是否有本子網(wǎng)的其它節(jié)點向接入網(wǎng)關(guān)發(fā)送數(shù)據(jù),如果有將繼續(xù)等待數(shù)據(jù)并進行數(shù)據(jù)的管理,計算節(jié)電狀態(tài),丟包率,否則,為了使更多節(jié)點加入網(wǎng)絡(luò),接入網(wǎng)關(guān)將重新回到公有信道,廣播網(wǎng)絡(luò)建立幀。
四、主要無線網(wǎng)絡(luò)質(zhì)量參數(shù)的計算
1.節(jié)電狀態(tài)的統(tǒng)計。
節(jié)電狀態(tài)主要是反映該節(jié)點當(dāng)前周期,是否向網(wǎng)關(guān)發(fā)送了數(shù)據(jù)幀,有在線和離線兩種狀態(tài)。
由于每一個節(jié)點的更新周期不同,從一個單位時間至五個單位時間可配置,這就意味著不可以僅僅根據(jù)當(dāng)前周期是否收到數(shù)據(jù)來判斷節(jié)點的狀態(tài)。在節(jié)點每一個數(shù)據(jù)幀中會將本節(jié)點當(dāng)前更新周期的這一項參數(shù)傳上來。那么接入網(wǎng)關(guān)就可以根據(jù)這一字節(jié)來判斷出節(jié)點的更新周期。我們設(shè)節(jié)點的更新周期為Tupdate,以及節(jié)點周期內(nèi)收到數(shù)據(jù)報個數(shù)Tcounter,則計算節(jié)點更新周期的算法如式4-1所示。
NodeStatus=0,Tcounter%Tupdate=0
1,Tcounter%Tupdate≠0 (4.1)
在每個節(jié)點數(shù)據(jù)更新周期,每經(jīng)過一個單位時間Tcounter就會加一,當(dāng)還未到節(jié)點更新數(shù)據(jù)的那個單位時間的時候,Tcounter一定會小于Tupdate的值,則Tcounter對Tupdate取余的值不為零,這就代表這個周期節(jié)點本不應(yīng)該傳上數(shù)據(jù),所以接入網(wǎng)關(guān)也不會在這個單位時間段內(nèi)判斷節(jié)點是否發(fā)送數(shù)據(jù)。直到節(jié)點應(yīng)發(fā)數(shù)據(jù)時,Tcounter與Tupdate的值吻合,此時Tcounter對Tupdate取余的值為零,所以接入網(wǎng)關(guān)在余值為零的那個周期即可根據(jù)節(jié)點是否傳上數(shù)據(jù)來判斷節(jié)點的狀態(tài)。這樣方式既避免了忽略本應(yīng)傳遞數(shù)據(jù)的單位周期,也避免了在每一個周期頻繁等待節(jié)點發(fā)送數(shù)據(jù),提高了網(wǎng)關(guān)的效率。而下一節(jié)丟包率的計算也采用了基于節(jié)點狀態(tài)的計算方式。
2.基于貝努利試驗的節(jié)點丟包率的計算。
丟包率作為反映無線傳感網(wǎng)絡(luò)傳輸質(zhì)量的重要參數(shù),其計算對于無線傳感器網(wǎng)絡(luò)系統(tǒng)很重要的作用。1)通過丟包率的變化,可以使用戶直觀地觀察網(wǎng)絡(luò)運行狀態(tài),及早發(fā)現(xiàn)網(wǎng)絡(luò)中存在的故障。2)丟包率的變化對于網(wǎng)絡(luò)節(jié)點及網(wǎng)關(guān)的布置有著有很大的指導(dǎo)性意義,對于丟包率,鏈路質(zhì)量等參數(shù)持續(xù)不理想的子網(wǎng),可以考慮通過改變網(wǎng)絡(luò)設(shè)備安放的位置,直到網(wǎng)絡(luò)參數(shù)運行滿足工業(yè)現(xiàn)場的基本要求。
本課題設(shè)計并實現(xiàn)可以提供分時段的子網(wǎng)絡(luò)的32個節(jié)點的丟包率,這樣做的好處在于,當(dāng)網(wǎng)絡(luò)運行很長時間后,整段時間的網(wǎng)絡(luò)可靠性下降而帶來的丟包率的變化并不明顯,不利于上位機及時發(fā)現(xiàn)問題,所以分時段的測量非常重要,每個時段統(tǒng)計一次這一時段單獨的丟包率,這樣及時網(wǎng)絡(luò)傳輸質(zhì)量發(fā)生細(xì)微的變化,也可及時發(fā)現(xiàn)問題?;谏鲜龇治?,本文提出了一種基于貝努力試驗計算方法,基本思想如下:在接入網(wǎng)關(guān)應(yīng)用層中為每一個節(jié)點設(shè)置一個環(huán)形隊列,隊列的長度為K,隊列中的每一項為節(jié)點每個數(shù)據(jù)更新周期的狀態(tài),用0來表示離線,而用1來表示在線,當(dāng)節(jié)點的周期數(shù)超過K之后,將覆蓋之前的節(jié)電狀態(tài)值,這也是分時段丟包率的核心思想。在每次網(wǎng)關(guān)單位周期結(jié)束之前,統(tǒng)計每個節(jié)點的環(huán)形隊列所有項的和,得到的就是每個節(jié)點的最近的K個周期的狀態(tài),也就是近一百次應(yīng)收數(shù)據(jù)的周期實際收到數(shù)據(jù)幀的次數(shù)。
根據(jù)上一張節(jié)點狀態(tài)統(tǒng)計一節(jié)所述,考慮一次包的收發(fā)過程,可能會引發(fā)兩種事件:接收方成功接收或接收方接收失敗,這等價于一次貝努利試驗。令Pi為Bernoulli隨機變量,如果包成功接收,則Pi為1,否則為0。那么,對于k次發(fā)送,包接收率能夠被定義如式4.2所示。
Prr=Pi (4.2)
由于Pi為隨機變量,根據(jù)大數(shù)定理,Prr能夠被近似地表示為E(Pi),表示平均成功接收一個包的概率。
由Prr的定義及計算公式可知,采用包接收率可以檢測出好的鏈路,能夠自適應(yīng)慢速地跟蹤鏈路質(zhì)量的變化。在以時間T為周期的多個時間段內(nèi),k的取值決定了評估的精度。k值越大,評估越精確,但開銷較大;k值較小,開銷較少,但評估精度不高。
將每個節(jié)點統(tǒng)計后的數(shù)據(jù)放入隸屬于每個節(jié)點數(shù)據(jù)區(qū)丟包率的一項,上位機就可以看到分段實時的節(jié)點丟包率,并將每一時段的丟包率記錄下來,綜合得到每天,每月甚至每年的綜合丟包率,來評估網(wǎng)絡(luò)任一時段,任一時長的傳輸質(zhì)量。
五、結(jié)語
本文主要討論了基于Zigbee無線網(wǎng)絡(luò)接入網(wǎng)關(guān)對于整個無線傳感網(wǎng)絡(luò)的管理,具體論述了接入網(wǎng)關(guān)對于無線數(shù)據(jù)和信道的管理,以及網(wǎng)絡(luò)中諸如節(jié)點狀態(tài),丟包率等對于本套系統(tǒng)有重要應(yīng)用以及的性能參數(shù)的計算方式。
參考文獻:
[1]Willig,A.,K.Matheus,andA.Wolisz,Wireless Technology in Industrial Networks. Proceedings of the IEEE,2005.93(6):p.1130-1151.
[2]唐忠,etal.,工業(yè)無線通信技術(shù)第十二章工業(yè)無線網(wǎng)絡(luò)與現(xiàn)場總線的互連方法研究.儀器儀表標(biāo)準(zhǔn)化與計量,2008(06):p.30-32+35.
[3]夏飛,基于Z-Stack協(xié)議的無線傳感器網(wǎng)絡(luò)節(jié)點研究.電子元器件應(yīng)用,2009(12):p.74-76.