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。保留所有权利。