ZigBee的應用層.doc_第1頁
ZigBee的應用層.doc_第2頁
ZigBee的應用層.doc_第3頁
ZigBee的應用層.doc_第4頁
ZigBee的應用層.doc_第5頁
免費預覽已結束,剩余31頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄1、概述 .21.1、應用支持子層( APS) .31.2、 ZigBee 設備對象( ZDO ) .31.2.1、設備發現 .41.2.2、服務發現 .41.2.3、制造商所定義的應用對象 .42、應用支持子層 (APS) .52.1、概述 .52.2、 APS 數據實體 APSDE .52.3、 APS 管理實體 APSME .62.4、服務規范 .62.4.1、APS 數據服務 .72.4.2、APS 管理服務 .162.4.2.1 、綁定原語 .172.4.2.2 、信息庫維護 .202.4.2.3 、組管理 .232.5、幀格式 .252.5.1、通用的 APDU 幀格式 .25

2、2.5.2、不同幀類型的格式 .282.6、功能描述 .302.6.1 、永久數據 .302.6.2 、綁定302.6.3 、組尋址312.6.4 、重傳332.6.5 、分段的傳輸332.7 、應用支持子層狀態值33參考書籍35ZigBee的應用層協議格式本篇內容ZigBee協議應用層的概述;主講應用層(APL )下的應用支持子層(APS )規范;1、概述ZigeBee協議棧結構是在IEEE802.15.4標準基礎上建立的,而該標準定義了協議的MAC 和 PHY 層。ZigBee設備應該包括IEEE802.15.4的 PHY 層和 MAC 層、以及 ZigBee堆棧層: 網絡層 (NWK )

3、、應用( APL )層和安全服務管理。圖 1 給出這些組件的關系結構。圖 1 ZigBee 協議結構體系應用層更高層實體應 用 對應 用 對ZDOZigBee 設備對象象 240象 1公 共(ZDO)-應用支持子層數據實體 -應用支持子層管理實體服務接入點接口服務接入點端點 240端點 1端點 0APSDE-SAPAPSDE-SAPAPSDE-SAP應用支持子層PSA 應用支持子層APS 安APS信響 應 信-ZDOE管理實體APSME數據實體 APSDEDL管理全管理息中間息M安網絡層數據實體SAP全應用支持子管NWK 層P層信息庫理SA-ED網 絡 安網 絡 層路 由 管網絡管理LM全管理

4、信 息 中理網絡層數據實體介質訪問控制子層管理實-服務接入點體 -服務接入點MLDE-SAPMLDE-SAPMAC 層網絡層實體PD-SAPPD-SAP2.4GHz(物理)PHY 層868 / 915Hz每個 ZigBee 設備都與一個特定模板有關,可能是公共模板或私有模板。這些模板定義了設備的應用環境、設備類型以及用于設備簡通信的串(或稱簇).公共模板可以確保不同供應商的設備在相同應用領域中的互操作性。設備是由模板定義的,并以應用對象(Application Objects)的形式實現。每個應用對象通過一個端口連接到ZigBee堆棧的余下部分,它們都是器件中可尋址的組件。從應用的角度看,通信

5、的本質就是端口到端口的連接(例如, 一個帶開關組件的設備與帶一個或多個燈組件的設備進行通信,目的是點亮這些燈)。端口之間的通信是通過簇的數據結構實現的。 這些簇是應用對象之間共享信息所需要的全部屬性的容器,特殊應用中的簇在模板中有定義。每個接口都能接收或發送簇格式的數據,一共有兩個特殊的端口,即端口 0 和端口 255.端口 0 用于整個ZigBee設備的配置和管理。應用程序可以通過端口0 與 ZigBee堆棧的其他層通信, 從而實現對這些層的初始化和配置。附屬在端口0 的對象被稱為ZigBee設備對象( ZDO )。端口 255 用于向所有端口的廣播。端口241254是保留端口。所有端口都使

