zigbee技術(shù)原理_第1頁
zigbee技術(shù)原理_第2頁
zigbee技術(shù)原理_第3頁
zigbee技術(shù)原理_第4頁
zigbee技術(shù)原理_第5頁
已閱讀5頁,還剩123頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第2章 Zigbee技術(shù)原理,2.1 概述 2.2 Zigbee網(wǎng)絡(luò)結(jié)構(gòu) 2.3 IEEE802.15.4通信層 2.4 Zigbee網(wǎng)絡(luò)層 2.5 Zigbee應(yīng)用層,理解Zigbee網(wǎng)絡(luò)結(jié)構(gòu)。掌握IEEE802.15.4通信層。掌握MAC層和網(wǎng)絡(luò)層幀結(jié)構(gòu)。掌握Zigbee網(wǎng)絡(luò)層服務(wù)規(guī)范。掌握Zigbee應(yīng)用層規(guī)范。,本章主要介紹Zigbee技術(shù)原理,這是更深入了解Zigbee協(xié)議的應(yīng)用以及后續(xù)開發(fā)的基礎(chǔ)。,2.1 概述,Zigbee技術(shù)是一種低數(shù)據(jù)傳輸速率的無線個(gè)域網(wǎng),網(wǎng)絡(luò)的基本成員稱為設(shè)備。網(wǎng)絡(luò)中的設(shè)備按照各自作用的不同可以分為協(xié)調(diào)器節(jié)點(diǎn)、路由器節(jié)點(diǎn)和終端節(jié)點(diǎn)。,2.2 Zigbee網(wǎng)絡(luò)

2、結(jié)構(gòu),Zigbee網(wǎng)絡(luò)協(xié)調(diào)器是整個(gè)網(wǎng)絡(luò)的中心,它的功能包括建立、維持和管理網(wǎng)絡(luò),分配網(wǎng)絡(luò)地址等。所以可以將Zigbee網(wǎng)絡(luò)協(xié)調(diào)器認(rèn)為是整個(gè)Zigbee網(wǎng)絡(luò)的“大腦”。Zigbee網(wǎng)絡(luò)路由器主要負(fù)責(zé)路由發(fā)現(xiàn)、消息傳輸、允許其他節(jié)點(diǎn)通過它接入到網(wǎng)絡(luò)。Zigbee終端節(jié)點(diǎn)通過Zigbee協(xié)調(diào)器或者Zigbee路由器接入到網(wǎng)絡(luò)中,Zigbee終端節(jié)點(diǎn)主要負(fù)責(zé)數(shù)據(jù)采集或控制功能,但不允許其他節(jié)點(diǎn)通過它加入到網(wǎng)絡(luò)中。本節(jié)將重點(diǎn)介紹Zigbee網(wǎng)絡(luò)體系、Zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和Zigbee協(xié)議架構(gòu)。,2.2.1 網(wǎng)絡(luò)體系 按照OSI模型,Zigbee網(wǎng)絡(luò)分為4層,從下向上分別為物理層、媒體訪問控制層(MA

3、C)、網(wǎng)絡(luò)層(NWK)和應(yīng)用層。其中物理層和MAC層由IEEE802.15.4標(biāo)準(zhǔn)定義,合稱IEEE802.15.4通信層;網(wǎng)絡(luò)層和應(yīng)用層由Zigbee聯(lián)盟定義。圖2-1所示為Zigbee網(wǎng)絡(luò)協(xié)議架構(gòu)分層,每一層向它的上層提供數(shù)據(jù)和管理服務(wù)。,圖2-1 Zigbee網(wǎng)絡(luò)體系架構(gòu),2.2.2 拓?fù)浣Y(jié)構(gòu)Zigbee網(wǎng)絡(luò)支持三種拓?fù)浣Y(jié)構(gòu):星型、樹型和網(wǎng)狀型結(jié)構(gòu),如圖2-2所示。其中:在星型拓?fù)浣Y(jié)構(gòu)中,所有的終端設(shè)備只和協(xié)調(diào)器之間進(jìn)行通信。樹型網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器和多個(gè)星型結(jié)構(gòu)連接而成,設(shè)備除了能與自己的父節(jié)點(diǎn)或子節(jié)點(diǎn)互相通信外,其他只能通過網(wǎng)絡(luò)中的樹型路由完成通信。,圖2-2 Zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),

4、網(wǎng)狀型網(wǎng)絡(luò)是在樹型網(wǎng)絡(luò)的基礎(chǔ)上實(shí)現(xiàn)的。與樹狀網(wǎng)絡(luò)不同的是,它允許網(wǎng)絡(luò)中所有具有路由功能的節(jié)點(diǎn)互相通信,由路由器中的路由表完成路由查尋過程。,(1). 星型網(wǎng)絡(luò)的形成過程在星型網(wǎng)絡(luò)中,協(xié)調(diào)器作為發(fā)起設(shè)備,協(xié)調(diào)器一旦被激活,它就建立一個(gè)自己的網(wǎng)絡(luò),并作為PAN協(xié)調(diào)器。路由設(shè)備和終端設(shè)備可以選擇PAN標(biāo)識符加入網(wǎng)絡(luò)。不同PAN標(biāo)識符的星型網(wǎng)絡(luò)中的設(shè)備之間不能進(jìn)行通信。,(2). 樹型網(wǎng)絡(luò)的形成過程在樹型網(wǎng)絡(luò)中,由協(xié)調(diào)器發(fā)起網(wǎng)絡(luò),路由器和終端設(shè)備加入網(wǎng)絡(luò)。設(shè)備加入網(wǎng)絡(luò)后由協(xié)調(diào)器為其分配16位短地址,具有路由功能的設(shè)備可以擁有自己的子設(shè)備。但是在樹型網(wǎng)絡(luò)中,子設(shè)備只能和自己的父設(shè)備進(jìn)行通信,如果某終端設(shè)

5、備要與非自己父設(shè)備的其他設(shè)備通信,必須經(jīng)過樹型路由進(jìn)行通信。,(3). 網(wǎng)狀型網(wǎng)絡(luò)的形成過程在網(wǎng)狀型網(wǎng)絡(luò)中,每個(gè)設(shè)備都可以與在無線通信范圍內(nèi)的其他任何設(shè)備進(jìn)行通信。理論上任何一個(gè)設(shè)備都可定義為PAN主協(xié)調(diào)器,設(shè)備之間通過競爭的關(guān)系競爭PAN主協(xié)調(diào)器。但是在實(shí)際應(yīng)用中,用戶往往通過軟件定義協(xié)調(diào)器,并建立網(wǎng)絡(luò),路由器和終端設(shè)備加入此網(wǎng)絡(luò)。當(dāng)協(xié)調(diào)器建立起網(wǎng)絡(luò)之后,其功能和網(wǎng)絡(luò)中的路由器功能是一樣的,在此網(wǎng)絡(luò)中的設(shè)備之間都可以相互進(jìn)行通信。,2.2.3 協(xié)議架構(gòu)(重點(diǎn)、難點(diǎn))Zigbee網(wǎng)絡(luò)協(xié)議體系結(jié)構(gòu)如圖2-3所示,協(xié)議棧的層與層之間通過服務(wù)接入點(diǎn)(SAP)進(jìn)行通信。 SAP是某一特定層提供的服務(wù)與

6、上層之間的接口。 大多數(shù)層有兩個(gè)接口:數(shù)據(jù)服務(wù)接口和管理服務(wù)接口。數(shù)據(jù)服務(wù)接口的目標(biāo)是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù);管理服務(wù)接口的目標(biāo)是向上層提供訪問內(nèi)部層參數(shù)、配置和管理數(shù)據(jù)服務(wù)。Zigbee協(xié)議體系架構(gòu)是在IEEE802.15.4標(biāo)準(zhǔn)的基礎(chǔ)上建立的,IEEE802.15.4標(biāo)準(zhǔn)定義了Zigbee協(xié)議的物理層和MAC層。,因此Zigbee設(shè)備應(yīng)該包括IEEE802.15.4的物理層和MAC層以及Zigbee堆棧層,其中Zigbee堆棧層包括Zigbee聯(lián)盟定義的網(wǎng)絡(luò)層和應(yīng)用層以及安全服務(wù)商提供的安全服務(wù)層。1. 物理層和MAC層IEEE802.15.4標(biāo)準(zhǔn)為低速率無線個(gè)人域網(wǎng)定義了OSI模型

