原创 zigbee协议重要名词解释及英文缩写

2010-9-1 08:45 2419 4 8 分类: 通信

网络层功能:


1.    加入和退出网络


2.    申请安全结构


3.    路由管理


4.    在设备之间发现和维护路由


5.    发现邻设备


6.    储存邻设备 信息


当适当的重新分配地址联合其他设备,ZIGBEE2006可以依赖于网络协调者建立一个新网络.


ZIGBEE应用层由APS(应用支持)、AF(应用结构)、ZDO(ZIGBEE设备对象)和厂商自定义应用对象组成。


APS功能


1.    绑定维持工作台,定义一个两个合拢的设备进行比较建立他们的需要和服务。


2.    促进信息在设备之间的限制


3.    组地址定义,移除和过滤组地址消息


4.    地址映射来自于64位IEEE地址和16位网络地址


5.    分裂、重新组装和可靠数据传输


ZDO功能


1.    定义设备内部网络(ZigBee协调者和终端接点)


2.    开始和/或回答绑定请求


3.    在网络设备中建立一个网络安全关系


4.    在网络中发现设备和决定供给哪个应用服务


ZDO同样有责任在网络中发现设备和为他们提供应用服务。


1.1.4 网络拓扑


ZIGBEE网 络层支持星状、树状和网状拓扑。在星状拓扑中网络受约束与单个设备,呼叫COORD。COORD有责任建立和维持在网络中发现的设备和其他所有设备,都知 道的终端接点直接和COORD通信。在网状和树状拓扑中,COORD有责任建立一个网络和选择几个关键网络参数,但是网络有有可能直接应用于ZigBee路由器。在树状网络中,利用分等级路由策略完成路由传输数据和控制消息直通网络。树状网络在802.15.4-2003中可以采用信标引导通信。网状网络将允许所有对等网络通信。ZIGBEE路又将不能在网状网络中发射规则的IEEE802.15.4-2003信标。


缩写含义


AIB:应用支持层消息


AF:应用结构


APDU:应用支持层以下数据单位


APL:应用层


APS:应用支持层


APSDE:应用支持层以下数据实体


APSDE-SAP:应用支持层数据实体—服务通道


APSME:应用支持层管理实体


APSME-SAP:应用支持层管理实体—服务通道


ASDU:APS服务数据单位


BRT:广播重试计时器


BTR:广播处理记录


BTT:广播处理工作台


CCM*:


CSMA-CA:载波多重监听通道——避免碰撞


FFD:全部功能设备


GTS:担保时间跟踪


IB:消息数据


LQI:连接质量指示


LR-WPAN:低速率无线局域网


MAC:控制层


MCPS-SAP:控制层公共部分—服务通道


MIC:消息完整代码


MLME-SAP:控制层管理实体—服务通道


MSC:消息序列图表


MSDU:控制层服务数据单位


MSG:消息服务类型


NBDT:网络广播发送时间


NHLE:下一个更高层实体


NIB:网络层信息数据


NLDE:网络层数据实体


NLDE-SAP:网络层数据实体——服务通道


NLME:网络层管理实体


NLME-SAP:网络层管理实体——服务通道


NPDU:网络层数据单位


NSDU:网络服务数据单位


NWK:网络


OSL:打开系统联络


PAN:局域网


PD-SAP:物理层数据—指向服务通道


PDU:协议数据单位


PHY:物理层


PIB:局域网消息


PLME-SAP:物理层管理实体——指向服务通道


POS:私人运作空间


QOS:服务质量


RREP:路由回答


RN:路由接点


SKG:


SKKE:


SSP:安全服务提供


SSS:安全服务说明


WPAN:无线局域网


XML:可扩展语言


ZB:ZIGBEE


ZDO:ZIGBEE设备对象


2.1.1APS


APS提供一个工作台在网络层和应用层之间直接服务于ZDO和厂商自定义设备。


