《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > ZigBee無線傳感器網(wǎng)絡(luò)的研究與實(shí)驗(yàn)
ZigBee無線傳感器網(wǎng)絡(luò)的研究與實(shí)驗(yàn)
來源:與非網(wǎng)
摘要: 以傳感器和自組織網(wǎng)絡(luò)為代表的無線應(yīng)用并不需要較高的傳輸帶寬,,但卻需要較低的傳輸延時(shí)和極低的功率消耗,使用戶能擁有較長(zhǎng)的電池壽命和較多的器件陣列,。目前迫切需要一種符合傳感器和低端的,、面向控制的,、應(yīng)用簡(jiǎn)單的專用標(biāo)準(zhǔn),而Zigbee的出現(xiàn)正好解決了這一問題,。Zigbee有著高通信效率,、低復(fù)雜度、低功耗,、低速率,、低成本、高安全性以及全數(shù)字化等諸多優(yōu)點(diǎn),。這些優(yōu)點(diǎn)使得Zigbee和無線傳感器網(wǎng)絡(luò)完美地結(jié)合在一起,。目前,基于Zigbee技術(shù)的無線傳感器網(wǎng)絡(luò)的研究和開發(fā)已得到越來越多的關(guān)注,。
Abstract:
Key words :

引言

        有人將ZigBee翻譯成「紫蜂」,,為無線個(gè)人局域網(wǎng)絡(luò)(Wireless Personal Area Networks, WPAN)的標(biāo)準(zhǔn)之一,已于 2005年6月27日 公布,。除了邏輯鏈路控制(Logic Link Control, LLC)層,、媒介存取控制層(MAC),與物理層使用2003年10月公布的IEEE 802.15.4標(biāo)準(zhǔn)外,,ZigBee標(biāo)準(zhǔn)協(xié)議制定了應(yīng)用層與網(wǎng)絡(luò)層,,及MAC、應(yīng)用層與網(wǎng)絡(luò)層的安全加密服務(wù)標(biāo)準(zhǔn),。

       
        以傳感器和自組織網(wǎng)絡(luò)為代表的無線應(yīng)用并不需要較高的傳輸帶寬,,但卻需要較低的傳輸延時(shí)和極低的功率消耗,,使用戶能擁有較長(zhǎng)的電池壽命和較多的器件陣列。目前迫切需要一種符合傳感器和低端的,、面向控制的,、應(yīng)用簡(jiǎn)單的專用標(biāo)準(zhǔn),而Zigbee的出現(xiàn)正好解決了這一問題,。Zigbee有著高通信效率,、低復(fù)雜度、低功耗,、低速率,、低成本、高安全性以及全數(shù)字化等諸多優(yōu)點(diǎn),。這些優(yōu)點(diǎn)使得Zigbee和無線傳感器網(wǎng)絡(luò)完美地結(jié)合在一起,。目前,基于Zigbee技術(shù)的無線傳感器網(wǎng)絡(luò)的研究和開發(fā)已得到越來越多的關(guān)注,。


1 Zigbee協(xié)議術(shù)語

       
        配置文件(profile):Zigbee協(xié)議的配置文件是對(duì)邏輯組件及其相關(guān)接口的描述,,是面向某個(gè)應(yīng)用類別的公約、準(zhǔn)則.通常沒有程序代碼與配置文件相關(guān)聯(lián).

        屬性(attribute):設(shè)備之間通信的每一種數(shù)據(jù)像開關(guān)的狀態(tài)或溫度計(jì)值等皆可稱為屬性.每個(gè)屬性可得到唯一的ID值.

       
        簇(cluster):多個(gè)屬性的匯集形成了簇,,每個(gè)簇也擁有一個(gè)唯一的ID,。雖然個(gè)體之間傳輸?shù)耐ǔJ菍傩孕畔ⅲ^的邏輯組件的接口指的卻是簇一級(jí)的操作,,而非屬性一級(jí).


        終端(endpoint):每個(gè)支持一個(gè)或多個(gè)簇的代碼功能塊稱為終端,。不同的設(shè)備通過它們的終端及所支持的簇來進(jìn)行通信。


       
        配置文件定義了屬性ID與簇ID,,使之看起來就像設(shè)備的某種特性.以家庭智能控制系統(tǒng)為例,,燈配置文件設(shè)定了遠(yuǎn)程控制設(shè)備的簇OnOffDRC含有一種屬性OnOff,且該屬性為無符號(hào)8位值,,值0XFF意味著"開",,0X00為關(guān),0XF0則為無效,。通常,,配置文件也為設(shè)備定義了,哪些簇是強(qiáng)制托管的,,哪些簇是可選擇的,。另外,配置文件還定義了一些可選擇的Zigbee協(xié)議托管服務(wù).


        基于簇及配置所定義的服務(wù),,用戶可使用配置文件中定義的屬性編寫所需的函數(shù).改寫自己的程序代碼.因此,,配置文件使得ZigBee