7、最底層的兩層,即物理層和MAC層,也是Zigbee協(xié)議底部的兩層,因此這兩層也稱為IEEE 802.15.4通信層。其詳細(xì)內(nèi)容見2.3節(jié)。,圖2-3 Zigbee協(xié)議體系架構(gòu),2. 網(wǎng)絡(luò)層網(wǎng)絡(luò)層提供保證IEEE802.15.4 MAC層正確工作的能力,并為應(yīng)用層提供合適的服務(wù)接口,包括數(shù)據(jù)服務(wù)接口(MCPS)和管理服務(wù)接口(MLME)。數(shù)據(jù)服務(wù)接口的作用主要有兩點(diǎn): 一是為應(yīng)用支持子層的數(shù)據(jù)添加適當(dāng)?shù)膮f(xié)議頭以便產(chǎn)生網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元。 二是根據(jù)路由拓?fù)浣Y(jié)構(gòu),把網(wǎng)絡(luò)數(shù)據(jù)單元發(fā)送到通信鏈路的目的地址設(shè)備或通信鏈路的下一跳地址。,管理服務(wù)接口的作用有以下兩點(diǎn):提供的服務(wù)包括配置新設(shè)備、創(chuàng)建新網(wǎng)絡(luò)、設(shè)備

8、請求加入或者離開網(wǎng)絡(luò)。允許Zigbee協(xié)調(diào)器或路由器請求設(shè)備離開網(wǎng)絡(luò)、尋址、路由發(fā)現(xiàn)等功能。,3. 應(yīng)用層應(yīng)用層包括三部分:應(yīng)用支持子層(APS)、Zigbee設(shè)備對象(ZDO)和廠商定義的應(yīng)用對象。應(yīng)用支持子層提供了網(wǎng)絡(luò)層和應(yīng)用層之間的接口,包括數(shù)據(jù)服務(wù)接口和管理服務(wù)接口。其中管理服務(wù)接口提供設(shè)備發(fā)現(xiàn)服務(wù)和綁定服務(wù),并在綁定的設(shè)備之間傳送消息。Zigbee設(shè)備對象功能包括:定義設(shè)備在網(wǎng)絡(luò)中的角色(比如協(xié)調(diào)器、路由器或終端設(shè)備),發(fā)起和響應(yīng)綁定請求,在網(wǎng)絡(luò)設(shè)備之間建立安全機(jī)制。另外,還負(fù)責(zé)發(fā)現(xiàn)網(wǎng)絡(luò)中的設(shè)備,并且向他們提供應(yīng)用服務(wù)。,廠商定義的應(yīng)用對象功能包括:提供一些必要函數(shù),為網(wǎng)絡(luò)層提供合適

9、的服務(wù)接口。另外一個(gè)重要的功能是應(yīng)用者可以在這層定義自己的應(yīng)用對象。,IEEE802.15.4規(guī)范滿足國際標(biāo)準(zhǔn)組織(ISO)開放系統(tǒng)互聯(lián)(OSI)參考模式,它定義了Zigbee的物理層和MAC層。,2.3 IEEE802.15.4通信層,2.3.1 物理層物理層負(fù)責(zé)的主要功能包括:工作頻段的分配,信道的分配以及為MAC層服務(wù)提供數(shù)據(jù)服務(wù)和管理服務(wù)。1. 工作頻段的分配IEEE802.15.4定義了兩個(gè)物理標(biāo)準(zhǔn),分別是2450MHz(一般稱為2.4GHz)的物理層和868/915MHz的物理層。它們基于直接序列擴(kuò)頻,使用相同的物理層數(shù)據(jù)包格式,區(qū)別在于工作頻段、調(diào)制技術(shù)和傳輸速率的不同。,2.4

10、GHz是全球統(tǒng)一的無需申請的ISM頻段,有助于Zigbee設(shè)備的推廣和生產(chǎn)成本的降低。此頻段的物理層通過采用高階調(diào)制技術(shù)能夠提供250kb/s的傳輸速率,有助于獲得更高的吞吐量、更小的通信延時(shí)和更短的周期,達(dá)到節(jié)約能源的目的。另外此頻段提供16個(gè)數(shù)據(jù)速率為250kb/s的信道。,868MHz是歐洲的ISM頻段,915MHz是美國的ISM頻段,這兩個(gè)頻段的引入避免了2.4GHz附近各種無線通信設(shè)備的相互干擾。868MHz的傳輸速率為20kb/s,915MHz的傳輸速率是40kb/s。這兩個(gè)頻段上無線信號傳播損耗較小,可以降低對接收靈敏度的要求,獲得較遠(yuǎn)的通信距離。在868/915MHz頻段中,8

11、68MHz支持1個(gè)數(shù)據(jù)速率為20kb/s的信道,915MHz支持10個(gè)數(shù)據(jù)速率為40kb/s的信道。,2. 信道的分配IEEE802.15.4物理層在三個(gè)頻段上劃分了27個(gè)信道,信道編號k為026。2.4GHz頻段上劃分了16個(gè)信道,915MHz頻段上有10個(gè)信道,868MHz頻段只有1個(gè)信道。27個(gè)信道的中心頻率和對應(yīng)的信道編號定義如下:,3. 物理層服務(wù)規(guī)范物理層的主要功能是在一條物理傳輸媒體上,實(shí)現(xiàn)數(shù)據(jù)鏈路實(shí)體之間透明地傳輸各種數(shù)據(jù)比特流。它提供的主要服務(wù)包括:物理層連接的建立、維持與釋放,物理服務(wù)數(shù)據(jù)單元的傳輸,物理層管理,數(shù)據(jù)編碼。物理層功能涉及“服務(wù)原語”和“服務(wù)訪問接口”兩個(gè)概念

12、,它們的意義如下所述。,服務(wù)原語:Zigbee協(xié)議棧是一種分層結(jié)構(gòu),從下至上第N層向第N+1層或者第N+1層向第N層提供一組操作(也叫服務(wù)),這種“操作”叫做服務(wù)原語。它一般通過一段不可分割的或不可中斷的程序?qū)崿F(xiàn)其功能。服務(wù)原語用以實(shí)現(xiàn)層和層之間的信息交流。 服務(wù)訪問接口:服務(wù)訪問接口(Service Access Point,SAP)是某一特定層提供的服務(wù)與上層之間的接口。這里所說的“接口”是指不同功能層的“通信規(guī)則”。,例如,物理層服務(wù)訪問接口是通過射頻固件和硬件提供給MAC層與無線信道之間的通信規(guī)則。服務(wù)訪問接口是通過服務(wù)原語實(shí)現(xiàn)的,其功能是為其他層提供具體服務(wù)。注意:這里要區(qū)分“服務(wù)原

13、語”和“協(xié)議”的區(qū)別:“協(xié)議”是兩個(gè)需要通信的設(shè)備之間的同一層之間如何發(fā)送數(shù)據(jù)、如何交換幀的規(guī)則,是“橫向”的;而“服務(wù)原語”是“縱向”的層和層之間的一組操作。,IEEE 802.15.4標(biāo)準(zhǔn)的物理層所實(shí)現(xiàn)的功能包括數(shù)據(jù)的發(fā)送與接收、物理信道的能量檢測、射頻收發(fā)器的激活與關(guān)閉、空閑信道評估、鏈路質(zhì)量指示、物理層屬性參數(shù)的獲取與設(shè)置。這些功能是通過物理層服務(wù)訪問接口來實(shí)現(xiàn)的,物理層主要有兩種服務(wù)接口(SAP):物理層管理服務(wù)訪問接口(Physical Layer Management Entity,簡稱PLME-SAP),PLME-SAP除了負(fù)責(zé)在物理層和MAC層之間傳輸管理服務(wù)之外,還負(fù)責(zé)維護(hù)

14、物理層PAN信息庫(PHY PIB)。,物理層數(shù)據(jù)服務(wù)訪問接口(Physical Data SAP,簡稱PD-SAP),PD-SAP負(fù)責(zé)為物理層和MAC層之間提供數(shù)據(jù)服務(wù)。PLME-SAP和PD-SAP通過物理層服務(wù)原語實(shí)現(xiàn)物理層的各種功能,如圖2-4所示。,圖2-4 物理層參考模型,4. 數(shù)據(jù)的發(fā)送與接收數(shù)據(jù)的發(fā)送和接收是通過PD-SAP提供的PD-DATA原語完成的,它可以實(shí)現(xiàn)兩個(gè)MAC子層的MAC協(xié)議數(shù)據(jù)單元(MAC Protocol Data Unit,MPDU)傳輸。IEEE802.15.4標(biāo)準(zhǔn)專門定義了三個(gè)與數(shù)據(jù)相關(guān)的原語:數(shù)據(jù)請求原語(PD-DATA.Request),數(shù)據(jù)確認(rèn)原