6、用應用支持子層( APS )提供的服務。 APS 通過網絡層和安全服務提供層與端口相連接, 并為數據傳送、安全和綁定提供服務,因此能夠適配不同單兼容的設備,如帶燈的開關。APS 使用網絡( NWK )層提供的服務。NWK負責設備到設備的通信,并負責網絡中設備初始化所包含的活動、消息路由和網絡發現。應用層可以通過ZigBee設備對象( ZDO )對網絡層參數進行配置和訪問。再從圖 1 中觀察可以發現,ZigBee應用層框架包括應用支持子層(APS )、ZigBee設備對象( ZDO )和制造商所定義的應用對象。1.1 、應用支持子層( APS )ZigBee協議棧中應用層(APL )的 APS

7、提供了在NWK 層和 APL 層之間及從ZDO 到供應商的應用對象的通用服務集的接口。這種服務由兩個實體APSDE 和 APSME 實現。1.2 、ZigBee 設備對象( ZDO )ZDO 代表著一個基本的功能函數類,這個功能在應用對象、設備模式與APS 之間提供了一個接口。 ZDO 位于應用框架與應用支持子層之間,它滿足所有在ZigBee協議棧中應用操作的一般需要,具有以下作用:初始化應用支持子層(APS )、網絡層( NWK )、安全服務規范(SSS);從終端應用中集合配置信息來確定和執行發現、安全管理、網絡管理和綁定管理。ZDO 描述了應用框架層應用對象的公用接口以控制設備和應用對象的

8、網絡功能。在終端端口 0 , ZDO 提供了與協議棧中低一層相接的接口,如果是數據,則通過APSDE-SAP ;如果是控制信息,則通過APSME-SAP 。在 ZigBee協議棧的應用框架中,ZDO 公用接口提供設備、發現、綁定、安全等功能的地址管理。1.2.1 、設備發現設備發現,是一個ZigBee設備發現其他ZigBee設備的過程。有兩種形式的設備發送請求: IEEE 地址請求和網絡地址請求。IEEE 地址請求是單播到一個特定的設備且假定網絡地址已知;網絡地址請求是廣播且攜帶一個已知的IEEE 地址作為數據負載。1.2.2 、服務發現服務發現是一個已知設備被其他設備發現的過程。服務發現通過

9、在一個已知設備的每個端口發送查詢或通過使用一個匹配服務功能(廣播或單播)。服務發現可方便定義和使用各種描述來概述一個設備的能力。服務發現信息在網絡中也許被隱藏,在這種情況下, 設備提供的某種服務可能不好在發現操作時到達,致使服務可能無法訪問。1.2.3 、制造商所定義的應用對象運行在 ZigBee協議棧上的應用程序實際就是廠商自定義的應用對象。這些應用程序使用 ZigBee聯盟給出的并且批準的規范(Profile )進行開發并運行在端點1-240上。2 、應用支持子層 (APS)2.1 、概述ZigBee協議棧中應用層(APL )的 APS 提供了在NWK 層和 APL 層之間及從ZDO 到供

10、應商的應用對象的通用服務集的接口。這種服務由兩個實體實現:APS 數據實體( APSDE ):通過 APSDE 服務接入點(APSDE-SAP )實現;APS 管理實體( APSME ):通過 APSME 服務接入點( APSME-SAP )實現。2.2 、 APS 數據實體 APSDEAPSDE 提供在同一個網絡中的兩個或者多個應用實體之間的數據通信,為 NWK 、ZDO和應用對象提供一個數據服務,使得應用程序的PDU 在兩個或多個設備之間傳輸,設備本身必須位于同一個網絡。APSDE 提供的服務:發出應用層PDU ( APDU ):APSDE 會接收應用PDU ,并通過增加合適協議開銷發出一

