加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 ZigBee协议栈中文说明

ZigBee协议栈中文说明.pdf

ZigBee协议栈中文说明

sarsfather
2010-10-10 0人阅读 举报 0 0 暂无简介

简介:本文档为《ZigBee协议栈中文说明pdf》,可适用于高等教育领域

ZZZZigbeeigbeeigbeeigbee协议栈中文说明概述解析ZigBeeZigBeeZigBeeZigBee堆栈架构ZigBee堆栈是在IEEE标准基础上建立的定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图给出了这些组件的概况。ZigBeeZigBeeZigBeeZigBee堆栈层每个ZigBee设备都与一个特定模板有关可能是公共模板或私有模板。这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。设备是由模板定义的并以应用对象(ApplicationObjects)的形式实现(见图)。每个应用对象通过一个端点连接到ZigBee堆栈的余下部分它们都是器件中可寻址的组件图zigbe堆栈框架从应用角度看通信的本质就是端点到端点的连接(例如一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信目的是将这些灯点亮)。端点之间的通信是通过称之为簇的数据结构实现的。这些簇是应用对象之间共享信息所需的全部属性的容器在特殊应用中使用的簇在模板中有定义。图就是设备及其接口的一个例子:图每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。一共有二个特殊的端点即端点和端点。端点用于整个ZigBee设备的配置和管理。应用程序可以通过端点与ZigBee堆栈的其它层通信从而实现对这些层的初始化和配置。附属在端点的对象被称为ZigBee设备对象(ZD)。端点用于向所有端点的广播。端点到是保留端点。所有端点都使用应用支持子层(APS)提供的服务。APS通过网络层和安全服务提供层与端点相接并为数据传送、安全和绑定提供服务因此能够适配不同但兼容的设备比如带灯的开关。APS使用网络层(NWK)提供的服务。NWK负责设备到设备的通信并负责网络中设备初始化所包含的活动、消息路由和网络发现。应用层可以通过ZigBee设备对象(ZD)对网络层参数进行配置和访问。MACMACMACMAC层IEEE标准为低速率无线个人域网(LRWPAN)定义了OSI模型开始的两层。PHY层定义了无线射频应该具备的特征它支持二种不同的射频信号分别位于MHz波段和MHz波段。MHz波段射频可以提供kbps的数据速率和个不同的信道。MHz波段中MHz支持个数据速率为kbps的信道MHz支持个数据速率为kbps的信道。MAC层负责相邻设备间的单跳数据通信。它负责建立与网络的同步支持关联和去关联以及MAC层安全:它能提供二个设备之间的可靠链接。关于服务接入点ZigBee堆栈的不同层与MAC通过服务接入点(SAP)进行通信。SAP是某一特定层提供的服务与上层之间的接口。ZigBee堆栈的大多数层有两个接口:数据实体接口和管理实体接口。数据实体接口的目标是向上层提供所需的常规数据服务。管理实体接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。ZigBeeZigBeeZigBeeZigBee的安全性安全机制由安全服务提供层提供。然而值得注意的是系统的整体安全性是在模板级定义的这意味着模板应该定义某一特定网络中应该实现何种类型的安全。每一层(MAC、网络或应用层)都能被保护为了降低存储要求它们可以分享安全钥匙。SSP是通过ZD进行初始化和配置的要求实现高级加密标准(AES)。ZigBee规范定义了信任中心的用途。信任中心是在网络中分配安全钥匙的一种令人信任的设备。ZigBeeZigBeeZigBeeZigBee堆栈容量和ZigBeeZigBeeZigBeeZigBee设备根据ZigBee堆栈规定的所有功能和支持我们很容易推测ZigBee堆栈实现需要用到设备中的大量存储器资源。不过ZigBee规范定义了三种类型的设备每种都有自己的功能要求:ZigBee协调器是启动和配置网络的一种设备。协调器可以保持间接寻址用的绑定表格支持关联同时还能设计信任中心和执行其它活动。一个ZigBee网络只允许有一个ZigBee协调器。ZigBee路由器是一种支持关联的设备能够将消息转发到其它设备。ZigBee网格或树型网络可以有多个ZigBee路由器。ZigBee星型网络不支持ZigBee路由器。ZigBee端终设备可以执行它的相关功能并使用ZigBee网络到达其它需要与其通信的设备。它的存储器容量要求最少。然而需要特别注意的是网络的特定架构会戏剧性地影响设备所需的资源。NWK支持的网络拓扑有星型、树型和网格型。在这几种网络拓扑中星型网络对资源的要求最低。ZigBee堆栈应该可以提供ZigBee规范要求的所有功能因此制造商的重点工作是开发实际的应用。为了更加容易实现如果制造商使用某种公共模板那么可用大多数现成的配置。如果没有合适的公共模板则可以充分利用其它模板已经做过的工作创建自己的模板。ZigBee协议栈体系包含一系列的层元件其中有IEEE标准中的MAC层和PHY层当然也包括ZigBee组织设计的NWK层。每个层的元件有其特定的服务功能。本说明描述内容涉及ZigBee协议栈的各层元件但侧重于描述最具实际和理论探讨性的APL应用层和NWK网络层。图为ZigBee栈结构框图。APLAPLAPLAPL应用层介绍应用层简介如图所示ZigBee应用层由三个部分组成APS子层、ZDO(包含ZDO管理平台)和制造商定义的应用对象。图zigbee协议堆栈分层结构应用层框架ZigBee中的应用框架是为驻扎在ZigBee设备中的应用对象提供活动的环境。最多可以定义个相对独立的应用程序对象且任何一个对象的端点编号都是从到。此外还有两个附加的终端节点为了APSDESAP的使用:端点号固定用于ZDO数据接口另外一个端点固定用于所有应用对象广播数据的数据接口功能。端点保留(留给未来扩展使用)。应用ProfilesProfilesProfilesProfiles应用profiles是一组统一的消息消息格式和处理方法允许开发者建立一个可以共同使用的分布式应用程序这些应用是利用驻扎在独立设备中的应用实体来实现的。这些应用profiles允许应用程序发送命令、请求数据和处理命令的请求。簇簇标识符可用来区分不同的簇簇标识符联系着从设备流出和向设备流入的数据。在特殊的应用profiles范围内簇标识符是唯一的。ZigBeeZigBeeZigBeeZigBee设备对象ZigBee设备对象(ZDO)描述了一个基本的功能函数这个功能在应用对象、设备profile和APS之间提供了一个接口。ZDO位于应用框架和应用支持子层之间。它满足所有在ZigBee协议栈中应用操作的一般需要。此外ZDO还有以下作用:()初始化应用支持子层(APS)网络层(NWK)安全服务规范(SSS)。()从终端应用集合中配置的信息来确定和执行安全管理、发现、网络管理、以及绑定管理。ZDO描述了应用框架层中应用对象的公用接口以及控制设备和应用对象的网络功能。在终端节点,ZDO提供了与协议栈中与低一层连接的接口如果是数据则通过APSDESAP如果是控制信息则通过APSMESAP。ZDO的具体描述在节。设备发现设备发现是ZigBee设备为什么能发现其他设备的过程。这有两种形式的设备发现请求:IEEE地址请求和网络地址请求。IEEE地址请求是单播到一个特殊的设备且假定网络地址已经知道。网络地址请求是广播且携带一个已知的IEEE地址作为负载。服务发现服务发现是为什么一个已知设备被其他设备发现的能力的过程。服务发现通过在一个已知设备的每一个端点发送询问或通过使用一个匹配服务(广播或者单播)。服务发现方便定义和使用各种描述来概述一个设备的能力。服务发现信息在网络中也许被隐藏在这种情况下设备提供的特殊服务便可能不在操作发生的时候到达。ZigBeeZigBeeZigBeeZigBee应用支持子层APSAPSAPSAPSAPS提供了这样的接口:在NWK层和APL层之间从ZDO到供应商的应用对象的通用服务集。这服务由两个实体实现:APS数据实体(APSDE)和APS管理实体(APSME)。()APSDE提供在同一个网络中的两个或者更多的应用实体之间的数据通信。通过APSDE服务接入点(APSDESAP)()APSME提供多种服务给应用对象这些服务包含安全服务和绑定设备并维护管理对象的数据库也就是我们常说的AIB。通过APSME服务接入点(APSMESAP)。范围这一小节描述了应用层部分提供的服务规范和生产商定义的应用对象与ZigBee设备对象之间的接口。规范定义了允许应用对象传输数据的数据服务和提供绑定机制的管理服务。另外它还定义了应用支持子层的帧格式和帧类型。如图图zigbee帧格式目的这小节的目的是定义ZigBee应用支持子层的功能。该功能建立在两个基础之上一是正确运行ZigBee网络层的驱动功能二是制造商定义的应用对象所需要的功能。应用支持子层简介应用支持子层给网络层和应用层通过ZigBee设备对象和制造商定义的应用对象使用的一组服务提供了接口该接口提供了ZigBee设备对象和制造商定义的应用对象使用的一组服务。通过两个实体提供这些服务:数据服务和管理服务。APS数据实体(APSDE)通过与之连接的SAP即APSDESAP提供数据传输服务。APS管理实体(APSME)通过与之连接的SAP即APSMESAP提供管理服务并且维护一个管理实体数据库即APS信息库(NIB)。应用支持子层的数据实体(APSDEAPSDEAPSDEAPSDE)APSDE向网络层提供数据服务并且为ZDO和应用对象提供服务完成两个或多个设备之间传输应用层PDU。这些设备本身必须在同一个网络。APSDU将提供如下服务:生成应用层的协议数据单元(APDU):APSDE将应用层协议数据单元(PDU)加上适当的协议帧头生成应用子层的协议数据单元(PDU)。绑定:两个设备服务和需求相匹配的能力。一旦两个设备绑定了APSDE将可以把从一个绑定设备接受到的信息传送给另一个设备。组地址过滤:提供了基于终点组成员的过滤组地址信息的能力。可靠传输:比从网络层仅仅通过端对端的传输增加了可靠性拒绝重复:提供传送的信息不会被重复接收支持大批量的传输:提供两个设备间顺序传输大批量的数据的能力。碎片:当消息的长度大于单个网络层帧时可以分割并重组消息。流控制:APS提供避免传输消息淹没接收者的措施。阻塞控制:APS层使用“尽力”原则提供措施避免传输消息淹没中间网络。应用支持子层的管理实体(APSMEAPSMEAPSMEAPSME)APSME应提供管理服务支持应用程序符合堆栈。APSME应具有基于两个设备的服务和需求向匹配的能力。该服务称为绑定服务APSME应具有能力来构建和维护绑定表来存储这些信息。另外APSME应提供如下服务:应用层信息库管理:读取与设置设备应用层信息库属性的能力安全:与其他设备通过使用安全密钥建立可信关系的能力服务规范应用支持子层为上层实体(NHLE)与网络层提供了一个接口。APS层理论上包含一个管理实体称为APS层管理实体(APSME)。这个实体通过调用子层的管理函数来提供服务接口。APSME还负责维护一个关于APS子层管理实体的数据库。这是一个关于APS子层信息库(AIB)的数据库图描述了APS子层的构成和接口。图应用支持之层参考模型APS子层通过两个服务指针(SAPs)提供两种服务。APS数据服务通过APS子层数据实体服务指针SAP(APSDESAP)APS管理服务通过APS则层管理实体服务指针SAP(APSMESAP)这两个服务通过NLDESAP和NLMESAP接口(见小节)提供了NHLE和网络层之间的接口。网络层和APS子层之间的NLMESAP接口只支持NLMEGET和NLMESET原语其他的NLMESAP原语只可以通过ZDO实现(见小节)。除了这些外部接口以外在APSME和APSDE之间还有一个内部的接口支持APSME使用APS数据服务。APSAPSAPSAPS数据服务APS子层数据实体SAP(APSDESAP)支持在两个同等的应用实体之间传输应用协议数据单元。表列出了APSDESAP支持的原语。每一个原语将在下面的小节论述。APSDEDATArequestAPSDEDATArequestAPSDEDATArequestAPSDEDATArequest该原语请求从本地NHLE向一个同等的NHLE实体传输NHLEPDU(ASDU)。服务原语的语法该原语的语法如下:APSDEDATArequest{DstAddrModeDSTAddressDstEndpointProfiledClusterldSrcEndpointasduLengthasduTxOpiontsRadiusCounter}表详细说明了APSDEDATArequest原语的参数。产生当有一个数据PDU(ASDU)由本地NHLE向一个同等的NHLE传输时由本地NHLE生成该原语。当APS子层实体接收到该原语时便开始传输提供的ASDU。如果DstAddrMode参数为x并且接收该原语的设备的APSDE支持绑定表那么在绑定表中根据参数SrcEndpoint和ClusterId所指定的endpoint和clusteridentifiers寻找相关联的绑定表入口。如果没有绑定表入口APSDE将发送状态参数为NOBOUNDDEVICE的语APSDEDATAconfirm原语。如果找到了一个或多个绑定表入口APSDE将构建APDU其endpoint信息从绑定表入口获得当通过网络层传输信息帧时其destinationaddress信息从绑定表入口获得。如果存在多于一个绑定表入口当接收到相应的NLDEDATAconfirm原语按上面描述的APSDE将构建并向下一个绑定表入口传输APDU直到没有绑定表入口剩余。如果接收到该原语设备的APSDE不支持绑定表那么APSDE将发送状态参数为NOTSUPPORTED的APSDEDATAconfirm原语。如果DstAddrMode参数为xDstAddress参数包含扩展的位IEEE地址首次必须使用NIB(见表)属性中的nwkAddressMap映射相应的位网络地址。如果找不到相应的位网络地址那么APSDE将发送状态参数为NOSHORTADDRESS的APSDEDATAconfirm原语。如果找到了相应的位网络地址其值将被用在NLDEDATArequest原语中参数DstEndpoint将被置在作为结果的APDU中。如果DstAddrMode参数为x表明为群地址参数DstAddress将被解释为位的全地址。这个地址将被放置在APS头中的群地址域参数DstEndpoint将被忽略APS头中的destinationendpoint域将被省略。APS头中的帧控制域的deliverymode子域值在这种情况下为x如果DstAddrMode参数为xDstAddress参数包含位的网络地址并且提供参数DstEndpoint当目的网络地址用于应用响应并且网络地址部位后面的数据传输请求保留时上层只能使用DstAddrMode为x应用程序可以通过使用参数RadiusCounter来限制在网络中传输数据帧的跳数。如果参数RadiusCounter为x网络层在网络中传输信息帧没有约束。如果参数RadiusCounter为非零则网络层将允许信息帧在网络中传输存在最多RadiusCounter跳。如果DstAddrMode参数为x表明为群地址或者DstAddrMode参数为x并且相应的绑定表入口包含哪一个群地址那么APSME将检查NIB(见表)中的属性nwkUseMulticast值。如果属性值为FALSE那么输出帧的帧控制域中的deliverymode子域设为b位的目的群地址将设置输出帧APS头中的groupaddress域该帧将以广播方式传输。传输该帧的原语NLDEDATArequest的DstAddr参数设置为值xfffd广播给所有RxOnWhenIdle=TRUE的设备。如果属性nwkUseMulticast值为TRUE那么该帧将使用网络层多点传送方式传输群地址不用放置在输出帧的APS头中。如果参数TxOptions指定使用安全传输则APS子层将使用安全服务为ASDU提供安全(见小节)。如果安全处理失败则APSDE发送状态参数为SECURITYFAIL的APSDEDATAconfirm原语。APSDE使用NLDEDATArequest原语向网络层传输构造帧。当接收到NLDEDATAconfirm原语APSDE则发送APSDEDATAconfirm原语其状态参数值域从网络层接收到的一致。APSDE通过每次发送使NLDEDATArequest原语的DiscoverRoute参数值为x确保网络层中的路由发现始终激活。如果传输的ASDU大于合适的单个帧当没有请求确认传输或者在TxOptions域的fragmentationpermitted标志位设为时则放弃传输ASDUAPSDE将发送状态参数为INVALIDREQUEST的APSDEDATAconfirm原语。如果传输的ASDU大于合适的单个帧当请求确认传输并且在TxOptions域的fragmentationpermitted标志位设为时ASDU将按照小节所述分裂为多个APDU。如果请求传输和安全处理那么每一个APDU都要进行处理。注意不要使用分裂处理除非相应的上层文件或者相互明确表明帧的传输允许分裂处理并且说明了块的数量和总共传输的大小。APSDEDATAconfirmAPSDEDATAconfirmAPSDEDATAconfirmAPSDEDATAconfirm该原语报告从本地NHLE向一个同等的NHLE传输PDU数据的结果。服务原语的语法该原语的语法如下:APSDEDATAconfirm{DstAddModeDstAddressDstEndpointSrcEndpointStatus}表详细介绍了APSDEDATAconfirm原语的参数。产生该原语有本地APS子层产生作为对APSDEDATArequest原语的响应。该原语返回的状态参数值为SUCCESS表明请求传输成功或者为错误代码NOSHORTADDRESS,NOBOUNDDEVICE或SECURITYFAIL或者为任何NLDEDATAconfirm原语返回的状态值。这些状态值的路由在小节中进行了详细的描述。接收接收到该原语发起设备的上层被通报请求传输的结果。如果传输成功状态参数值设置为SUCCESS。否则状态参数表明错误。APSDEDATAindicationAPSDEDATAindicationAPSDEDATAindicationAPSDEDATAindication该原语表明一个PDU数据向本地应用实体的APS子层传输。服务原语的语法该原语的语法如下:APSDEDATAindication{DstAddrModeDSTAddressDstEndpointSrcAddrModeSARCAddressSrcEndpointProfieldClusterldasduLengthasduWasBroadcastSecurityStatusLinkQuality}表详细描述了APSDEDATAindication原语的参数。产生该原语由APS子层产生当从本地网络层实体接收到适当地址的数据帧时APS子层向上层发送该原语。如果ASDU头的帧控制域表明该帧安全保护则按照小节的描述进行安全处理。该原语由APS子层产生当通过NLDEDATAindication原语从网络层接收到适当地址的数据帧时发送给上层实体。如果APDU头的帧控制域表明该帧安全保护则按照小节的描述进行安全处理。接收到的帧的源地址必须通过NIB(见表)中的属性nwkAddressMap映射为相应的扩展的位IEEE地址。如果能找到相应的为IEEE地址则APSDE发送该原语其参数SrcAddrMode设为xSrcAddress参数设为相应的位IEEE地址。如果找不到相应的位IEEE地址APSDE将发送该原语其参数SrcAddrMode设为x参数SrcAddress设为接收帧包含的位源地址。接收接收到该原语上层被通报有数据到达该设备。APSAPSAPSAPS管理服务APS管理实体SAP(APSMESAP)支持上层和APSME层之间传输管理命令。表总结了APSME通过APSMESAP接口支持的原语。各原语的详细描述见下面小节。绑定原语这组原语定义了设备上层如何将一个绑定记录加入(提交)其本地绑定表或将绑定记录从本地绑定表中移除。只有支持绑定表或者绑定表存储器的设备支持这些原语。如果其他设备从上层接收到这些原语那么这些原语将被忽略。APSMEBINDrequestAPSMEBINDrequestAPSMEBINDrequestAPSMEBINDrequest该原语允许支持绑定的设备上层通过在本地绑定表中建立一个入口请求将两个设备绑定。服务原语的语法该原语的语法如下:APSMEBINDrequest{SrcAddrSrcEndpointClusterldDstAddrModeDstAddrDstEndpoint}表详细描述了APSMEBINDrequest原语的参数。产生该原语由上层产生发送给APS子层在支持绑定表的设备上发起绑定操作。接收一旦被当前没有加入到网络或不支持绑定表的设备接收到该原语那么APSME将发送状态参数为ILLEGALREQUEST的APSMEBINDconfirm原语。如果支持绑定表的设备的APS子层从NHLE接收该原语APSME将试图直接从其绑定表中建立指定的入口。如果可以建立入口APSME将发送状态参数为SUCCESS的APSMEBINDconfirm原语。如果因为其绑定表缺乏能力而无法建立入口APSME将发送状态参数为TABLEFULL的APSMEBINDconfirm原语。APSMEBINDconfirmAPSMEBINDconfirmAPSMEBINDconfirmAPSMEBINDconfirm该原语使设备得到其上层请求绑定两个设备的结果。服务原语的语法该原语的语法如下:APSMEBINDconfirm{StatusSrcAddrSrcEndpointClusterldDstAddrModeDstAddrDstEndpoint}表详细描述了APSMEBINDconfirm原语的语法。产生该原语由APSME产生作为APSMEBINDrequest原语的响应发送给NHLE。如果请求成功那么状态参数将表明一个成功的绑定请求。否则状态参数则为错误码ILLEGALDEVICE、ILLEGALREQUEST或TABLEFULL。接收接收到该原语上层就被通知其绑定请求的结果。如果绑定请求成功状态参数设置为SUCCESS。否则状态参数表明错误。APSMEUNBINDrequestAPSMEUNBINDrequestAPSMEUNBINDrequestAPSMEUNBINDrequest该原语允许支持绑定的设备上层通过在本地绑定表中移除一个入口请求将两个设备解除绑定。服务原语的语法:APSMEUNBINDrequest{SrcAddrSrcEndpointClusterldDstAddrModeDstAddrDstEndpoint}表详细描述了APSMEUNBINDrequest原语的参数。产生该原语有上层产生发送给APS子层在支持绑定表的设备上发起解除绑定操作。接收一旦被当前没有加入到网络或不支持绑定表的设备接收到该原语那么APSME将发送状态参数为ILLEGALREQUEST的APSMEUNBINDconfirm原语。如果支持绑定表的设备的APS子层从NHLE接收该原语APSME将在绑定表中查找指定的入口。如果入口存在APSME将移除这个入口并发送状态参数为SUCCESS的APSMEUNBINDconfirm原语(见小节)。如果没有找到入口APSME将发送状态参数为INVALIDBINDING的APSMEUNBINDconfirm原语。如果该设备不在网络中APSME将发送状态参数为ILLEGALDEVICE的APSMEBINDconfirm原语。APSMEUNBINDconfirmAPSMEUNBINDconfirmAPSMEUNBINDconfirmAPSMEUNBINDconfirm该原语使设备得到其上层请求解除两个设备绑定的结果。服务原语的语法该原语的语法如下:APSMEUNBINDconfirm{StatusSrcAddrSrcEndpointClusterldDstAddrModeDstAddrDstEndpoint}表详细描述了APSMEUNBINDconfirm原语的语法。产生该原语由APSME产生作为APSMEUNBINDrequest原语的响应发送给NHLE。如果请求成功那么状态参数将表明一个成功的解除绑定请求。否则状态参数则为错误码ILLEGALDEVICE、ILLEGALREQUEST或INVALIDBINDING。接收接收到该原语上层就被通知其解除绑定请求的结果。如果解除绑定请求成功状态参数设置为SUCCESS。否则状态参数表明错误。信息库的维护这组原语定义了设备上层如何读取和写入AIB中的属性。APSMEGETrequestAPSMEGETrequestAPSMEGETrequestAPSMEGETrequest该原语允许设备上层从AIB中读取属性值。服务原语的语法该原语的语法如下:APSMEGETrequest{AIBAttribute}表描述了该原语的参数。产生该原语由上层产生并发送给APSME来读取AIB中的属性。接收接收到该原语APSME试图从数据库中得到AIB属性。如果在数据库中没有相应的AIB属性表标识符APSME将发送状态参数为UNSUPPORTEDATTRIBUTE的APSMEGETconfirm原语。如果成功得到了AIB属性APSME将发送状态参数为SUCCESS包含AIB属性标识符和属性值的APSMEGETconfirm原语。APSMEGETconfirm该原语向上层报告从AIB中读取属性值的结果。服务原语的语法该原语的语法如下:APSMEGETconfirm{StatusAIBAttributeAIBAttributeLengthAIBAttributeValue}表描述了该原语的参数。产生该原语由APSME产生发送给上层作为对APSMEGETrequest原语的响应。该原语返回状态SUCCESS表明请求读取AIB属性请求成功或者返回错误码UNSUPPORTEDATTRIBUTE这些状态在小节进行了描述。接收接收到该原语上层得知读取AIB属性请求的结果。如果读取AIB属性请求成功状态参数设置为SUCCESS。否则状态参数表明错误。ASPMESETrequest该原语允许设备上层将属性值写入AIB。服务原语的语法该原语的语法如下:APSMESETrequest{AIBAttributeAIBAttributeLengthAIBAttributeValue}表描述了该原语的参数。产生该原语由上层产生并发送给APSME在AIB中写入一个属性值。接收接收到该原语APSME试图将给定的数据库中的值写入AIB属性。如果在数据库中没有AIB属性参数指定的属性APSME将发送状态参数为UNSUPPORTEDATTRIBUTE的APSMESETconfirm原语。如果AIB属性值参数给定的值超过了有效的属性范围APSME将发送状态参数为INVALIDPARAMETER的APSMESETconfirm原语。如果成功写入了AIB属性APSME将发送状态参数为SUCCESS的APSMESETconfirm原语。APSMESETconfirm该原语向上层报告向AIB属性中写入属性值的结果。服务原语的语法该原语的语法如下:APSMESETconfirm{StatusAIBAttribute}表描述了该原语的参数。产生该原语由APSME产生发送给上层作为对APSMESETrequest原语的响应。该原语返回状态SUCCESS表明将属性值写入AIB属性的请求成功或者返回错误码INVALIDPARAMETER或UNSUPPORTEDATTRIBUTE这些状态在小节进行了描述。接收接收到该原语上层得知写入AIB属性请求的结果。如果写入AIB属性请求成功状态参数设置为SUCCESS。否则状态参数表明错误。组管理这组原语允许上层在当前设备中通过在组表中添加和移除入口来管理每个端点的组关系。APSMEADDGROUPrequest该原语允许上层请求一个特定的组的组关系加入到特定的端点。服务原语的语法该原语的语法如下:APSMEADDGROUPrequest{GroupAddressEndpoint}表描述了该原语的参数。产生当上层要将一个特定组的关系加入一个端点时产生该原语设置了组地址的帧将被传送给该端点。接收如果接收到该原语其GroupAddress参数的值超出了有效范围APSME将向上层发送状态参数为INVALIDPARAMETER的APSMEADDGROUPcondirm原语。同样如果Endpoint参数值为x或当前设备的其它没有执行的端点APSME将发送状态参数为INVALIDPARAMETER的APSMEADDGRROUPconfirm原语。完成上述参数检测后,APSME将检查组表中是否存在包含给定参数GroupAddress和Endpoint的入口。如果该入口已存在于组表中APSME将向上层发送状态参数为SUCCESS的APSMEADDGROUPconfirm原语。如果没有该入口表中还有入口空间APSME将在组表中建立一个新的入口其参数为给定的GroupAddress和Endpoint值。入口加入到APS组表后APSME将发送NLMESETrequest原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了APSME将向上层发送状态参数为SUCCESS的APSMEADDGROUPconfirm原语。如果没有给定参数GroupAddress和Endpoint的入口并且组表中没有建立另一个入口的空间APSME将向上层发送状态参数为TABLEFULL的APSMEADDGROUPconfirm原语。APSMEADDGROUPconfirm该原语使得设备得知其将一个组添加到端点的请求结果。服务原语的语法该原语的语法如下:APSMEADDGROUPconfirm{StatusGroupAddressEndpoint}表描述了该原语的参数。产生该原语由APSME产生并发送给上层作为对APSMEADDGROUPrequest原语的响应。如果APSMEADDGROUPrequest成功那么状态参数值为SUCCESS。如果APSMEADDGROUPrequest中的参数为无效值那么状态产生设置为INVALIDPARAMETER。如果APSME试图加入一个组表入口但表中已没有加入其它入口的空间状态参数设置为TABLEFULL。接收上层接收到该原语则得知添加组请求的结果。状态参数值如上面所述。APSMEREMOVEGROUPrequest该原语允许上层请求将一个特定的组的组关系从特定的端点中移除。服务原语的语法该原语的语法如下:APSMEREMOVEGROUPrequest{GroupAddressEndpoint}表描述了该原语的参数。产生当上层要将一个特定组的关系从一个端点中移除时产生该原语设置了组地址的帧将不被传送给该端点。接收如果接收到该原语其GroupAddress参数的值超出了有效范围APSME将向上层发送状态参数为INVALIDPARAMETER的APSMEREMOVEGROUPcondirm原语。同样如果Endpoint参数值为x或当前设备的其它没有执行的端点APSME将发送状态参数为INVALIDPARAMETER的APSMEREMOVEGRROUPconfirm原语。完成上述参数检测后,APSME将检查组表中是否存在包含给定参数GroupAddress和Endpoint的入口。如果该入口已存在于组表中该入口将被移除。APSME将发送NLMESETrequest原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了APSME将向上层发送状态参数为SUCCESS的APSMEREMOVEGROUPconfirm原语。如果没有该入口APSME将向上层发送状态参数为SUCCESS的APSMEREMOVEGROUPconfirm原语。APSMEREMOVEGROUPconfirm该原语使得设备得知其将一个组从端点中移除的请求结果。服务原语的语法该原语的语法如下:APSMEREMOVEGROUPconfirm{StatusGroupAddressEndpoint}表描述了该原语的参数。产生该原语由APSME产生并发送给上层作为对APSMEREMOVEGROUPrequest原语的响应。如果APSMEREMOVEGROUPrequest成功那么状态参数值为SUCCESS。如果APSMEREMOVEGROUPrequest中有参数为无效值那么状态产生设置为INVALIDPARAMETER。接收上层接收到该原语则得知移除组请求的结果。状态参数值如上面所述。APSMEREMOVEALLGROUPrequest当上层想要将所有组中的关系从端点中移除时产生该原语因此没有组地址的帧传送给端点。服务原语的语法该原语的语法如下:APSMEREMOVEALLGROUPSrequest{Endpoint}表描述了该原语的参数。产生当上层想要将所有组中的关系从端点中移除时产生该原语因此没有组地址的帧传送给端点。接收接收到该原语如果Endpoint参数值为x或当前设备的其它没有执行的端点APSME将发送状态参数为INVALIDPARAMETER的APSMEREMOVEALLGRROUPconfirm原语。完成上述参数Endpoint检测后,APSME将从组表中移除所有与该端点相关的入口。APSME将发送NLMESETrequest原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了APSME将向上层发送状态参数为SUCCESS的APSMEREMOVEALLGROUPconfirm原语。APSMEREMOVEALLGROUPconfirm该原语使得设备得知其从一个端点中移除所有组的请求结果。服务原语的语法该原语的语法如下:表描述了该原语的参数。产生该原语由APSME产生并发送给上层作为对APSMEREMOVEALLGROUPrequest原语的响应。如果APSMEREMOVEALLGROUPrequest成功那么状态参数值为SUCCESS。如果APSMEREMOVEALLGROUPrequest中有参数为无效值那么状态产生设置为INVALIDPARAMETER。接收上层接收到该原语则得知从端点中移除所有组请求的结果。状态参数值如上面所述。帧格式这小节描述了APS层的帧格式(APDU)。每一个APS帧包含如下的基本组成:、APS头由帧控制和地址信息组成。、APS有效载荷变长包含帧类型指定的信息。APS子层的帧作为有序域按照指定的顺序进行描述。这小节的所有帧格式都按照网络层的传输顺序进行描述从左至右最左的位最先传输。每个域中的长度为k位都从(最左、最低)至k(最右、最高)排号。域中长度小于一个字节的值都按照从最低位至最高位的顺序向网络层传输。常规的APDU帧格式APS帧格式由一个APS帧头和APS有效载荷组成。APS帧头域有固定的顺序在帧中可以不包含地址域。常规的APS帧格式如表所示。帧控制域帧控制域比特长包含定义的帧类型、地址域和其它控制标志信息。帧控制域如表所示的格式。帧类型子域帧类型子域为比特长可设置为表所列出的值。传输模式子域传输模式子域比特长可设置为表所列出的值。如果值为b帧将被发送给接收设备给定的端点。如果值为b消息为广播发送。在这种情况下消息将被发送给所选择的使用的广播地址的所有设备和所有端点见小节。如果值为b将使用组地址帧只被发送给APS头中组地址域所确定的在组中表示组成员的设备端点。注意源设备的其它端点可能是输出帧组地址的成员。帧将被发送给指定组的成员包括源设备的其它端点。安全子域安全服务提供者(见章)管理安全子域。确认请求子域确认请求子域比特长指定了当前的传输是否要求接收者接收到帧后发送确认帧。如果该子域设置为确定接收的为有效帧后接收者需要构建并向发起者发送确认帧。如果该子域为确定接收的为有效帧后接收者不向发起者发送确认帧。延长头存在延长头存在子域为比特长指定在帧中是否包含延长头。如果该子域设置为那么延长头包含在帧中。否则不包含在帧中。目的端点域目的端点比特长指定帧的最终接收端点。如果帧控制域中的传输模式子域为b(标准单播发送)那么帧中包含该域。目的端点值为x该帧的目的地址为每个设备的ZOD。目的端点值为x

用户评价(3)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/29

ZigBee协议栈中文说明

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利