15、語(PD-DATA. comfirm)數(shù)據(jù)指示原語(PD-DATA.Indication)。語法見P18內(nèi)容,5. 物理能量信道的檢測協(xié)調(diào)器在構(gòu)建一個(gè)新的網(wǎng)絡(luò)時(shí),需要掃描所有信道(在MAC層這種掃描稱作ED_SCAN),然后為網(wǎng)絡(luò)選擇一個(gè)空閑的信道,這個(gè)過程在底層是借助物理信道能量檢測來完成的。如果一個(gè)信道被別的網(wǎng)絡(luò)占用,體現(xiàn)在信道能量上的值是不一樣的。IEEE802.15.4標(biāo)準(zhǔn)定義了與之相關(guān)的兩個(gè)原語:能量檢測請求原語(PLME_ED.request)能量檢測確認(rèn)原語(PLED-ED.confirm)。,能量檢測請求原語由MAC子層產(chǎn)生。能量檢測請求原語為一個(gè)無參的原語,語法如下:PLME

16、-ED.request( )。收到該原語后,如果設(shè)備處于接收使能狀態(tài),PLME就指示物理層進(jìn)行能量檢測(ED)。能量檢測確認(rèn)原語由物理層產(chǎn)生,物理層在接收到能量檢測原語后把當(dāng)前信道狀態(tài)以及當(dāng)前信道的能量值返回給MAC子層。語法如下:,PLME-ED.confirm( status, Energy Level )其中狀態(tài)參數(shù)status將指示能量檢測失敗的原因(TRX_OFF或TX_ON),如果設(shè)備處于收發(fā)關(guān)閉狀態(tài)(TRX_OFF)或發(fā)送使能狀態(tài)(TX_ON)時(shí),則無法進(jìn)行能量檢測。在具體實(shí)現(xiàn)中,一般射頻芯片會(huì)使用特定的寄存器存放當(dāng)前的信道狀態(tài)以及信道的能量值。,注意:在Zstack協(xié)議棧中,用

17、戶往往會(huì)提前指定信道的使用,以便于Zigbee網(wǎng)絡(luò)的管理和維護(hù)。,6. 射頻收發(fā)器的激活與關(guān)閉為了滿足低功耗要求,在不需要無線數(shù)據(jù)收發(fā)時(shí),可以選擇關(guān)閉底層射頻收發(fā)器。802.15.4標(biāo)準(zhǔn)定義了兩個(gè)相關(guān)的原語:收發(fā)器狀態(tài)設(shè)置請求原語(PLME-SET-TRX-STATE. request) 收發(fā)器狀態(tài)設(shè)置確認(rèn)原語(PLME-SET-TRX-STATE.confirm),收發(fā)器狀態(tài)設(shè)置請求原語由MAC子層產(chǎn)生。語法如下:PLME-SET-TRX-STATE.request( status )其中參數(shù)為需要設(shè)置的目標(biāo)狀態(tài),包括:射頻接收打開 (RX_ON)、發(fā)送打開 (TX_ON)、收發(fā)關(guān)閉 (TR

18、X_OFF)強(qiáng)行收發(fā)關(guān)閉 (FORCE_TRX_OFF)。,物理層在接收到收發(fā)器狀態(tài)設(shè)置確認(rèn)原語后,將射頻設(shè)置為對應(yīng)的狀態(tài),并通過設(shè)置確認(rèn)原語返回才做結(jié)果。語法如下:PLME-SET-TRX-STATE.confirm( status )其中參數(shù)status的取值為SUCCESSRX_ONTRX_OFFTX_ONBUSY_RX或BUSY_TX。,7. 空閑信道評估(Clear Channel Assessment,CCA)由于802.15.4標(biāo)準(zhǔn)的MAC子層采用的是CSMA/CA機(jī)制訪問信道,需要探測當(dāng)前的物理信道是否空閑,物理層提供的CCA檢測功能就是專門為此而定義的。此功能定義的兩個(gè)與之相

19、關(guān)的原語為:CCA請求原語(PLME-CCA.request)CCA確認(rèn)原語(PLME-CCA.confirm)。CCA請求原語由MAC子層產(chǎn)生,語法為:PLME-CCA.request(),是一個(gè)無參的請求原語,用于向物理層詢問當(dāng)前的信道狀況。,在物理層收到該原語后,如果當(dāng)前的射頻收發(fā)狀態(tài)設(shè)置為接收狀態(tài),將進(jìn)行CCA操作(讀取物理芯片中相關(guān)的寄存器狀態(tài))。CCA確認(rèn)原語由物理層產(chǎn)生,語法如下:PLME-CCA.confirm( status )通過CCA確認(rèn)原語返回信道空閑或者信道繁忙狀態(tài)。如果當(dāng)前射頻收發(fā)器處于關(guān)閉狀態(tài)或者發(fā)送狀態(tài),CCA確認(rèn)原語將對應(yīng)返回TRX_OFF或TX_ON。,8.

20、 鏈路質(zhì)量指示高層的協(xié)議往往需要依據(jù)底層的鏈路質(zhì)量來選擇路由,物理層在接收一個(gè)報(bào)文的時(shí)候,可以順帶返回當(dāng)前的LQI值,物理層主要通過底層的射頻硬件支持來獲取LQI。MAC軟件產(chǎn)生的LQI值可以用信號接收強(qiáng)度指示器(RSSI)來表示。,9. 物理層屬性參數(shù)的獲取與設(shè)置在Zigbee協(xié)議棧里面,每一層協(xié)議都維護(hù)著一個(gè)信息庫(PAN information base,PIB)用于管理該層,里面具體存放著與該層相關(guān)的一些屬性參數(shù),如最大報(bào)文長度等。在高層可以通過原語獲取或者修改下一層的信息庫里面的屬性參數(shù)。IEEE802.15.4物理層也同樣維護(hù)著這樣一個(gè)信息庫,并提供4個(gè)相關(guān)原語:屬性參數(shù)獲取請求(

21、PLME-GET.request)。屬性參數(shù)獲取確認(rèn)原語(PLME-GET.confirm)。屬性參數(shù)設(shè)置請求原語(PLME-SET.request)。屬性參數(shù)設(shè)置確認(rèn)原語(PLME-SET.confirm)。,2.3.2 MAC層前述物理層負(fù)責(zé)信道的分配,而MAC層負(fù)責(zé)無線信道的使用方式,它們是構(gòu)建Zigbee協(xié)議底層的基礎(chǔ)。1. MAC功能概述IEEE802.15.4標(biāo)準(zhǔn)定義MAC子層具有以下幾項(xiàng)功能:采用CSMA/CA機(jī)制來訪問信道。PAN(Personal Area Network,個(gè)域網(wǎng))的建立和維護(hù)。支持PAN網(wǎng)絡(luò)的關(guān)聯(lián)(即加入網(wǎng)絡(luò))和解除關(guān)聯(lián)(退出網(wǎng)絡(luò))。 協(xié)調(diào)器產(chǎn)生網(wǎng)絡(luò)信標(biāo)幀,

22、普通設(shè)備根據(jù)信標(biāo)幀與協(xié)調(diào)器同步。處理和維護(hù)保證GTS(Guaranteed Time Slot,同步時(shí)隙)。在兩個(gè)對等MAC實(shí)體間提供可靠鏈路。,2. MAC層服務(wù)規(guī)范MAC層包括MAC層管理服務(wù)(MLME)和數(shù)據(jù)服務(wù)(MCPS)。MAC層參考模型如圖2-5所示。,圖2-5 MAC層參考模型,MAC管理服務(wù)可以提供調(diào)用MAC層管理功能的服務(wù)接口,同時(shí)還負(fù)責(zé)維護(hù)MAC PAN信息庫(MAC PIB)。MAC數(shù)據(jù)服務(wù)可以提供調(diào)用MAC公共部分子層(MCPS)提供的數(shù)據(jù)服務(wù)接口,為網(wǎng)絡(luò)層數(shù)據(jù)添加協(xié)議頭,從而實(shí)現(xiàn)MAC層幀數(shù)據(jù)。除了以上兩個(gè)外部接口外,在MCPS和MLME之間還隱含了一個(gè)內(nèi)部接口,用于

