1. ZigBee簡介
ZigBee是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議。根據(jù)國際標(biāo)準(zhǔn)規(guī)定,ZigBee技術(shù)是一種短距離、低功耗的無線通信技術(shù)。
ZigBee協(xié)議從下到上分別為物理層(PHY)、媒體訪問控制層(MAC)、傳輸層(TL)、網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)等。其中物理層(PHY)和媒體訪問控制層(MAC)遵循IEEE802.15.4標(biāo)準(zhǔn)的規(guī)定。
2. ZigBee設(shè)備類型
ZigBee網(wǎng)絡(luò)包含:
協(xié)調(diào)器(ZC)
路由器(ZR)
終端設(shè)備(ZED)
2.1 協(xié)調(diào)器
ZigBee網(wǎng)絡(luò)中協(xié)調(diào)器主要作用是建立和維護(hù)網(wǎng)絡(luò)。存儲網(wǎng)絡(luò)信息。是整個網(wǎng)絡(luò)的認(rèn)證中心。
2.2 路由器
ZigBee網(wǎng)絡(luò)中路由器主要作用是網(wǎng)絡(luò)的擴展功能。在障礙周圍動態(tài)路由,為遠(yuǎn)端節(jié)點與中心節(jié)點的提供信息通道。
2.3 終端設(shè)備
ZigBee網(wǎng)絡(luò)中終端設(shè)備是一個僅接收信息和發(fā)送信息的簡易功能的ZigBee設(shè)備。它只能處于ZigBee網(wǎng)絡(luò)的末端,并且只能與其父節(jié)點進(jìn)行通信,可支持低功耗功能,沒有路由能力和網(wǎng)絡(luò)維護(hù)能力。
3. ZigBee網(wǎng)絡(luò)結(jié)構(gòu)
ZigBee網(wǎng)絡(luò)可分為:星型網(wǎng),樹狀網(wǎng),網(wǎng)狀網(wǎng)(MESH網(wǎng))。
(特別提示:星型和樹狀網(wǎng)絡(luò)適合點多多點、距離相對較近的應(yīng)用)
3.1星型網(wǎng)
ZigBee星型網(wǎng)絡(luò)拓?fù)淙缦聢D所示。星形拓?fù)涫亲詈唵蔚囊环N拓?fù)湫问?,他包含一個Coordinator(協(xié)調(diào)者) 節(jié)點和一系列的 End Device(終端)節(jié)點。每一個End Device 節(jié)點只能和 Coordinator 節(jié)點進(jìn)行通訊。如果需要在兩個 End Device 節(jié)點之間進(jìn)行通訊必須通過Coordinator 節(jié)點進(jìn)行信息的轉(zhuǎn)發(fā)。
這種拓?fù)湫问降娜秉c是節(jié)點之間的數(shù)據(jù)路由只有唯一的一個路徑。Coordinator(協(xié)調(diào)者)有可能成為整個網(wǎng)絡(luò)的瓶頸。實現(xiàn)星形網(wǎng)絡(luò)拓?fù)洳恍枰褂?zigbee 的網(wǎng)絡(luò)層協(xié)議,因為本身IEEE 802.15.4的協(xié)議層就已經(jīng)實現(xiàn)了星形拓?fù)湫问剑沁@需要開發(fā)者在應(yīng)用層作更多的工作,包括自己處理信息的轉(zhuǎn)發(fā)。
ZigBee星型網(wǎng)絡(luò)拓?fù)?/p>
3.2 樹狀網(wǎng)
ZigBee樹狀網(wǎng)絡(luò)拓?fù)淙缦聢D所示。樹狀拓?fù)浒ㄒ粋€Coordinator(協(xié)調(diào)者)以及一系列的 Router(路由器) 和 End Device(終端)節(jié)點。Coordinator 連接一系列的 Router 和 End Device, 他的子節(jié)點的 Router也可以連接一系列的 Router 和End Device. 這樣可以重復(fù)多個層級。
需要注意的是:
Coordinator 和 Router節(jié)點可以包含自己的子節(jié)點。
End Device 不能有自己的子節(jié)點。
有同一個父節(jié)點的節(jié)點之間稱為兄弟節(jié)點
有同一個祖父節(jié)點的節(jié)點之間稱為堂兄弟節(jié)點
每一個節(jié)點都只能和他的父節(jié)點和子節(jié)點之間通訊。
如果需要從一個節(jié)點向另一個節(jié)點發(fā)送數(shù)據(jù),那么信息將沿著樹的路徑向上傳遞到最近的祖先節(jié)點然后再向下傳遞到目標(biāo)節(jié)點。
這種拓?fù)浞绞降娜秉c就是信息只有唯一的路由通道。另外信息的路由是由協(xié)議棧層處理的,整個的路由過程對于應(yīng)用層是完全透明的
ZigBee樹狀網(wǎng)絡(luò)拓?fù)?/p>
3.3網(wǎng)狀網(wǎng)
ZigBee網(wǎng)狀網(wǎng)拓?fù)淙缦聢D所示。網(wǎng)狀拓?fù)浒粋€Coordinator和一系列的Router 和End Device。這種網(wǎng)絡(luò)拓?fù)湫问胶蜆錉钔負(fù)湎嗤?;請參考上面所提到的樹狀網(wǎng)絡(luò)拓?fù)洹5?,網(wǎng)狀網(wǎng)絡(luò)拓?fù)渚哂懈屿`活的信息路由規(guī)則,在可能的情況下,路由節(jié)點之間可以直接的通訊。這種路由機制使得信息的通訊變得更有效率,而且意味這一旦一個路由路徑出現(xiàn)了問題,信息可以自動的沿著其他的路由路徑進(jìn)行傳輸。
通常在支持網(wǎng)狀網(wǎng)絡(luò)的實現(xiàn)上,網(wǎng)絡(luò)層會提供相應(yīng)的路由探索功能,這一特性使得網(wǎng)絡(luò)層可以找到信息傳輸?shù)淖顑?yōu)化的路徑。需要注意的是,以上所提到的特性都是由網(wǎng)絡(luò)層來實現(xiàn),應(yīng)用層不需要進(jìn)行任何的參與。
網(wǎng)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)具有強大的功能,網(wǎng)絡(luò)可以通過“多級跳”的方式來通信;該拓?fù)浣Y(jié)構(gòu)還可以組成極為復(fù)雜的網(wǎng)絡(luò);網(wǎng)絡(luò)還具備自組織、自愈功能;
ZigBee網(wǎng)狀網(wǎng)絡(luò)拓?fù)?/p>
4. ZigBee地址分配機制
ZigBee 2007協(xié)議中,網(wǎng)絡(luò)地址分配機制為樹狀網(wǎng)絡(luò)分配機制,其主要實現(xiàn)為:
假設(shè)子設(shè)備數(shù)量的最大值nwkMaxChildren(Cm),網(wǎng)絡(luò)最大深度為nwkMaxDepth(Lm),父節(jié)點將路由設(shè)備作為它的子設(shè)備的最大數(shù)為nwkMaxRouters(Rm),自身網(wǎng)絡(luò)深度(d),則可計算函數(shù)Cskip(d)m,該函數(shù)為在給定網(wǎng)絡(luò)深度和路由子設(shè)備個數(shù)的條件下福設(shè)備所能分配子區(qū)段地址數(shù):
如果一個設(shè)備Cskip(d)的值為0,則沒有路由能力,該設(shè)備為終端設(shè)備;
如果一個設(shè)備Cskip(d)的值大于0,則有路由能力,該設(shè)備為路由器設(shè)備。
網(wǎng)絡(luò)中分配地址為(n為當(dāng)前分配節(jié)點個數(shù))
終端:An=Ak+1+Cskip(d)*(n-1)
路由器:An=Ak+Cskip(d)*Rm*(n-1);
下一個路由器設(shè)備分配地址為前一個已分配路由器地址加Cskip偏移量
CurNodeInfo.NextRouterAddr+ = CurNodeInfo.Cskip;
下一個要分配的終端設(shè)備地址為前一個已知分配地址+1
CurNodeInfo.NextEndDevAddr++;
5. ZigBee樹狀路由機制
假設(shè)一個路由器要發(fā)送數(shù)據(jù)包到目標(biāo)地址D。這個路由器的網(wǎng)絡(luò)地址個網(wǎng)絡(luò)深度為A和d。它首先會判斷目標(biāo)地址設(shè)備是否是它的子設(shè)備,應(yīng)當(dāng)滿足:
A < D < A+Cskip(d-1)
如果目標(biāo)設(shè)備是它的子設(shè)備,下一跳地址就是
否則,路由器將此數(shù)據(jù)包發(fā)向它的父節(jié)點。
責(zé)任編輯:lq
評論
查看更多