ZigBee的應(yīng)用層_第1頁
ZigBee的應(yīng)用層_第2頁
ZigBee的應(yīng)用層_第3頁
ZigBee的應(yīng)用層_第4頁
ZigBee的應(yīng)用層_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄1、概述1.1、 應(yīng)用支持子層(APS) 1.2、 ZigBee 設(shè)備對(duì)象(ZDO ) .1.3、 支持子層(APS)2.1、 概述2.2、 APS 數(shù)據(jù)實(shí)體 APSDE2.3、 APS 管理實(shí)體 APSME2.4、 服務(wù)規(guī)范.2.5、 幀格式.2.6、 功能描述2.7、 應(yīng)用支持子層狀態(tài)值 參考書籍ZigBee的應(yīng)用層協(xié)議格式本篇內(nèi)容ZigBee協(xié)議應(yīng)用層的概述;主講應(yīng)用層(APL)下的應(yīng)用支持子層(APS)規(guī)范;1、概述圖1 ZigBee協(xié)議結(jié)構(gòu)體系tDO應(yīng)用對(duì)象240應(yīng)用對(duì)象1應(yīng)用支持/層數(shù)據(jù)實(shí)體APS信息全管理中間ZigBee設(shè)備對(duì)象(ZDO應(yīng)用支持子層管公共接口端點(diǎn)240- 端點(diǎn)

2、1apsdE-SAp接入點(diǎn)APSDE-SAPj I響應(yīng)信息PAS-P M安全管理數(shù)據(jù)實(shí)體APSDE網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體SAPNW應(yīng)用支持子管信理實(shí)體網(wǎng)絡(luò)層 信息中路由管理網(wǎng)絡(luò)管理問指制子層管服MLDE-SAPm ACf層實(shí)機(jī)de-SAP -服務(wù)接入點(diǎn)PD-SAPD-SA七 2.4GHz(物理)PHY18/915Hz-'每個(gè)ZigBee設(shè)備都與一個(gè)特定模板有關(guān),可能是公共模板或私有模板。這些模板定義了設(shè)備的應(yīng)用環(huán)境、設(shè)備類型以及用于設(shè)備簡(jiǎn)通信的串(或稱簇).公共模板可以確保不同供應(yīng)商的設(shè)備在相同應(yīng)用領(lǐng)域中的互操作性。設(shè)備是由模板定 義的,并以應(yīng)用對(duì)象(Application Objects )

3、的形式實(shí)現(xiàn)。每個(gè)應(yīng)用對(duì)象通過一 個(gè)端口連接到ZigBee堆棧的余下部分,它們都是器件中可尋址的組件。從應(yīng)用的角度看,通信的本質(zhì)就是端口到端口的連接(例如,一個(gè)帶開關(guān)組件的設(shè)備與帶一個(gè)或多個(gè)燈組件的設(shè)備進(jìn)行通信,目的是點(diǎn)亮這些燈)。端口之間的通信是通過簇的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的。這些簇是應(yīng)用對(duì)象之間共享信息所需要的全部 屬性的容器,特殊應(yīng)用中的簇在模板中有定義。每個(gè)接口都能接收或發(fā)送簇格式的數(shù)據(jù), 一共有兩個(gè)特殊的端口,即端口 0和 端口 255.端口 0用于整個(gè)ZigBee設(shè)備的配置和管理。應(yīng)用程序可以通過端口 0 與ZigBee堆棧的其他層通信,從而實(shí)現(xiàn)對(duì)這些層的初始化和配置。 附屬在端口 0的對(duì)象

4、被稱為 ZigBee 設(shè)備對(duì)象 ( ZDO ) 。 端口 255 用于向所有端口的廣播。 端口241254 是保留端口。所有端口都使用應(yīng)用支持子層( APS )提供的服務(wù)。 APS 通過網(wǎng)絡(luò)層和安全服務(wù)提供層與端口相連接,并為數(shù)據(jù)傳送、安全和綁定提供服務(wù),因此能夠適配不同單兼容的設(shè)備,如帶燈的開關(guān)。APS 使用網(wǎng)絡(luò)( NWK )層提供的服務(wù)。 NWK 負(fù)責(zé)設(shè)備到設(shè)備的通信,并負(fù)責(zé)網(wǎng)絡(luò)中設(shè)備初始化所包含的活動(dòng)、消息路由和網(wǎng)絡(luò)發(fā)現(xiàn)。應(yīng)用層可以通過ZigBee設(shè)備對(duì)象(ZDO )對(duì)網(wǎng)絡(luò)層參數(shù)進(jìn)行配置和訪問。再?gòu)膱D 1 中觀察可以發(fā)現(xiàn), ZigBee 應(yīng)用層框架包括應(yīng)用支持子層( APS ) 、Zig

5、Bee設(shè)備對(duì)象(ZDO )和制造商所定義的應(yīng)用對(duì)象。1.1 、應(yīng)用支持子層(APS )ZigBee 協(xié)議棧中應(yīng)用層 ( APL ) 的 APS 提供了在 NWK 層和 APL 層之間及從ZDO 到供應(yīng)商的應(yīng)用對(duì)象的通用服務(wù)集的接口。這種服務(wù)由兩個(gè)實(shí)體APSDE 和APSME 實(shí)現(xiàn)。1.2 、 ZigBee 設(shè)備對(duì)象( ZDO )ZDO 代表著一個(gè)基本的功能函數(shù)類,這個(gè)功能在應(yīng)用對(duì)象、設(shè)備模式與APS之間提供了一個(gè)接口。 ZDO 位于應(yīng)用框架與應(yīng)用支持子層之間,它滿足所有在ZigBee 協(xié)議棧中應(yīng)用操作的一般需要,具有以下作用:初始化應(yīng)用支持子層(APS ) 、網(wǎng)絡(luò)層(NWK ) 、安全服務(wù)規(guī)范

