ZigBee的应用层.docx
- 文档编号:2151567
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:30
- 大小:666.43KB
ZigBee的应用层.docx
《ZigBee的应用层.docx》由会员分享,可在线阅读,更多相关《ZigBee的应用层.docx(30页珍藏版)》请在冰豆网上搜索。
ZigBee的应用层
目录
1、概述3
1.1、应用支持子层(APS)4
1.2、ZigBee设备对象(ZDO)4
1.2.1、设备发现4
1.2.2、服务发现4
1.2.3、制造商所定义的应用对象5
2、应用支持子层(APS)5
2.1、概述5
2.2、APS数据实体APSDE5
2.3、APS管理实体APSME5
2.4、服务规范6
2.4.1、APS数据服务6
2.4.2、APS管理服务11
2.4.2.1、绑定原语12
2.4.2.2、信息库维护13
2.4.2.3、组管理15
2.5、帧格式17
2.5.1、通用的APDU帧格式17
2.5.2、不同帧类型的格式18
2.6、功能描述19
2.6.1、永久数据19
2.6.2、绑定19
2.6.3、组寻址20
2.6.4、重传21
2.6.5、分段的传输21
2.7、应用支持子层状态值21
参考书籍22
ZigBee的应用层协议格式
本篇内容
●ZigBee协议应用层的概述;
●主讲应用层(APL)下的应用支持子层(APS)规范;
1、概述
ZigeBee协议栈结构是在IEEE802.15.4标准基础上建立的,而该标准定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4的PHY层和MAC层、以及ZigBee堆栈层:
网络层(NWK)、应用(APL)层和安全服务管理。
图1给出这些组件的关系结构。
图1ZigBee协议结构体系
每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备简通信的串(或称簇).公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(ApplicationObjects)的形式实现。
每个应用对象通过一个端口连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件。
从应用的角度看,通信的本质就是端口到端口的连接(例如,一个带开关组件的设备与带一个或多个灯组件的设备进行通信,目的是点亮这些灯)。
端口之间的通信是通过簇的数据结构实现的。
这些簇是应用对象之间共享信息所需要的全部属性的容器,特殊应用中的簇在模板中有定义。
每个接口都能接收或发送簇格式的数据,一共有两个特殊的端口,即端口0和端口255.端口0用于整个ZigBee设备的配置和管理。
应用程序可以通过端口0与ZigBee堆栈的其他层通信,从而实现对这些层的初始化和配置。
附属在端口0的对象被称为ZigBee设备对象(ZDO)。
端口255用于向所有端口的广播。
端口241~254是保留端口。
所有端口都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端口相连接,并为数据传送、安全和绑定提供服务,因此能够适配不同单兼容的设备,如带灯的开关。
APS使用网络(NWK)层提供的服务。
NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。
应用层可以通过ZigBee设备对象(ZDO)对网络层参数进行配置和访问。
再从图1中观察可以发现,ZigBee应用层框架包括应用支持子层(APS)、ZigBee设备对象(ZDO)和制造商所定义的应用对象。
1.1、应用支持子层(APS)
ZigBee协议栈中应用层(APL)的APS提供了在NWK层和APL层之间及从ZDO到供应商的应用对象的通用服务集的接口。
这种服务由两个实体APSDE和APSME实现。
1.2、ZigBee设备对象(ZDO)
ZDO代表着一个基本的功能函数类,这个功能在应用对象、设备模式与APS之间提供了一个接口。
ZDO位于应用框架与应用支持子层之间,它满足所有在ZigBee协议栈中应用操作的一般需要,具有以下作用:
●初始化应用支持子层(APS)、网络层(NWK)、安全服务规范(SSS);
●从终端应用中集合配置信息来确定和执行发现、安全管理、网络管理和绑定管理。
ZDO描述了应用框架层应用对象的公用接口以控制设备和应用对象的网络功能。
在终端端口0,ZDO提供了与协议栈中低一层相接的接口,如果是数据,则通过APSDE-SAP;如果是控制信息,则通过APSME-SAP。
在ZigBee协议栈的应用框架中,ZDO公用接口提供设备、发现、绑定、安全等功能的地址管理。
1.2.1、设备发现
设备发现,是一个ZigBee设备发现其他ZigBee设备的过程。
有两种形式的设备发送请求:
IEEE地址请求和网络地址请求。
IEEE地址请求是单播到一个特定的设备且假定网络地址已知;网络地址请求是广播且携带一个已知的IEEE地址作为数据负载。
1.2.2、服务发现
服务发现是一个已知设备被其他设备发现的过程。
服务发现通过在一个已知设备的每个端口发送查询或通过使用一个匹配服务功能(广播或单播)。
服务发现可方便定义和使用各种描述来概述一个设备的能力。
服务发现信息在网络中也许被隐藏,在这种情况下,设备提供的某种服务可能不好在发现操作时到达,致使服务可能无法访问。
1.2.3、制造商所定义的应用对象
运行在ZigBee协议栈上的应用程序实际就是厂商自定义的应用对象。
这些应用程序使用ZigBee联盟给出的并且批准的规范(Profile)进行开发并运行在端点1-240上。
2、应用支持子层(APS)
2.1、概述
ZigBee协议栈中应用层(APL)的APS提供了在NWK层和APL层之间及从ZDO到供应商的应用对象的通用服务集的接口。
这种服务由两个实体实现:
●APS数据实体(APSDE):
通过APSDE服务接入点(APSDE-SAP)实现;
●APS管理实体(APSME):
通过APSME服务接入点(APSME-SAP)实现。
2.2、APS数据实体APSDE
APSDE提供在同一个网络中的两个或者多个应用实体之间的数据通信,为NWK、ZDO和应用对象提供一个数据服务,使得应用程序的PDU在两个或多个设备之间传输,设备本身必须位于同一个网络。
APSDE提供的服务:
●发出应用层PDU(APDU):
APSDE会接收应用PDU,并通过增加合适协议开销发出一个APSPDU;
●绑定:
一旦两个设备绑定,APSDE就可以从一个绑定设备传输一个信息给第二个设备;
●组地址过滤:
提供了根据是否是终端组的成员过滤组地址信息的功能;
●可靠传输:
在NWK层采用端到端重试,增加了事件的可靠性;
●重复拒绝:
传输所提供的信息将不会被多次接收;
●分裂:
可以分裂和重组长于一个NWK层负载的信息。
2.3、APS管理实体APSME
APSME提供的功能包括维持绑定表及在绑定的设备之间传送消息。
绑定指的是基于两台设备的服务和需求将它们匹配地连接起来。
APSME提供的服务:
●绑定管理:
根据服务和需求一起匹配两个设备的功能;
●AIB管理:
在设备的AIB中获取并设置属性的功能;
●安全:
通过使用安全密钥与其他设备建立可信关系的功能;
●组管理:
提供了宣布多个设备共享一个地址,增加设备到组以及从组中移除设备的功能;
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和NLME-SET原语;所有其它NLME-SAP原语只能通过ZDO访问。
除这些外部的接口,在APSME和APSDE之间还有一个隐藏接口,它允许APSME使用APS数据服务。
层与层间的通信方式如图3
图3request-confirm-indication
2.4.1、APS数据服务
APS子层数据实体SAP(APSDE-SAP)支持应用协议数据单元在对等应用实体之间的传输,表1列出了APSDE-SAP支持的原语。
表1APSDE-SAP原语
APSDE-SAP原语
请求
确认
指示
APSDE-DATA
APSDE-DATA.request
APSDE-DATA.confirm
APSDE-DATA.indication
Request-confirm原语执行的流程示意图见图4,各原语详细内容如下描述;
图4req-con流程
2.4.1.1、APSDE-DATA.request原语
该原语请求一个从本地NHLE到一个或多个对等NHLE实体传输一个NHLEPDU(ASDU);每当一个数据PDU(ASDU)要被传输给一个对等的NHLE时,该原语由一个本地的NHLE生成,并根据其参数进行不同形式的传输。
参数见表2
表2指明APSDE-DATA.request原语参数
名称
类型
有效范围
描述
DstAddrMode
Integer
0x00-0xff
使用目的地址以及传输APDU的寻址模式
0x00:
DstAddress和DstEndpoint不存在
0x01:
DstAddress16位组地址;DstEndpoint不存在;
0x02:
DstAddress和DstEndpoint都存在,是16位组地址;
0x03:
DstAddress16和DstEndpoint都存在,是64位扩展地址;
0x04-0xff保留;
DstAddress
Address
通过DstAddrMode
参数指定
ASDU要被传输到的实体的单独的设备地址或者组地址
DstEndpoint
Integer
0x00-0xf0,0xff
当且仅当DstAddrMode参数的值为0x02/0x03时,该参数才存在,此时该参数或者ASDU要被传输到的实体的单独个端点的编号,或者是广播端点(0xff)
Profiled
Integer
0x0000-0xffff
帧要被送到的profilede标识符
ClusterId
Integer
0x0000-0xffff
帧要被送到的对象的标识符
SrcEndpoint
Integer
0x00-0xf0
被传输的ASDU来自的实体的单个端点
ASDULength
Integer
0x00-256*(NSDULength-
apscMinHeaderOverhead)
构成被传输的ASDU的字节数,单负载的最大长度由NSDULength-
apscMinheaderOverhead给定。
如果分段,用256个这样的块组成单个最大的ASDU
ASDU
Setofoctets
-
组成被传输的ASDU的字节集合
TxOption
Bitmap
00000xxx(x为0/1)
被传输的ASDU的传输选项:
0x01:
启用安全传输
0x02:
使用密钥传输
0x04:
确认传输
0x08:
允许分段
Radius
Unsignedinteger
0x00-0xff
允许一个被传输的帧通过网络进行传输的距离量,以跳为单位
2.4.1.2、APSDE-DATA.confirm原语
该原语报告请求从一个本地NHLE传输一个数据PDU(ASDU)到一个对等NHLE的结果。
它由本地APS子层实体在响应一个APSDE-DATA.request原语时产生。
当返回的状态参数值为SUCCESS,表明请求传输成功,或者为错误代码NO_SHORT_ADDRESS,
NO_BOUND_DEVICE或SECUR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ZigBee 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)