APSDE供给在应用层协议单元在同一个网络中两个或更多设备之间数据传输的发送服务,


包含过滤组地址信息。当然它也能分裂和重组大量信息包,支持数据有效负荷和可靠数据传输。


APSME供给安全服务,绑定数据、制定和移除组地址和维持数据库管理


2.1.2 应用结构


ZIGBEE中的应用结构是ZIGBEE设备上的应用对象中的环境。在应用结构内,这个应用设备发送和接收数据直接通过APSDE-SAP。这个应用对象在完成以下任务后直接到ZDO公共部分。


1.    控制和管理在ZIGBEE设备中的协议层


2.    创建标准网络功能


这个数据服务倘若通过APSDE-SAP,包括请求、确认、回答和指出原始的传递数据。在同等应用实体之间请求支持原始数据传输。请求原语呼叫的结果确定原始报告。指出原始的用于指出数据来自于应用对象目的地文件APS。


2.1.3 地址


2.1.3.1 接点地址


如图所示它们是两个接点,各自包含一个无线收发装置。一个接点包含两个开关,另一个包含4个小灯。 



一个接点包含一个或多个设备和一个IEEE802.15.4的无线收发器。在每个子分组中每个分组为一个独立的接点。但加入网络后,各个接点分配一个地址。


2.1.3.2 终端地址


在图中,开关1控制灯1、2和3,开关2控制灯4。然而一个无线收发器只有唯一的一个地址。它如果不能识别组地址就不能让开关2唯一控制灯4开启。


在IEEE 802.15.4联合装置中,ZigBee提供了一个标准的寻址方式,一个终端能够用于识别各自的灯和开关。每一个灯和开关都有它们各自的终端地址。终端0 是保留用于设备管理和接点地址描述的接点。在各自组中的可以有象开关和小灯这样的接点1~240个。


物理设备用于描述数据的属性,例如自动温度调节装置可以调节房间中的温度。


2.1.4


2.1.4.1应用profiles


应用profiles 是信息、信息格式和处理行为使能创造一个能共同操作的协议,他分布应用于各个单独应用设备之间。这个应用profiles 使能应用 软件发送命令,请求数据和处理命令和请求。例如,一个温度控制装置的接点能与一个火炉接点通信。他们一起就提供了一个热供应应用profiles,


2.1.4.2    串


同 一个profiles中串标示符(ID)相同,对于可以建立绑定关系的两个节点,它们的Cluster的属性必须一个选择“输入”,另一个选择“输出”, 而且ClusterID 值相等。比如在上面的温度调节的例子中,在一个温度ClusterID作为输出和一个温度ClusterID作为输入的设备之 间,对温度绑定。这个绑定表包含ID设备的温度连同地址来源和设备。


2.1.5发现


2.1.5.1 发现设备


设备发现的作用是为什么一个ZIGBEE设备能发现另一个ZIGBEE设备在附近查询发出广播或者单独针对地址单独广播。他们是来自于发现设备的两个请求:IEEE地址请求和网络地址请求,IEEE地址请求是假设网络地址知道而单独广播。网络地址请求是广播所有设备和携带知道的IEEE地址当作数据有效载荷。


在附近发现的设备回复广播或者单播时,将对设备类型进行分类.


1.    ZigBee终端接点:查询发现设备回复时发送他的IEEE或网络地址(依靠请求)


2.    ZigBee协调者设备:查询回复发送他的IEEE或者网络地址和ZigBEE协调者联合的所有设备网络地址。


3.    ZigBee路由设备:查询回复发送他的IEEE或者网络地址和ZigBEE路由联合的所有设备网络地址。


2.1.5.2 服务发现


服务发现是为什么终端接点接收设备能发现附近有外部设备服务可用。服务发现能完成在附近查询每个接点在一个特定设备或用于一个相匹配的设备中的服务(不是广播就是单播)。服务发现利用联合体、使用者、节点或者功率描述加上简单的远程终端地址描述(用于连接应用对象)。


