Zigbee协议栈中文说明(二)
2.APL应用层介绍
2.1.1应用层简介
如图2-1所示,ZigBee应用层由三个部分组成,APS子层、ZDO(包含ZDO管理平台)和制造商定义的应用对象。
图2-1 zigbee协议堆栈分层结构
2.1.2应用层框架
ZigBee中的应用框架是为驻扎在ZigBee设备中的应用对象提供活动的环境。
最多可以定义240个相对独立的应用程序对象,且任何一个对象的端点编号都是从1到240。此外还有两个附加的终端节点,为了APSDE-SAP的使用:端点号0固定用于ZDO数据接口;另外一个端点255固定用于所有应用对象广播数据的数据接口功能。端点241-254保留(留给未来扩展使用)。
2.1.2.1应用Profiles
应用profiles是一组统一的消息,消息格式和处理方法,允许开发者建立一个可以共同使用的分布式应用程序,这些应用是利用驻扎在独立设备中的应用实体来实现的。这些应用profiles允许应用程序发送命令、请求数据和处理命令的请求。
2.1.2.2簇
簇标识符可用来区分不同的簇,簇标识符联系着从设备流出和向设备流入的数据。在特殊的应用profiles范围内,簇标识符是唯一的。
2.1.3ZigBee设备对象
ZigBee设备对象(ZDO),描述了一个基本的功能函数,这个功能在应用对象、设备profile和APS之间提供了一个接口。ZDO位于应用框架和应用支持子层之间。它满足所有在ZigBee协议栈中应用操作的一般需要。此外ZDO还有以下作用:
(1)初始化应用支持子层(APS),网络层(NWK),安全服务规范(SSS)。
(2)从终端应用集合中配置的信息来确定和执行安全管理、发现、网络管理、以及绑定管理。
ZDO描述了应用框架层中应用对象的公用接口以及控制设备和应用对象的网络功能。在终端节点0, ZDO提供了与协议栈中与低一层连接的接口,如果是数据则通过APSDE-SAP,如果是控制信息则通过APSME-SAP。ZDO的具体描述在2.5节。
2.1.3.1设备发现
设备发现是ZigBee设备为什么能发现其他设备的过程。这有两种形式的设备发现请求:IEEE地址请求和网络地址请求。IEEE地址请求是单播到一个特殊的设备且假定网络地址已经知道。网络地址请求是广播且携带一个已知的IEEE地址作为负载。
2.1.3.2服务发现
服务发现是为什么一个已知设备被其他设备发现的能力的过程。服务发现通过在一个已知设备的每一个端点发送询问或通过使用一个匹配服务(广播或者单播)。服务发现方便定义和使用各种描述来概述一个设备的能力。
服务发现信息在网络中也许被隐藏,在这种情况下,设备提供的特殊服务便可能不在操作发生的时候到达。
2.2 ZigBee应用支持子层APS
APS提供了这样的接口:在NWK层和APL层之间,从ZDO到供应商的应用对象的通用服务集。这服务由两个实体实现:APS数据实体(APSDE)和APS管理实体(APSME)。
(1)APSDE提供在同一个网络中的两个或者更多的应用实体之间的数据通信。通过APSDE服务接入点(APSDE-SAP);
(2)APSME提供多种服务给应用对象,这些服务包含安全服务和绑定设备,并维护管理对象的数据库,也就是我们常说的AIB。通过APSME服务接入点(APSME-SAP)。
2.2.1 范围
这一小节描述了应用层部分提供的服务规范和生产商定义的应用对象与ZigBee设备对象之间的接口。规范定义了允许应用对象传输数据的数据服务和提供绑定机制的管理服务。另外,它还定义了应用支持子层的帧格式和帧类型。如图2-2
图2-2 zigbee帧格式
2.2.2 目的
这小节的目的是定义ZigBee应用支持子层的功能。该功能建立在两个基础之上,一是正确运行ZigBee网络层的驱动功能,二是制造商定义的应用对象所需要的功能。
2.2.3 应用支持子层简介
应用支持子层给网络层和应用层通过ZigBee设备对象和制造商定义的应用对象使用的一组服务提供了接口,该接口提供了ZigBee设备对象和制造商定义的应用对象使用的一组服务。通过两个实体提供这些服务:数据服务和管理服务。APS数据实体(APSDE)通过与之连接的SAP,即APSDE-SAP提供数据传输服务。APS管理实体(APSME)通过与之连接的SAP,即APSME-SAP提供管理服务,并且维护一个管理实体数据库,即APS信息库(NIB)。
2.2.3.1 应用支持子层的数据实体(APSDE)
APSDE向网络层提供数据服务,并且为ZDO和应用对象提供服务,完成两个或多个设备之间传输应用层PDU。这些设备本身必须在同一个网络。
APSDU将提供如下服务:
生成应用层的协议数据单元(APDU):APSDE将应用层协议数据单元(PDU)加上适当的协议帧头生成应用子层的协议数据单元(PDU)。
绑定:两个设备服务和需求相匹配的能力。一旦两个设备绑定了,APSDE将可以把从一个绑定设备接受到的信息传送给另一个设备。
组地址过滤:提供了基于终点组成员的过滤组地址信息的能力。
可靠传输:比从网络层仅仅通过端对端的传输增加了可靠性
拒绝重复:提供传送的信息不会被重复接收
支持大批量的传输:提供两个设备间顺序传输大批量的数据的能力。
碎片:当消息的长度大于单个网络层帧时,可以分割并重组消息。
流控制:APS提供避免传输消息淹没接收者的措施。
阻塞控制:APS层使用“尽力”原则,提供措施避免传输消息淹没中间网络。
2.2.3.2 应用支持子层的管理实体(APSME)
APSME应提供管理服务支持应用程序符合堆栈。
APSME应具有基于两个设备的服务和需求向匹配的能力。该服务称为绑定服务,APSME应具有能力来构建和维护绑定表来存储这些信息。
另外,APSME应提供如下服务:
1 应用层信息库管理:读取与设置设备应用层信息库属性的能力
2 安全:与其他设备通过使用安全密钥建立可信关系的能力
2.2.4 服务规范
应用支持子层为上层实体(NHLE)与网络层提供了一个接口。APS层理论上包含一个管理实体称为APS层,管理实体(APSME)。这个实体通过调用子层的管理函数来提供服务接口。APSME还负责维护一个关于APS子层管理实体的数据库。这是一个关于APS子层信息库(AIB)的数据库.图2-3描述了APS子层的构成和接口。
图2-3 应用支持之层参考模型
APS子层通过两个服务指针(SAPs)提供两种服务。APS数据服务通过APS子层数据实体服务指针SAP(APSDE-SAP),APS管理服务通过APS则层管理实体服务指针SAP(APSME-SAP).这两个服务通过NLDE-SAP和NLME-SAP 接口 (见3.2小节)提供了NHLE和网络层之间的接口。网络层和APS子层之间的NLME-SAP接口只支持NLME-GET 和 NLME-SET原语,其他的NLME-SAP原语只可以通过ZDO实现(见2.5小节)。除了这些外部接口以外,在APSME和APSDE之间还有一个内部的接口,支持APSME使用APS数据服务。
2.2.4.1.1 APSDE-DATA.request
该原语请求从本地NHLE向一个同等的NHLE实体传输NHLE PDU(ASDU)。
2.2.4.1.1.1 服务原语的语法
该原语的语法如下:
APSDE-DATA_request
{
DstAddrMode
DSTAddress
DstEndpoint
Profiled
Clusterld
SrcEndpoint
asduLength
asdu
TxOpionts
RadiusCounter
}
表2.2详细说明了APSDE-DATA.request原语的参数。
- 分享
- 举报
-
浏览量:1744次2020-02-23 21:27:08
-
浏览量:2181次2020-02-23 23:43:00
-
浏览量:1740次2020-02-23 21:20:02
-
浏览量:1845次2020-02-23 20:58:27
-
浏览量:2503次2020-02-23 21:13:27
-
浏览量:3320次2020-08-05 20:46:02
-
浏览量:4504次2019-11-21 09:35:34
-
浏览量:5485次2020-11-30 10:01:37
-
浏览量:2558次2019-10-22 14:46:47
-
浏览量:2192次2020-06-10 09:50:35
-
浏览量:4705次2020-12-23 17:25:07
-
2020-06-05 11:33:26
-
浏览量:39053次2019-07-25 14:36:54
-
浏览量:1505次2023-11-23 15:47:07
-
浏览量:2005次2017-11-20 11:39:11
-
浏览量:2066次2020-04-21 14:15:40
-
2020-12-09 10:56:14
-
浏览量:2833次2020-10-23 17:43:11
-
浏览量:1056次2023-02-03 16:50:36
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
qn1510837625
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明