2.2.4.5.4.2 产生
该原语由APSME产生并发送给上层作为对APSME-REMOVE-GROUP.request原语的响应。如果APSME-REMOVE-GROUP.request成功,那么状态参数值为SUCCESS。如果APSME-REMOVE-GROUP.request中有参数为无效值,那么状态产生设置为INVALID_PARAMETER。
2.2.4.5.4.3 接收
上层接收到该原语,则得知移除组请求的结果。状态参数值如上面所述。 2.2.4.5.5 APSME-REMOVE-ALL-GROUP.request 当上层想要将所有组中的关系从端点中移除时产生该原语,因此,没有组地址的帧传送给端点。
2.2.4.5.5.1 服务原语的语法
该原语的语法如下:
APSME-REMOVE-ALL-GROUPS.request { Endpoint }
表2.18描述了该原语的参数。
2.2.4.5.5.2 产生
当上层想要将所有组中的关系从端点中移除时产生该原语,因此,没有组地址的帧传送给端点。
2.2.4.5.5.3 接收
接收到该原语,如果Endpoint参数值为0x00或当前设备的其它没有执行的端点,APSME将发送状态参数为INVALID_PARAMETER的APSME-REMOVE-ALL-GRROUP.confirm原语。 完成上述参数Endpoint检测后,APSME将从组表中移除所有与该端点相关的入口。APSME将发送NLME-SET.request原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了,APSME将向上层发送状态参数为SUCCESS的APSME-REMOVE-ALL-GROUP.confirm原语。
2.2.4.5.6 APSME-REMOVE-ALL-GROUP.confirm
该原语使得设备得知其从一个端点中移除所有组的请求结果。 2.2.4.5.6.1 服务原语的语法 该原语的语法如下: 表2.19描述了该原语的参数。
2.2.4.5.6.2 产生
该原语由APSME产生并发送给上层作为对APSME-REMOVE-ALL-GROUP.request原语的响应。如果APSME-REMOVE-ALL-GROUP.request成功,那么状态参数值为SUCCESS。如果APSME-REMOVE-ALL-GROUP.request中有参数为无效值,那么状态产生设置为INVALID_PARAMETER。
2.2.4.5.6.3 接收
上层接收到该原语,则得知从端点中移除所有组请求的结果。状态参数值如上面所述。
2.2.5 帧格式
这小节描述了APS层的帧格式(APDU)。每一个APS帧包含如下的基本组成: 1、APS头,由帧控制和地址信息组成。 2、APS有效载荷,变长,包含帧类型指定的信息。 APS子层的帧作为有序域按照指定的顺序进行描述。这小节的所有帧格式都按照网络层的传输顺序进行描述,从左至右,最左的位最先传输。每个域中的长度为k位都从0(最左、最低)至k-1(最右、最高)排号。域中长度小于一个字节的值都按照从最低位至最高位的顺序向网络层传输。
2.2.5.1 常规的APDU帧格式
APS帧格式由一个APS帧头和APS有效载荷组成。APS帧头域有固定的顺序,在帧中可以不包含地址域。常规的APS帧格式如表2.2所示。
2.2.5.1.1 帧控制域
帧控制域8比特长,包含定义的帧类型、地址域和其它控制标志信息。帧控制域如表2.3所示的格式。
2.2.5.1.1.1 帧类型子域
帧类型子域为2比特长,可设置为表2.20所列出的值。
2.2.5.1.1.2 传输模式子域
传输模式子域2比特长,可设置为表2.21所列出的值。
如果值为0b00,帧将被发送给接收设备给定的端点。 如果值为0b10,消息为广播发送。在这种情况下,消息将被发送给所选择的使用的广播地址的所有设备和所有端点,见3.7.5小节。 如果值为0b11,将使用组地址,帧只被发送给APS头中组地址域所确定的在组中表示组成员的设备端点。注意,源设备的其它端点可能是输出帧组地址的成员。帧将被发送给指定组的成员,包括源设备的其它端点。
2.2.5.1.1.3 安全子域
安全服务提供者(见4章)管理安全子域。
2.2.5.1.1.4 确认请求子域
确认请求子域1比特长,指定了当前的传输是否要求接收者接收到帧后发送确认帧。如果该子域设置为1,确定接收的为有效帧后,接收者需要构建并向发起者发送确认帧。如果该子域为0,确定接收的为有效帧后,接收者不向发起者发送确认帧。
2.2.5.1.1.5 延长头存在
延长头存在子域为1比特长,指定在帧中是否包含延长头。如果该子域设置为1,那么延长头包含在帧中。否则,不包含在帧中。
2.2.5.1.2 目的端点域
目的端点8比特长,指定帧的最终接收端点。如果帧控制域中的传输模式子域为0b00(标准单播发送),那么帧中包含该域。 目的端点值为0x00,该帧的目的地址为每个设备的ZOD。目的端点值为0x01-0xf0,帧目的地址为操作的端点。目的端点值为0xff,帧目的地址为除了端点0x00的所有活跃的端点。端点(0xf1-0xfe)保留。
2.2.5.1.3 组地址域
组地址域16比特长,只有当帧控制中的传输模式子域为0b11时存在该域。在这种情况下,目的端点不存在。如果帧中的APS头包含组地址域,帧将被发送设备中组表中由组地址域确定的所有端点。 设备的nwkUseMukticast设置为TRUE,输出帧不设置组地址域。
2.2.5.1.4 簇标识符域
簇标识符16比特长,指定由请求中SrcAddr所指示的用于设备绑定操作的簇标识符。帧控制域的帧类型子域指定簇标识符域是否存在。该域只用于数据帧,不用于命令帧。
2.2.5.1.5 Profile标识符域
Profile标识符2字节长,指定在传输帧的过程中,用于设备过滤消息和帧的Profile标识符。该域之用于数据帧和确认镇。
2.2.5.1.6 源端点域
源端点域8比特长,指定发起者帧的端点。源端点值为0x00,表明从每个设备的ZDO发起。源端点值为0x01-0xf0,表明帧从应用操作的端点发起。其它的端点(0xf1-0xfe)保留。
2.2.5.1.7 APS计数器
该域8比特长,用于防止接收重复帧,如2.2.8.4.2小节。每新传输一次该值加一。
2.2.5.1.8 延长头子域
延长头子域包含深层子域,格式如表2.4所示。
2.2.5.1.8.1延长帧控制域
延长帧控制域长8比特,包含使用分裂的定义信息。延长帧控制域的格式如表2.5所示。
分裂子域2比特长,值为表2.22所列出的任意值。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:Zigbee协议栈中文说明(六) https://www.yhzz.com.cn/a/16799.html