6、(SSS) ;從終端應(yīng)用中集合配置信息來確定和執(zhí)行發(fā)現(xiàn)、安全管理、網(wǎng)絡(luò)管理和綁 定管理。ZDO 描述了應(yīng)用框架層應(yīng)用對(duì)象的公用接口以控制設(shè)備和應(yīng)用對(duì)象的網(wǎng)絡(luò)功 能。在終端端口 0 , ZDO 提供了與協(xié)議棧中低一層相接的接口,如果是數(shù)據(jù),則通過 APSDE-SAP ;如果是控制信息,則通過APSME-SAP 。在 ZigBee 協(xié)議棧的應(yīng)用框架中,ZDO 公用接口提供設(shè)備、發(fā)現(xiàn)、綁定、安全等功能的地址管理。設(shè)備發(fā)現(xiàn),是一個(gè)ZigBee 設(shè)備發(fā)現(xiàn)其他ZigBee 設(shè)備的過程。有兩種形式的設(shè)備發(fā)送請(qǐng)求:IEEE地址請(qǐng)求和網(wǎng)絡(luò)地址請(qǐng)求。IEEE地址請(qǐng)求是單播到一個(gè)特定的設(shè)備且假定網(wǎng)絡(luò)地址已知;網(wǎng)絡(luò)地

7、址請(qǐng)求是廣播且攜帶一個(gè)已知的IEEE地址作為數(shù)據(jù)負(fù)載。服務(wù)發(fā)現(xiàn)是一個(gè)已知設(shè)備被其他設(shè)備發(fā)現(xiàn)的過程。 服務(wù)發(fā)現(xiàn)通過在一個(gè)已知設(shè)備的每個(gè)端口發(fā)送查詢或通過使用一個(gè)匹配服務(wù)功能(廣播或單播) 。服務(wù)發(fā)現(xiàn)可方便定義和使用各種描述來概述一個(gè)設(shè)備的能力。服務(wù)發(fā)現(xiàn)信息在網(wǎng)絡(luò)中也許被隱藏,在這種情況下,設(shè)備提供的某種服務(wù)可能不好在發(fā)現(xiàn)操作時(shí)到達(dá),致使服務(wù)可能無法訪問。運(yùn)行在 ZigBee 協(xié)議棧上的應(yīng)用程序?qū)嶋H就是廠商自定義的應(yīng)用對(duì)象。這些應(yīng)用程序使用 ZigBee 聯(lián)盟給出的并且批準(zhǔn)的規(guī)范( Profile )進(jìn)行開發(fā)并運(yùn)行在端點(diǎn) 1-240 上。2 、 應(yīng)用支持子層 (APS)2.1 、概述ZigBee

8、協(xié)議棧中應(yīng)用層 ( APL ) 的 APS 提供了在 NWK 層和 APL 層之間及從ZDO 到供應(yīng)商的應(yīng)用對(duì)象的通用服務(wù)集的接口。這種服務(wù)由兩個(gè)實(shí)體實(shí)現(xiàn):APS 數(shù)據(jù)實(shí)體(APSDE ) :通過APSDE 服務(wù)接入點(diǎn)( APSDE-SAP ) 實(shí)現(xiàn);APS 管理實(shí)體( APSME ) :通過 APSME 服務(wù)接入點(diǎn)( APSME-SAP )實(shí) 現(xiàn)。2.2 、 APS 數(shù)據(jù)實(shí)體 APSDEAPSDE 提供在同一個(gè)網(wǎng)絡(luò)中的兩個(gè)或者多個(gè)應(yīng)用實(shí)體之間的數(shù)據(jù)通信,為NWK 、 ZDO 和應(yīng)用對(duì)象提供一個(gè)數(shù)據(jù)服務(wù),使得應(yīng)用程序的 PDU 在兩個(gè)或多個(gè)設(shè)備之間傳輸,設(shè)備本身必須位于同一個(gè)網(wǎng)絡(luò)。APSDE

9、提供的服務(wù):發(fā)出應(yīng)用層PDU ( APDU ) : APSDE 會(huì)接收應(yīng)用 PDU ,并通過增加合適協(xié)議開銷發(fā)出一個(gè)APS PDU ;綁定:一旦兩個(gè)設(shè)備綁定, APSDE 就可以從一個(gè)綁定設(shè)備傳輸一個(gè)信息給第二個(gè)設(shè)備;組地址過濾:提供了根據(jù)是否是終端組的成員過濾組地址信息的功能;可靠傳輸:在NWK 層采用端到端重試,增加了事件的可靠性;重復(fù)拒絕:傳輸所提供的信息將不會(huì)被多次接收;分裂:可以分裂和重組長(zhǎng)于一個(gè)NWK 層負(fù)載的信息。2.3 、 APS 管理實(shí)體 APSMEAPSME 提供的功能包括維持綁定表及在綁定的設(shè)備之間傳送消息。綁定指的是基于兩臺(tái)設(shè)備的服務(wù)和需求將它們匹配地連接起來。APSM

10、E 提供的服務(wù):綁定管理:根據(jù)服務(wù)和需求一起匹配兩個(gè)設(shè)備的功能;AIB 管理:在設(shè)備的 AIB 中獲取并設(shè)置屬性的功能;安全:通過使用安全密鑰與其他設(shè)備建立可信關(guān)系的功能;組管理:提供了宣布多個(gè)設(shè)備共享一個(gè)地址,增加設(shè)備到組以及從組中移除設(shè)備的功能;2.4 、服務(wù)規(guī)范APS子層提供了上層實(shí)體(NHLE)和NWK層之間的一個(gè)接口。 APS子層的APSME通過激發(fā)子層管理功能提供了服務(wù)接口,它還負(fù)責(zé)維護(hù)一個(gè)管理有關(guān) APS子層對(duì)象的數(shù)據(jù)庫(kù)(A舊)。圖2描繪了 APS子層的組件和接口。圖2應(yīng)用支持子層參考模型APS子層的兩種服務(wù)通過 NLDE-SAP和(在有限范圍內(nèi))NLME-SAP ,提供了 NH