11、個 APS PDU ;綁定:一旦兩個設備綁定,APSDE 就可以從一個綁定設備傳輸一個信息給第二個設備;組地址過濾:提供了根據是否是終端組的成員過濾組地址信息的功能;可靠傳輸:在NWK 層采用端到端重試,增加了事件的可靠性;重復拒絕:傳輸所提供的信息將不會被多次接收;分裂:可以分裂和重組長于一個NWK 層負載的信息。2.3 、 APS 管理實體 APSMEAPSME 提供的功能包括維持綁定表及在綁定的設備之間傳送消息。綁定指的是基于兩臺設備的服務和需求將它們匹配地連接起來。APSME 提供的服務:綁定管理:根據服務和需求一起匹配兩個設備的功能;AIB 管理:在設備的AIB 中獲取并設置屬性的功

12、能;安全:通過使用安全密鑰與其他設備建立可信關系的功能;組管理:提供了宣布多個設備共享一個地址,增加設備到組以及從組中移除設備的功能;2.4 、服務規范APS子層提供了上層實體(NHLE)和NWK層之間的一個接口。APS子層的APSME通過激發子層管理功能提供了服務接口,它還負責維護一個管理有關APS子層對象的數據庫( AIB ) 。圖2 描繪了APS子層的組件和接口。圖 2應用支持子層參考模型APS 子層的兩種服務通過NLDE-SAP和(在有限范圍內)NLME-SAP ,提供了 NHLE和 NWK層之間的接口。NWK 層和 APS 子層之間的NLME-SAP接口只支持NLME-GET和 NL

13、ME-SET原語;所有其它NLME-SAP原語只能通過ZDO 訪問。除這些外部的接口,在 APSME 和 APSDE 之間還有一個隱藏接口, 它允許 APSME 使用 APS 數據服務。 層與層間的通信方式如圖 3RequestConfirmRequestConfirmIndication圖 3request-confirm-indication2.4.1 、 APS 數據服務APS 子層數據實體SAP( APSDE-SAP )支持應用協議數據單元在對等應用實體之間的傳輸,表 1 列出了 APSDE-SAP 支持的原語。表 1 APSDE-SAP 原語APSDE-SAP原請求確認指示語APSD

14、E-DATAAPSDE-DATA.requAPSDE-DATA.confiAPSDE-DATA.indicationestrmRequest-confirm原語執行的流程示意圖見圖4 ,各原語詳細內容如下描述;圖 4 req-con流程2.4.1.1 、 APSDE-DATA.request原語該原語請求一個從本地NHLE 到一個或多個對等NHLE 實體傳輸一個NHLE PDU(ASDU );每當一個數據PDU ( ASDU )要被傳輸給一個對等的NHLE 時,該原語由一個本地的 NHLE 生成,并根據其參數進行不同形式的傳輸。參數見表2表 2 指明 APSDE-DATA.request原語參

15、數名稱類型有效范圍描述DstAddrMoInteger0x00-0xff使用目的地址以及傳輸APDU 的尋址de模式0x00 :DstAddress 和 DstEndpoint不存在0x01 : DstAddress16位組地址;DstEndpoint不存在;0x02 :DstAddress 和 DstEndpoint都存在,是16 位組地址;0x03 : DstAddress16和DstEndpoint都存在,是 64 位擴展地址;0x04-0xff保留;DstAddressAddress通過 DstAddrModeASDU 要被傳輸到的實體的單獨的設參數指定備地址或者組地址DstEndpo

16、inInteger0x00-0xf0,0xff當且僅當 DstAddrMode參數的值為t0x02/0x03時,該參數才存在,此時該參數或者 ASDU 要被傳輸到的實體的單獨個端點的編號,或者是廣播端點( 0xff )ProfiledInteger0x0000-0xffff幀要被送到的profilede 標識符ClusterIdInteger0x0000-0xffff幀要被送到的對象的標識符SrcEndpointInteger0x00-0xf0被傳輸的 ASDU 來自的實體的單個端點ASDULengtInteger0x00-256*(NSDULen構成被傳輸的ASDU 的字節數, 單負hgth

17、-載的最大長度由NSDULength-apscMinHeaderOverapscMinheaderOverhead給定。 如head)果分段, 用 256 個這樣的塊組成單個最大的 ASDUASDUSet of-組成被傳輸的ASDU 的字節集合octetsTxOptionBitmap0000 0xxx(x 為 0/1)被傳輸的 ASDU 的傳輸選項:0x01: 啟用安全傳輸0x02: 使用密鑰傳輸0x04: 確認傳輸0x08: 允許分段RadiusUnsigne0x00-0xff允許一個被傳輸的幀通過網絡進行傳d輸的距離量,以跳為單位integer2.4.1.2 、 APSDE-DATA.co