23、MLME調(diào)用MAC管理服務(wù)。MAC子層具體功能的實(shí)現(xiàn)如下所述。 1) CSMA/CA的工作原理 2) PAN的建立和維護(hù) 3) 關(guān)聯(lián)和解除關(guān)聯(lián)4) 信標(biāo)幀,2.3.3 MAC幀的結(jié)構(gòu)MAC幀即MAC協(xié)議數(shù)據(jù)單元(MPDU),是由一系列字段按照特定的順序排列而成的。設(shè)計(jì)目標(biāo)是在保持低復(fù)雜度的前提下實(shí)現(xiàn)在噪聲信道上的可靠數(shù)據(jù)傳輸。MAC層幀結(jié)構(gòu)分為一般格式和特定格式。1. MAC幀的一般結(jié)構(gòu)MAC幀的一般格式,即所有的MAC幀都由三部分組成:MAC幀頭(MHR)、MAC有效載荷和MAC幀尾(MFR)。如圖2-6所示。,圖2-6 MAC幀的一般格式,其中,MAC幀頭部分由幀控制字段和幀序號字段組成;

24、MAC有效載荷由地址信息和特定幀(例如數(shù)據(jù)幀、命令幀、信標(biāo)幀、確認(rèn)幀)的有效載荷組成,MAC有效載荷的長度與特定幀類型相關(guān)(例如確認(rèn)幀的有效載荷部分長度為0);MAC幀尾是校驗(yàn)序列(FCS)。圖2-6中的各部分解釋如下。1) 幀控制幀控制字段的長度為16位,共分為9個(gè)子域。幀控制字段的格式如圖2-7所示。,幀類型子域占3位:000表示信標(biāo)幀,001表示數(shù)據(jù)幀,010表示確認(rèn)幀,011表示MAC命令幀,其他取值預(yù)留。安全使能子域占1位:0表示MAC層沒有對該幀做加密處理;1表示該幀使用了MACPIB中的密鑰進(jìn)行保護(hù)。數(shù)據(jù)待傳指示:1表示在當(dāng)前幀之后,發(fā)送設(shè)備還有數(shù)據(jù)要傳送給接收設(shè)備,接收設(shè)備需要

25、再發(fā)送數(shù)據(jù)請求命令來索取數(shù)據(jù);0表示發(fā)送數(shù)據(jù)幀的設(shè)備沒有更多的數(shù)據(jù)要傳送給接收設(shè)備。,確認(rèn)請求占1位:1表示接收設(shè)備在接收到該數(shù)據(jù)幀或命令幀后,如果判斷其為有效幀,就要向發(fā)送設(shè)備反饋一個(gè)確認(rèn)幀;0表示接收設(shè)備不需要反饋確認(rèn)幀。網(wǎng)內(nèi)/網(wǎng)際子域占1位,表示該數(shù)據(jù)幀是否在同一PAN內(nèi)傳輸。如果該指示位為1且存在源地址和目的地址,則MAC幀中將不包含源PAN標(biāo)識碼字段;如果該指示位為0且存在源地址和目的地址,則MAC幀中將包含PAN標(biāo)識碼和目的PAN標(biāo)識碼。,目的地址模式子域占2位:00表示沒有目的PAN標(biāo)識碼和目的地址,01預(yù)留,10表示目的地址是16位短地址,11表示目的地址是64位擴(kuò)展地址。如果

26、目的地址模式為00且?guī)愋陀蛑甘驹搸皇谴_認(rèn)幀或信標(biāo)幀,則源地址模式應(yīng)非零,暗指該幀是發(fā)送給PAN協(xié)調(diào)器的,PAN協(xié)調(diào)器的PAN標(biāo)識碼與源PAN標(biāo)識碼一致。源地址模式子域占2位:00表示沒有源PAN標(biāo)識碼和源地址,01預(yù)留,10表示源地址是16位短地址,11表示源地址是64位擴(kuò)展地址。如果源地址模式為00且?guī)愋陀蛑甘驹搸皇谴_認(rèn)幀,則目的地址模式應(yīng)非零,暗指該幀是由與目的PAN標(biāo)識碼一致的PAN協(xié)調(diào)器發(fā)出的。,2) 幀序號序號是MAC層為每幀制定的唯一順序標(biāo)示碼,幀序號字段長度為8位。其中信標(biāo)幀的序號是信標(biāo)序號(BSN)。數(shù)據(jù)幀、確認(rèn)幀或MAC命令幀的序號是數(shù)據(jù)信號(DSN)。3) 目的PA

27、N標(biāo)識碼目的PAN標(biāo)識碼字段長度為16位,它指定了幀的期望接收設(shè)備所在PAN的標(biāo)識。只有幀控制字段中目的地址模式不為0時(shí),幀結(jié)構(gòu)中才存在目的PAN標(biāo)識碼字段。,4) 目的地址字段目的地址是幀的期望接收設(shè)備的地址。只有幀控制字段中目的地址模式非00時(shí),幀結(jié)構(gòu)中才存在目的地址字段。5) 源PAN標(biāo)識碼源PAN標(biāo)識碼字段長度為16位,它制定了幀發(fā)送設(shè)備的PAN標(biāo)識碼。只有當(dāng)幀控制字段中源地址模式值不為0,并且網(wǎng)內(nèi)/網(wǎng)際指示位等于0時(shí),幀結(jié)構(gòu)中才包含有源PAN標(biāo)識字段。一個(gè)設(shè)備的PAN標(biāo)識碼是初始關(guān)聯(lián)到PAN時(shí)獲得的,但是在解決PAN標(biāo)識碼沖突時(shí)可能會(huì)改變。,6) 源地址字段源地址是幀發(fā)送設(shè)備的地址。

28、只有幀控制字段中的源地址模式非00時(shí),幀結(jié)構(gòu)才存在源地址字段。7) 幀有效載荷字段有效載荷字段的長度是可變的,因幀類型的不同而不同。如果幀控制字段中的安全使能位為1,則有效載荷長度是受到安全機(jī)制保護(hù)的數(shù)據(jù)。8) FCS字段FCS字段是對MAC幀頭和有效載荷計(jì)算得到的16位CRC校驗(yàn)碼。,2. MAC特定幀格式MAC幀特定格式包括信標(biāo)幀、數(shù)據(jù)幀、確認(rèn)幀和命令幀。1) 信標(biāo)幀信標(biāo)幀實(shí)現(xiàn)網(wǎng)絡(luò)中設(shè)備的同步工作和休眠,建立PAN主協(xié)調(diào)器。信標(biāo)幀的格式如圖2-8所示,包括MAC幀頭、有效載荷和幀尾。,其中幀頭由幀控制字段、序號和地址信息組成,信標(biāo)幀中的地址信息只包含源設(shè)備的PANID和地址。負(fù)載數(shù)據(jù)單元由

29、四部分組成,即超幀配置、GTS、待處理地址和信標(biāo)有效載荷,具體描述如下。超幀配置:超幀指定發(fā)送信標(biāo)的時(shí)間間隔、是否發(fā)送信標(biāo)以及是否允許關(guān)聯(lián)。信標(biāo)幀中超幀描述字段規(guī)定了這個(gè)超幀的持續(xù)時(shí)間、活躍部分持續(xù)時(shí)間以及競爭訪問時(shí)段持續(xù)時(shí)間等信息。,GTS分配字段:GTS配置字段長度是8位,其中02位是GTS描述計(jì)數(shù)器子域,位36預(yù)留,位7是GTS子域。GTS分配字段將無競爭時(shí)段劃分為若干個(gè)GTS,并把每個(gè)GTS具體分配給每個(gè)設(shè)備。待處理地址:待處理地址列出了與協(xié)調(diào)者保存的數(shù)據(jù)相對應(yīng)的設(shè)備地址。一個(gè)設(shè)備如果發(fā)現(xiàn)自己的地址出現(xiàn)在待轉(zhuǎn)發(fā)數(shù)據(jù)目標(biāo)地址字段里,則意味著協(xié)調(diào)器存有屬于它的數(shù)據(jù),所以它就會(huì)向協(xié)調(diào)器發(fā)出傳