服务发现在ZIGBEE中的作用是连接设备内部网络。通过节点上特殊请求的描述,广播请求给终端支持应用对象和服务匹配对象。对于一个试用工具和应用提供一个选项范围。


网络发现消息同样可以隐藏于网络内部,主要发现隐藏于设备中。


2.1.6 绑定


在ZIGBEE中,这儿是一个应用标准概念,在单独的终端地址或者在不同接点的组地址中用于ClusterID (和包含他们的属性)。他是查阅绑定——在2.1.3.2的例子中,是在应用设备和终端或者组地址之间建立连接。


应用层规范


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支持的原语。每一个原语:


request原语用在上层向下层请求服务或者一个设备的下层向另一个设备的对等层请求服务


confirm原语用在下层向上层返回request要求的服务


response原语用在一个设备的下层向另一个设备的对等层返回request要求的服务


indication原语用在上层不知道网络事件发生的情况下,下层向上层通知该事件的发生


primit_join与direct_join的区别:


这是两种原语,用来设定设备加入网络的方式


NLME-PERMIT-JOINING.request 原语
该原语允许ZigBee协调其或路由器上层设定其MAC层连接许可标志,在一定期间内,允许其他设备同网络连接。之后设备可以通过关联(association)方式加入到网络中,通常都是这种方式


NLME-DIRECT-JOIN.request原语
该原语给出了ZigBee协调器或路由器的上层如何请求直接把另一个设备连接到自己的网络,之后设备只能通过直接(direct)方式加入到网络中,这种方式比较少


End Device Announce原语的用法


从google上找到如下例子


Question:


I noticed in my log that I have a router that issued an "End Device Announce Request" and I thought that would only be sent by an end device. What's going on?


answer :


即是用来向周围结点通告自己刚加入网络


The "End Device Announce" is a bit of a misnomer... In fact, any time a ZigBee device establishes itself on the network with a particular node ID (network address), it emits one of these Device Announce packets to inform surrounding nodes that a new node ID is in use. This could happen for a number of reasons:


PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户443099 2013-5-6 07:56

很好,感谢

用户443985 2013-4-22 17:36

翻译的很好!解决了我很多疑问。

用户1569840 2011-10-14 12:41

转战FPGA,顶

用户1660450 2011-10-5 10:57

还有数学基础很重要

用户235786 2010-11-11 13:41

好家伙,新手上路,正在收集Zigbee的资料。感觉还没入门,感谢楼主。

zigbee_904218839 2010-9-6 08:38

翻译的资料很有必要看,谢谢共享。 希望下次可以一同发布小 zigbee&IAR小组。
相关推荐阅读
用户1481241 2010-09-30 21:56
NOR和NAND的比较
 NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表...
用户1481241 2010-09-30 21:45
lib和dll文件的区别和联系
什么是lib文件,lib和dll的关系如何 (2008-04-18 19:44:37)    (1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态...
用户1481241 2010-09-16 17:33
little endian和big endian
little endian和big endian是表示计算机字节顺序的两种格式,所谓的字节顺序指的是长度跨越多个字节的数据的存放形式.        假设从地址0x00000000开始的一个字中保存有...
用户1481241 2010-09-09 10:01
C++中为数组动态分配内存(飞若网)
在C++中为数组动态分配内存的格式如下: 第一步:声明       type (p)[常量1][常量2]...[常量n];第二步:申请       p=new type[x][常量1][常量2]......
用户1481241 2010-09-09 09:49
复杂指针的使用
你不会每天都使用函数指针,但是,它们确有用武之地,两个最常见的用途是把函数指针作为参数传递给另一个函数以及用于转换表(jump table)     【警告】简单声明一个函数指针并不意味着它马上就可以...
用户1481241 2010-09-07 09:25
malloc()和free()的基本概念以及基本用法
一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针...
EE直播间
更多
我要评论
4
4
关闭 站长推荐上一条 /3 下一条