11、LE和NWK層之間的接口。 NWK層和APS子層之間的NLME-SAP 接口 只支持NLME-GET和NLME-SET原語;所有其它NLME-SAP 原語只能通過 ZDO訪問。除這些外部的接口,在 APSME和APSDE之間還有一個(gè)隱藏接口,它允許APSME使用APS數(shù)據(jù)服務(wù)。層與層間的通信方式如圖 3request-confirm-indicationAPS子層數(shù)據(jù)實(shí)體SAP (APSDE-SAP)支持應(yīng)用協(xié)議數(shù)據(jù)單元在對(duì)等應(yīng)用實(shí)體之間的傳輸,表1列出了 APSDE-SAP支持的原語表 1 APSDE-SAP 原語APSDE-SAP請(qǐng)求確認(rèn)原語APSDE-DATAPSDE-DATA.rAPS

12、DE-DATA.cAPSDE-DATA.indicaAequestonfirmtionRequest-confirm原語執(zhí)行的流程示意圖見圖4,各原語詳細(xì)內(nèi)容如下描述;圖4 req-con 流程該原語請(qǐng)求一個(gè)從本地 NHLE到一個(gè)或多個(gè)對(duì)等NHLE實(shí)體傳輸一個(gè)NHLE PDU (ASDU);每當(dāng)一個(gè)數(shù)據(jù) PDU (ASDU )要被傳輸給一個(gè)對(duì)等的 NHLE時(shí), 該原語由一個(gè)本地的NHLE生成,并根據(jù)其參數(shù)進(jìn)行不同形式的傳輸。參數(shù)見表2表2指明APSDE-DATA.request 原語參數(shù)名稱有效范圍描述DstAddrModeInteger0x00-0xff使用目的地址以及傳輸 APDU的尋址模

13、式0x00 : DstAddress 和DstEndpoint 不存在0x01 : DstAddress16 位組地址;DstEndpoint 不存在;0x02 : DstAddress 和DstEndpoint 都存在,是 16位組地址;0x03 : DstAddress16 和DstEndpoint 都存在,是 64位擴(kuò)展地址;0x04-0xff 保留;DstAddre ssAddres s通過DstAddrMode參數(shù)指定ASDU要被傳輸?shù)降膶?shí)體的單獨(dú)的設(shè)備地址或者組地址DstEndpointInteger0x00-0xf0,0xff當(dāng)且僅當(dāng)DstAddrMode 參數(shù)的值為0x02/0

14、x03 時(shí),該參數(shù)才存在,此時(shí)該參數(shù)或者ASDU要被傳輸?shù)降膶?shí)體的單獨(dú)個(gè)端點(diǎn)的編號(hào),或者是廣播端點(diǎn)(0xff )ProfiledInteger0x0000-0xffff幀要被送到的profilede 標(biāo)識(shí)符ClusterldInteger0x0000-0xffff幀要被送到的對(duì)象的標(biāo)識(shí)符SrcEndpointInteger0x00-0xf0被傳輸?shù)腁SDU來自的實(shí)體的單個(gè)端點(diǎn)ASDULengthInteger0x00-256*(NSDULength-apscMinHeaderOverhead)構(gòu)成被傳輸?shù)腁SDU的字節(jié)數(shù),單負(fù)載的最大長(zhǎng)度由NSDULength-apscMinheaderOve

15、rhead給定。如果分段,用256個(gè)這樣的塊組成單個(gè)最大的 ASDUASDUSet of octets-組成被傳輸?shù)腁SDU的字節(jié)集合TxOptionBitmap0000 0xxx(x 為0/1)被傳輸?shù)腁SDU的傳輸選項(xiàng):0x01:啟用安全傳輸0x02:使用密鑰傳輸0x04:確認(rèn)傳輸0x08:允許分段RadiusUnsign ed integer0x00-0xff允許一個(gè)被傳輸?shù)膸ㄟ^網(wǎng)絡(luò)進(jìn)行傳輸?shù)木嚯x量,以跳為單位該原語報(bào)告請(qǐng)求從一個(gè)本地 NHLE傳輸一個(gè)數(shù)據(jù)PDU (ASDU)到一個(gè)對(duì)等NHLE的結(jié)果。它由本地 APS子層實(shí)體在響應(yīng)一個(gè) APSDE-DATA.request 原語時(shí)產(chǎn)生。

16、當(dāng)返回的狀態(tài)參數(shù)值為 SUCCESS,表明請(qǐng)求傳輸成功,或者為錯(cuò)誤代碼 NO_SHORT_ADDRESS ,NO_BOUND_DEVICE 或 SECURITY_FAIL 或者為任何 NLDE-DATA.confirm 原語返回的狀態(tài)值。參數(shù)見表3表 3 APSDE-DATA.confirm 原語的參數(shù)名稱有效范圍描述DstAddrModeInteger0x00-0xff使用目的地址以及傳輸APDU的尋址模式0x00 : DstAddress 和DstEndpoint 不存在0x01 : DstAddress16 位組地址;DstEndpoint 不存在;0x02 : DstAddress 和

17、DstEndpoint 都存在,是16位組地址;0x03 : DstAddress16 和DstEndpoint 都存在,是64位擴(kuò)展地址;0x04-0xff 保留;DstAddressAddress通過DstAddrMode參數(shù)來指定ASDU要被傳輸?shù)綄?shí)體的單個(gè)設(shè)備的地址或組地址DstEndpointInteger0x00-0xf0,0xff當(dāng)且僅當(dāng)DstAddrMode參數(shù)的值為0x02/0x03時(shí),該參數(shù)才存在,此時(shí), 該參數(shù)是APDU要被傳輸 到實(shí)體的單個(gè)端點(diǎn)的編號(hào);SrcEndpointInteger0x00-0xf0ASDU要被傳輸?shù)降膶?shí)體的單個(gè)端點(diǎn)StatusEnumeratio