30、送數(shù)據(jù)的MAC幀請求。信標(biāo)幀有效載荷:信標(biāo)幀載荷數(shù)據(jù)為上層協(xié)議提供數(shù)據(jù)傳輸接口。,Guaranteed Time Slots,2) 數(shù)據(jù)幀數(shù)據(jù)幀用來傳輸上層發(fā)到MAC子層的數(shù)據(jù)。它的負(fù)載字段包含了上層需要傳送的數(shù)據(jù)。數(shù)據(jù)負(fù)載傳送至MAC子層時(shí),被稱為MAC服務(wù)數(shù)據(jù)單元。它的首尾被分別附加了MAC幀頭(MHR)和MAC幀尾(MFR)信息。數(shù)據(jù)幀的格式如圖2-9所示。,圖2-9 數(shù)據(jù)幀的格式,3) 確認(rèn)幀確認(rèn)幀的格式如圖2-10所示,由MHR和MFR組成。其中確認(rèn)幀的序列號應(yīng)該與被確認(rèn)幀的序列號相同,并且負(fù)載長度為0。,4) 命令幀命令幀用于組建PAN網(wǎng)絡(luò),傳輸同步數(shù)據(jù)等,命令幀的格式如圖2-11

31、所示。其中命令幀標(biāo)識字段指示所使用的MAC命令,其取值范圍為0 x010 x09。,MAC幀頭部分。MAC命令幀的幀頭部分包括幀控制字段、幀序號字段和地址信息字段。命令幀標(biāo)識字段指示所使用的MAC命令,各幀標(biāo)識的命令名稱如表2-1所示。,表2-1 MAC命令幀,Zigbee網(wǎng)絡(luò)層的主要作用是負(fù)責(zé)網(wǎng)絡(luò)的建立、允許設(shè)備加入或離開網(wǎng)絡(luò)、路由的發(fā)現(xiàn)和維護(hù)。,2.4 Zigbee網(wǎng)絡(luò)層,2.4.1 功能概述Zigbee網(wǎng)絡(luò)層主要實(shí)現(xiàn)網(wǎng)絡(luò)的建立、路由的實(shí)現(xiàn)以及網(wǎng)絡(luò)地址的分配。Zigbee網(wǎng)絡(luò)層的不同功能由不同的設(shè)備完成。其中Zigbee網(wǎng)絡(luò)中的設(shè)備有三種類型,即協(xié)調(diào)器、路由器和終端節(jié)點(diǎn),分別實(shí)現(xiàn)不同的功能

32、。協(xié)調(diào)器具有建立新網(wǎng)絡(luò)的能力。協(xié)調(diào)器和路由器具備允許設(shè)備加入網(wǎng)絡(luò)或者離開網(wǎng)絡(luò)、為設(shè)備分配網(wǎng)絡(luò)內(nèi)部的邏輯地址、建立和維護(hù)鄰居表等功能。Zigbee終端節(jié)點(diǎn)只需要有加入或離開網(wǎng)絡(luò)的能力即可。,2.4.2 服務(wù)規(guī)范網(wǎng)絡(luò)層內(nèi)部由兩部分組成,分別是網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體(NLDE)和網(wǎng)絡(luò)層管理實(shí)體(NLME),如圖2-12所示。網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體通過訪問服務(wù)接口NLDE-SAP為上層提供數(shù)據(jù)服務(wù)。網(wǎng)絡(luò)層管理實(shí)體通過訪問服務(wù)接口NLME-SAP為上層提供網(wǎng)絡(luò)層的管理服務(wù),另外還負(fù)責(zé)維護(hù)網(wǎng)絡(luò)層信息庫。,圖2-12 網(wǎng)絡(luò)層參考模型,1. 網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體(NLDE)NLDE可提供數(shù)據(jù)服務(wù)以允許一個(gè)應(yīng)用在兩個(gè)或多個(gè)設(shè)備之間來

33、傳輸應(yīng)用協(xié)議,這些設(shè)備必須在同一個(gè)網(wǎng)絡(luò)中。NLDE可提供以下服務(wù)類型。通用的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元(NPDU):NLDE可以通過附加一個(gè)適當(dāng)?shù)膮f(xié)議頭,并從應(yīng)用支持子層PDU中產(chǎn)生NPDU。特定的拓?fù)渎酚桑篘LDE能夠傳輸給NPDU一個(gè)適當(dāng)?shù)脑O(shè)備。這個(gè)設(shè)備可以是最終的傳輸目的地,也可以是交流鏈中通往最終目的地的下一個(gè)設(shè)備。,2. 網(wǎng)絡(luò)層管理實(shí)體(NLME)NLME提供一個(gè)管理服務(wù)來允許一個(gè)應(yīng)用和協(xié)議棧相連接,用來提供以下服務(wù)。配置一個(gè)新設(shè)備:網(wǎng)絡(luò)層管理實(shí)體可以依據(jù)應(yīng)用操作的要求來完全配置協(xié)議棧。設(shè)置配置包括開始設(shè)備作為Zigbee協(xié)調(diào)器或加入一個(gè)存在的網(wǎng)絡(luò)。開始一個(gè)網(wǎng)絡(luò):網(wǎng)絡(luò)層管理實(shí)體可以建立一個(gè)新的

34、網(wǎng)絡(luò)。,加入或離開一個(gè)網(wǎng)絡(luò):網(wǎng)絡(luò)層管理實(shí)體可以加入或者離開一個(gè)網(wǎng)絡(luò),使Zigbee的協(xié)調(diào)器和路由器能夠允許終端節(jié)點(diǎn)離開網(wǎng)絡(luò)。分配地址:使Zigbee協(xié)調(diào)器和路由器可以分配地址給新加入網(wǎng)絡(luò)的設(shè)備。鄰居表發(fā)現(xiàn):去發(fā)現(xiàn)、記錄和報(bào)告設(shè)備的一跳鄰居表的相關(guān)信息。路由的發(fā)現(xiàn):可以通過網(wǎng)絡(luò)來發(fā)現(xiàn)以及記錄傳輸路徑,并記錄在路由表中。接收控制:當(dāng)接收者活躍時(shí),網(wǎng)絡(luò)層管理實(shí)體可以控制接收時(shí)間的長短并使MAC子層同步或直接接收。,2.4.3 幀結(jié)構(gòu)網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(NPDU)即網(wǎng)絡(luò)層幀的結(jié)構(gòu),如圖2-13所示。網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(NPDU)結(jié)構(gòu)由網(wǎng)絡(luò)層幀報(bào)頭和網(wǎng)絡(luò)層的有效載荷兩部分組成。網(wǎng)絡(luò)層幀報(bào)頭包含幀控制、地

35、址信息、廣播半徑域、廣播序列號、多點(diǎn)傳送控制等信息,其中地址信息包括目的地址、源地址、IEEE目的地址和IEEE源地址。,圖2-13 網(wǎng)絡(luò)層數(shù)據(jù)幀的格式,在Zigbee網(wǎng)絡(luò)協(xié)議中定義了兩種類型的幀結(jié)構(gòu),即網(wǎng)絡(luò)層數(shù)據(jù)幀和網(wǎng)絡(luò)層命令幀。下面主要介紹網(wǎng)絡(luò)層數(shù)據(jù)幀內(nèi)的各個(gè)子域。1) 幀控制域幀控制子域的格式如圖2-14所示。,圖2-14 幀控制子域的結(jié)構(gòu),各子域詳細(xì)說明如下:幀類型子域占2位,00表示數(shù)據(jù)幀,01表示命令幀,1011保留。協(xié)議版本子域占4位,為Zigbee網(wǎng)絡(luò)層協(xié)議標(biāo)準(zhǔn)的版本號。在一個(gè)特殊設(shè)備中使用的協(xié)議版本應(yīng)作為網(wǎng)絡(luò)層屬性nwkProtocolVersion的值,在Zstack-CC

36、2530-2.5.1A中版本號為2。發(fā)現(xiàn)路由子域占2位,00表示禁止路由發(fā)現(xiàn),01表示使能路由發(fā)現(xiàn),10表示強(qiáng)制路由發(fā)現(xiàn),11保留。,廣播標(biāo)記占1位,0表示為單播或者廣播,1表示組播。安全子域占1位,當(dāng)該幀為網(wǎng)絡(luò)層安全操作使能時(shí)(即加密時(shí)),安全子域的值為1,當(dāng)安全子域在另一層執(zhí)行或者完全失敗時(shí)(即未加密時(shí)),值為0。源路由子域占1位,1表示源路由子幀在網(wǎng)絡(luò)報(bào)頭中存在。如果源路由子幀不存在,則源路由子域值為0。IEEE目的地址為1時(shí),網(wǎng)絡(luò)幀報(bào)頭包含整個(gè)IEEE目的地址。IEEE源地址為1時(shí),網(wǎng)絡(luò)幀報(bào)頭包含整個(gè)IEEE源地址。,2) 目的地址目的地址長度域?yàn)?個(gè)字節(jié)。如果幀控制域的廣播標(biāo)志子域值