設(shè)備可以互操作。任何遵循某一標(biāo)準(zhǔn)配置文件的節(jié)點(diǎn)都可以與其他實(shí)現(xiàn)相同配置文件的節(jié)點(diǎn)進(jìn)行互操作,。也就是說,,在使用同一標(biāo)準(zhǔn)配置文件進(jìn)行設(shè)計(jì)的基礎(chǔ)上,,即使生產(chǎn)開關(guān)的廠家與生產(chǎn)控制器的廠家不同,他們生產(chǎn)的產(chǎn)品仍可實(shí)現(xiàn)協(xié)同操作.


       
        以家庭智能系統(tǒng)中的燈光控制為例,,燈配置文件定義了6個(gè)設(shè)備,,協(xié)議棧通過帶有以下信息的報(bào)頭文件對(duì)此配置提供支持:配置(profile)ID,設(shè)備ID及版本,簇ID,,屬性ID,,屬性數(shù)據(jù)類型.


       
        下圖(1)顯示了不同術(shù)語之間的關(guān)系,對(duì)于家庭智能控制系統(tǒng)的燈光配置,,圖中給出了兩種設(shè)備.每種設(shè)備各有一個(gè)終端.負(fù)荷切換控制器的終端中僅有一個(gè)輸入簇,而遠(yuǎn)程轉(zhuǎn)換控制終端則有兩個(gè)簇,,且分別為一個(gè)輸入一個(gè)輸出.?dāng)?shù)據(jù)的傳輸基于簇而進(jìn)行.


 

 2  Zigbee協(xié)議棧結(jié)構(gòu)

        如圖(2)所示,,ZigBee堆棧的不同層與802.15.4 MAC通過服務(wù)接入點(diǎn)(SAP)進(jìn)行通信。SAP是某一特定層提供的服務(wù)與上層之間的接口,。ZigBee堆棧的大多數(shù)層有兩個(gè)接口:數(shù)據(jù)實(shí)體接口和管理實(shí)體接口,。數(shù)據(jù)實(shí)體接口的目標(biāo)是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù)。管理實(shí)體接口的目標(biāo)是向上層提供訪問內(nèi)部層參數(shù),、配置和管理數(shù)據(jù)的服務(wù),。圖中的APSDE-SAP,NLDE-SAP即為數(shù)據(jù)實(shí)體接口,,而APSME-SAP,,NLME-SAP即為管理實(shí)體接口。

 