18、 nSUCCESS, NO_ACK, NO_SHORT_AD DRESS, NO_BOUND_D EVICE, ASDU_TOO_LO NG , SECURITY_FALL 以及從 NLDE-DATA.co nfirm 原語返回 的任何狀態(tài)返回 值相應(yīng)的請(qǐng)求狀態(tài)TxTimeInteger具體執(zhí)行對(duì)基于本地時(shí)鐘的傳輸包的時(shí)間指示,如NWK層所提供的那樣Indication 原語執(zhí)行的流程示意圖見圖5,原語詳細(xì)內(nèi)容見如下描述;圖5 indication 原語流程本原語表示從APS子層傳輸一個(gè)數(shù)據(jù) PDU (ASDU)到本地應(yīng)用實(shí)體。(參數(shù)說明見表4)當(dāng)從本地網(wǎng)絡(luò)層實(shí)體接收到適當(dāng)?shù)刂返臄?shù)據(jù)幀,或隨后

19、收到一個(gè)DstAddrMode 為0x00且綁定表?xiàng)l目指示幀送到設(shè)備本身的APSDE-DATA.request 時(shí),該原語由APS子層產(chǎn)生并發(fā)送給上層。如果 ASDU 頭的幀控制域表明該幀安全保護(hù),則執(zhí)行相應(yīng)的安全管理程序處理。當(dāng)從本地網(wǎng) 絡(luò)層實(shí)體接收到適當(dāng)?shù)刂返臄?shù)據(jù)幀時(shí),該原語由APS子層產(chǎn)生,并通過NLDE-DATA.indication原語發(fā)給上層實(shí)體。如果 APDU頭的幀控制域表明該幀安全保護(hù),則執(zhí)行相應(yīng)的安全程序進(jìn)行處理。如果幀處理失敗,APSDE設(shè)置狀態(tài)參數(shù)為安全處理返回的安全錯(cuò)誤代碼。如果幀未被保護(hù)或安全處理成功,APSDE必須檢查幀是否被分段。如果擴(kuò)展 頭包含在APDU頭中且擴(kuò)

20、展幀控制域的分段子域表示幀被分段,但是這個(gè)設(shè)備不 支持分段,APSDE就設(shè)置狀態(tài)參數(shù)為 DEFRAG_UNSUPPORTED 。如果擴(kuò)展頭包 含在APDU頭中且擴(kuò)展幀控制域的分段子域表示幀被分段,且這個(gè)設(shè)備支持分段, 但是當(dāng)前不能重組該幀,APSDE就設(shè)置狀態(tài)參數(shù)為 DEFRAG_DEFERRED。在其它所以情況下,APSDE設(shè)置狀態(tài)參數(shù)為SUCCESS。如果狀態(tài)參數(shù)不設(shè)置為 SUCCESS, APSDE設(shè)置ASDULength 參數(shù)為0, ASDU參數(shù)為空字節(jié)集合。APS子層實(shí)體必須通過使用 N舊中的屬性nwkAddressMap 把接收到的幀的 源地址映射為相應(yīng)的擴(kuò)展的 64位IEEE地址

21、。如果能找到相應(yīng)的64為IEEE地址, 則APSDE發(fā)出該原語,其參數(shù) SrcAddrMode 設(shè)為0x03 , SrcAddress 參數(shù)設(shè) 為相應(yīng)的64位IEEE地址。如果找不到相應(yīng)的 64位IEEE地址,APSDE將發(fā)出該 原語,其參數(shù)SrcAddrMode 設(shè)為0x02 ,參數(shù)SrcAddress設(shè)為接收幀包含的16 位源地址。表 4 APSDE-DATA.indication 原語參數(shù)名稱有效范圍描述DstAddrIntege0x00-0xff使用目的地址以及傳輸 APDU的尋址Moder模式0x00 :保留0x01 : DstAddress16 位組地址;DstEndpoint 不

22、存在;0x02 : DstAddress 和 DstEndpoint都存在,是16位組地址;0x03 -0xff 保留;DstAddre ssAddre ss通過DstAddrMode參數(shù)指定ASDU要被傳輸?shù)降膶?shí)體的單獨(dú)的設(shè)備地址或者組地址DstEndpointInteger0x00-0xf0ASDU所針對(duì)的是本地實(shí)體上的目標(biāo)端點(diǎn)SrcAddrModeInteger0x00-0xff使用目的地址以及傳輸 APDU的尋址模式0x00、0x01、0x04-0xff :保留0x02 : DstAddress 和 DstEndpoint都存在,是16位組地址;0x03 : SrcAddress 和

23、SrcEndpoint都存在,是64位擴(kuò)展地址SrcAddre ssAddre ss通過SrcAddrM來自收到的ASDU的實(shí)體的單個(gè)設(shè)備的地址或組地址ode指定SrcEndpoIntege0x00-0xf0來自被傳輸?shù)腁SDU的實(shí)體的單個(gè)端intr占八、ProfiledInteger0x0000-0xffff發(fā)起該幀的profilede標(biāo)識(shí)符ClusterldInteger0x0000-0xffff接收對(duì)象的標(biāo)識(shí)符ASDULenIntege通過APSDE表示的ASDU包含的字gthr節(jié)數(shù)ASDUSet of octets-通過APSDE表示的ASDU包含的字節(jié)集合StatusEnumerat

24、ionSUCCESS, DEFRAG_D EFERRED DEFRAG_U NSUPPO RTED或者 幀安全處理 返回的任何 狀態(tài)輸入幀處理的狀態(tài)SecuritySEnumeUNSECUR如果在沒有任何安全情況卜接收tatusrationED,ASDU ,返回 UNSECUREDSECURED_如果接收到的ASDU用網(wǎng)絡(luò)密鑰加NWK_KEY密,返回 SECURED_NWK_KEYSECURED_如果ASDU使用一個(gè)鏈接密鑰加密,LINK_KEY返回 SECURED_LINK_KEYLinkQualiIntege0x00-0xffNLDE傳送的鏈路質(zhì)量指示tyrRxTimeIntege具體執(zhí)行