37、為0,那么目的地址域值為16位的目的設(shè)備網(wǎng)絡(luò)地址或者廣播地址。如果廣播標(biāo)志子域值為1,目的地址域?yàn)?6位目的組播的Group ID。3) 源地址在網(wǎng)絡(luò)層幀中必須有源地址,其長度是2個(gè)字節(jié),其值是源設(shè)備的網(wǎng)絡(luò)地址。,4) 半徑域半徑域總是存在的,它的長度為1字節(jié)。當(dāng)設(shè)備每接收一次幀數(shù)據(jù)時(shí),廣播半徑即減1,廣播半徑限定了傳輸半徑的范圍。5) 廣播序列號域每個(gè)幀中都包含序列號域,其長度是1字節(jié)。每發(fā)送一個(gè)新的幀,序列號值即加1。幀的源地址和序列號子域是1對,在限定了序列號1字節(jié)的長度內(nèi)是唯一的標(biāo)識符。,6) IEEE目的地址如果存在IEEE目的地址域,它將包含在網(wǎng)絡(luò)層地址頭中的目的地址域的16位網(wǎng)絡(luò)

38、地址相對應(yīng)的64位IEEE地址中。如果該16位網(wǎng)絡(luò)地址是廣播或者組播地址,那么IEEE目的地址不存在。7) IEEE源地址如果存在IEEE源地址域,則它將包含在網(wǎng)絡(luò)層地址頭中的源地址域的16位網(wǎng)絡(luò)地址相對應(yīng)的64位IEEE地址中。,8) 多點(diǎn)傳送控制多點(diǎn)控制域是1字節(jié)長度,且只有廣播標(biāo)志子域值是1(即組播)時(shí)才存在。其結(jié)構(gòu)如圖2-15所示。,圖2-15 多點(diǎn)控制子域的結(jié)構(gòu),9) 源路由幀源路由幀只有在幀控制域的源路由子域的值是1時(shí),才存在源路由幀子域。它分為3個(gè)子域:應(yīng)答計(jì)數(shù)器(1個(gè)字節(jié))、應(yīng)答索引(1個(gè)字節(jié))以及應(yīng)答列表(可變長)。應(yīng)答計(jì)數(shù)器子域表示包含在源路由幀轉(zhuǎn)發(fā)列表中的應(yīng)答數(shù)值。應(yīng)答索

39、引子域表示傳輸數(shù)據(jù)包的應(yīng)答列表子域的下一轉(zhuǎn)發(fā)索引。這個(gè)域被數(shù)據(jù)包的發(fā)送設(shè)備初始化為0,且每轉(zhuǎn)發(fā)一次就加1。,應(yīng)答列表子域是節(jié)點(diǎn)的短地址列表,用來為源路由數(shù)據(jù)包尋找目的轉(zhuǎn)發(fā)節(jié)點(diǎn)。10) 幀有效載荷幀有效載荷的長度是可變的,包含的是上層的數(shù)據(jù)單元信息。,Zigbee的應(yīng)用層由應(yīng)用支持子層(APS)、Zigbee設(shè)備對象、Zigbee應(yīng)用框架(AF)、Zigbee設(shè)備模板和制造商定義的應(yīng)用對象等組成。,2.5 Zigbee應(yīng)用層,2.5.1 幾個(gè)概念1. 節(jié)點(diǎn)地址和端點(diǎn)號節(jié)點(diǎn)地址:地址類型有兩種,64位IEEE地址(即MAC地址,是全球唯一的)和16位網(wǎng)絡(luò)地址(又稱短地址或網(wǎng)絡(luò)短地址,是設(shè)備加入網(wǎng)絡(luò)

40、后,由網(wǎng)絡(luò)中的協(xié)調(diào)器分配給設(shè)備的網(wǎng)絡(luò)短地址)。端點(diǎn)號:端點(diǎn)號(也簡稱端點(diǎn))是Zigbee協(xié)議棧應(yīng)用層的入口,它是為實(shí)現(xiàn)一個(gè)設(shè)備描述而定義的一組群集。每個(gè)Zigbee設(shè)備可以最多支持240個(gè)端點(diǎn),,即每個(gè)設(shè)備上可以定義240個(gè)應(yīng)用對象,端點(diǎn)0被保留用于設(shè)備對象(ZDO)接口,端點(diǎn)255被保留用于廣播,端點(diǎn)241245被保留用于將來擴(kuò)展使用。,2. 間接通信和直接通信間接通信:指各個(gè)節(jié)點(diǎn)通過端點(diǎn)的“綁定”建立通信關(guān)系,這種通信方式不需要知道目標(biāo)節(jié)點(diǎn)的地址信息,包括IEEE地址或網(wǎng)絡(luò)短地址,Zstack底層將自動(dòng)從棧的綁定表中查找目標(biāo)設(shè)備的具體網(wǎng)絡(luò)地址并將其發(fā)送出去。綁定是指兩個(gè)節(jié)點(diǎn)在應(yīng)用層上建立起

41、來的一條邏輯鏈路,關(guān)于綁定的詳細(xì)信息參見第6章。直接通信:該方式不需要節(jié)點(diǎn)之間通過綁定建立聯(lián)系,它使用節(jié)點(diǎn)地址作為參數(shù),調(diào)用適當(dāng)?shù)膽?yīng)用接口來實(shí)現(xiàn)通信。,直接通信的關(guān)鍵點(diǎn)之一在于節(jié)點(diǎn)地址的獲得(獲取IEEE地址或網(wǎng)絡(luò)短地址)。由于協(xié)調(diào)器的網(wǎng)絡(luò)短地址是固定為0 x0000的,因此直接通信常用于設(shè)備和協(xié)調(diào)器之間的通信。3. 簇簇(cluster)可以由用戶自定義,用于代表消息的類型。當(dāng)一個(gè)任務(wù)接收到消息后,會(huì)對消息進(jìn)行處理,但不同的應(yīng)用有不同的消息,簇是為了將這些消息區(qū)分開而定義的(關(guān)于簇的使用參見第6章)。,4. 設(shè)備發(fā)現(xiàn)在Zigbee網(wǎng)絡(luò)中,一個(gè)設(shè)備通過發(fā)送廣播或者帶有特定單播地址的查詢,從而發(fā)

42、現(xiàn)另一設(shè)備的過程稱為設(shè)備發(fā)現(xiàn)。設(shè)備發(fā)現(xiàn)有兩種類型:第一種是根據(jù)IEEE地址;第二種是短地址已知的單播發(fā)現(xiàn)和短地址未知的廣播發(fā)現(xiàn)。接收到查詢廣播或單播發(fā)現(xiàn)信息的設(shè)備,根據(jù)Zigbee設(shè)備類型的不同作出不同方式的響應(yīng)。Zigbee終端設(shè)備:根據(jù)請求發(fā)現(xiàn)類型的不同,發(fā)送自己的IEEE地址或短地址。,Zigbee路由器:發(fā)送所有與自己連接的設(shè)備的IEEE地址或者短地址作為響應(yīng)。Zigbee協(xié)調(diào)器:發(fā)送IEEE地址或者短地址,或與它連接的設(shè)備的IEEE地址或短地址作為響應(yīng)。,5. 服務(wù)發(fā)現(xiàn)在Zigbee網(wǎng)絡(luò)中,某設(shè)備為發(fā)現(xiàn)另一終端設(shè)備提供服務(wù)的過程稱為服務(wù)發(fā)現(xiàn)。服務(wù)發(fā)現(xiàn)可以通過對某一給定設(shè)備的所有端點(diǎn)發(fā)