3 Zigbee協(xié)議的消息格式及幀格式

        3.1 消息格式

        一個(gè)Zigbee消息由127個(gè)字節(jié)組成,,它主要包括以下幾個(gè)部分:

        MAC報(bào)頭:該報(bào)頭包含當(dāng)前被傳輸消息的源地址及目的地址.若消息被路由,,則該地址有可能不是實(shí)際地址,產(chǎn)生及使用該報(bào)頭對(duì)于應(yīng)用代碼是透明的.

        NWK報(bào)頭:該報(bào)頭包含了消息的實(shí)際源地址及最終的目的地址,,該報(bào)頭的產(chǎn)生及使用對(duì)于應(yīng)用代碼是透明的.

        APS報(bào)頭:該報(bào)頭包含了配置ID,,簇ID及當(dāng)前消息的目的終端.同樣,報(bào)頭的產(chǎn)生及使用是透明的.

        有效載荷:該域包含了待應(yīng)用層處理的Zigbee協(xié)議幀.

        3.2 Zigbee協(xié)議幀格式

        Zigbee協(xié)議定義了兩種幀格式:KVP關(guān)鍵值對(duì)及MSG消息幀.

        KVP:是ZigBee 規(guī)范定義的特殊數(shù)據(jù)傳輸機(jī)制,,通過一種規(guī)定來標(biāo)準(zhǔn)化數(shù)據(jù)傳輸格式和內(nèi)容,,主要用于傳輸較簡(jiǎn)單的變量值格式。

        MSG:是ZigBee 規(guī)范定義的特殊數(shù)據(jù)傳輸機(jī)制,,其在數(shù)據(jù)傳輸格式和內(nèi)容上并不作更多規(guī)定,,主要用于專用的數(shù)據(jù)流或文件數(shù)據(jù)等數(shù)據(jù)量較大的傳輸機(jī)制。

       
        KVP幀是專用的比較規(guī)范的信息格式,,采用鍵值對(duì)的形式,,按一種規(guī)定的格式進(jìn)行數(shù)據(jù)傳輸.通常用于傳輸一個(gè)簡(jiǎn)單的屬性變量值;而MSG幀還沒有一個(gè)具體格式上的規(guī)定,,通常用于多信息,,復(fù)雜信息的傳輸,。KVP、MSG是通訊中的兩種數(shù)據(jù)格式,。如果將幀比作一封郵件,,那么信封、郵票,、地址人名等信息都是幀頭,、幀尾,里面的信件內(nèi)容就是特定的數(shù)據(jù)格式KVP或MSG,。根據(jù)具體應(yīng)用的配置文件(Profile)
,,KVP一般用于簡(jiǎn)單屬性數(shù)據(jù),MSG用于較復(fù)雜的,,數(shù)據(jù)量較大信息,。
4 尋址

        4.1 Zigbee協(xié)議中的兩類地址

        Zigbee網(wǎng)絡(luò)協(xié)議的每一個(gè)節(jié)點(diǎn)皆有兩個(gè)地址:64位的IEEE MAC地址及16位網(wǎng)絡(luò)地址.

       
        每一個(gè)使用Zigbee協(xié)議通信的設(shè)備都有一個(gè)全球唯一的64位MAC地址,,該地址由24位OUI與40位廠家分配地址組成,,OUI可通過購(gòu)買由IEEE分配得到,由于所有的OUI皆由IEEE指定,,因此64位IEEE?。停粒玫刂肪哂腥蛭ㄒ恍裕?/p>


       
         當(dāng)設(shè)備執(zhí)行加入網(wǎng)絡(luò)操作時(shí),他們會(huì)使用自己的擴(kuò)展地址進(jìn)行通信,。成功加入Zigbee網(wǎng)絡(luò)后,,網(wǎng)絡(luò)會(huì)為設(shè)備分配一個(gè)16位的網(wǎng)絡(luò)地址。由此,,設(shè)備便可使用該地址與網(wǎng)絡(luò)中的其它設(shè)備進(jìn)行通信.


        4.2 尋址方式

        單播:當(dāng)單播一個(gè)消息時(shí),,數(shù)據(jù)包的MAC報(bào)頭中應(yīng)含有目的節(jié)點(diǎn)的地址,只有知道了接收設(shè)備的地址,,消息方可以單播方式進(jìn)行發(fā)送,。

        廣播:要想通過廣播來發(fā)送消息,應(yīng)將信息包MAC報(bào)頭中的目的地址域置為0XFF,。此時(shí),,所有射頻收發(fā)使能的終端皆可接收到該信息。

       
        該尋址方式可用于加入一個(gè)網(wǎng)絡(luò),、查找路由及執(zhí)行ZigBee協(xié)議的其它查找功能,。ZigBee協(xié)議對(duì)廣播信息包實(shí)現(xiàn)一種被動(dòng)應(yīng)答模式。即當(dāng)一個(gè)設(shè)備產(chǎn)生或轉(zhuǎn)發(fā)一個(gè)廣播信息包時(shí),,它將偵聽所有鄰居的轉(zhuǎn)發(fā)情況,。如果所有的鄰居都沒有在應(yīng)答時(shí)限內(nèi)復(fù)制數(shù)據(jù)包,設(shè)備將重復(fù)轉(zhuǎn)發(fā)信息包,,直到它偵聽到該信息包已被所有鄰居轉(zhuǎn)發(fā),,或廣播傳輸時(shí)間被耗盡為止,。