25、對(duì)基于本地時(shí)鐘的傳輸包的時(shí)間指r示,如NWK層所提供的那樣APSME支持上層和 APSME之間的管理命令的傳輸。表 5為 APSME-SAP接口支持的原語。并在下面的內(nèi)容逐一介紹各原語。表 5 APSME-SAP 原語名稱請(qǐng)求指小響應(yīng)確認(rèn)APSME-BIND.request.confirmAPSME-UNBIND.request.confirmAPSME-GET.request.confirmAPSME-SET.request.confirmAPSME-ADD-GROUP.request.confirmAPSME-REMOVE-GROUP.request.confirmAPSME-REMOVE

26、-ALL-GROUP.request.confirm這兩組原語定義了設(shè)備的上層如何往其本地綁定表中增加/移除一個(gè)綁定記錄。原語執(zhí)行的流程示意圖見圖6;綁定:APSME-BIND.request & APSME-BIND.confirm移除綁定:APSME-UNBIND.request & APSME-UNBIND.confirm只有支持綁定表或綁定表緩存的設(shè)備可以處理這些原語,如果任何其他設(shè)備從其上層接收到這些原語,原語將會(huì)被丟棄。圖6 BIND&UNBIND原語流程(1)、APSME-BIND.request 原語本原語允許上層通過在其本地綁定表中創(chuàng)建一個(gè)實(shí)體,請(qǐng)求把

27、兩個(gè)設(shè)備綁定到一起,或綁定一個(gè)設(shè)備到某個(gè)組中。由上層實(shí)體生成,發(fā)給 APS子層,目的是在一個(gè)支持綁定表的設(shè)備上發(fā)起綁定操作。參數(shù)說明見表6表 6 APSME-BIND.request原語參數(shù)名稱有效范圍描述SrcAddrIEEEAddre ss有效的64位IEEE地址綁定目錄的源IEEE地址SrcEndpointInteger0x00-0xff綁定目錄的源端點(diǎn)ClusterIdInteger0x0000-0xffff將要綁到目的設(shè)備上的 cluster標(biāo)識(shí)符DstAddrModeInteger0x00-0xff使用目的地址以及傳輸 APDU的尋址模式0x00、0x02、0x04-0xff :保

28、留0x01 : DstAddress16 位組地址;DstEndpoint 不存在;0x03 : DstAddress 和DstEndpoint 都存在,是64位擴(kuò)展地址;DstAddrAddre ss通過DstAddrMod e 參數(shù)指定綁定目錄的目的地址DstEndpointInteger0x00-0xf0 ,0xff當(dāng)DstAddrMode 參數(shù)為0x03時(shí)存在,此時(shí)參數(shù)為綁定目錄的目標(biāo)端點(diǎn)(2)、APSME-BIND.confirm 原語本原語允許上層被通知其直接或代理請(qǐng)求綁定兩個(gè)設(shè)備,或綁定一個(gè)設(shè)備到某個(gè)組。它由 APSME生成,發(fā)給其 NHLE以響應(yīng)一個(gè) APSME-BIND.Re

29、quest 原語。參數(shù)說明見表7表 7 APSME-BIND.confirm原語參數(shù)名稱有效范圍描述StatusEnumerationSUCCESSILLEGAL_DEVICEILLEGAL_RE綁定請(qǐng)求結(jié)果QUESTTABLE_FULL NOT_SUPPO RTED其余參數(shù)見表6(3)、APSME-UNBIND.request原語與APSME-BIND.request原語比較操作基本相同,參數(shù)說明見表6 ;(4)、APSME-UNBIND.confirm原語與APSME-BIND.confirm原語比較不同在于返回的狀態(tài)參數(shù),參數(shù)說明見表8 ;表 8 APSME-UNBIND.confirm

30、原語參數(shù)名稱有效范圍描述StatusEnumerati onSUCCESSILLEGAL_DEVICEILLEGAL_REQUESTILLEGAL_BINDING取消綁定請(qǐng)求的結(jié)果其余參數(shù)參見表6這兩組原語定義了設(shè)備上層如何讀取和寫入AIB中的屬性。原語執(zhí)行的流程示意圖見圖7圖7 SET-GET原語流程圖(1)、APSME-GET.Request 原語該原語允許設(shè)備上層從A舊中讀取。由上層生成,發(fā)給其 APSME,目的是從AIB中讀取一個(gè)屬性, APSME-GET.Request A舊Attribute /參數(shù)說明見表9 ;該原語返回嘗試從 AIB中讀取一個(gè)屬性值的結(jié)果它由APSME產(chǎn)生,發(fā)送

31、給表9信息庫(kù)包含管理設(shè)備的 APS層所要求的屬性屬性標(biāo)識(shí)符有效范圍描述DefaultapsBindingTable0xc1Set可變?cè)O(shè)備綁定表目錄當(dāng)前集合空集apsDesignatedC oordinator0xc2BoolTRUE/FALSE設(shè)備為協(xié)調(diào)器取TRUEFALSEapsChannelMask0xc3IEEE802.15.4信道掩碼任何對(duì)于PHY有效的掩碼英語這個(gè)設(shè)備網(wǎng)絡(luò)操作的允許信道掩碼所有信道apsUseExtendedPANID0xc464bit擴(kuò)展地址0x0-0xfffffffffffffffe形成或加入網(wǎng)絡(luò)的64bit地址0x0ApsGroupTable0xc5Set可變組

32、表目錄的當(dāng)前集合空集(2)、APSME-GET.confirm 原語上層作為對(duì) APSME-GET.request 原語的響應(yīng)。 該原語返回狀態(tài) SUCCESS,表 明請(qǐng)求讀取A舊屬性請(qǐng)求成功,或者返回錯(cuò)誤碼UNSUPPORTED_ATTRIBUTE.參數(shù)說明見表10;表 10 APSME-GET.confirm 原語參數(shù)名稱有效范圍描述StatusEnumerationSUCCESS、UNSUPPORTED_AIIRIBUTE請(qǐng)求讀取值的結(jié)果AIB屬性A舊AttributeInteger參見表9被讀取的標(biāo)識(shí)符AIB屬性A舊AttributeLengthInteger0x0000-0xffff