43、送服務(wù)查詢來實(shí)現(xiàn),也可以通過服務(wù)特性匹配來實(shí)現(xiàn)。服務(wù)發(fā)現(xiàn)過程是Zigbee協(xié)議棧中設(shè)備實(shí)現(xiàn)服務(wù)接口的關(guān)鍵。通過對特定端點(diǎn)的描述符的查詢請求和對某種要求的廣播查詢請求等,可以使應(yīng)用程序獲得可用的服務(wù)。,6. 綁定綁定是一種兩個(gè)(或多個(gè))應(yīng)用設(shè)備之間信息流的控制機(jī)制,在Zstack協(xié)議棧中被稱為源綁定。所有需要綁定的設(shè)備都必須執(zhí)行綁定機(jī)制。綁定允許應(yīng)用程序發(fā)送一個(gè)數(shù)據(jù)包而不需要知道目標(biāo)地址。應(yīng)用支持子層從它的綁定表中確定目標(biāo)地址,然后將數(shù)據(jù)繼續(xù)向目標(biāo)應(yīng)用或者目標(biāo)組發(fā)送。,2.5.2 應(yīng)用支持子層應(yīng)用支持子層(APS)負(fù)責(zé)應(yīng)用支持子層協(xié)議數(shù)據(jù)單元APDU的處理、數(shù)據(jù)傳輸管理和維護(hù)綁定列表。應(yīng)用支持子

44、層(APS)通過一組通用的服務(wù)為網(wǎng)絡(luò)層和應(yīng)用層之間提供接口,這一組服務(wù)可以被Zigbee設(shè)備對象和制造商定義的應(yīng)用對象使用,包括應(yīng)用支持子層數(shù)據(jù)服務(wù)(APSDE)和應(yīng)用支持子層管理服務(wù)(APSME),如圖2-16所示。,圖2-16 應(yīng)用支持子層的參考模型,應(yīng)用支持子層數(shù)據(jù)服務(wù)(APSDE)通過“應(yīng)用支持子層數(shù)據(jù)服務(wù)訪問接口(APSDE-SAP)”提供應(yīng)用層數(shù)據(jù)單元(APDU)的處理服務(wù),即APDU要取得應(yīng)用層PDU,并為應(yīng)用層PDU加入合適的協(xié)議頭生成APSDU。應(yīng)用支持子層管理實(shí)體(APSME)通過“應(yīng)用支持子層管理服務(wù)訪問接口”提供設(shè)備發(fā)現(xiàn)、設(shè)備綁定和應(yīng)用層數(shù)據(jù)庫的管理等服務(wù),主要提供應(yīng)用

45、程序與協(xié)議棧進(jìn)行交互的管理服務(wù)和對象的綁定服務(wù)。另外,還提供應(yīng)用層信息庫(AIB)管理,即從設(shè)備的AIB中獲取和設(shè)置參數(shù)的能力;安全管理,即使用密鑰來建立與其他設(shè)備的可靠關(guān)系。,2.5.3 應(yīng)用框架Zigbee設(shè)備中應(yīng)用對象駐留的環(huán)境稱為應(yīng)用框架(Application Framework,英文簡稱AF)。在應(yīng)用框架中,應(yīng)用程序可以通過APSDE-SAP發(fā)送、接收數(shù)據(jù),通過“設(shè)備對象公共接口”實(shí)現(xiàn)應(yīng)用對象的控制與管理。應(yīng)用支持子層數(shù)據(jù)服務(wù)接口(APSDE-SAP)提供的數(shù)據(jù)服務(wù)包括數(shù)據(jù)傳輸請求、確認(rèn)、指示等原語。,數(shù)據(jù)請求原語用于在對等的應(yīng)用實(shí)體間實(shí)現(xiàn)數(shù)據(jù)傳輸。確認(rèn)原語報(bào)告“數(shù)據(jù)請求原語”執(zhí)行

46、的結(jié)果。指示原語用來指示APS向目的應(yīng)用對象的數(shù)據(jù)傳送。Zigbee應(yīng)用框架給各個(gè)用戶自定義的應(yīng)用對象提供了模板式的活動(dòng)空間,為每個(gè)應(yīng)用對象提供了鍵值匹配(KVP)服務(wù)和報(bào)文(MSG)服務(wù)。,1. Zigbee協(xié)議棧模板每個(gè)Zigbee設(shè)備都與一個(gè)特定的模板有關(guān),這些模板定義了設(shè)備的應(yīng)用環(huán)境、設(shè)備類型以及用于設(shè)備間通信的簇,比如應(yīng)用環(huán)境為智能家居,那么就可以建立一個(gè)智能家居的模板。不過Zigbee模板不是隨意定義的,它們的定義由Zigbee聯(lián)盟負(fù)責(zé)。Zigbee聯(lián)盟定義了三種模板,分別為Zigbee協(xié)議棧模板、ZigbeePRO模板以及特定網(wǎng)絡(luò)模板,在Zstack協(xié)議棧中使用了這三種模板。Zi

47、gbee協(xié)議棧模板的定義詳見第6章。,Zigbee的三種類型的模板可以按使用限制分為:私有、公開和共用。每個(gè)模板都有一個(gè)模板標(biāo)識符,此標(biāo)識符必須是唯一的。如果需要定義滿足特定需要的模板,開發(fā)商必須向Zigbee聯(lián)盟申請模板標(biāo)識符。建立模板應(yīng)考慮到能夠覆蓋一定的應(yīng)用范圍,不至于造成模板標(biāo)識符的浪費(fèi)。申請模板標(biāo)識符后,可以為模板定義設(shè)備描述、簇標(biāo)識符和服務(wù)類型(鍵值匹配和報(bào)文服務(wù))屬性。,單個(gè)的Zigbee設(shè)備可以支持多個(gè)模板,提供定義的簇標(biāo)識符和設(shè)備描述符。這些簇標(biāo)識符和端點(diǎn)標(biāo)識符通過設(shè)備地址和端點(diǎn)地址來實(shí)現(xiàn)。設(shè)備地址:包含有IEEE地址和短地址的無線收發(fā)裝置。端點(diǎn)地址:設(shè)備中的不同應(yīng)用端點(diǎn)號代

48、表。一個(gè)設(shè)備中最多可以有240個(gè)端點(diǎn)。,在設(shè)備中怎樣部署端點(diǎn)由應(yīng)用程序開發(fā)者決定,應(yīng)能保證結(jié)構(gòu)簡單,能夠滿足服務(wù)發(fā)現(xiàn)的需要。應(yīng)用程序被安置在端點(diǎn),它有一個(gè)簡單描述符。通過簡單描述符和服務(wù)發(fā)現(xiàn)機(jī)制才能實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)、綁定及功能互補(bǔ)的設(shè)備之間的信息交換。服務(wù)發(fā)現(xiàn)是建立在模板標(biāo)識符、輸入簇標(biāo)識符表和輸出簇標(biāo)識符表的基礎(chǔ)上的。,2. 功能描述Zigbee應(yīng)用框架的功能可以簡單概括為組合事務(wù)、接收和拒絕。1) 組合事務(wù)應(yīng)用框架幀結(jié)構(gòu)允許將若干個(gè)單獨(dú)的事務(wù)組合在一個(gè)幀內(nèi),這一組事務(wù)稱為組合事務(wù)。只有共享相同服務(wù)類型和簇標(biāo)識符的事務(wù)才能組合事務(wù)幀。組合事務(wù)幀的長度不能超過最大允許長度。,當(dāng)接收到組合事務(wù)幀時(shí),

49、設(shè)備將按順序處理每一個(gè)事務(wù)。對于需要應(yīng)答的事務(wù),將分別構(gòu)造和發(fā)送響應(yīng)幀。發(fā)送的組合事務(wù)響應(yīng)幀長度應(yīng)在APS幀允許的長度之內(nèi),如果超過允許的長度,則應(yīng)將這個(gè)組合響應(yīng)幀分成若干個(gè)響應(yīng)幀。,2) 接收和拒絕應(yīng)用框架首先從APS接收的幀進(jìn)行過濾處理,然后,檢查該幀的目的端點(diǎn)是否處于活動(dòng)狀態(tài)。如果目的端點(diǎn)處于非活動(dòng)狀態(tài),則將該幀丟棄;如果目的端點(diǎn)處于活動(dòng)狀態(tài),則應(yīng)用框架將檢查幀中的模板標(biāo)識符是否與端點(diǎn)的模板標(biāo)識符匹配。如果匹配,將幀的載荷傳送給該端點(diǎn),否則丟棄該幀。,2.5.4 設(shè)備對象在Zigbee協(xié)議中,應(yīng)用程序可以通過端點(diǎn)0與Zigbee堆棧的其他層通信,從而實(shí)現(xiàn)對各層的初始化和配置,附屬在端點(diǎn)0

