logo资料库

《ZigBee2007协议规范》(中)第2章.pdf

第1页 / 共242页
第2页 / 共242页
第3页 / 共242页
第4页 / 共242页
第5页 / 共242页
第6页 / 共242页
第7页 / 共242页
第8页 / 共242页
资料共242页,剩余部分请下载后查看
第二章 应用层规范
2.1 概述
2.1.1 应用支持子层
2.1.2 应用构架
2.1.3 ZigBee设备对象
2.2 ZigBee应用支持(APS)子层
2.2.1 范围
2.2.2 目的
2.2.3 应用支持(APS)子层概述
2.2.4 服务规范
2.2.5 帧格式
2.2.6 命令帧
2.2.7 常量和PIB属性
2.2.8 功能描述
2.2.9 应用支持子层状态值
2.3 ZigBee应用构架
2.3.1 创建一个ZigBeeProfile
2.3.2 ZigBee描述符
2.3.3 功能描述
2.4 ZigBee设备Profile
2.4.1 范围
2.4.2 设备Profile概述
2.4.3 客户端服务
2.4.4 服务器服务
2.4.5 ZDP枚举描述
2.4.6 一致性
2.5 ZigBee设备对象(ZDO)
2.5.1 范围
2.5.2 设备对象描述
2.5.3 层接口描述
2.5.4 系统使用
2.5.5 对象定义和行为
2.5.6配置属性
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 第二章 应用层规范 2.1 概述 ZigBee 协议栈结构包括许多层次的组件,包括 IEEE802.15.4 2003 媒体访问控制(MAC)层,物 理(PHY)层和 ZigBee 网络(NWK)层。每个组件提供了含有一组它自己的服务和功能的一个应用。 尽管本章可能提到 ZigBee 协议栈结构的其它组件,它的主要目的是描述图 1.1 “ZigBee 协议概览”中显 示的组件标记应用(APL)层。 如图 1.1 所示,ZigBee 应用层包括 APS 子层,ZDO(包括 ZDO 管理平面)和制造商定义的应用 对象。 2.1.1 应用支持子层 应用支持子层(APS)提供了网络层(NWK)和应用层(APL)之间的一个接口,通过一组 ZDO 和制造商定义的应用对象都使用的常用服务。该服务通过两个实体提供: ● APS 数据实体(APSDE),通过 APSDE 服务接入点(APSDE-SAP)。 ● APS 管理实体(APSME),通过 APSME 服务接入点(APSME-SAP)。 APSDE 在位于同一个网络的两个或多个应用实体之间提供了数据传输服务。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 APSME 为应用对象提供了多种服务,包括安全服务和绑定设备。它还维护管理对象的数据库, 叫做 APS 信息库(AIB)。 2.1.2 应用构架 ZigBee 中的应用构架是 ZigBee 设备承载应用对象的环境。 可以定义多达 240 个不同的应用对象,每个端点上的接口索引从 1 到 240。为使用 APSDE-SAP 定义了两个另外的端点:端点 0 保留给到 ZDO 的数据接口,端点 255 保留给到所有应用对象的广播 数据接口功能。端点 241-254 保留,供今后使用。 2.1.2.1 应用 Profile 应用 profile 是信息,信息格式,处理行为的协议,使开发者可以创建一个可以使用定居在不同设 备上的应用实体的共同操作、分散的应用。这些应用 profile 可以发送命令,请求数据,处理命令和请 求。 2.1.2.2 Cluster Cluster 用 cluster 标识符识别,和数据流出、流进设备有关。Cluster 标识符在特定应用 profile 中 是唯一的。 2.1.3 ZigBee 设备对象 ZigBee 设备对象(ZDO),代表一个基础的函数类,提供应用对象、设备 profile 和 APS 之间的一 个接口。ZDO 位于应用程序构架和应用支持子层之间。它满足了 ZigBee 协议栈所有应用程序操作的 一般需求。ZDO 的职责如下: ● 初始化应用支持子层(APS)、网络层(NWK)和安全服务提供者。 ● 组装来自于终端应用的配置信息,以决定并执行发现,安全管理,网络管理和绑定管理。 ZDO 通过应用对象,为设备控制和网络功能提供了应用构架层的应用对象的公共接口。到 ZigBee 协议栈低层部分的 ZDO 接口,在端点 0,通过 APSDE-SAP 提供数据服务,并通过 APSME-SAP 来控 制信息。公共的接口在 ZigBee 协议栈的应用构架层内部,提供了设备的地址管理、发现、绑定以及安 全功能。这些设备在以下小节中描述。ZDO 在 2.5 节做了全面的描述。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 2.1.3.1 设备发现 设备发现,是一个 ZigBee 设备发现其他 ZigBee 设备的过程。有两种形式的设备发现请求:IEEE 地址请求和 NWK 地址请求。IEEE 地址请求单播到一个特定的设备,并假设 NWK 地址已知。NWK 地址请求是广播的,携带已知的 IEEE 地址到作为数据负载。 2.1.3.2 服务发现 服务发现是一个给定设备的能力被其他设备发现的过程。服务发现可以通过为特定设备的每个端 点发布一个查询,或者使用一个匹配服务功能(广播或者单播)。服务发现可以定义和使用各种描述符 来描述一个设备的能力。 在发现操作发生时,设备提供的某种服务可能无法访问,在这种情况下设备发现信息也可以在网 络中缓存。 2.22.22.22.2 ZigBee 应用支持(APS)子层 2.2.1 范围 本节指明了应用层部分,提供服务规范以及到制造商定义的应用对象和 ZigBee 设备对象的接口。 本规范定义了一个数据服务,它允许应用对象传输数据,以及一个管理服务,它提供了绑定机制。另 外,还定义了应用支持子层的帧格式和帧类型规范。 2.2.2 目的 本节的目的是定义 ZigBee 应用支持(APS)子层的功能。本功能基于使得 ZigBee 网络层正确运 行的驱动器功能和制造商定义的应用对象要求的功能。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 2.2.3 应用支持(APS)子层概述 应用支持子层通过一组 ZigBee 设备对象(ZDO)和制造商定义的应用对象共用的服务,提供了网 络层和应用层之间的接口。这些服务通过两个实体提供:数据服务和管理服务。APS 数据实体(APSDE) 通过其相关的 SAP 提供了数据传输服务,即 APSDE-SAP。APS 管理实体(APSME)通过其相关的 SAP 提供了管理服务,即 APSME-SAP,并维护管理对象的数据库,叫做 APS 信息库(AIB)。 2.2.3.1 应用支持子层数据实体(APSDE) APSDE 应该为网络层、ZDO 和应用对象提供一个数据服务,使得应用程序的 PDU 在两个或多个 设备之间传输。设备本身必须位于同一个网络。 APSDE 将提供以下服务: ● 发出应用层 PDU(APDU): APSDE 会接收应用 PDU,并通过增加合适的协议开销发出一个 APS PDU。 ● 绑定:一旦两个设备绑定,APSDE 就可以从一个绑定设备传输一个信息给第二个设备。 ● 组地址过滤:这提供了根据是否是终端组的成员过滤组地址信息的功能。 ● 可靠传输:在 NWK 层采用端到端重试,增加了事务的可靠性。 ● 重复拒绝:传输所提供的信息将不会被多次接收。 ● 分裂:可以分裂和重组长于一个 NWK 层帧负载的信息。 2.2.3.2 应用支持子层管理实体(APSME) APSME 将提供一个管理服务,允许一个应用和栈相互作用。 APSME 将提供根据其服务和需求一起匹配两个设备的功能。这个服务叫做绑定服务,APSME 将 建立和维护一个表来存储该信息。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 另外,APSME 将提供以下服务: ● 绑定管理:这是根据其服务和需求一起匹配两个设备的功能。 ● AIB 管理:在设备的 AIB 中获取并设置属性的功能。 ● 安全:通过使用安全密钥,与其它设备建立可信关系的功能。 ZigBee 协议规范 文件 053474r1 ● 组管理:这提供了宣布多个设备共享一个地址,增加设备到组,以及从组中移除设备的功能。 2.2.4 服务规范 APS 子层提供了上层实体(NHLE)和 NWK 层之间的一个接口。APS 子层的概念包括一个管理 实体,叫做 APS 子层管理实体(APSME)。这个实体通过激发子层管理功能提供了服务接口。APSME 还负责维护一个管理有关 APS 子层对象的数据库。该数据库叫做 APS 子层信息库(AIB)。图 2.1 描 绘了 APS 子层的组件和接口。 图 2.1 应用支持子层参考模型 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 APS 子层提供了两种服务,通过两种服务访问点(SAPs)访问。它们是 APS 数据服务,通过 APS 子层数据实体S A P(APSDE-SAP)访 问 ,以 及 APS 管理服务,通过 APS 子层管理实体 S A P(APSME-SAP) 访问。这两种服务通过 NLDE-SAP 和(在有限的范围内)NLME-SAP 接口(参见 3.1 小节), 提 供 了 NHLE 和 NWK 层之间的接口。NWK 层和 APS 子层之间的 NLME-SAP 接口只支持 NLME-GET 和 NLME-SET 原语:所有其它 NLME-SAP 原语只能通过 ZDO 访问(见 2.5 小节)。除了这些外部的接 口,在 APSME 和 APSDE 之间还有一个隐蔽接口,它允许 APSME 使用 APS 数据服务。 2.2.4.1 APS 数据服务 APS 子层数据实体 SA P(APSDE-SAP)支持应用协议数据单元在对等应用实体之间的传输。表 2.1 列出了 APSDE-SAP 支持的原语。每个原语将在下面分节中讨论。 表 2.1 APSDE – SAP 原语 APSDE-SAP 原语 请求 确认 指示 APSDE – DATA 2.2.4.1.1 2.2.4.1.2 2.2.4.1.3 2.2.4.1.1 APSDE-DATA.request 2.2.4.1.1 APSDE-DATA.request 2.2.4.1.1 APSDE-DATA.request 2.2.4.1.1 APSDE-DATA.request 该原语请求一个从本地 NHLE 到一个或多个对等 NHLE 实体传输一个 NHLE PDU(ASDU)。 ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 2.2.4.1.1.1 2.2.4.1.1.1 2.2.4.1.1.1 服务原语的语义 2.2.4.1.1.1 服务原语的语义 服务原语的语义 服务原语的语义 该原语的语义如下: APSDE-DATA.request { ZigBee 协议规范 文件 053474r1 DstAddrMode, ProfileId, ClusterId, SrcEndpoint, ADSULength, ADSU, TxOptions, RadiusCounter } 表 2.2 指明了 APSDE-DATA.request 原语的参数。 表 2.2 APSDE-DATA.request 参数 名称 类型 有效范围 DstAddrMode Integer 0x00-0xff DstAddress Address 通过 DstAddrMode 参数指定 DstEndpoint Integer 0x00- 0xf0 ,0xff 描述 本原语使用的目标地址以及传输 APDU 的寻 址模式。该参数可从下列表中取一个非保留 值。 0x00= DstAddress 和 DstEndpoint 不存在 0x01= DstAddress 16 位组地址;DstEndpoint 不存在 0x02 = DstAddress 16 位地址;DstEndpoint不 存在 0x03= DstAddress 和 DstEndpoint 都存在,是 64 位扩展地址 0x04-0xff=保留 ASDU 要被传输到的实体的单独的设备地址 或者组地址 当且仅当DstAddrMode 参数的值为0x02 或者 0x03,该参数才存在,如果存在,该参数或 者是 ASDU 要被传输到的实体的单个端点的 编号,或者是广播端点(0xff) ZigBee 标准组织版权© 2007。保留所有权利。
www.zigbee-sh.cn 郑州新双恒 表2.2 APSDE-DATA.request参数 ZigBee 协议规范 文件 053474r1 名称 类型 有效范围 描述 ProfileId ClusterId Integer 0x0000-0xffff 帧要被送到的 profile 的标识符 Integer 0x0000-0xffff 帧要被送到的那个对象的标识符 SrcEndpoint Integer 0x0000-0xf0 被传输的 ASDU 来自的实体的单个端点 ADSULength Integer 0x00 - 256*(NsduLengt h - apscMinHeader Overhead) 构成被传输的 ASDU 的字节数。单个 APS 帧 负载的最大长度由 NsduLength- apscMinHeaderOverhead 给定。如果使用分 段,用 256 个这样的块组成单个最大的 ASDU。 AsDu - Set of octets TxOptions Bitmap 0000 0xxx (x 为 0 或 1) 组成被传输的 ASDU 的字节集合 被传输的 ASDU 的传输选项。是下面一个或 多个按位逻辑或运算: 0x01=启用安全传输 0x02=使用网络密钥 0x04=确认传输 0x08 =允许分段 允许一个被传输的帧通过网络进行传输的距 离,以跳为单位 Radius 0x00-0xff Unsign ed Integer 2.2.4.1.1.2 2.2.4.1.1.2 2.2.4.1.1.2 2.2.4.1.1.2 原语生成 每当一个数据 PDU(ASDU)要被传输给一个对等的 NHLE 时,该原语由一个本地的 NHLE 生成 。 2.2.4.1.1.3 2.2.4.1.1.3 2.2.4.1.1.3 接收结果 2.2.4.1.1.3 接收结果接收结果 接收结果 在接收此原语时,APS 子层实体开始传输所提供的 ASDU。 如果 DstAddrMode 参数设置为 0x00 且本原语被支持绑定表的一个设备的 APSDE 接收,就分别根 据 SrcEndpoint 和 ClusterId 参数指定的端点和 cluster 标识符,查询绑定表,寻找相关的绑定表条目。 如果没有找到绑定表条目,APSDE 发出状态为 NO_BOUND_DEVICE 的 APSDE-DATA.confirm 原语。 如果找到一个或多个绑定表条目,那么 APSDE 检查每个绑定表条目的目标地址信息。如果这表示一 个设备本身,那么 APSDE 就发出一个 APSDE-DATA.indication 原语给上层,DstEndpoint 参数设置为 绑定表条目的目标端点标识符。否则,如果存在的话,APSDE 建立端点信息来自绑定表条目的 APDU, 并当通过 NWK 层传输该帧时,使用绑定表条目的目标地址信息。如果存在多个绑定表条目,那么 APSDE 按照上面所述处理每个绑定表条目;直到没有剩余的绑定表条目。如果这个原语由不支持绑定 ZigBee 标准组织版权© 2007。保留所有权利。
分享到:
收藏