33、返回屬性值的字節(jié)長(zhǎng)度A舊AttributeVal ueVarious參見表9被讀取的值A(chǔ)IB屬性APSME-SET.request 原語該原語允許上層往 AIB寫入一個(gè)屬性值。它由上層產(chǎn)生并發(fā)送給APSME在AIB中寫入一個(gè)屬性值。參數(shù)說明見表11 ;表 11 APSME-SET.confirm 原語參數(shù)名稱有效范圍描述AIBAttributeInteger參見表9被讀取的AIB屬性標(biāo)識(shí)符A舊AttributeLengthInteger0x0000-0xffff返回屬性值的字節(jié)長(zhǎng)度A舊AttributeVal ueVarious參見表9被讀取的AIB屬性值A(chǔ)PSME-SET.confirm 原

34、語該原語報(bào)告嘗試為一個(gè) A舊屬性寫入一個(gè)值得結(jié)果。該原語由APSME生成,發(fā)給上層以響應(yīng)一個(gè) APSME-SET.request原語,返回狀態(tài)值 SUCCESS,表示該 請(qǐng)求值被寫入指明的 AIB屬性或一個(gè)UNSUPPORTED_ATTRIBUTE /INVALID_ATTRIBUTE 的錯(cuò)誤代碼。參數(shù)見表 12;表 12 APSME-SET.confirm 原語參數(shù)名稱有效范圍描述StatusEnumerationSUCCESS,INVALID_PARAMETER或UNSUPPORTED_AIIRIBUTE寫A舊屬性請(qǐng)求的結(jié)果AIBAttributeInteger見表9這組原語允許上層在當(dāng)前

35、設(shè)備中通過在組表中添加和移除入口來管理每個(gè)端點(diǎn)的組關(guān)系。這三組原語執(zhí)行的流程示意圖見圖8;圖 8 ADD-REMOVE-REMOVEALL原語流程(1)、APSME-ADD-GROUP .request 原語當(dāng)上層給一該原語允許上層為某個(gè)特定端點(diǎn)請(qǐng)求網(wǎng)某個(gè)特定的組增加組成員個(gè)端點(diǎn)的某個(gè)組增加組成員時(shí)產(chǎn)生,設(shè)置了組地址的幀將被傳送給該端點(diǎn)。參數(shù) 見表13 ;表 13 APSME-ADD-GROUP .request 原語參數(shù)名稱有效范圍描述GroupAddress16bit組地址0X0000-0Xfff7將要添加的16位組地址EndpointInteger0x01-0xf0將要添加的特定組的端點(diǎn)

36、(2)、APSME-ADD-GROUP .confirm 原語該原語使得設(shè)備得知其將一個(gè)組添加到端點(diǎn)的請(qǐng)求結(jié)果。它由APSME產(chǎn)生并發(fā)送給上層作為對(duì)APSME-ADD-GROUP .request原語的響應(yīng)。如果APSME-ADD-GROUP .request成功,那么狀態(tài)參數(shù)值為 SUCCESS。如果APSME-ADD-GROUP .request中的參數(shù)為無效值,那么狀態(tài)產(chǎn)生設(shè)置為 INVALID_PARAMETER 。如果APSME試圖加入一個(gè)組表入口,但表中已沒有加 入其它入口的空間,狀態(tài)參數(shù)設(shè)置為TABLE_FULL。參數(shù)見表14;表 14 APSME-ADD-GROUP .conf

37、irm 原語參數(shù)名稱有效范圍描述StatusEnumeratio nSUCCESS,INVALID_PARAMETER或 TABLE_FULL添加一個(gè)組的請(qǐng)求結(jié)的果其余參數(shù)見表13(3)、APSME-REMOVE-GROUP .request 原語與APSME-ADD-GROUP .request原語比較,作移除操作,參數(shù)說明見表13;(4)、APSME-REMOVE-GROUP .confirm 原語對(duì)其請(qǐng)求作出的應(yīng)答與 APSME-ADD-GROUP .confirm 原語相似,參數(shù)見表 14 ;(5)、APSME-REMOVE-GROUP-ALL.request原語同 APSME-REM

38、OVE-GROUP .request ,參數(shù) Endpoint 見表 13;(6)、APSME-REMOVE-GROUP-ALL.confirm原語同 APSME-REMOVE-GROUP .confirm 原語,參數(shù) Status 和 Endpoint 見表 14 ;2.5、 幀格式每個(gè)APS幀基本組成一個(gè)APS頭,包括幀控制域和尋址信息;一個(gè)APS負(fù)載、可變長(zhǎng)度、包括特定幀類型的信息。該小節(jié)中所有的幀格式按照它們?cè)贜WK層傳輸?shù)捻樞蛎枋觯瑥淖蟮接?,左邊先傳輸。每個(gè)域中的位從 0開始編碼到k-1位,因此域長(zhǎng)為k.長(zhǎng)于一個(gè)8位字節(jié) 的域被送往NWK層,按照從編號(hào)最低的8位字節(jié)到編號(hào)最高的8位字

39、節(jié)的順序。 傳輸時(shí)所有標(biāo)記為保留的域都設(shè)置為0,接收時(shí)必須檢查本規(guī)范版本中所有標(biāo)記為保留的域是否為0o表15 通用APS幀格式字節(jié):0/10/20/20/20/110/變變量1量幀控制目標(biāo)端點(diǎn)組地址Cluster 標(biāo)識(shí)符Profile標(biāo)識(shí)符源端占八、APS計(jì)數(shù)器擴(kuò)展頭幀負(fù)載尋址域APS頭APS負(fù)載:域長(zhǎng)為8位,包括定義幀類型的信息、尋址域和其他控制標(biāo)志,格式如下表16表16幀控制域格式位0-12-34567傳送模式ACK格式安全ACK請(qǐng)求擴(kuò)展頭存在:長(zhǎng)度2位,設(shè)置為表17的非保留值之一。表17 幀類型子域值幀類型值(b1b0 )00011011幀類型名稱數(shù)據(jù)命令確認(rèn)保留:長(zhǎng)度2位,值為下表非保