18、nfirm原語該原語報告請求從一個本地NHLE 傳輸一個數據PDU ( ASDU )到一個對等NHLE 的結果。它由本地APS 子層實體在響應一個APSDE-DATA.request原語時產生。當返回的狀態參數值為SUCCESS,表明請求傳輸成功,或者為錯誤代碼NO_SHORT_ADDRESS ,NO_BOUND_DEVICE或 SECURITY_FAIL 或者為任何NLDE-DATA.confirm原語返回的狀態值。參數見表3表 3APSDE-DATA.confirm原語的參數名稱類型有效范圍描述DstAddrModeInteger0x00-0xff使用目的地址以及傳輸APDU的尋址模式0x

19、00 : DstAddress和DstEndpoint不存在0x01 : DstAddress16位組地址; DstEndpoint不存在;0x02 : DstAddress和DstEndpoint都存在,是16 位組地址;0x03 : DstAddress16和DstEndpoint都存在,是64 位擴展地址;0x04-0xff保留;DstAddressAddress通過 DstAddrModeASDU 要被傳輸到實體的單個參數來指定設備的地址或組地址DstEndpointInteger0x00-0xf0,0xff當且僅當DstAddrMode參數的值為 0x02/0x03時,該參數才存在,

20、 此時,該參數是APDU要被傳輸到實體的單個端點的編號;SrcEndpointInteger0x00-0xf0ASDU要被傳輸到的實體的單StatusEnumerationSUCCESS,NO_ACK,個端點相應的請求狀態NO_SHORT_ADDRESS,NO_BOUND_DEVICE,ASDU_TOO_LONG,SECURITY_FALL以及從NLDE-DATA.confirm 原語返回的任何狀態返回值TxTimeIndicationInteger具體執行對基于本地時鐘的傳輸包的時間指示, 如 NWK 層所提供的那樣原語執行的流程示意圖見圖5 ,原語詳細內容見如下描述;圖 5 indicat

21、ion原語流程2.4.1.3 、 APSDE-DATA.indication原語本原語表示從APS 子層傳輸一個數據PDU( ASDU )到本地應用實體。 (參數說明見表4 )當從本地網絡層實體接收到適當地址的數據幀,或隨后收到一個DstAddrMode為 0x00且綁定表條目指示幀送到設備本身的APSDE-DATA.request時,該原語由 APS 子層產生并發送給上層。如果ASDU 頭的幀控制域表明該幀安全保護,則執行相應的安全管理程序處理。當從本地網絡層實體接收到適當地址的數據幀時,該原語由APS 子層產生,并通過NLDE-DATA.indication原語發給上層實體。如果 APDU

22、 頭的幀控制域表明該幀安全保護,則執行相應的安全程序進行處理。如果幀處理失敗,APSDE 設置狀態參數為安全處理返回的安全錯誤代碼。如果幀未被保護或安全處理成功,APSDE 必須檢查幀是否被分段。如果擴展頭包含在APDU 頭中且擴展幀控制域的分段子域表示幀被分段,但是這個設備不支持分段,APSDE就設置狀態參數為DEFRAG_UNSUPPORTED。如果擴展頭包含在APDU 頭中且擴展幀控制域的分段子域表示幀被分段,且這個設備支持分段,但是當前不能重組該幀,APSDE 就設置狀態參數為DEFRAG_DEFERRED 。在其它所以情況下,APSDE 設置狀態參數為SUCCESS。如果狀態參數不設

