0 引言
ZigBee的基礎(chǔ)是IEEES02.15.4,這是IEEE無線個(gè)人區(qū)域網(wǎng)工作組的一項(xiàng)標(biāo)準(zhǔn),被稱作IEEES02.15.4(ZigBee)技術(shù)標(biāo)準(zhǔn)。ZigBee協(xié)議由五家公司共同提出:Honeywell、Invensys、三菱電氣、摩托羅拉和飛利浦。IEEF802.15.4工作組為ZigBee定義了三個(gè)免受權(quán)頻段:2.4GHz(全球應(yīng)用),915MHz(美國)和868 MHz(歐洲)。
ZigBee采用DSSS技術(shù),與藍(lán)牙等無線通訊技術(shù)相比,它具有如下特點(diǎn):
(1)功耗更低:ZigBee Alliance網(wǎng)站公布,以一般電池電力而言,ZigBee產(chǎn)品可使用數(shù)月至數(shù)年之久。它非常適用于那些需要一年甚至更長時(shí)間才需更換電池的設(shè)備(如典型的監(jiān)控設(shè)備)。
(2)接入設(shè)備多:ZigBee的解決方案支持每個(gè)網(wǎng)絡(luò)協(xié)調(diào)器帶有255個(gè)激活節(jié)點(diǎn),多個(gè)網(wǎng)絡(luò)協(xié)調(diào)器可以聯(lián)接大型網(wǎng)絡(luò)。2.4GHz頻段可容納16個(gè)通道,每個(gè)網(wǎng)絡(luò)協(xié)調(diào)器帶有255個(gè)激活節(jié)點(diǎn)(藍(lán)牙只有8個(gè)),ZigBee技術(shù)允許在一個(gè)網(wǎng)絡(luò)中包含4千多個(gè)節(jié)點(diǎn)。
(3)成本更低:ZigBee只需要80C51之類的低檔處理器以及少量的軟件即可實(shí)現(xiàn),無需主機(jī)平臺(tái)。從天線到應(yīng)用實(shí)現(xiàn)只需1塊芯片即可。藍(lán)牙需依靠較強(qiáng)大的主處理器(如ARM7),芯片構(gòu)架也比較復(fù)雜。
(4)傳輸速率更低:ZigBee的低功率導(dǎo)致了低傳輸速率,其原始數(shù)據(jù)吞吐速率在2.4GHz(10channels)頻段為250kbps,在915MHz(6cha-nnels)頻段為40 kbps,在868MHz(1channel)頻段為20kbps。傳輸距離為10~20m。
1 ZigBee協(xié)議棧
ZigBee標(biāo)準(zhǔn)采用分層結(jié)構(gòu),根據(jù)開放式通信系統(tǒng)互聯(lián)模型,從上往下具有物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、應(yīng)用支持子層和應(yīng)用層。從網(wǎng)絡(luò)層以上的協(xié)議有ZigBee聯(lián)盟制定,IEEES02.15.4標(biāo)準(zhǔn)定義物理層和數(shù)據(jù)鏈路層。
1.1 物理層(PHY)
物理層是協(xié)議層的最底層,主要工作是要啟動(dòng)與關(guān)閉無線傳輸接收器、傳輸與接收數(shù)據(jù)、使用頻道的選擇、在目前頻道上做訊號(hào)能量偵測、數(shù)據(jù)調(diào)變傳輸與接收解調(diào)、空閑頻道評(píng)估(CCA)和針對(duì)接收的封包執(zhí)行鏈路品質(zhì)指示(LQI)。
IEEE802.15.4定義了兩個(gè)物理層標(biāo)準(zhǔn),分別是2.4GHz和868/915MHz物理層。2.4GHz的物理層通過采用16相調(diào)制技術(shù),能夠提供250 kbps的傳輸速率。868 MHz的傳輸速率為20 kbps,916 MHz上的傳輸速率則是40 kbps。
物理層提供兩個(gè)服務(wù):數(shù)據(jù)服務(wù)和管理服務(wù)。數(shù)據(jù)服務(wù):在物理無線信道上接受和發(fā)送物理協(xié)議數(shù)據(jù)單元。管理服務(wù):維護(hù)一個(gè)由物理層相關(guān)數(shù)據(jù)組成的數(shù)據(jù)庫。
物理層負(fù)責(zé)下面的任務(wù):
(1)無線收發(fā)信機(jī)的激活和去激活。
(2)在當(dāng)前信道上的能量檢測。
(3)鏈路質(zhì)量指示,用在接受的數(shù)據(jù)包上。
(4)清除信道估計(jì)算法用在CSMA/CA技術(shù)中。
(5)信道頻率選擇。
(6)信道數(shù)據(jù)的接受。
1.2 數(shù)據(jù)鏈路層(MAC)
物理層之上的數(shù)據(jù)鏈路層基于物理層所提供的服務(wù),負(fù)責(zé)設(shè)備間無線數(shù)據(jù)鏈路的建立,維護(hù)和結(jié)束,確認(rèn)模式的幀傳送與接受,信道接入控制,幀校驗(yàn),預(yù)留時(shí)隙管理和廣播信息管理。IEEE802.15.4的MAC層可足夠靈活地來處理這些數(shù)據(jù)通信。MAC層有兩種信道訪問機(jī)制:無標(biāo)識(shí)網(wǎng)絡(luò)和標(biāo)識(shí)使能網(wǎng)絡(luò)。無標(biāo)識(shí)網(wǎng)絡(luò)節(jié)點(diǎn)成功接受到信息包后能產(chǎn)生一個(gè)積極的回應(yīng)。標(biāo)識(shí)使能網(wǎng)絡(luò)采用超幀結(jié)構(gòu),這一方面為了有專用的帶寬和低的反應(yīng)時(shí)間,另一方面可通過網(wǎng)絡(luò)協(xié)調(diào)器設(shè)定在預(yù)定時(shí)間間隔內(nèi)傳輸標(biāo)識(shí)。
MAC層使用標(biāo)識(shí)使能來處理周期性數(shù)據(jù),當(dāng)有標(biāo)識(shí)使能時(shí),傳感節(jié)點(diǎn)會(huì)被喚醒來檢測信息,然后再返回睡眠狀態(tài)。間歇性數(shù)據(jù)可以在無標(biāo)識(shí)網(wǎng)絡(luò)中被處理或是以不連貫的方式被處理。當(dāng)以不連貫方式處理時(shí),通信需要在能節(jié)約大量能量的情況下,設(shè)備才加入網(wǎng)絡(luò)。低反應(yīng)時(shí)間操作可用于保證時(shí)間分割(GTS)操作中。GTS是高服務(wù)質(zhì)量的一種方法,它允許每個(gè)設(shè)備有一個(gè)特定的時(shí)間間隔,這樣每個(gè)超幀就可以自由傳輸而不需要反應(yīng)和爭搶。
1.3 網(wǎng)絡(luò)層
物理層上面的網(wǎng)絡(luò)層由ZigBee標(biāo)準(zhǔn)規(guī)定,它確保正確的操作IEEES02.15.4MAC子層和應(yīng)用層提供服務(wù)接口。網(wǎng)絡(luò)層為應(yīng)用層提供兩種服務(wù)實(shí)體:數(shù)據(jù)實(shí)體和管理實(shí)體。網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體通過提供數(shù)據(jù)傳輸服務(wù),網(wǎng)絡(luò)層管理實(shí)體通過提供管理服務(wù),同時(shí),利用來完成一些管理任務(wù),負(fù)責(zé)維護(hù)網(wǎng)絡(luò)數(shù)據(jù)。
ZigBee提供了:星形網(wǎng)絡(luò)、樹狀網(wǎng)絡(luò)和網(wǎng)狀網(wǎng)絡(luò)三種拓?fù)浣Y(jié)構(gòu)。
(1)星型網(wǎng)絡(luò)配置包含了一個(gè)ZigBee協(xié)調(diào)器節(jié)點(diǎn)和一個(gè)或更多的終端設(shè)備。在星型網(wǎng)絡(luò)中,所有的終端設(shè)備都只與協(xié)調(diào)器通信。如果某個(gè)終端設(shè)備需要傳輸數(shù)據(jù)到另一個(gè)終端設(shè)備,它會(huì)把數(shù)據(jù)發(fā)送給協(xié)調(diào)器,然后協(xié)調(diào)器依次將數(shù)據(jù)轉(zhuǎn)發(fā)到目標(biāo)接收器終端設(shè)備。
(2)樹狀網(wǎng)絡(luò),在這種配置下,終端設(shè)備可以選擇加入ZigBee協(xié)調(diào)器或者ZigBee路由器。路由器提供兩種功能的服務(wù)。一是為整個(gè)網(wǎng)絡(luò)增加可能的節(jié)點(diǎn)數(shù)。二是擴(kuò)展網(wǎng)絡(luò)覆蓋的物理范圍。有了路由器以后,終端設(shè)備不需要在協(xié)調(diào)器的射頻范圍內(nèi),也可以加入網(wǎng)絡(luò)。在樹狀網(wǎng)絡(luò)中,所有的信息都由樹節(jié)點(diǎn)來組織路由。
(3)網(wǎng)狀網(wǎng)類似于樹狀網(wǎng)絡(luò)配置,只是FFD可以直接把消息發(fā)送給其他的FFD而不用沿著樹來傳輸。來自RFD的消息依然要通過它的父節(jié)點(diǎn)來轉(zhuǎn)發(fā)。網(wǎng)狀網(wǎng)絡(luò)拓?fù)涞膬?yōu)勢在于減少了消息傳輸?shù)臅r(shí)延并且增加了可靠性。
1.4 應(yīng)用層
ZigBee應(yīng)用層由三個(gè)部分組成,APS子層、ZDO(包含ZDO管理平臺(tái))和制造商定義的應(yīng)用對(duì)象。其中,APS提供了這樣的接口:在NwK層和APL層之間,從ZDO到供應(yīng)商的應(yīng)用對(duì)象的通用服務(wù)集。這服務(wù)由兩個(gè)實(shí)體實(shí)現(xiàn):APS數(shù)據(jù)實(shí)體(APSDE)和APS管理實(shí)體(APSME);ZigBee設(shè)備對(duì)象(ZDO),描述了一個(gè)基本的功能函數(shù),這個(gè)功能在應(yīng)用對(duì)象、設(shè)備profile和APS之間的提供了一個(gè)接口。ZDO位于應(yīng)用框架和應(yīng)用支持子層之間。
每個(gè)ZigBee設(shè)備都與一個(gè)特定模板有關(guān),可能是公共模板或私有模板。這些模板定義了設(shè)備的應(yīng)用環(huán)境、設(shè)備類型以及用于設(shè)備間通信的簇。公共模板可以確保不同供應(yīng)商的設(shè)備在相同應(yīng)用領(lǐng)域中的互操作性。設(shè)備是由模板定義的,并以應(yīng)用對(duì)象的形式實(shí)現(xiàn)。每個(gè)應(yīng)用對(duì)象通過一個(gè)端點(diǎn)連接到ZigBee堆棧的余下部分它們都是器件中可尋址的組件。ZigBee應(yīng)用層目前只定義編號(hào)1~240的240個(gè)應(yīng)用對(duì)象,而241~254則是保留予未來使用。另外,編號(hào)0與編號(hào)255是給予其他方面使用。ZigBee應(yīng)用層的通訊基礎(chǔ)是由ZigBee產(chǎn)品供應(yīng)商發(fā)展的模板所構(gòu)成,某一模板提供對(duì)ZigBee特定應(yīng)用技術(shù)需求的解決方案。
2 路由算法
由ZigBee聯(lián)盟發(fā)布的ZigBee協(xié)議的標(biāo)準(zhǔn)中,網(wǎng)絡(luò)層通過兩種路由協(xié)議相互補(bǔ)充進(jìn)行路由的發(fā)現(xiàn)與數(shù)據(jù)的轉(zhuǎn)發(fā)。這兩種路由協(xié)議分別是按需路由協(xié)議AODV和基于分簇的Cluster-Tree協(xié)議。樹型路由適用于節(jié)點(diǎn)靜止或者移動(dòng)較少的場合,屬于靜態(tài)路由,不需要路由表,節(jié)省存儲(chǔ)資源,對(duì)于傳輸數(shù)據(jù)包的響應(yīng)較快,但缺點(diǎn)是很不靈活,浪費(fèi)了大量的地址空間,并且路由效率低。AODV協(xié)議主要適用于動(dòng)態(tài)變化的網(wǎng)絡(luò)環(huán)境中,通過路由請(qǐng)求、路由回復(fù)等機(jī)制每次都能發(fā)現(xiàn)最新的轉(zhuǎn)發(fā)路徑。但是在有的無線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)被部署之后一般都不再發(fā)生移動(dòng),網(wǎng)絡(luò)拓?fù)涞淖兓埠芫徛?,各個(gè)傳感器節(jié)點(diǎn)只要把采集到的數(shù)據(jù)發(fā)送給匯聚點(diǎn)。而相互之間不需要進(jìn)行通信。在這樣的情況下,AODV協(xié)議就顯得太過復(fù)雜。因此,許多從事ZigBee技術(shù)的研究人員都提出相應(yīng)的Cluster-Tree,AODV改進(jìn)算法,下面對(duì)幾種改進(jìn)算法進(jìn)行簡單闡述。
(1)AODVjr是一種簡化版本的AODV,主要是考慮到ZigBee無線傳感器網(wǎng)絡(luò)的電池能量有限性、應(yīng)用方便性等因素,而簡化了AODV的一些特點(diǎn)。
(2)為使簇樹路由算法在縮短時(shí)延方面有更好的效果,應(yīng)該考慮鄰居節(jié)點(diǎn)和選擇下一跳節(jié)點(diǎn)是到目的節(jié)點(diǎn)的最短路徑的節(jié)點(diǎn),這是基于Greedy算法的想法,提出了改進(jìn)的Cluster-Tree算法。
(3)針對(duì)ZigBee網(wǎng)絡(luò)的Cluster-Tree算法對(duì)簇首能量要求高及節(jié)點(diǎn)問非最佳路由的問題,提出了Cluster-Tree路由改進(jìn)算法,對(duì)簇首的選擇必須考慮到節(jié)點(diǎn)的剩余能量,并結(jié)合AODVjr算法來降低路由距離,進(jìn)而減少轉(zhuǎn)發(fā)數(shù)據(jù)的能量損耗。
(4)通過研究ZigBee協(xié)議網(wǎng)絡(luò)層的路由算法,分析了樹型路由算法和AODVjr路由算法,并在此基礎(chǔ)上對(duì)樹型路由算法提出了一種改進(jìn)算法(ITRA),該改進(jìn)算法將節(jié)點(diǎn)分為兩類:一類是具有足夠的存儲(chǔ)空間和能力執(zhí)行AODVljr路由協(xié)議的節(jié)點(diǎn),另一類是指存儲(chǔ)空間受限,不具有執(zhí)行AODVjr路由協(xié)議能力的節(jié)點(diǎn),改善了原有樹型算法的路由效率低問題和避免AODVjr算法的能量消耗和路由表問題。
(5)文中分析了無線傳感器網(wǎng)絡(luò)的特點(diǎn)和ZigBee協(xié)議中的Cluster-Tree路由算法,對(duì)其中的分簇方法進(jìn)行了研究,在此算法的基礎(chǔ)上,利用節(jié)點(diǎn)的深度信息對(duì)算法進(jìn)行了簡化,并考慮了能量均衡利用的問題,以實(shí)現(xiàn)延長網(wǎng)絡(luò)生存周期的目的。改進(jìn)后的算法在延長網(wǎng)絡(luò)生存期方面比LEACH有很大提高。
(6)針對(duì)ZigBee網(wǎng)絡(luò)簇樹拓?fù)浣Y(jié)構(gòu)的不足,新的算法在選擇父節(jié)點(diǎn)時(shí)綜合考慮節(jié)點(diǎn)的深度、能量和負(fù)載情況,使簇樹結(jié)構(gòu)有助于減少數(shù)據(jù)轉(zhuǎn)發(fā)跳數(shù),并在負(fù)載均衡方面更加優(yōu)化。新策略在優(yōu)化簇樹結(jié)構(gòu)的基礎(chǔ)上,充分利用本地信息和簇樹結(jié)構(gòu)對(duì)ZBR策略進(jìn)行改進(jìn)。仿真實(shí)驗(yàn)驗(yàn)證,改進(jìn)策略能有效減少網(wǎng)絡(luò)能耗,均衡網(wǎng)絡(luò)負(fù)載,最大化網(wǎng)絡(luò)的生存時(shí)間。
(7)針對(duì)網(wǎng)絡(luò)隨著載荷增加,數(shù)據(jù)包碰撞概率增大的情況,提出一種頻點(diǎn)分配算法FFD。該算法以點(diǎn)著色理論為基礎(chǔ),結(jié)合功率控制,采用分布控制方式,使不同分簇內(nèi)部采用不同的頻點(diǎn)通信,以避免簇間干擾,降低碰撞概率。而簇內(nèi)通信使用小功率,使節(jié)點(diǎn)特別是簇頭能量得到有效利用。
3 ZigBee應(yīng)用
ZigBee技術(shù)主要是嵌入在消費(fèi)性電子設(shè)備、家庭和建筑物自動(dòng)化設(shè)備、工業(yè)控制裝置、電腦外設(shè)、醫(yī)用傳感器、玩具和游戲機(jī)等設(shè)備中,支持小范圍的基于無線通信的控制和自動(dòng)化等領(lǐng)域中。ZigBee聯(lián)盟預(yù)測的主要應(yīng)用領(lǐng)域包括工業(yè)控制、消費(fèi)性電子設(shè)備、汽車自動(dòng)化、農(nóng)業(yè)自動(dòng)化和醫(yī)用設(shè)備控制等。
通常,符合如下條件之一的應(yīng)用,就可以考慮采用ZigBee技術(shù)做無線傳輸:
(1)設(shè)備成本很低,傳輸?shù)臄?shù)據(jù)量很小;
(2)設(shè)備體積很小,不便放置較大的充電電池或者電源模塊;
(3)沒有充足的電力支持,只能使用一次性電池;
(4)頻繁地更換電池或者反復(fù)地充電無法做到或者很困難;
(5)需要較大范圍的通信覆蓋,網(wǎng)絡(luò)中的設(shè)備非常多,但僅用于監(jiān)測或控制。
4 小結(jié)
本文介紹了ZigBee技術(shù)的優(yōu)點(diǎn),協(xié)議棧各個(gè)層的功能,針對(duì)ZigBee低能耗問題,簡單介紹了幾種改進(jìn)的路由算法,并簡單介紹了ZigBee的應(yīng)用。