40、留值之一。表18 傳送模式子域值傳送模式值(b1b0 )00011011傳送模式名稱正常單播間接尋址廣播組尋址傳送:1位長(zhǎng)度,表示目標(biāo)端點(diǎn)、cluster標(biāo)識(shí)符、profile標(biāo)識(shí)符和源端點(diǎn)域在確認(rèn)幀中是否存在,對(duì)于數(shù)據(jù)幀確認(rèn)設(shè)置為0,對(duì)于APS命令幀確認(rèn)設(shè)置為1。:參見安全服務(wù)供應(yīng)商管理-安全子域;:1位長(zhǎng)度,指明接收者在接收該幀有效時(shí),當(dāng)前傳輸是否需要發(fā)起者發(fā)送一個(gè)確認(rèn)幀。如果設(shè)置為1,給發(fā)起者發(fā)送一個(gè)確認(rèn)幀,否則不發(fā)送;對(duì)于所有廣播或多播,該值為0;:1位長(zhǎng)度,1位長(zhǎng)度,規(guī)定擴(kuò)展頭是否包含在此幀內(nèi)。該值為 1時(shí),包含在內(nèi), 否則,不包含;:8位長(zhǎng)度,指明最終接收該幀的端點(diǎn)。該值為0x00

41、時(shí),發(fā)送到每個(gè)設(shè)備的ZDO。 該值為0x01-0xf0,幀目的地址為操作的端點(diǎn)。該值為0xff,發(fā)送到除了端點(diǎn)0x00 的所有活躍端點(diǎn)。端點(diǎn)(0xf1-0xfe )保留;:16位長(zhǎng)度,對(duì)應(yīng)傳送模式子域?yàn)?b11時(shí)存在。傳送時(shí),根據(jù)目標(biāo)地址發(fā)送到該組中對(duì)應(yīng)的端點(diǎn)。:16位長(zhǎng)度,指定由請(qǐng)求中SrcAddr所指示的用于設(shè)備綁定操作的簇標(biāo)識(shí)符。幀控制域的幀類型子域指定簇標(biāo)識(shí)符域是否存在。該域只用于數(shù)據(jù)幀或確認(rèn)幀,不 用于命令幀。:16位長(zhǎng)度,指定在傳輸幀的過程中,用于設(shè)備過濾消息和幀的Profile標(biāo)識(shí)符。僅用于數(shù)據(jù)幀和確認(rèn)幀。:8位長(zhǎng)度,指定發(fā)起者幀的端點(diǎn)。該值為 0x00時(shí),表明從每個(gè)設(shè)備的 ZD

42、O發(fā) 起。值為0x01-0xf0時(shí),表明幀從應(yīng)用操作的端點(diǎn)發(fā)起。 其它的端點(diǎn)(0xf1-0xfe )保留:8位長(zhǎng)度,防止接收重復(fù)幀,每次新的傳輸加1操作:見表19 ;表19 擴(kuò)展頭子域字節(jié):10/10/1擴(kuò)展幀控制塊數(shù)ACK bitfiled擴(kuò)展幀控制域:8位長(zhǎng)度,包含定義使用分段信息。位 0-1 :分段,位2-7保留;其分段子域見表20表20分段子域的值分段值(b1b0 )00011011描述傳輸不分段幀是分段傳輸?shù)牡谝欢螏欠侄蝹鬏數(shù)牟糠值皇堑谌直A魤K數(shù):如果分段子域指示不分段,則塊數(shù)域不包含在子幀內(nèi);如果分段子域設(shè) 置為01 ,則包含在內(nèi)且指示分段傳輸?shù)膲K數(shù);如果分段子域設(shè)置為10,

43、則包含在內(nèi)且指示當(dāng)前幀傳輸哪個(gè)塊,第二段取值為0x01 ,第三段設(shè)置為0x02等;ACK bitfield :用于分段傳輸?shù)?APS確認(rèn),指示一個(gè)分段的 ASDU的哪一塊 已經(jīng)接收成功。該域只有在幀類型子域指示一個(gè)確認(rèn)幀且為分段傳輸時(shí)才存在。:長(zhǎng)度可變,包含指明不同幀類型的信息。數(shù)據(jù)、APS命令、APS確認(rèn):見表15數(shù)據(jù)幀的APS頭域包含幀控制、Cluster標(biāo)識(shí)符、Profile標(biāo)識(shí)符、源端點(diǎn)、APS幀控制域傳送模式和擴(kuò)展頭存在子域,目標(biāo)端點(diǎn)、組地址和擴(kuò)展頭域包含在 一個(gè)數(shù)據(jù)幀中。在幀控制域中,幀類型子域應(yīng)包含指明一個(gè)數(shù)據(jù)幀的值見表17,所有其他子域應(yīng)根據(jù)數(shù)據(jù)幀的預(yù)定用途作合適的調(diào)整。:對(duì)于

44、輸出的數(shù)據(jù)幀,該值應(yīng)包含部分或全部上層請(qǐng)求APS數(shù)據(jù)服務(wù)傳輸?shù)淖止?jié)序列。對(duì)于輸入數(shù)據(jù)幀,該值應(yīng)包含APS數(shù)據(jù)服務(wù)接收到的轉(zhuǎn)發(fā)給目的設(shè)備或是要被傳送到上層的字節(jié)序列。:見表21 (APS命令幀順序域表15中的APS幀順序一致)表21 APS命令幀格式字節(jié):111可變幀控制APS計(jì)數(shù)器APS命令標(biāo)識(shí)符APS命令負(fù)載APS頭APS負(fù)載:應(yīng)包含幀控制和APS計(jì)數(shù)器域。如果幀控制域中的傳輸模式子域表明為組地址,則幀中應(yīng)包含組地址域。在該版本的規(guī)范中,APS命令幀不能分段,且沒有擴(kuò)展頭域。在幀控制域中,幀類型子域應(yīng)包含表明一個(gè)APS命令幀的值(見表17)。APS命令負(fù)載應(yīng)根據(jù)使用 APS命令幀的意圖進(jìn)行適

