收藏 分销(赏)

Ziee应用层规范.doc

上传人:精*** 文档编号:2386078 上传时间:2024-05-29 格式:DOC 页数:45 大小:1.43MB 下载积分:14 金币
下载 相关 举报
Ziee应用层规范.doc_第1页
第1页 / 共45页
Ziee应用层规范.doc_第2页
第2页 / 共45页


点击查看更多>>
资源描述
(word完整版)ZigBee应用层规范 应用层规范 2.1概述 ZigBee栈体系包含一系列的层元件,包含IEEE802。15.4 2003标准MAC层和PHY层,当然也包括ZigBee的NWK层.每个层的元件提供相关的服务功能。虽然本节描述了ZigBee栈的其他部分但主要描述图1.1中的APL层。图1为ZigBee栈结构框图。 如图1。1所示,ZigBee应用层由三个部分组成,APS子层、ZDO(包含ZDO管理平台)和制造商定义的应用对象. 2.1.1应用支持子层 APS提供了这样的接口:在NWK层和APL层之间,从ZDO到供应商的应用对象的通用服务集。这服务由两个实体实现:APS数据实体(APSDE)和APS管理实体(APSME)。 (1)APSDE通过APSDE服务接入点(APSDE—SAP); (2)APSME通过APSME服务接入点(APSME—SAP)。 APSDE提供在同一个网络中的两个或者更多的应用实体之间的数据通信. APSME提供多种服务给应用对象,这些服务包含安全服务和绑定设备,并维护管理对象的数据库,也就是我们常说的AIB. 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。在ZigBee协议栈的应用框架中,ZDO公用接口提供设备、发现、绑定、以及安全等功能的地址管理。ZDO的具体描述在2。5节。 2.1.3设备发现 设备发现是ZigBee设备为什么能发现其他设备的过程.这有两种形式的设备发现请求:IEEE地址请求和网络地址请求。IEEE地址请求是单播到一个特殊的设备且假定网络地址已经知道。网络地址请求是广播且携带一个已知的IEEE地址作为负载. 2。1。3。2服务发现 服务发现是为什么一个已给设备被其他设备发现的能力的过程。服务发现通过在一个已给设备的每一个端点发送询问或通过使用一个匹配服务性质(广播或者单播)。服务发现方便定义和使用各种描述来概述一个设备的能力。 服务发现信息在网络中也许被隐藏,在这种情况下,设备提供的特殊服务可能不好到达在发现操作发生的时候。 2。2 ZigBee应用支持子层 2。2.1 范围 这一小节描述了应用层部分提供的服务规范和生产商定义的应用对象与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。1描述了APS子层的构成和接口. 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 APS数据服务 APS子层数据实体SAP(APSDE-SAP)支持在两个同等的应用实体之间传输应用协议数据单元。表2。1列出了APSDE—SAP支持的原语.每一个原语将在下面的小节论述. 2。2。4。1。1 APSDE—DATA。request 该原语请求从本地NHLE向一个同等的NHLE实体传输NHLE PDU(ASDU)。 2.2。4。1.1.1 服务原语的语法 该原语的语法如下: 表2.2详细说明了APSDE-DATA.request原语的参数. 2。2。4.1.1.2 产生 当有一个数据PDU(ASDU)由本地NHLE向一个同等的NHLE传输时,由本地NHLE生成该原语。 2。2。4。1。1.3 2 当APS子层实体接收到该原语时,便开始传输提供的ASDU。 如果DstAddrMode参数为0x00,并且接收该原语的设备的APSDE支持绑定表,那么在绑定表中根据参数SrcEndpoint和ClusterId所指定的endpoint和cluster identifiers寻找相关联的绑定表入口。如果没有绑定表入口,APSDE将发送状态参数为NO_BOUND_DEVICE 的语APSDE-DATA。confirm原语。如果找到了一个或多个绑定表入口,APSDE将构建APDU,其endpoint信息从绑定表入口获得,当通过网络层传输信息帧时,其destination address信息从绑定表入口获得.如果存在多于一个绑定表入口,当接收到相应的NLDE-DATA.confirm原语,按上面描述的,APSDE将构建并向下一个绑定表入口传输APDU,直到没有绑定表入口剩余。如果接收到该原语设备的APSDE不支持绑定表,那么APSDE将发送状态参数为NOT_SUPPORTED的APSDE—DATA。confirm原语。 如果DstAddrMode参数为0x02,DstAddress参数包含扩展的64位IEEE地址,首次必须使用NIB(见表2.24)属性中的nwkAddressMap映射相应的16位网络地址。如果找不到相应的16位网络地址,那么APSDE将发送状态参数为NO_SHORT_ADDRESS的APSDE-DATA。confirm原语。如果找到了相应的16位网络地址,其值将被用在NLDE—DATA。request原语中,参数DstEndpoint将被置在作为结果的APDU中.如果DstAddrMode参数为0x01,表明为群地址,参数DstAddress将被解释为16位的全地址。这个地址将被放置在APS头中的群地址域,参数DstEndpoint将被忽略,APS头中的destination endpoint域将被省略.APS头中的帧控制域的delivery mode子域值在这种情况下为0x03. 如果DstAddrMode参数为0x02,DstAddress参数包含16位的网络地址,并且提供参数DstEndpoint,当目的网络地址用于应用响应,并且网络地址部位后面的数据传输请求保留时,上层只能使用DstAddrMode为0x02. 应用程序可以通过使用参数RadiusCounter来限制在网络中传输数据帧的跳数。如果参数RadiusCounter为0x00,网络层在网络中传输信息帧没有约束。如果参数RadiusCounter为非零,则网络层将允许信息帧在网络中传输存在最多RadiusCounter跳。 如果DstAddrMode参数为0x01,表明为群地址,或者DstAddrMode参数为0x00,并且相应的绑定表入口包含哪一个群地址,那么APSME将检查NIB(见表3.42)中的属性nwkUseMulticast值。如果属性值为FALSE,那么输出帧的帧控制域中的delivery mode子域设为0b11,16位的目的群地址将设置输出帧APS头中的group address域,该帧将以广播方式传输。传输该帧的原语NLDE-DATA.request的DstAddr参数设置为值0xfffd,广播给所有RxOnWhenIdle=TRUE的设备.如果属性nwkUseMulticast值为TRUE,那么该帧将使用网络层多点传送方式传输,群地址不用放置在输出帧的APS头中. 如果参数TxOptions指定使用安全传输,则APS子层将使用安全服务为ASDU提供安全(见4.2。4小节)。如果安全处理失败,则APSDE发送状态参数为SECURITY_FAIL的APSDE—DATA。confirm原语。 APSDE使用NLDE-DATA.request原语向网络层传输构造帧。当接收到NLDE-DATA.confirm原语,APSDE则发送APSDE—DATA.confirm原语,其状态参数值域从网络层接收到的一致。 APSDE通过每次发送使NLDE-DATA。request原语的DiscoverRoute参数值为0x01确保网络层中的路由发现始终激活。 如果传输的ASDU大于合适的单个帧,当没有请求确认传输或者在TxOptions域的fragmentation permitted标志位设为0时,则放弃传输ASDU,APSDE将发送状态参数为INVALID_REQUEST的APSDE—DATA.confirm原语。 如果传输的ASDU大于合适的单个帧,当请求确认传输并且在TxOptions域的fragmentation permitted标志位设为1时,ASDU将按照2。2.8。3。5小节所述分裂为多个APDU。如果请求传输和安全处理,那么每一个APDU都要进行处理。注意不要使用分裂处理,除非相应的上层文件或者相互明确表明帧的传输允许分裂处理,并且说明了块的数量和总共传输的大小。 2。2。4。1。2 APSDE-DATA。confirm 该原语报告从本地NHLE向一个同等的NHLE传输PDU数据的结果。 2。2。4.1.2.1 服务原语的语法 该原语的语法如下: 表2.3详细介绍了APSDE—DATA。confirm原语的参数。 2。2.4.1。2.2 产生 该原语有本地APS子层产生作为对APSDE—DATA。request原语的响应。该原语返回的状态参数值为SUCCESS,表明请求传输成功,或者为错误代码NO_SHORT_ADDRESS , NO_BOUND_DEVICE 或SECURITY_FAIL或者为任何NLDE—DATA。confirm原语返回的状态值.这些状态值的路由在2.2.4.1。2小节中进行了详细的描述. 2.2。4.1。2.3 接收 接收到该原语,发起设备的上层被通报请求传输的结果。如果传输成功,状态参数值设置为SUCCESS。否则,状态参数表明错误。 2.2。4。1。3 APSDE-DATA。indication 该原语表明一个PDU数据向本地应用实体的APS子层传输。 2。2.4。1。3.1 服务原语的语法 该原语的语法如下: 表2.4详细描述了APSDE-DATA.indication原语的参数。 2.2。4.1。3.2 产生 该原语由APS子层产生,当从本地网络层实体接收到适当地址的数据帧时,APS子层向上层发送该原语.如果ASDU头的帧控制域表明该帧安全保护,则按照4.2.4小节的描述进行安全处理。 该原语由APS子层产生,当通过NLDE-DATA。indication原语从网络层接收到适当地址的数据帧时,发送给上层实体。如果APDU头的帧控制域表明该帧安全保护,则按照4。2.4小节的描述进行安全处理. 接收到的帧的源地址必须通过NIB(见表2。24)中的属性nwkAddressMap映射为相应的扩展的64位IEEE地址。如果能找到相应的64为IEEE地址,则APSDE发送该原语,其参数SrcAddrMode设为0x02,SrcAddress参数设为相应的64位IEEE地址。如果找不到相应的64位IEEE地址,APSDE将发送该原语,其参数SrcAddrMode设为0x01,参数SrcAddress设为接收帧包含的16位源地址。 2。2。4.1。3。3 接收 接收到该原语,上层被通报有数据到达该设备. 2.2。4.2 APS管理服务 APS管理实体SAP(APSME-SAP)支持上层和APSME层之间传输管理命令。表2。5总结了APSME通过APSME-SAP接口支持的原语.各原语的详细描述见下面小节。 2。2。4.3 绑定原语 这组原语定义了设备上层如何将一个绑定记录加入(提交)其本地绑定表或将绑定记录从本地绑定表中移除。 只有支持绑定表或者绑定表存储器的设备支持这些原语。如果其他设备从上层接收到这些原语,那么这些原语将被忽略。 2.2。4。3.1 APSME—BIND。request 该原语允许支持绑定的设备上层通过在本地绑定表中建立一个入口请求将两个设备绑定。 2。2.4。6.1。1 服务原语的语法 该原语的语法如下: 表2.6详细描述了APSME—BIND.request原语的参数。 2。2。4。3.1.2 产生 该原语由上层产生发送给APS子层,在支持绑定表的设备上发起绑定操作. 2。2.4.3。1。3 接收 一旦被当前没有加入到网络或不支持绑定表的设备接收到该原语,那么APSME将发送状态参数为ILLEGAL_REQUEST的APSME—BIND.confirm原语. 如果支持绑定表的设备的APS子层从NHLE接收该原语,APSME将试图直接从其绑定表中建立指定的入口.如果可以建立入口,APSME将发送状态参数为SUCCESS的APSME—BIND。confirm原语。如果因为其绑定表缺乏能力而无法建立入口,APSME将发送状态参数为TABLE_FULL的APSME—BIND.confirm原语。 2.2.4.3。2 APSME—BIND.confirm 该原语使设备得到其上层请求绑定两个设备的结果。 2.2。4.3.2.1 服务原语的语法 该原语的语法如下: 表2。7详细描述了APSME-BIND.confirm原语的语法。 2.2。4。3.2.2 产生 该原语由APSME产生作为APSME-BIND.request原语的响应发送给NHLE.如果请求成功,那么状态参数将表明一个成功的绑定请求.否则,状态参数则为错误码ILLEGAL_DEVICE、 ILLEGAL_REQUEST 或TABLE_FULL。 2。2.4。3。2.3 接收 接收到该原语,上层就被通知其绑定请求的结果.如果绑定请求成功,状态参数设置为SUCCESS.否则,状态参数表明错误。 2。2。4。3.3 APSME—UNBIND.request 该原语允许支持绑定的设备上层通过在本地绑定表中移除一个入口请求将两个设备解除绑定。 2。2。4。3。3。1 服务原语的语法: 表2.8详细描述了APSME-UNBIND。request原语的参数. 2。2.4.3。3。2 产生 该原语有上层产生发送给APS子层,在支持绑定表的设备上发起解除绑定操作。 2.2.4。3。3.3 接收 一旦被当前没有加入到网络或不支持绑定表的设备接收到该原语,那么APSME将发送状态参数为ILLEGAL_REQUEST的APSME-UNBIND.confirm原语。 如果支持绑定表的设备的APS子层从NHLE接收该原语,APSME将在绑定表中查找指定的入口。如果入口存在,APSME将移除这个入口并发送状态参数为SUCCESS的APSME—UNBIND。confirm原语(见2.2。4。3.4小节)。如果没有找到入口,APSME将发送状态参数为INVALID_BINDING的APSME—UNBIND.confirm原语。如果该设备不在网络中,APSME将发送状态参数为ILLEGAL_DEVICE的APSME-BIND。confirm原语。 2.2.4.3。4 APSME—UNBIND。confirm 该原语使设备得到其上层请求解除两个设备绑定的结果. 2.2。4。3.4.1 服务原语的语法 该原语的语法如下: 表2。9详细描述了APSME-UNBIND.confirm原语的语法。 2.2.4.3。4.2 产生 该原语由APSME产生作为APSME-UNBIND.request原语的响应发送给NHLE。如果请求成功,那么状态参数将表明一个成功的解除绑定请求.否则,状态参数则为错误码ILLEGAL_DEVICE、 ILLEGAL_REQUEST 或INVALID_BINDING。 2.2.4。3。4.3 接收 接收到该原语,上层就被通知其解除绑定请求的结果.如果解除绑定请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。 2。2.4。4 信息库的维护 这组原语定义了设备上层如何读取和写入AIB中的属性。 2。2.4.4。1 APSME-GET.request 该原语允许设备上层从AIB中读取属性值。 2.2.4。4。1。1 服务原语的语法 该原语的语法如下: 表2。10描述了该原语的参数。 2。2。4.4.1.2 产生 该原语由上层产生并发送给APSME来读取AIB中的属性。 2。2.4.4.1。3 接收 接收到该原语,APSME试图从数据库中得到AIB属性。如果在数据库中没有相应的AIB属性表标识符,APSME将发送状态参数为UNSUPPORTED_ATTRIBUTE的APSME—GET.confirm原语。 如果成功得到了AIB属性,APSME将发送状态参数为SUCCESS,包含AIB属性标识符和属性值的APSME-GET。confirm原语. 2。2。4.4。2 APSME-GET。confirm 该原语向上层报告从AIB中读取属性值的结果。 2。2。4。4.2。1 服务原语的语法 该原语的语法如下: 表2。11描述了该原语的参数。 2。2。4。4。2。2 产生 该原语由APSME产生,发送给上层作为对APSME—GET。request原语的响应.该原语返回状态SUCCESS,表明请求读取AIB属性请求成功,或者返回错误码UNSUPPORTED_ATTRIBUTE。这些状态在2.2.4.4.1.3小节进行了描述。 2.2.4。4。2.3 接收 接收到该原语,上层得知读取AIB属性请求的结果。如果读取AIB属性请求成功,状态参数设置为SUCCESS.否则,状态参数表明错误。 2。2.4。4。3 ASPME-SET.request 该原语允许设备上层将属性值写入AIB. 2.2。4.4。3.1 服务原语的语法 该原语的语法如下: 表2。12描述了该原语的参数。 2.2.4。4.3。2 产生 该原语由上层产生并发送给APSME在AIB中写入一个属性值。 2.2。4。4.3.3 接收 接收到该原语,APSME试图将给定的数据库中的值写入AIB属性。如果在数据库中没有AIB属性参数指定的属性,APSME将发送状态参数为UNSUPPORTED_ATTRIBUTE的APSME-SET。confirm原语.如果AIB属性值参数给定的值超过了有效的属性范围,APSME将发送状态参数为INVALID_PARAMETER的APSME—SET。confirm原语. 如果成功写入了AIB属性,APSME将发送状态参数为SUCCESS的APSME—SET.confirm原语. 2。2.4.4.4 APSME—SET.confirm 该原语向上层报告向AIB属性中写入属性值的结果. 2。2。4.4。4。1 服务原语的语法 该原语的语法如下: 表2。13描述了该原语的参数。 2.2。4。4。4。2 产生 该原语由APSME产生,发送给上层作为对APSME-SET。request原语的响应。该原语返回状态SUCCESS,表明将属性值写入AIB属性的请求成功,或者返回错误码INVALID_PARAMETER或UNSUPPORTED_ATTRIBUTE。这些状态在2。2。4.4.3.3小节进行了描述。 2.2.4。4。4。3 接收 接收到该原语,上层得知写入AIB属性请求的结果。如果写入AIB属性请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。 2。2。4.5 组管理 这组原语允许上层在当前设备中通过在组表中添加和移除入口来管理每个端点的组关系。 2。2。4.5.1 APSME-ADD—GROUP.request 该原语允许上层请求一个特定的组的组关系加入到特定的端点. 2。2。4。5。1。1 服务原语的语法 该原语的语法如下: 表2。14描述了该原语的参数。 2.2。4.5.1.2 产生 当上层要将一个特定组的关系加入一个端点时产生该原语,设置了组地址的帧将被传送给该端点。 2。2。4.5。1.3 接收 如果接收到该原语,其GroupAddress参数的值超出了有效范围,APSME将向上层发送状态参数为INVALID_PARAMETER的APSME—ADD-GROUP.condirm原语。同样,如果Endpoint参数值为0x00或当前设备的其它没有执行的端点,APSME将发送状态参数为INVALID_PARAMETER的APSME—ADD—GRROUP。confirm原语。 完成上述参数检测后,APSME将检查组表中是否存在包含给定参数GroupAddress和Endpoint的入口。如果该入口已存在于组表中,APSME将向上层发送状态参数为SUCCESS的APSME—ADD—GROUP。confirm原语.如果没有该入口,表中还有入口空间,APSME将在组表中建立一个新的入口,其参数为给定的GroupAddress和Endpoint值。入口加入到APS组表后,APSME将发送NLME—SET。request原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致.一旦两个表一致了,APSME将向上层发送状态参数为SUCCESS的APSME-ADD-GROUP。confirm原语。如果没有给定参数GroupAddress和Endpoint的入口并且组表中没有建立另一个入口的空间,APSME将向上层发送状态参数为TABLE_FULL的APSME—ADD—GROUP.confirm原语. 2。2.4。5。2 APSME-ADD—GROUP。confirm 该原语使得设备得知其将一个组添加到端点的请求结果。 2。2.4。5。2.1 服务原语的语法 该原语的语法如下: 表2。15描述了该原语的参数。 2.2.4.5.2.2 产生 该原语由APSME产生并发送给上层作为对APSME-ADD-GROUP.request原语的响应.如果APSME—ADD—GROUP。request成功,那么状态参数值为SUCCESS。如果APSME—ADD—GROUP。request中的参数为无效值,那么状态产生设置为INVALID_PARAMETER。如果APSME试图加入一个组表入口,但表中已没有加入其它入口的空间,状态参数设置为TABLE_FULL。 2.2。4.5。2.3 接收 上层接收到该原语,则得知添加组请求的结果.状态参数值如上面所述. 2.2.4。5.3 APSME-REMOVE—GROUP。request 该原语允许上层请求将一个特定的组的组关系从特定的端点中移除。 2.2.4.5.3.1 服务原语的语法 该原语的语法如下: 表2。16描述了该原语的参数。 2。2。4.5.3.2 产生 当上层要将一个特定组的关系从一个端点中移除时产生该原语,设置了组地址的帧将不被传送给该端点。 2。2.4.5。3.3 接收 如果接收到该原语,其GroupAddress参数的值超出了有效范围,APSME将向上层发送状态参数为INVALID_PARAMETER的APSME-REMOVE-GROUP。condirm原语。同样,如果Endpoint参数值为0x00或当前设备的其它没有执行的端点,APSME将发送状态参数为INVALID_PARAMETER的APSME-REMOVE-GRROUP。confirm原语。 完成上述参数检测后,APSME将检查组表中是否存在包含给定参数GroupAddress和Endpoint的入口。如果该入口已存在于组表中,该入口将被移除。APSME将发送NLME-SET.request原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了,APSME将向上层发送状态参数为SUCCESS的APSME—REMOVE-GROUP.confirm原语。如果没有该入口,APSME将向上层发送状态参数为SUCCESS的APSME-REMOVE-GROUP.confirm原语。 2。2.4.5。4 APSME—REMOVE-GROUP。confirm 该原语使得设备得知其将一个组从端点中移除的请求结果。 2.2.4.5。4。1 服务原语的语法 该原语的语法如下: 表2.17描述了该原语的参数。 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 服务原语的语法 该原语的语法如下: 表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所列出的任意值。 2。2.5。1.8.2 块序号 块序号域为1字节长,用于如下所述的分裂控制:如果分裂子域的设置表示不是分裂传输,那么子域中不包含块
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服