50、的對象(端點(diǎn)0負(fù)責(zé)的功能集)被稱為Zigbee設(shè)備對象(Zigbee Device Object,ZDO)。ZDO提供應(yīng)用對象、模板和應(yīng)用支持子層(APS)之間的接口,標(biāo)識一類基本功能。它處在應(yīng)用框架和應(yīng)用支持子層(APS)之間,滿足Zigbee協(xié)議棧中所有應(yīng)用操作的公共需求。,ZDO通過端點(diǎn)0,利用APSDE_SAP實(shí)現(xiàn)數(shù)據(jù)服務(wù),利用APSME_SAP實(shí)現(xiàn)管理服務(wù)。這些公共接口在應(yīng)用框架中提供設(shè)備管理、發(fā)現(xiàn)、綁定和安全功能。1. 設(shè)備對象描述Zigbee設(shè)備對象(ZDO)使用應(yīng)用支持子層(APS)和網(wǎng)絡(luò)層提供的服務(wù)實(shí)現(xiàn)Zigbee協(xié)調(diào)器、路由器和終端設(shè)備的功能。ZDO的功能包括:初始化應(yīng)用支

51、持子層、網(wǎng)絡(luò)層和其他Zigbee設(shè)備層;,匯聚來自端點(diǎn)應(yīng)用的信息,以實(shí)現(xiàn)設(shè)備和服務(wù)發(fā)現(xiàn)、網(wǎng)絡(luò)管理、綁定管理、安全管理、節(jié)點(diǎn)管理等功能。它執(zhí)行端點(diǎn)號為1240的應(yīng)用端點(diǎn)的初始化。ZDO包括5個(gè)功能: 設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)現(xiàn),該對象在所有設(shè)備中都必須實(shí)現(xiàn)。網(wǎng)絡(luò)管理,該對象在所有設(shè)備中都必須實(shí)現(xiàn)。綁定管理,可選。安全管理,可選。節(jié)點(diǎn)管理,可選。,這些對象在應(yīng)用支持層和網(wǎng)絡(luò)層的支持下實(shí)現(xiàn)以下功能。1) 設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)現(xiàn)ZDO支持在一個(gè)PAN中的設(shè)備和服務(wù)發(fā)現(xiàn)。Zigbee協(xié)調(diào)器、Zigbee路由器和Zigbee終端節(jié)點(diǎn)的具體功能如下:對于即將進(jìn)入睡眠狀態(tài)下的Zigbee終端節(jié)點(diǎn),ZDO的設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)

52、現(xiàn)功能將它的IEEE地址、短地址、活動(dòng)端點(diǎn)、簡單描述符、節(jié)點(diǎn)描述符和功率描述符等上載并保持在其連接的協(xié)調(diào)器或者路由器上,以便能夠在這些設(shè)備處于睡眠狀態(tài)時(shí)實(shí)現(xiàn)設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)現(xiàn)。,對于Zigbee協(xié)調(diào)器或路由器,它們代替與其連接的、處于睡眠狀態(tài)的子設(shè)備,對設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)現(xiàn)請求作出響應(yīng)。對于所有的Zigbee設(shè)備,應(yīng)支持來自其他設(shè)備的設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)現(xiàn),能夠?qū)崿F(xiàn)本地應(yīng)用程序需要的設(shè)備發(fā)現(xiàn)和服務(wù)發(fā)現(xiàn)請求。例如:Zigbee協(xié)調(diào)器或路由器基于IEEE地址的單播查詢,被詢問的設(shè)備返回其IEEE地址,也可包括與其連接的設(shè)備的網(wǎng)絡(luò)地址;,Zigbee協(xié)調(diào)器或者路由器也可以發(fā)出基于網(wǎng)絡(luò)地址的廣播查詢,被詢問

53、的設(shè)備返回其短地址,在需要的情況下也可以包括與其連接的設(shè)備的網(wǎng)絡(luò)地址。服務(wù)發(fā)現(xiàn)有以下幾種方式:基于網(wǎng)絡(luò)地址與活動(dòng)端點(diǎn)的查詢,被詢問的設(shè)備回答設(shè)備的端點(diǎn)號。基于網(wǎng)絡(luò)地址或者廣播地址,與包括在ProfileID(端點(diǎn)的剖面ID)中的服務(wù)匹配;或者還可以使用端點(diǎn)的輸入/輸出簇,特定的設(shè)備將ProfileID與其活動(dòng)端點(diǎn)逐一進(jìn)行匹配檢查。然后使用原語作出回答。,根據(jù)網(wǎng)絡(luò)地址、節(jié)點(diǎn)描述或者功率描述的查詢,特定的設(shè)備返回其節(jié)點(diǎn)描述符及其端點(diǎn)。基于網(wǎng)絡(luò)地址、端點(diǎn)號和簡單描述符的查詢,該地址的設(shè)備返回簡單描述符及其端點(diǎn)?;诰W(wǎng)絡(luò)地址、符合描述符或用戶描述符的查詢。該功能是可選的,如果設(shè)備支持該功能,則被查詢的

54、設(shè)備發(fā)送自己的符合描述符或者用戶描述符。,2) 安全管理安全管理確定是否使用安全功能,如果使用安全功能,則必須完成建立密鑰、傳輸密鑰和認(rèn)證工作。安全管理涉及如下操作:從信任中心處獲得主密鑰。建立與信任中心之間的鏈路密鑰。以安全的方式從信任中心獲得網(wǎng)絡(luò)密鑰。為網(wǎng)絡(luò)中確定為信息目的地的設(shè)備建立鏈路密鑰和主密鑰。Zigbee路由器可以通知信任中心有設(shè)備與網(wǎng)絡(luò)建立了連接。,3) 網(wǎng)絡(luò)管理這項(xiàng)功能按照預(yù)先的配置或者設(shè)備安裝時(shí)的設(shè)置,將設(shè)備啟動(dòng)為協(xié)調(diào)器、路由器或終端設(shè)備。如果是路由器或終端設(shè)備,則設(shè)備應(yīng)具備選擇連接的PAN及執(zhí)行信道掃描功能。如果是協(xié)調(diào)器或者路由器,則它將具備選擇未使用的信道,以建立一個(gè)新

55、的PAN功能。在網(wǎng)絡(luò)沒有建立時(shí),最先啟動(dòng)的為協(xié)調(diào)器。 網(wǎng)絡(luò)管理的功能如下:給出需要掃描的信道類表,缺省的設(shè)置是工作波段的所有信道。,管理掃描過程,以確定鄰居網(wǎng)絡(luò),識別其協(xié)調(diào)器和路由器。選擇信道,啟動(dòng)一個(gè)新的PAN,或者選擇一個(gè)已存在的網(wǎng)絡(luò)并與這個(gè)網(wǎng)絡(luò)建立連接。支持重新與網(wǎng)絡(luò)建立連接。支持直接加入網(wǎng)絡(luò),或通過代理加入。支持網(wǎng)絡(luò)管理實(shí)體,允許外部的網(wǎng)絡(luò)管理。,4) 綁定管理綁定管理完成如下功能:配置建立綁定表的存儲(chǔ)空間,空間的大小由應(yīng)用程序或者安裝過程中的參數(shù)確定。處理綁定請求,在APS綁定表中增加或者刪除綁定表項(xiàng)。支持來自外部應(yīng)用程序的接觸綁定請求。協(xié)調(diào)器支持終端設(shè)備的綁定請求。,5) 節(jié)點(diǎn)管理對于Zigbee協(xié)調(diào)器和路由器,節(jié)點(diǎn)管理涉及以下操作:允許遠(yuǎn)方管理命令實(shí)現(xiàn)網(wǎng)絡(luò)發(fā)現(xiàn)。提供遠(yuǎn)方管理命令,以獲取路由表和綁定表。提供遠(yuǎn)方管理命令,以使設(shè)備或另一個(gè)設(shè)備離開網(wǎng)絡(luò)。提供遠(yuǎn)方管理命令,以獲取遠(yuǎn)方設(shè)備鄰居的LQI。,2. 設(shè)備對象行為Zigbee網(wǎng)絡(luò)中的設(shè)備類型有三種:協(xié)調(diào)器、路由器和終端節(jié)點(diǎn)。每一種設(shè)備的設(shè)備對象行為都不同,本小節(jié)講述Zigbee網(wǎng)絡(luò)中的協(xié)調(diào)器、路由器和終端節(jié)點(diǎn)三種設(shè)備的設(shè)備對象的行為。 注意:這里要區(qū)分“Zigbee設(shè)備”和“Zigbe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論