45、當(dāng)?shù)脑O(shè)置。:APS命令標(biāo)識(shí)符域表明正在使用 APS命令。:APS命令幀的APS命令有效載荷域應(yīng)包含 APS命令本身。:見表15 APS頭描述(順序一致)應(yīng)包含幀控制、簇標(biāo)識(shí)符、Profile標(biāo)識(shí)符和APS計(jì)數(shù)器。源和目的端點(diǎn)都應(yīng)包含在確認(rèn)幀中。是否包含擴(kuò)展頭域則按照幀控制域中擴(kuò)展頭存在子域的要求設(shè)置。在幀控制域中,幀類型子域應(yīng)包含如表17所示的表示為確認(rèn)幀的值;擴(kuò)展頭存在域應(yīng)包含同樣表明為確認(rèn)幀的值;所有其它子域則根據(jù)使用確認(rèn)幀的目的進(jìn)行適 當(dāng)?shù)脑O(shè)置;確認(rèn)幀源端點(diǎn)的值反映了要求進(jìn)行確認(rèn)的幀的目的端點(diǎn)的值;同樣, 確認(rèn)幀目的端點(diǎn)的值反映了要求進(jìn)行確認(rèn)的幀的源端點(diǎn)的值; APS 計(jì)數(shù)器域包含與確認(rèn)

46、的幀相一致的值;如果擴(kuò)展頭域存在,其幀控制域的分段域應(yīng)包含與確認(rèn)的幀一致的值。如果該幀使用分段,那么應(yīng)包含塊序號(hào)和請(qǐng)求域。如果傳輸?shù)氖狗侄蔚牡谝粋€(gè)幀,那么塊序號(hào)應(yīng)為0 ,否則應(yīng)包含與確認(rèn)的幀一致的值。該規(guī)范中沒有定義命令幀。2.6、 、功能描述要求 APS 在永久存儲(chǔ)器中維護(hù)盡量少的數(shù)據(jù)。 這組數(shù)據(jù)應(yīng)該能夠經(jīng)受住掉電、設(shè)備復(fù)位或其他處理事件。如 apsBindingTable 、 apsDesignatedCoordinator 、apsChannelMask 、 apsUseExtendedPANID 、 apsUseInsecureJoin 、 apsGroupTable 等。APS 維護(hù)

47、可以一個(gè)綁定表, 允許 ZigBee 設(shè)備為來自給定源端點(diǎn)并帶有一個(gè)給定 ClusterIDea 的幀建立一個(gè)指定的目的地。每個(gè)指定的目標(biāo)代表具體設(shè)備上的一個(gè)具體端點(diǎn)或一個(gè)組地址。綁定表格函數(shù)形式:(as,es,cs) = (ad1 |, ed1) , , , (and |, edn) as = 綁定源設(shè)備地址; es= 綁定源設(shè)備EP 的標(biāo)識(shí)符; cs= 綁定連接的串標(biāo)識(shí)符adi=i 綁定分配的目的地址或目的組地址; edi=i 綁定分配的 EP 標(biāo)識(shí)符通過調(diào)用函數(shù)ZDP_BindReq()/ZDP_UnbindReq() 發(fā)送一個(gè)綁定/ 移除請(qǐng)求。目標(biāo)設(shè)備將調(diào)用函數(shù)ZDApp_BindRs

48、q()/ZDApp_UnbindRsq() 反饋請(qǐng)求的響應(yīng),返回狀態(tài)參數(shù)ZDP_SUCCESS , ZDP_TABLE_FULL 等。如圖 9 綁定簡(jiǎn)化過程。9 支持綁定設(shè)備上的綁定過程應(yīng)用層應(yīng)用支持子層NWK APSME-(UN)BIND.requ8g在綁定表中創(chuàng)建一個(gè)新的入APSME-(UN)BIND.con. j JAPS子層應(yīng)該維護(hù)一個(gè)組表,允許端點(diǎn)與組聯(lián)系在一起,允許組尋址的幀有選擇的傳輸?shù)侥切┰诒碇信c特定一個(gè)組相聯(lián)系的端點(diǎn)。APS子層組表的組地址列表必須與NWk層組表的組ID列表(存儲(chǔ)在newGroupIDTable 屬性中)一致。 傳輸、接收和確認(rèn)只有是當(dāng)前網(wǎng)絡(luò)一部分的那些設(shè)備可

49、以從APS子層發(fā)送幀,發(fā)送幀按幀格式描述構(gòu)造該幀;否則,子層將丟棄該幀并告知上層發(fā)送錯(cuò)誤;根據(jù)傳送模式值采 用不同的傳播方式,包含有源地址、目的地址(組地址)。對(duì)于綁定表存儲(chǔ)在源設(shè)備的所有設(shè)備,源設(shè)備的APSDE確定綁定表?xiàng)l目是否包含一個(gè)單播地址或目標(biāo)組地址。當(dāng)包含單播地址且地址指向本身時(shí),APSDE向上層發(fā)送APSDE-DATA.confirm 原語,并且不傳輸一個(gè)幀;否則。 APSDE產(chǎn)生 該幀并傳輸給對(duì)應(yīng)于綁定表?xiàng)l目指明的目標(biāo)地址的16位NWK地址,傳送模式為0b00 ;當(dāng)包含目標(biāo)組地址且 newUseMulticast 為FALSE時(shí),傳送模式必須為 0b11 ,目標(biāo)地址必須放在 APS頭中,目標(biāo)端點(diǎn)被忽略。然后使用NLD

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論