23、置為SUCCESS,APSDE 設置 ASDULength參數為 0 ,ASDU參數為空字節集合。APS 子層實體必須通過使用NIB 中的屬性 nwkAddressMap把接收到的幀的源地址映射為相應的擴展的 64 位 IEEE 地址。如果能找到相應的64 為 IEEE 地址,則 APSDE 發出該原語,其參數 SrcAddrMode設為 0x03 , SrcAddress參數設為相應的 64 位 IEEE 地址。如果找不到相應的 64 位 IEEE 地址, APSDE 將發出該原語,其參數SrcAddrMode設為0x02 ,參數 SrcAddress設為接收幀包含的16 位源地址。表 4A

24、PSDE-DATA.indication原語參數名稱類型有效范圍描述DstAddrMoInteger0x00-0xff使用目的地址以及傳輸APDU 的尋址模式de0x00 :保留0x01 :DstAddress16位組地址;DstEndpoint不存在;0x02 : DstAddress 和 DstEndpoint都存在,是 16 位組地址;0x03 -0xff保留;DstAddressAddress通過ASDU 要被傳輸到的實體的單獨的設備地址或DstAddrMod者組地址e參數指定DstEndpoinInteger0x00-0xf0ASDU 所針對的是本地實體上的目標端點tSrcAddrM

25、oInteger0x00-0xff使用目的地址以及傳輸APDU 的尋址模式de0x00 、 0x01 、0x04-0xff :保留0x02 : DstAddress和 DstEndpoint都存在,是 16 位組地址;0x03 : SrcAddress和 SrcEndpoint都存在,是 64 位擴展地址SrcAddressAddress通過來自收到的 ASDU的實體的單個設備的地址或SrcAddrMod組地址e 指定SrcEndpointInteger0x00-0xf0來自被傳輸的 ASDU 的實體的單個端點ProfiledInteger0x0000-0xffff發起該幀的 profiled

26、e 標識符ClusterIdInteger0x0000-0xffff接收對象的標識符ASDULengtInteger通過 APSDE 表示的 ASDU 包含的字節數hASDUSet of-通過 APSDE 表示的 ASDU 包含的字節集合octetsStatusEnumerSUCCESS,輸入幀處理的狀態ationDEFRAG_DEFERREDDEFRAG_UNSUPPORTED 或者幀安全處理返回的任何狀態SecurityStatEnumerUNSECURED如果在沒有任何安全情況下接收ASDU ,返回usation,UNSECUREDSECURED_N如果接收到的 ASDU 用網絡密鑰加密

27、,返回WK_KEYSECSECURED_NWK_KEYURED_LINK_如果 ASDU 使用一個鏈接密鑰加密,返回KEYSECURED_LINK_KEYLinkQualityInteger0x00-0xffNLDE 傳送的鏈路質量指示RxTimeInteger具體執行對基于本地時鐘的傳輸包的時間指示,如 NWK層所提供的那樣2.4.2 、 APS 管理服務APSME 支持上層和APSME 之間的管理命令的傳輸。表5 為 APSME-SAP接口支持的原語。并在下面的內容逐一介紹各原語。表 5 APSME-SAP 原語名稱請求指示響應確認APSME-BIND.request.confirmAPS

28、ME-UNBIND.request.confirmAPSME-GET.request.confirmAPSME-SET.request.confirmAPSME-ADD-GROUP.request.confirmAPSME-REMOVE-GROUP.request.confirmAPSME-REMOVE-ALL-GROUP.request.confirm2.4.2.1 、綁定原語這兩組原語定義了設備的上層如何往其本地綁定表中增加/ 移除一個綁定記錄。原語執行的流程示意圖見圖6;綁定: APSME-BIND.request & APSME-BIND.confirm移除綁定: APSME-UNBI

29、ND.request & APSME-UNBIND.confirm只有支持綁定表或綁定表緩存的設備可以處理這些原語,如果任何其他設備從其上層接收到這些原語,原語將會被丟棄。圖 6 BIND&UNBIND原語流程(1 )、 APSME-BIND.request原語本原語允許上層通過在其本地綁定表中創建一個實體,請求把兩個設備綁定到一起,或綁定一個設備到某個組中。由上層實體生成,發給APS 子層,目的是在一個支持綁定表的設備上發起綁定操作。參數說明見表6表 6 APSME-BIND.request原語參數名稱類型有效范圍描述SrcAddrIEEE有效的 64位 IEEE綁定目錄的源IEEE 地址A

