關(guān) 閉

新聞中心

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

ZigBee無線傳感器網(wǎng)絡(luò)的研究與實驗

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

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

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

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

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

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

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

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

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

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

圖(1)

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

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

ZigBee堆棧

圖(2)

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

  3.1 消息格式

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

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

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

 ?。粒校訄箢^:該報頭包含了配置ID,簇ID及當(dāng)前消息的目的終端.同樣,報頭的產(chǎn)生及使用是透明的.

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

  3.2 ZigBee協(xié)議幀格式

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

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

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

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

  4 尋址

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

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

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

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

  4.2 尋址方式

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

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

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

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

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

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

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

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

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

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



評論


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

關(guān)閉