關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > ZigBee無(wú)線傳感器網(wǎng)絡(luò)的研究與實(shí)驗(yàn)

ZigBee無(wú)線傳感器網(wǎng)絡(luò)的研究與實(shí)驗(yàn)

作者: 時(shí)間:2010-02-23 來(lái)源:網(wǎng)絡(luò) 收藏

  引言

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

 ?。薄igbee協(xié)議術(shù)語(yǔ)

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

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

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

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

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

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

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

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

圖(1)

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

  如圖(2)所示,ZigBee堆棧的不同層與802.15.4 MAC通過(guò)服務(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)是向上層提供訪問(wèn)內(nèi)部層參數(shù)、配置和管理數(shù)據(jù)的服務(wù)。圖中的APSDE-SAP,NLDE-SAP即為數(shù)據(jù)實(shí)體接口,而APSME-SAP,NLME-SAP即為管理實(shí)體接口。

ZigBee堆棧

圖(2)

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

  3.1 消息格式

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

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

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

 ?。粒校訄?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ò)一種規(guī)定來(lái)標(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幀還沒(méi)有一個(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?。停粒玫刂芳埃保段痪W(wǎng)絡(luò)地址.

  每一個(gè)使用Zigbee協(xié)議通信的設(shè)備都有一個(gè)全球唯一的64位MAC地址,該地址由24位OUI與40位廠家分配地址組成,OUI可通過(guò)購(gòu)買(mǎi)由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ā)送。

  廣播:要想通過(guò)廣播來(lái)發(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í),它將偵聽(tīng)所有鄰居的轉(zhuǎn)發(fā)情況。如果所有的鄰居都沒(méi)有在應(yīng)答時(shí)限內(nèi)復(fù)制數(shù)據(jù)包,設(shè)備將重復(fù)轉(zhuǎn)發(fā)信息包,直到它偵聽(tīng)到該信息包已被所有鄰居轉(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)始終保持開(kāi)啟狀態(tài),以便其它的設(shè)備可隨時(shí)向它傳輸數(shù)據(jù)。但是若設(shè)備為RFD精簡(jiǎn)功能設(shè)備,無(wú)操作時(shí)設(shè)備將關(guān)閉收發(fā)器以節(jié)約能量。此時(shí)RFD設(shè)備無(wú)法接收到任何數(shù)據(jù)。因此,其它設(shè)備只能通過(guò)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è)備沒(méi)有在規(guī)定的時(shí)間內(nèi)請(qǐng)求信息,信息將被丟失。

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

  首先,由Zigbee協(xié)調(diào)器建立一個(gè)新的Zigbee網(wǎng)絡(luò)。一開(kāi)始,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è)備曾加入過(guò)網(wǎng)絡(luò),則該設(shè)備會(huì)執(zhí)行孤兒通知程序來(lái)鎖定先前加入的網(wǎng)絡(luò)。接收到孤兒通知的設(shè)備檢查它的鄰居表,并確定設(shè)備是否是它的孩子,若是,設(shè)備會(huì)通知孩子設(shè)備它在網(wǎng)絡(luò)中的位置,否則孩子設(shè)備將作為一個(gè)新設(shè)備來(lái)加入網(wǎng)絡(luò)。而后,孩子設(shè)備將產(chǎn)生一個(gè)潛在雙親表,并盡量以合適的深度加入到現(xiàn)存的網(wǎng)絡(luò)中。

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



評(píng)論


技術(shù)專區(qū)

關(guān)閉