基于ZigBee的WPAN網(wǎng)絡(luò)配置應(yīng)用
ZigBee是一種新興的短距離、低速率、低成本、低功耗的無線網(wǎng)絡(luò)技術(shù)。它采用直接序列擴頻(DSSS)技術(shù),工作頻率為868MHz、915MHz或2.4GHz,都是無須申請執(zhí)照的頻率?;赯igBee技術(shù)配置無線個域網(wǎng)絡(luò)是近年來近距離無線通信技術(shù)的一種新發(fā)展,在工業(yè)自動化領(lǐng)域以及智能家居領(lǐng)域獲得了越來越廣泛的應(yīng)用。
ZigBee網(wǎng)絡(luò)配置
1 網(wǎng)絡(luò)設(shè)備組成
ZigBee網(wǎng)絡(luò)設(shè)備主要包括網(wǎng)絡(luò)協(xié)調(diào)器、全功能設(shè)備和精簡功能設(shè)備3類。
① 網(wǎng)絡(luò)協(xié)調(diào)器
包含所有的網(wǎng)絡(luò)消息,是3種設(shè)備類型中最復(fù)雜的一種,存儲容量最大、計算能力最強。功能是發(fā)送網(wǎng)絡(luò)信標、建立一個網(wǎng)絡(luò)、管理網(wǎng)絡(luò)節(jié)點、存儲網(wǎng)絡(luò)節(jié)點信息、尋找一對節(jié)點間的路由消息、不斷地接收信息。
② 全功能設(shè)備
全功能設(shè)備(Full-Function Device,F(xiàn)FD)可以擔任網(wǎng)絡(luò)協(xié)調(diào)者,形成網(wǎng)絡(luò),讓其他的FFD或精簡功能裝置(RFD)聯(lián)結(jié)。FFD具備控制器的功能,可提供信息雙向傳輸。其設(shè)備特性如下。
● 附帶由標準指定的全部IEEE 802.15.4功能和所有特征;
● 更強的存儲能力和計算能力可使其在空閑時起網(wǎng)絡(luò)路由器作用;
● 也能用作終端設(shè)備。
③ 精簡功能設(shè)備
精簡功能設(shè)備(Reduced-Function Device,RFD)只能傳送信息給FFD或從FFD接收信息,其設(shè)備特性如下。
● 附帶有限的功能來控制成本和復(fù)雜性;
● 在網(wǎng)絡(luò)中通常用作終端設(shè)備;
● RFD由于省掉了內(nèi)存和其他電路,降低了ZigBee部件的成本,而簡單的8位處理器和小協(xié)議棧也有助于降低成本。
2 網(wǎng)絡(luò)節(jié)點類型
從網(wǎng)絡(luò)配置上,ZigBee網(wǎng)絡(luò)中有3種類型的節(jié)點:ZigBee協(xié)調(diào)點、ZigBee路由節(jié)點和ZigBee終端節(jié)點。
① ZigBee協(xié)調(diào)點
ZigBee協(xié)調(diào)點在IEEE 802.15.4中也稱為PAN(Personal Area Network)協(xié)調(diào)點(ZigBee Coordinator,ZC),在無線傳感器網(wǎng)絡(luò)中可以作為匯聚節(jié)點。ZigBee協(xié)調(diào)點必須是FFD,一個ZigBee網(wǎng)絡(luò)只有一個ZigBee協(xié)調(diào)點,它往往比網(wǎng)絡(luò)中其他節(jié)點的功能更強大,是整個網(wǎng)絡(luò)的主控節(jié)點。它負責發(fā)起建立新的網(wǎng)絡(luò)、設(shè)定網(wǎng)絡(luò)參數(shù)、管理網(wǎng)絡(luò)中的節(jié)點以及存儲網(wǎng)絡(luò)中節(jié)點信息等,網(wǎng)絡(luò)形成后也可以執(zhí)行路由器的功能。ZigBee協(xié)調(diào)點是3種類型ZigBee節(jié)點最為復(fù)雜的一種,一般由交流電源持續(xù)供電。
② ZigBee路由節(jié)點
ZigBee路由節(jié)點(ZigBee Router,ZR)也必須是FFD。ZigBee路由節(jié)點可以參與路由發(fā)現(xiàn)、消息轉(zhuǎn)發(fā),通過連接別的節(jié)點來擴展網(wǎng)絡(luò)的覆蓋范圍等。此外,ZigBee路由節(jié)點還可以在它的個人操作空間(POS,Personal Operating Space)中充當普通協(xié)調(diào)點(IEEE 802.15.4稱為協(xié)調(diào)點)。普通協(xié)調(diào)點與ZigBee協(xié)調(diào)點不同,它仍然受ZigBee協(xié)調(diào)點的控制。
③ ZigBee終端節(jié)點
ZigBee終端節(jié)點(ZigBee EndDevice,ZE)可以是FFD或者RFD,它通過ZigBee協(xié)凋點或者ZigBee路由節(jié)點連接到網(wǎng)絡(luò),但不允許其他任何節(jié)點通過它加入網(wǎng)絡(luò),ZigBee終端節(jié)點能夠以非常低的功率運行。
3 網(wǎng)絡(luò)工作模式
ZigBee網(wǎng)絡(luò)的工作模式可以分為信標(Beacon)和非信標(Non-beacon)2種模式,信標模式實現(xiàn)了網(wǎng)絡(luò)中所有設(shè)備的同步工作和同步休眠,以達到最大限度的功耗節(jié)省,而非信標模式則只允許ZE進行周期性休眠,ZC和所有ZR設(shè)備必須長期處于工作狀態(tài)。
信標模式下,ZC負責以一定的間隔時間(一般在15ms~4min)向網(wǎng)絡(luò)廣播信標幀,2個信標幀發(fā)送之間有16個相同的時槽,這些時槽分為網(wǎng)絡(luò)休眠區(qū)和網(wǎng)絡(luò)活動區(qū)2個部分,消息只能在網(wǎng)絡(luò)活動區(qū)的各時槽內(nèi)發(fā)送。
非信標模式下,ZigBee標準采用父節(jié)點為ZE子節(jié)點緩存數(shù)據(jù),ZE主動向其父節(jié)點提取數(shù)據(jù)的機制,實現(xiàn)ZE的周期性(周期可設(shè)置)休眠。網(wǎng)絡(luò)中所有父節(jié)點需為自己的ZE子節(jié)點緩存數(shù)據(jù)幀,所有ZE子節(jié)點的大多數(shù)時間都處于休眠模式,周期性的醒來與父節(jié)點握手以確認自己仍處于網(wǎng)絡(luò)中,其從休眠模式轉(zhuǎn)入數(shù)據(jù)傳輸模式一般只需要15ms。
網(wǎng)絡(luò)拓撲結(jié)構(gòu)
IEEE 802.15.4網(wǎng)絡(luò)根據(jù)應(yīng)用的需要可以組織成星型網(wǎng)絡(luò),也可以組織成點對點網(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ò)適合家庭自動化、個人計算機的外設(shè)以及個人健康護理等小范圍的室內(nèi)應(yīng)用。與星型網(wǎng)不同,點對點網(wǎng)絡(luò)只要彼此都在對方的無線輻射范圍之內(nèi),任何2個設(shè)備都可以直接通信。點對點網(wǎng)絡(luò)中也需要網(wǎng)絡(luò)協(xié)調(diào)器,負責實現(xiàn)管理鏈路狀態(tài)信息,認證設(shè)備身份等功能。點對點網(wǎng)絡(luò)模式可以支持Ad Hoc網(wǎng)絡(luò),允許通過多跳路由的方式在網(wǎng)絡(luò)中傳輸數(shù)據(jù)。不過一般認為自組織問題由網(wǎng)絡(luò)層來解決,不在IEEE 802.15.4標準討論范圍之內(nèi)。點對點網(wǎng)絡(luò)可以構(gòu)造更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),適合于設(shè)備分布范圍廣的應(yīng)用,例如,在工業(yè)檢測與控制、貨物庫存跟蹤和智能農(nóng)業(yè)等方面有非常好的應(yīng)用背景。
由于樹狀網(wǎng)絡(luò)和網(wǎng)狀網(wǎng)絡(luò)具有在多個網(wǎng)絡(luò)之間路由數(shù)據(jù)包的功能,因而被稱為多跳網(wǎng)絡(luò),而星形網(wǎng)絡(luò)則被稱為單跳網(wǎng)絡(luò)。和任何網(wǎng)絡(luò)一樣,ZigBee網(wǎng)絡(luò)也是多點接入網(wǎng)絡(luò),這意味著網(wǎng)絡(luò)中的所有節(jié)點對通信介質(zhì)的訪問是同等的。其有2種類型的多點接入機制,在沒有使能信標的網(wǎng)絡(luò)中,只要信道是空閑的,在任何時候都允許所有節(jié)點發(fā)送。在使能了信標的網(wǎng)絡(luò)中,僅允許節(jié)點在預(yù)定義的時隙內(nèi)進行發(fā)送。協(xié)調(diào)器會定期以一個標識為信標幀的超級幀開始發(fā)送,并且希望網(wǎng)絡(luò)中的所有節(jié)點與此幀同步。在這個超級幀中為每個節(jié)點分配了一個特定的時隙,在該時隙內(nèi)允許節(jié)點發(fā)送和接收數(shù)據(jù)。超級幀可能還含有一個公共時隙,在此時,隙內(nèi)所有節(jié)點競爭接入信道。
雖然網(wǎng)絡(luò)拓撲結(jié)構(gòu)的形成過程屬于網(wǎng)絡(luò)層的功能,但IEEE 802.15.4為形成各種網(wǎng)絡(luò)拓撲結(jié)構(gòu)提供了充分支持。在規(guī)劃設(shè)計時,通常需要考慮網(wǎng)絡(luò)容量和時延。ZigBee標準的網(wǎng)絡(luò)容量雖然可以支持到最多65535個網(wǎng)絡(luò)節(jié)點,但每2個相鄰節(jié)點完成一次通信需要15ms時間,所以在實際應(yīng)用中需要考慮網(wǎng)絡(luò)覆蓋范圍和響應(yīng)時間。單點容量大了,覆蓋范圍擴充不大;響應(yīng)時間大了,應(yīng)用業(yè)務(wù)實現(xiàn)不了。這就需要根據(jù)應(yīng)用環(huán)境的不同,設(shè)計有效的網(wǎng)絡(luò)拓撲組合來滿足各種不同應(yīng)用。
1 星型網(wǎng)絡(luò)
星形網(wǎng)絡(luò)是一個輻射狀系統(tǒng),數(shù)據(jù)和網(wǎng)絡(luò)命令都通過中心節(jié)點傳輸。在這種路由拓撲中,外圍節(jié)點需要直接與中心節(jié)點無線連接,某個節(jié)點的沖突或者故障將會降低系統(tǒng)的可靠性。星形網(wǎng)絡(luò)拓撲結(jié)構(gòu)最大的優(yōu)點是結(jié)構(gòu)簡單,因為很少有上層協(xié)議需要執(zhí)行,設(shè)備成本低、較少的上層路由管理;中心節(jié)點承擔絕大多數(shù)管理工作,如發(fā)放證書和遠距離網(wǎng)關(guān)管理等。缺點是:靈活性差,因為需要把每個終端節(jié)點放在中心節(jié)點的通信范圍內(nèi),必然會限制無線網(wǎng)絡(luò)的覆蓋范圍;而且,集中的信息涌向中心節(jié)點,容易造成網(wǎng)絡(luò)阻塞、丟包、性能下降等情況。
星型網(wǎng)絡(luò)以網(wǎng)絡(luò)協(xié)調(diào)器為中心,所有設(shè)備只能與網(wǎng)絡(luò)協(xié)調(diào)器進行通信,因此在星型網(wǎng)絡(luò)的形成過程中,第一步就是建立網(wǎng)絡(luò)協(xié)調(diào)器。任何一個FFD設(shè)備都有成為網(wǎng)絡(luò)協(xié)調(diào)器的可能,一個網(wǎng)絡(luò)如何確定自己的網(wǎng)絡(luò)協(xié)調(diào)器由上層協(xié)議決定。一種簡單的應(yīng)用策略是:一個FFD設(shè)備在第一次被激活后,首先廣播查詢網(wǎng)絡(luò)協(xié)調(diào)器的請求,如果接收到回應(yīng)說明網(wǎng)絡(luò)中已經(jīng)存在網(wǎng)絡(luò)協(xié)調(diào)器,再通過一系列認證過程,設(shè)備就成為了這個網(wǎng)絡(luò)中的普通設(shè)備。如果沒有收到回應(yīng),或者認證過程不成功,這個FFD設(shè)備就可以建立自己的網(wǎng)絡(luò),并且成為這個網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)調(diào)器。當然,這里還存在一些更深入的問題,一個是網(wǎng)絡(luò)協(xié)調(diào)器過期問題,如原有的網(wǎng)絡(luò)協(xié)調(diào)器損壞或者能量耗盡;另一個是偶然因素造成多個網(wǎng)絡(luò)協(xié)調(diào)器競爭問題,如移動物體阻擋導(dǎo)致一個FFD自己建立網(wǎng)絡(luò),當移動物體離開的時候,網(wǎng)絡(luò)中將出現(xiàn)多個協(xié)調(diào)器。
網(wǎng)絡(luò)協(xié)調(diào)器要為網(wǎng)絡(luò)選擇一個唯一的標識符,所有該星型網(wǎng)絡(luò)中的設(shè)備都是用這個標識符來規(guī)定自己的屬主關(guān)系。不同星型網(wǎng)絡(luò)之間的設(shè)備通過設(shè)置專門的網(wǎng)關(guān)完成相互通信。選擇一個標識符后,網(wǎng)絡(luò)協(xié)調(diào)器就允許其他設(shè)備加入自己的網(wǎng)絡(luò),并為這些設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)分組。星型網(wǎng)絡(luò)中的2個設(shè)備如果需要互相通信,都是先把各自的數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)協(xié)調(diào)器,然后由網(wǎng)絡(luò)協(xié)調(diào)器轉(zhuǎn)發(fā)給對方。
2 樹狀網(wǎng)絡(luò)
樹狀網(wǎng)絡(luò)是點對點網(wǎng)絡(luò)的一個例子,也是ZigBee典型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)。在一般的點對點網(wǎng)絡(luò)中,任意2個設(shè)備只要能夠彼此收到對方的無線信號,就可以進行直接通信,不需要其他設(shè)備的轉(zhuǎn)發(fā)。但點對點網(wǎng)絡(luò)中仍然需要一個網(wǎng)絡(luò)協(xié)調(diào)器,不過該協(xié)調(diào)器的功能不再是為其他設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù),而是完成設(shè)備注冊和訪問控制等基本的網(wǎng)絡(luò)管理功能。網(wǎng)絡(luò)協(xié)調(diào)器的產(chǎn)生同樣由上層協(xié)議規(guī)定,例如,把某個信道上第一個開始通信的設(shè)備作為該信道上的網(wǎng)絡(luò)協(xié)議器。
在ZigBee的樹狀網(wǎng)絡(luò)中,絕大多數(shù)設(shè)備是FFD設(shè)備,而RFD設(shè)備總是作為樹狀的葉設(shè)備連接到網(wǎng)絡(luò)中。任意一個FFD都可以充當RFD協(xié)調(diào)器或者網(wǎng)絡(luò)協(xié)調(diào)器,為其他設(shè)備提供同步信息。在這些協(xié)調(diào)器中,只有一個可以充當整個點對點網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)調(diào)器。網(wǎng)絡(luò)協(xié)調(diào)器可能和網(wǎng)絡(luò)中其他設(shè)備一樣,也可能擁有比其他設(shè)備更多的計算資源和能量資源。網(wǎng)絡(luò)協(xié)調(diào)器首先將自己設(shè)為簇頭(Cluster Header,CLH),并將簇標識符(Cluster Identifier,CID)設(shè)置為0,同時為該簇選擇一個未被使用的PAN網(wǎng)絡(luò)標識符,形成網(wǎng)絡(luò)中的第一個簇。接著,網(wǎng)絡(luò)協(xié)調(diào)器開始廣播信標幀;鄰近設(shè)備收到信標幀后,就可以申請加入該簇;設(shè)備可否成為簇成員,由網(wǎng)絡(luò)協(xié)調(diào)器決定。如果請求被允許,則該設(shè)備將作為簇的子設(shè)備加入網(wǎng)絡(luò)協(xié)調(diào)器的鄰居列表。新加入的設(shè)備會將簇頭作為它的父設(shè)備加入到自己的鄰居列表中。
上面描述的只是一個由單簇構(gòu)成的最簡單的樹狀,個域網(wǎng)網(wǎng)絡(luò)協(xié)調(diào)器可以指定另一個設(shè)備成為鄰接的新簇頭,以此形成更多的簇。新簇頭同樣可以選擇其他設(shè)備成為簇頭,進一步擴大網(wǎng)絡(luò)的覆蓋范圍。但是過多的簇頭會增加簇間消息傳遞的延遲和通信開銷。為了減少延遲和通信開銷,簇頭可以選擇最遠的通信設(shè)備作為相鄰簇的簇頭,這樣可以最大限度地縮小不同簇間消息傳遞的跳數(shù),達到減少延遲和開銷的目的。
3 網(wǎng)狀網(wǎng)絡(luò)
MESH網(wǎng)狀網(wǎng)絡(luò)拓撲結(jié)構(gòu)的網(wǎng)絡(luò)具有強大的功能,網(wǎng)絡(luò)可以通過“多級跳”的方式來通信;該拓撲結(jié)構(gòu)還可以組成極為復(fù)雜的網(wǎng)絡(luò);網(wǎng)絡(luò)還具備自組織、自愈功能。
網(wǎng)狀(Mesh)網(wǎng)是一種特殊的、按接力方式傳輸?shù)狞c對點的網(wǎng)絡(luò)結(jié)構(gòu),其路由可自動建立和維護。通過圖1可以得知,一個ZigBee網(wǎng)絡(luò)只有一個網(wǎng)絡(luò)協(xié)調(diào)器,但可以有若干個路由器。協(xié)調(diào)器負責整個網(wǎng)絡(luò)的建網(wǎng),同時它也可作為與其他類型網(wǎng)絡(luò)的通信節(jié)點(網(wǎng)關(guān))。構(gòu)成協(xié)調(diào)器和路由器的器件必須是全功能器件(FFD),而構(gòu)成終端設(shè)備的器件可以是全功能器件,也可是簡約功能器件(RFD)。
圖1? ZigBee網(wǎng)狀網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)圖
????
節(jié)點功能及配置文件
1 節(jié)點功能
典型的ZigBee節(jié)點可支持多種特性和功能。例如,I/O節(jié)點可能有多種數(shù)字和模擬輸入/輸出。一些數(shù)字輸入可能被一個遠程控制器節(jié)點用到,而其他數(shù)字輸入可能被另一個遠程控制器節(jié)點使用。這種分配將創(chuàng)建一個真正的分布式控制網(wǎng)絡(luò)。為了便于在I/O節(jié)點和2個控制器節(jié)點之間進行數(shù)據(jù)傳輸,所有節(jié)點中的應(yīng)用程序必須保存多個數(shù)據(jù)鏈路。為了減少成本,ZigBee節(jié)點僅使用一個無線信道來和多個端點/接口來創(chuàng)建多條虛擬鏈路或信道。
一個ZigBee節(jié)點支持32個端點(編號為0~31)和8個接口(編號為0~7)。端點0被保留用于設(shè)備配置,而端點31被保留僅用于廣播,剩下的總共30個端點用于應(yīng)用。每個端點總共有8個接口。因此,實際上,應(yīng)用在一個物理信道中最多可能有240條虛擬信道。
一個典型的ZigBee節(jié)點也將有很多屬性。例如,I/O節(jié)點包含稱為數(shù)字輸入1、數(shù)字輸入2、模擬輸入1等的屬性。每個屬性都有自己的值。例如,數(shù)字輸入1屬性可能有值1或0。屬性的集合被稱為群集。在整個網(wǎng)絡(luò)中,每個群集都被分配了一個唯一的群集ID,每個群集最多有65535個屬性。
2 配置文件
ZigBee協(xié)議還定義了一個稱為配置文件的術(shù)語。配置文件就是指對分布式應(yīng)用的描述。它根據(jù)應(yīng)用必須處理的數(shù)據(jù)包和必須執(zhí)行的操作來描述分布式應(yīng)用。使用描述符對配置文件進行描述,描述符僅僅是各種值的復(fù)雜結(jié)構(gòu)。此配置文件使ZigBee設(shè)備可以互操作。ZigBee聯(lián)盟已經(jīng)定義了很多標準的配置文件,例如,遠程控制開關(guān)配置文件和光傳感器配置文件等。任何遵循某一標準配置文件的節(jié)點都可以與其他實現(xiàn)相同配置文件的節(jié)點進行互操作。每個配置文件可以定義最多256個群集,每個群集最多可以有65535個屬性。此靈活性允許節(jié)點有大量的屬性(或I/O點)。
結(jié)語
隨著其應(yīng)用環(huán)境的不斷拓展和延伸,對于ZigBee無線個域網(wǎng)絡(luò)的配置機制還需要不斷完善,以適應(yīng)不同應(yīng)用環(huán)境的工作需要。研究ZigBee無線個域網(wǎng)絡(luò)的配置機制對于個域網(wǎng)絡(luò)技術(shù)的推廣應(yīng)用具有重要的實踐意義。
評論
查看更多