基于ZigBee的WPAN網(wǎng)絡(luò)配置應(yīng)用
3 網(wǎng)絡(luò)工作模式
ZigBee網(wǎng)絡(luò)的工作模式可以分為信標(biāo)(Beacon)和非信標(biāo)(Non-beacon)2種模式,信標(biāo)模式實(shí)現(xiàn)了網(wǎng)絡(luò)中所有設(shè)備的同步工作和同步休眠,以達(dá)到最大限度的功耗節(jié)省,而非信標(biāo)模式則只允許ZE進(jìn)行周期性休眠,ZC和所有ZR設(shè)備必須長(zhǎng)期處于工作狀態(tài)。本文引用地址:http://2s4d.com/article/156512.htm
信標(biāo)模式下,ZC負(fù)責(zé)以一定的間隔時(shí)間(一般在15ms~4min)向網(wǎng)絡(luò)廣播信標(biāo)幀,2個(gè)信標(biāo)幀發(fā)送之間有16個(gè)相同的時(shí)槽,這些時(shí)槽分為網(wǎng)絡(luò)休眠區(qū)和網(wǎng)絡(luò)活動(dòng)區(qū)2個(gè)部分,消息只能在網(wǎng)絡(luò)活動(dòng)區(qū)的各時(shí)槽內(nèi)發(fā)送。
非信標(biāo)模式下,ZigBee標(biāo)準(zhǔn)采用父節(jié)點(diǎn)為ZE子節(jié)點(diǎn)緩存數(shù)據(jù),ZE主動(dòng)向其父節(jié)點(diǎn)提取數(shù)據(jù)的機(jī)制,實(shí)現(xiàn)ZE的周期性(周期可設(shè)置)休眠。網(wǎng)絡(luò)中所有父節(jié)點(diǎn)需為自己的ZE子節(jié)點(diǎn)緩存數(shù)據(jù)幀,所有ZE子節(jié)點(diǎn)的大多數(shù)時(shí)間都處于休眠模式,周期性的醒來(lái)與父節(jié)點(diǎn)握手以確認(rèn)自己仍處于網(wǎng)絡(luò)中,其從休眠模式轉(zhuǎn)入數(shù)據(jù)傳輸模式一般只需要15ms。
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
IEEE 802.15.4網(wǎng)絡(luò)根據(jù)應(yīng)用的需要可以組織成星型網(wǎng)絡(luò),也可以組織成點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。在星型結(jié)構(gòu)中,所有設(shè)備都與中心設(shè)備PAN網(wǎng)絡(luò)協(xié)調(diào)器通信。在這種網(wǎng)絡(luò)中,網(wǎng)絡(luò)協(xié)調(diào)器一般使用持續(xù)電力系統(tǒng)供電,而其他設(shè)備采用電池供電。星型網(wǎng)絡(luò)適合家庭自動(dòng)化、個(gè)人計(jì)算機(jī)的外設(shè)以及個(gè)人健康護(hù)理等小范圍的室內(nèi)應(yīng)用。與星型網(wǎng)不同,點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)只要彼此都在對(duì)方的無(wú)線(xiàn)輻射范圍之內(nèi),任何2個(gè)設(shè)備都可以直接通信。點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中也需要網(wǎng)絡(luò)協(xié)調(diào)器,負(fù)責(zé)實(shí)現(xiàn)管理鏈路狀態(tài)信息,認(rèn)證設(shè)備身份等功能。點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)模式可以支持Ad Hoc網(wǎng)絡(luò),允許通過(guò)多跳路由的方式在網(wǎng)絡(luò)中傳輸數(shù)據(jù)。不過(guò)一般認(rèn)為自組織問(wèn)題由網(wǎng)絡(luò)層來(lái)解決,不在IEEE 802.15.4標(biāo)準(zhǔn)討論范圍之內(nèi)。點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)可以構(gòu)造更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),適合于設(shè)備分布范圍廣的應(yīng)用,例如,在工業(yè)檢測(cè)與控制、貨物庫(kù)存跟蹤和智能農(nóng)業(yè)等方面有非常好的應(yīng)用背景。
由于樹(shù)狀網(wǎng)絡(luò)和網(wǎng)狀網(wǎng)絡(luò)具有在多個(gè)網(wǎng)絡(luò)之間路由數(shù)據(jù)包的功能,因而被稱(chēng)為多跳網(wǎng)絡(luò),而星形網(wǎng)絡(luò)則被稱(chēng)為單跳網(wǎng)絡(luò)。和任何網(wǎng)絡(luò)一樣,ZigBee網(wǎng)絡(luò)也是多點(diǎn)接入網(wǎng)絡(luò),這意味著網(wǎng)絡(luò)中的所有節(jié)點(diǎn)對(duì)通信介質(zhì)的訪問(wèn)是同等的。其有2種類(lèi)型的多點(diǎn)接入機(jī)制,在沒(méi)有使能信標(biāo)的網(wǎng)絡(luò)中,只要信道是空閑的,在任何時(shí)候都允許所有節(jié)點(diǎn)發(fā)送。在使能了信標(biāo)的網(wǎng)絡(luò)中,僅允許節(jié)點(diǎn)在預(yù)定義的時(shí)隙內(nèi)進(jìn)行發(fā)送。協(xié)調(diào)器會(huì)定期以一個(gè)標(biāo)識(shí)為信標(biāo)幀的超級(jí)幀開(kāi)始發(fā)送,并且希望網(wǎng)絡(luò)中的所有節(jié)點(diǎn)與此幀同步。在這個(gè)超級(jí)幀中為每個(gè)節(jié)點(diǎn)分配了一個(gè)特定的時(shí)隙,在該時(shí)隙內(nèi)允許節(jié)點(diǎn)發(fā)送和接收數(shù)據(jù)。超級(jí)幀可能還含有一個(gè)公共時(shí)隙,在此時(shí),隙內(nèi)所有節(jié)點(diǎn)競(jìng)爭(zhēng)接入信道。
雖然網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的形成過(guò)程屬于網(wǎng)絡(luò)層的功能,但I(xiàn)EEE 802.15.4為形成各種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)提供了充分支持。在規(guī)劃設(shè)計(jì)時(shí),通常需要考慮網(wǎng)絡(luò)容量和時(shí)延。ZigBee標(biāo)準(zhǔn)的網(wǎng)絡(luò)容量雖然可以支持到最多65535個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),但每2個(gè)相鄰節(jié)點(diǎn)完成一次通信需要15ms時(shí)間,所以在實(shí)際應(yīng)用中需要考慮網(wǎng)絡(luò)覆蓋范圍和響應(yīng)時(shí)間。單點(diǎn)容量大了,覆蓋范圍擴(kuò)充不大;響應(yīng)時(shí)間大了,應(yīng)用業(yè)務(wù)實(shí)現(xiàn)不了。這就需要根據(jù)應(yīng)用環(huán)境的不同,設(shè)計(jì)有效的網(wǎng)絡(luò)拓?fù)浣M合來(lái)滿(mǎn)足各種不同應(yīng)用。
1 星型網(wǎng)絡(luò)
星形網(wǎng)絡(luò)是一個(gè)輻射狀系統(tǒng),數(shù)據(jù)和網(wǎng)絡(luò)命令都通過(guò)中心節(jié)點(diǎn)傳輸。在這種路由拓?fù)渲?,外圍?jié)點(diǎn)需要直接與中心節(jié)點(diǎn)無(wú)線(xiàn)連接,某個(gè)節(jié)點(diǎn)的沖突或者故障將會(huì)降低系統(tǒng)的可靠性。星形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)最大的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,因?yàn)楹苌儆猩蠈訁f(xié)議需要執(zhí)行,設(shè)備成本低、較少的上層路由管理;中心節(jié)點(diǎn)承擔(dān)絕大多數(shù)管理工作,如發(fā)放證書(shū)和遠(yuǎn)距離網(wǎng)關(guān)管理等。缺點(diǎn)是:靈活性差,因?yàn)樾枰衙總€(gè)終端節(jié)點(diǎn)放在中心節(jié)點(diǎn)的通信范圍內(nèi),必然會(huì)限制無(wú)線(xiàn)網(wǎng)絡(luò)的覆蓋范圍;而且,集中的信息涌向中心節(jié)點(diǎn),容易造成網(wǎng)絡(luò)阻塞、丟包、性能下降等情況。
星型網(wǎng)絡(luò)以網(wǎng)絡(luò)協(xié)調(diào)器為中心,所有設(shè)備只能與網(wǎng)絡(luò)協(xié)調(diào)器進(jìn)行通信,因此在星型網(wǎng)絡(luò)的形成過(guò)程中,第一步就是建立網(wǎng)絡(luò)協(xié)調(diào)器。任何一個(gè)FFD設(shè)備都有成為網(wǎng)絡(luò)協(xié)調(diào)器的可能,一個(gè)網(wǎng)絡(luò)如何確定自己的網(wǎng)絡(luò)協(xié)調(diào)器由上層協(xié)議決定。一種簡(jiǎn)單的應(yīng)用策略是:一個(gè)FFD設(shè)備在第一次被激活后,首先廣播查詢(xún)網(wǎng)絡(luò)協(xié)調(diào)器的請(qǐng)求,如果接收到回應(yīng)說(shuō)明網(wǎng)絡(luò)中已經(jīng)存在網(wǎng)絡(luò)協(xié)調(diào)器,再通過(guò)一系列認(rèn)證過(guò)程,設(shè)備就成為了這個(gè)網(wǎng)絡(luò)中的普通設(shè)備。如果沒(méi)有收到回應(yīng),或者認(rèn)證過(guò)程不成功,這個(gè)FFD設(shè)備就可以建立自己的網(wǎng)絡(luò),并且成為這個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)調(diào)器。當(dāng)然,這里還存在一些更深入的問(wèn)題,一個(gè)是網(wǎng)絡(luò)協(xié)調(diào)器過(guò)期問(wèn)題,如原有的網(wǎng)絡(luò)協(xié)調(diào)器損壞或者能量耗盡;另一個(gè)是偶然因素造成多個(gè)網(wǎng)絡(luò)協(xié)調(diào)器競(jìng)爭(zhēng)問(wèn)題,如移動(dòng)物體阻擋導(dǎo)致一個(gè)FFD自己建立網(wǎng)絡(luò),當(dāng)移動(dòng)物體離開(kāi)的時(shí)候,網(wǎng)絡(luò)中將出現(xiàn)多個(gè)協(xié)調(diào)器。
網(wǎng)絡(luò)協(xié)調(diào)器要為網(wǎng)絡(luò)選擇一個(gè)唯一的標(biāo)識(shí)符,所有該星型網(wǎng)絡(luò)中的設(shè)備都是用這個(gè)標(biāo)識(shí)符來(lái)規(guī)定自己的屬主關(guān)系。不同星型網(wǎng)絡(luò)之間的設(shè)備通過(guò)設(shè)置專(zhuān)門(mén)的網(wǎng)關(guān)完成相互通信。選擇一個(gè)標(biāo)識(shí)符后,網(wǎng)絡(luò)協(xié)調(diào)器就允許其他設(shè)備加入自己的網(wǎng)絡(luò),并為這些設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)分組。星型網(wǎng)絡(luò)中的2個(gè)設(shè)備如果需要互相通信,都是先把各自的數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)協(xié)調(diào)器,然后由網(wǎng)絡(luò)協(xié)調(diào)器轉(zhuǎn)發(fā)給對(duì)方。
2 樹(shù)狀網(wǎng)絡(luò)
樹(shù)狀網(wǎng)絡(luò)是點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的一個(gè)例子,也是ZigBee典型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在一般的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中,任意2個(gè)設(shè)備只要能夠彼此收到對(duì)方的無(wú)線(xiàn)信號(hào),就可以進(jìn)行直接通信,不需要其他設(shè)備的轉(zhuǎn)發(fā)。但點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中仍然需要一個(gè)網(wǎng)絡(luò)協(xié)調(diào)器,不過(guò)該協(xié)調(diào)器的功能不再是為其他設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù),而是完成設(shè)備注冊(cè)和訪問(wèn)控制等基本的網(wǎng)絡(luò)管理功能。網(wǎng)絡(luò)協(xié)調(diào)器的產(chǎn)生同樣由上層協(xié)議規(guī)定,例如,把某個(gè)信道上第一個(gè)開(kāi)始通信的設(shè)備作為該信道上的網(wǎng)絡(luò)協(xié)議器。
在ZigBee的樹(shù)狀網(wǎng)絡(luò)中,絕大多數(shù)設(shè)備是FFD設(shè)備,而RFD設(shè)備總是作為樹(shù)狀的葉設(shè)備連接到網(wǎng)絡(luò)中。任意一個(gè)FFD都可以充當(dāng)RFD協(xié)調(diào)器或者網(wǎng)絡(luò)協(xié)調(diào)器,為其他設(shè)備提供同步信息。在這些協(xié)調(diào)器中,只有一個(gè)可以充當(dāng)整個(gè)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)調(diào)器。網(wǎng)絡(luò)協(xié)調(diào)器可能和網(wǎng)絡(luò)中其他設(shè)備一樣,也可能擁有比其他設(shè)備更多的計(jì)算資源和能量資源。網(wǎng)絡(luò)協(xié)調(diào)器首先將自己設(shè)為簇頭(Cluster Header,CLH),并將簇標(biāo)識(shí)符(Cluster Identifier,CID)設(shè)置為0,同時(shí)為該簇選擇一個(gè)未被使用的PAN網(wǎng)絡(luò)標(biāo)識(shí)符,形成網(wǎng)絡(luò)中的第一個(gè)簇。接著,網(wǎng)絡(luò)協(xié)調(diào)器開(kāi)始廣播信標(biāo)幀;鄰近設(shè)備收到信標(biāo)幀后,就可以申請(qǐng)加入該簇;設(shè)備可否成為簇成員,由網(wǎng)絡(luò)協(xié)調(diào)器決定。如果請(qǐng)求被允許,則該設(shè)備將作為簇的子設(shè)備加入網(wǎng)絡(luò)協(xié)調(diào)器的鄰居列表。新加入的設(shè)備會(huì)將簇頭作為它的父設(shè)備加入到自己的鄰居列表中。
上面描述的只是一個(gè)由單簇構(gòu)成的最簡(jiǎn)單的樹(shù)狀,個(gè)域網(wǎng)網(wǎng)絡(luò)協(xié)調(diào)器可以指定另一個(gè)設(shè)備成為鄰接的新簇頭,以此形成更多的簇。新簇頭同樣可以選擇其他設(shè)備成為簇頭,進(jìn)一步擴(kuò)大網(wǎng)絡(luò)的覆蓋范圍。但是過(guò)多的簇頭會(huì)增加簇間消息傳遞的延遲和通信開(kāi)銷(xiāo)。為了減少延遲和通信開(kāi)銷(xiāo),簇頭可以選擇最遠(yuǎn)的通信設(shè)備作為相鄰簇的簇頭,這樣可以最大限度地縮小不同簇間消息傳遞的跳數(shù),達(dá)到減少延遲和開(kāi)銷(xiāo)的目的。
評(píng)論