5   數(shù)據(jù)傳輸機(jī)制

        對(duì)于非信標(biāo)網(wǎng)絡(luò),當(dāng)一個(gè)設(shè)備想要發(fā)送一個(gè)數(shù)據(jù)幀時(shí),,它會(huì)等待信道空閑,,直到檢測(cè)到信道為空后設(shè)備會(huì)傳輸該幀。

       
        若目的設(shè)備為FFD全功能設(shè)備,,它的接收器應(yīng)始終保持開啟狀態(tài),,以便其它的設(shè)備可隨時(shí)向它傳輸數(shù)據(jù)。但是若設(shè)備為RFD精簡(jiǎn)功能設(shè)備,,無操作時(shí)設(shè)備將關(guān)閉收發(fā)器以節(jié)約能量,。此時(shí)RFD設(shè)備無法接收到任何數(shù)據(jù)。因此,,其它設(shè)備只能通過RFD的FFD雙親向RFD設(shè)備請(qǐng)求或發(fā)送數(shù)據(jù),。直到RFD上電RX收發(fā)器后,它會(huì)向雙親請(qǐng)求自己的信息數(shù)據(jù),,若雙親緩沖區(qū)中存有發(fā)給孩子的信息,則將該信息發(fā)給孩子設(shè)備,。該操作模式可降低RFD的功耗,,但相應(yīng)的雙親FFD節(jié)點(diǎn)應(yīng)擁有足夠的RAM空間,以便為孩子設(shè)備緩沖信息,。若孩子設(shè)備沒有在規(guī)定的時(shí)間內(nèi)請(qǐng)求信息,,信息將被丟失。


6   Zigbee無線網(wǎng)絡(luò)的形成

       
        首先,,由Zigbee協(xié)調(diào)器建立一個(gè)新的Zigbee網(wǎng)絡(luò),。一開始,Zigbee協(xié)調(diào)器會(huì)在允許的通道內(nèi)搜索其它的Zigbee協(xié)調(diào)器,。并基于每個(gè)允許通道中所檢測(cè)到的通道能量及網(wǎng)絡(luò)號(hào),,選擇唯一的16位PAN
ID,建立自己的網(wǎng)絡(luò),。一旦一個(gè)新網(wǎng)絡(luò)被建立,,Zigbee路由器與終端設(shè)備就可以加入到網(wǎng)絡(luò)中了。

        網(wǎng)絡(luò)形成后,,可能會(huì)出現(xiàn)網(wǎng)絡(luò)重疊及PAN ID沖突的現(xiàn)象,。協(xié)調(diào)器可以初始化PAN ID沖突解決程序,改變一個(gè)協(xié)調(diào)器的PAN ID 與信道,,同時(shí)相應(yīng)修改其所有的孩子設(shè)備,。通常,Zigbee設(shè)備會(huì)將網(wǎng)絡(luò)中其它節(jié)點(diǎn)信息存儲(chǔ)在一個(gè)非易失性的存儲(chǔ)空間-鄰居表中,。加電后,,若孩子設(shè)備曾加入過網(wǎng)絡(luò),,則該設(shè)備會(huì)執(zhí)行孤兒通知程序來鎖定先前加入的網(wǎng)絡(luò)。接收到孤兒通知的設(shè)備檢查它的鄰居表,,并確定設(shè)備是否是它的孩子,,若是,設(shè)備會(huì)通知孩子設(shè)備它在網(wǎng)絡(luò)中的位置,,否則孩子設(shè)備將作為一個(gè)新設(shè)備來加入網(wǎng)絡(luò),。而后,孩子設(shè)備將產(chǎn)生一個(gè)潛在雙親表,,并盡量以合適的深度加入到現(xiàn)存的網(wǎng)絡(luò)中,。


       
        通常,設(shè)備檢測(cè)通道能量所花費(fèi)的時(shí)間與每個(gè)通道可利用的網(wǎng)絡(luò)可通過ScanDuration掃描持續(xù)參數(shù)來確定,,一般設(shè)備要花費(fèi)1分鐘的時(shí)間來執(zhí)行一個(gè)掃描請(qǐng)求,,對(duì)于Zigbee路由器與終端設(shè)備來說,只需要執(zhí)行一次掃描即可確定加入的網(wǎng)絡(luò),。而協(xié)調(diào)器則需要掃描兩次,,一次采樣通道能量,另一次則用于確定存在的網(wǎng)絡(luò),。

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