30、ddress地址SrcEndpointInteger0x00-0xff綁定目錄的源端點ClusterIdInteger0x0000-0xffff將要綁定到目的設備上的cluster 標識符DstAddrMoInteger0x00-0xff使用目的地址以及傳輸APDU 的尋址模式de0x00 、 0x02 、 0x04-0xff:保留0x01 : DstAddress16位組地址;DstEndpoint不存在;0x03 : DstAddress和 DstEndpoint 都存在,是 64 位擴展地址;DstAddrAddress通過綁定目錄的目的地址DstAddrMode參數指定DstEndpo

31、inInteger0x00-0xf0, 0xff當 DstAddrMode參數為 0x03 時存在, 此t時參數為綁定目錄的目標端點(2 )、 APSME-BIND.confirm原語本原語允許上層被通知其直接或代理請求綁定兩個設備,或綁定一個設備到某個組。它由 APSME生成,發給其 NHLE 以響應一個 APSME-BIND.Request原語。參數說明見表 7表 7 APSME-BIND.confirm原語參數名稱類型有效范圍描述StatusEnumeratioSUCCESS綁定請求結果nILLEGAL_DEVICEILLEGAL_REQUESTTABLE_FULLNOT_SUPPORT

32、ED其余參數見表6(3 )、 APSME-UNBIND.request原語與 APSME-BIND.request原語比較操作基本相同,參數說明見表;(4 )、 APSME-UNBIND.confirm原語與 APSME-BIND.confirm原語比較不同在于返回的狀態參數,參數說明見表;表 8APSME-UNBIND.confirm原語參數名稱類型有效范圍描述StatusEnumerationSUCCESS取消綁定請求的結果ILLEGAL_DEVICEILLEGAL_REQUESTILLEGAL_BINDING其余參數參見表62.4.2.2 、信息庫維護這兩組原語定義了設備上層如何讀取和寫

33、入AIB 中的屬性。原語執行的流程示意圖見圖7圖 7 SET-GET 原語流程圖(1 )、 APSME-GET.Request原語該原語允許設備上層從AIB 中讀取。 由上層生成, 發給其 APSME ,目的是從AIB 中讀取一個屬性, APSME-GET.Request AIBAttribute /參數說明見表;表 9信息庫包含管理設備的APS 層所要求的屬性屬性標識類型有效范圍描述Default符apsBindingTabl0xc1Set可變設備綁定表目錄空集e當前集合apsDesignated0xc2BoolTRUE/FALSE設備為協調器時FALSEC為 TRUEoordinatora

34、psChannelMa0xc3IEEE802.15.4任何對于 PHY 有英語這個設備網所有信sk信道掩碼效的掩碼絡操作的允許信道道掩碼apsUseExtende0xc464bit 擴展地0x0-0xffffff形成或加入網絡0x0d址fffffffffe的 64bit 地址PANIDApsGroupT able0xc5Set可變組表目錄的當前空集集合(2 )、 APSME-GET.confirm原語該原語返回嘗試從AIB 中讀取一個屬性值的結果。 它由 APSME 產生,發送給上層作為對 APSME-GET.request原語的響應。 該原語返回狀態SUCCESS,表明請求讀取AIB 屬性請求成功,或者返回錯誤碼UNSUPPORTED_ATTRIBUTE.參數說明見表 10 ;表 10 APSME-GET.confirm原語參數名稱類型有效范圍描述StatusEnumerationSUCCESS、請求讀取 AIB 屬性值的UNSUPPORTE結果D_ATTRIBUTEAIBAttributeInteger參見表被讀取的 AIB 屬性標識符AIBAttributeLengtInteger0x0000-0xffff返回屬性值的字節長度hAIBAttributeValueVarious參見表被讀取的 AIB 屬性值APSME-SET.request原語該原語允

溫馨提示

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

評論

0/150

提交評論