Zigbee协议栈中文说明.pdf
《Zigbee协议栈中文说明.pdf》由会员分享,可在线阅读,更多相关《Zigbee协议栈中文说明.pdf(228页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Zigbee协议栈中文说明1.概述1.1 解析ZigBee堆栈架构ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了 RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图 1-1给出了这些组件的概况。l.l.l ZigBee 堆栈层每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。这些模板定义了设 备的应用环境、设备类型以及用于设备间通信的簇。公共模板可以确保不同供应商的设备在 相同应用领域中的互操作性
2、。设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。每 个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件层 全务供 安HfiI App Obj 240应用层架构网珞层(NWK)府用支持子层(APS)802 15 4 PHY和MAC层ftllgSAP望理SAP府用层图1-1 zigbe堆栈框架从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个 或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。端点之间的通信是通过称之为簇的数据结构实现的。这些簇是应用对象之间共享信息所需的 全部属
3、性的容器,在特殊应用中使用的簇在模板中有定义。图1-1-2就是设备及其接口的 一个例子:,Mandatory Z23 Output:Cluster naine InterfacesInput:二Optional Interfaces图 1-1-2每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。一共有二个特殊的端点,即 端点0和端点255。端点0用于整个ZigBee设备的配置和管理。应用程序可以通过端点 0与ZigBee堆栈的其它层通信,从而实现对这些层的初始化和配置。附属在端点0的对象 被称为ZigBee设备对象(ZDO)。端点255用于向所有端点的广播。端点241到254是 保留
4、端点。所有端点都使用应用支持子层(APS)提供的服务。APS通过网络层和安全服务提供层与端 点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯 的开关。APS使用网络层(NWK)提供的服务。NWK负责设备到设备的通信,并负责网络中设备初 始化所包含的活动、消息路由和网络发现。应用层可以通过ZigBee设备对象(ZDO)对网络 层参数进行配置和访问。1.1.2 802.15.4 MAC 层IEEE 802.15.4标准为低速率无线个人域网(LR-WPAN)定义了 OSI模型开始的两层。PHY 层定义了无线射频应该具备的特征,它支持二种不同的射频信号,分别位于2450
5、MHz波 段和868/915MHZ波段。2450MHz波段射频可以提供250kbps的数据速率和16个不 同的信道。868/915MHZ波段中,868MHz支持1个数据速率为20kbps的信道,915MHz 支持10个数据速率为40kbps的信道。MAC层负责相邻设备间的单跳数据通信。它负责建立与网络的同步,支持关联和去关联以 及MAC层安全:它能提供二个设备之间的可靠链接。1.1.3 关于服务接入点ZigBee堆栈的不同层与802.15.4 MAC通过服务接入点(SAP)进行通信。SAP是某一特 定层提供的服务与上层之间的接口。ZigBee堆栈的大多数层有两个接口:数据实体接口和管理实体接口
6、。数据实体接口的目标 是向上层提供所需的常规数据服务。管理实体接口的目标是向上层提供访问内部层参数、配 置和管理数据的机制。1.1.4 ZigBee的安全性安全机制由安全服务提供层提供。然而值得注意的是,系统的整体安全性是在模板级定义的,这意味着模板应该定义某一特定网络中应该实现何种类型的安全。每一层(MAC、网络或应用层)都能被保护,为了降低存储要求,它们可以分享安全钥匙。SSP是通过ZDO进行初始化和配置的,要求实现高级加密标准(AES)。ZigBee规范定义 了信任中心的用途。信任中心是在网络中分配安全钥匙的一种令人信任的设备。1.1.5 ZigBee堆栈容量和ZigBee设备根据Zig
7、Bee堆栈规定的所有功能和支持,我们很容易推测ZigBee堆栈实现需要用到设备 中的大量存储器资源。不过ZigBee规范定义了三种类型的设备,每种都有自己的功能要 求:ZigBee协调器是启动和配置网络的一种设备。协调器可以保持间接寻址用的绑定表格,支持关联,同时还能设计信任中心和执行其它活动。一个ZigBee网络只允许有一个ZigBee 协调器。ZigBee路由器是一种支持关联的设备,能够将消息转发到其它设备。ZigBee网格或树型 网络可以有多个ZigBee路由器。ZigBee星型网络不支持ZigBee路由器。ZigBee端终设备可以执行它的相关功能,并使用ZigBee网络到达其它需要与其
8、通信的设 备。它的存储器容量要求最少。然而需要特别注意的是,网络的特定架构会戏剧性地影响设 备所需的资源。NWK支持的网络拓扑有星型、树型和网格型。在这几种网络拓扑中,星型 网络对资源的要求最低。ZigBee堆栈应该可以提供ZigBee规范要求的所有功能,因此制造商的重点工作是开发实 际的应用。为了更加容易实现,如果制造商使用某种公共模板,那么可用大多数现成的配置。如果没有合适的公共模板,则可以充分利用其它模板已经做过的工作创建自己的模板。ZigBee协议栈体系包含一系列的层元件,其中有IEEE802.15.4 2003标准中的MAC层 和PHY层,当然也包括ZigBee组织设计的NWK层。每
9、个层的元件有其特定的服务功能。本说明描述内容涉及ZigBee协议栈的各层元件,但侧重于描述最具实际和理论探讨性的 APL应用层和NWK网络层。图1-1为ZigBee栈结构框图。2.APL应用层介绍2.1.1应用层简介如图2-1所示,ZigBee应用层由三个部分组成,APS子层、ZDO(包含ZDO管理平台)和制造商定义的应用对象。So ur c e:Zigbc c Allia n c e 2004/10/15 Z i gBc e Pr o t o e 1 St a c kSecurity Service ProviderM:-K)Medium Access Control(MAC)Layerss
10、 OQZPhysical(PHY)Layer2 4 GHz MH/Had.一个端口相 当与XP上 的一个进 程,也就是 一 卜应用程图2-1 zigbee协议堆栈分层结构2.1.2应用层框架ZigBee中的应用框架是为驻扎在ZigBee设备中的应用对象提供活动的环境。U 所谓的profile其实就是一个标准,雌个 二)4.-*A-A A I=TBl、IF/4._-j V一一k 最多可以定义240个相对独立的应用程序对象,且任何一个对象的端点编号都是从1到240.此外还有两个附加 的终端节点,为了 APSDE-SAP的使用:端点号0固定用于ZDO数据接口;另外一个端 点255固定用于所有应用对象
11、广播数据的数据接口功能。端点241-254保留(留给未来 扩展使用)。2.1.2.1 应用 Profiles应用profiles是一组统一的消息,消息格式和处理方法,允许开发者建立一个可以共同使 用的分布式应用程序,这些应用是利用驻扎在独立设备中的应用实体来实现的。这些应用 profiles允许应用程序发送命令、请求数据和处理命令的请求。2.122 簇簇标识符可用来区分不同的簇,簇标识符联系着从设备流出和向设备流入的数据。在特殊的 应用profiles范围内,簇标识符是唯一的。2.1.3ZigBee设备对象ZigBee设备对象(ZDO),描述了一个基本的功能函数,这个功能在应用对象、设备pro
12、file 和APS之间提供了一个接口。ZDO位于应用框架和应用支持子层之间。它满足所有在 ZigBee协议栈中应用操作的一般需要。此外ZDO还有以下作用:(1)初始化应用支持子层(APS),网络层(NWK),安全服务规范(SSS)o(2)从终端应用集合中配置的信息来确定和执行安全管理、发现、网络管理、以及绑定管理。ZDO描述了应用框架层中应用对象的公用接口以及控制设备和应用对象的网络功能。在终 端节点0,ZDO提供了与协议栈中与低一层连接的接口,如果是数据则通过APSDE-SAP,如果是控制信息则通过APSME-SAP。Z D 0的具体描述在2.5节。2.1.3.1 设备发现设备发现是ZigB
13、ee设备为什么能发现其他设备的过程。这有两种形式的设备发现请求:IEEE地址请求和网络地址请求。IEEE地址请求是单播到一个特殊的设备且假定网络地址 已经知道。网络地址请求是广播且携带一个已知的IEEE地址作为负载。2.1.3.2 服务发现服务发现是为什么一个已知设备被其他设备发现的能力的过程。服务发现通过在一个已知设 备的每一个端点发送询问或通过使用一个匹配服务(广播或者单播)。服务发现方便定义和 使用各种描述来概述一个设备的能力。服务发现信息在网络中也许被隐藏,在这种情况下,设备提供的特殊服务便可能不在操作发 生的时候到达。2.2 ZigBee应用支持子层APSAPS提供了这样的接口:在N
14、WK层和APL层之间,从ZDO到供应商的应用对象的通用 服务集。这服务由两个实体实现:APS数据实体(APSDE)和APS管理实体(APSME)。(l)APSDE提供在同一个网络中的两个或者更多的应用实体之间的数据通信。通过APSDE 服务接入点(APSDE-SAP);(2)APSME提供多种服务给应用对象,这些服务包含安全服务和绑定设备,并维护管理 对象的数据库,也就是我们常说的AIB。通过APSME服务接入点(APSME-SAP)。2.2.1范围这一小节描述了应用层部分提供的服务规范和生产商定义的应用对象与ZigBee设备对象 之间的接口。规范定义了允许应用对象传输数据的数据服务和提供绑定
15、机制的管理服务。另 外,它还定义了应用支持子层的帧格式和帧类型。如图2-2Sync Header.W电5击格式更多内容见1274 Preamble1 Start of Packet Delimiter7/B Frame lenth1/8 Reser/ePHY HeaderMHRMAC侦头包含当茂的博 和目标地址信息,注意 如果在路透上,这不是 确切的源和量终的目标。产生和应用这个仗头 只为满足应用需要,应 用程序并不受理这个效 据区域2Frame contrl(FCF)0-2 3 4 56 79 AB CD EFFrame TypeSecurity EnabledFrame PendingAc
16、knowledge request Intra PAN ReservedDestination addressing modeReservedSource addressing mode1Squence number420Addfess info22或8 22或8dst.panlD 目标地址 src panlO 源地址8NWKHEADER(nwkCurrentFrame)NWK侦头包含确切的源 和最线的目标地址信 息,应用程序产生和应 用这个便头,还包含桢 外的湃地址,可以通过 其佗宏定义识别源设备 地址。1frameCONLSB1。1 typebits(Val)25 version67 di
17、scoverRoute1frameCONMSB10bits(Val)1 security272 21 1destAddr srcAddr broadcastRadius broadcastsequence(”目标)画切的演)优许的广播半径)APS_HEADER(apsCurrentFrame)APS便头包含当前信息 的配置集群ID和目 标螭口,宋定义提供了 发送(1息时创通此仗头 的质化方法。处理接收 的信息即可确定对应的 璃口.10-1 typeAPS FRAME CON1bit$(Val)23 delnreryModeD 为 4 indirectAddressMode(二,5 securi
18、ty(ffameCON)apsFlags)6 ackRequested71delrveryMode1destEP12clusterlD(J I性的集合)profilelD(是对定标坟备及舁扶口的固化描述)1srcEPAHSpayload2MFRFrame check Sequence图2-2 zig bee帧格式2.2.2目的这小节的目的是定义ZigBee应用支持子层的功能。该功能建立在两个基础之上,一是正确 运行ZigBee网络层的驱动功能,二是制造商定义的应用对象所需要的功能。2.2.3应用支持子层简介应用支持子层给网络层和应用层通过ZigBee设备对象和制造商定义的应用对象使用的一 组服
19、务提供了接口,该接口提供了 ZigBee设备对象和制造商定义的应用对象使用的一组服 务。通过两个实体提供这些服务:数据服务和管理服务。APS数据实体(APSDE)通过与之 连接的SAP,即APSDE-SAP提供数据传输服务。APS管理实体(APSME)通过与之连接 的SAP,即APSME-SAP提供管理服务,并且维护一个管理实体数据库,即APS信息库(NIB)o2.2.3.1 应用支持子层的数据实体(APSDE)APSDE向网络层提供数据服务,并且为ZDO和应用对象提供服务,完成两个或多个设备 之间传输应用层PDUo这些设备本身必须在同一个网络。APSDU将提供如下服务:生成应用层的协议数据单
20、元(APDU):APSDE将应用层协议数据单元(PDU)加上适当 的协议帧头生成应用子层的协议数据单元(PDU)。绑定:两个设备服务和需求相匹配的能力。一旦两个设备绑定了,APSDE将可以把从一个 绑定设备接受到的信息传送给另一个设备。组地址过滤:提供了基于终点组成员的过滤组地址信息的能力。可靠传输:比从网络层仅仅通过端对端的传输增加了可靠性拒绝重复:提供传送的信息不会被重复接收支持大批量的传输:提供两个设备间顺序传输大批量的数据的能力。碎片:当消息的长度大于单个网络层帧时,可以分割并重组消息。流控制:APS提供避免传输消息淹没接收者的措施。阻塞控制:APS层使用尽力原则,提供措施避免传输消息
21、淹没中间网络。2.2.3.2应用支持子层的管理实体(APSME)APSME应提供管理服务支持应用程序符合堆栈。APSME应具有基于两个设备的服务和需求向匹配的能力。该服务称为绑定服务,APSME 应具有能力来构建和维护绑定表来存储这些信息。另外,APSME应提供如下服务:1应用层信息库管理:读取与设置设备应用层信息库属性的能力2安全:与其他设备通过使用安全密钥建立可信关系的能力2.2.4服务规范应用支持子层为上层实体(NHLE)与网络层提供了一个接口。APS层理论上包含一个管理 实体称为APS层,管理实体(APSME)。这个实体通过调用子层的管理函数来提供服务接 口。APSME还负责维护一个关
22、于APS子层管理实体的数据库。这是一个关于APS子层信 息库(AIB)的数据库.图2-3描述了 APS子层的构成和接口。APSDE-SAPAPSDENLDE-SAPAPSME6AP-APSMEAPS IBNWK La yer En t it y图2-3应用支持之层参考模型APS子层通过两个服务指针(SAPs)提供两种服务。APS数据服务通过APS子层数据实 体服务指针SAP(APSDE-SAP),APS管理服务通过APS则层管理实体服务指针 SAP(APSME-SAP).这两个服务通过NLDE-SAP和NLME-SAP接口(见3.2小节)提供 了 NHLE和网络层之间的接口。网络层和APS子层
23、之间的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.
24、1.1.1 服务原语的语法该原语的语法如下:APSDE-DATA_requestmt n o t pr esen t0 x 02=16-bit a d d r ess fo r Dst Ad d r ess a n d Dst En d po in t pr esen t0 x 03-Ox ff=r eser v edDst Ad d r essAd d r essAs spec ified by t he Dst Ad d r Mo d epa r a met erThe in d ix id ua l d ev ic e a d d r ess o r gr o up a d d r es
25、s t o whic h t he ASDU is d ir ec t edDst En d po in tIn t eger0 x 00-Ox ffThe t a r get en d po in t o n t he lo c a l en t it y fr o m whic h t he ASDU ha s been r ec eiv edSr c Ad d r Mo d eIn t eger0 x 00-Ox ffThe a d d r essin g mo d e fo r t he so ur c e a d d r ess used in t his pr umn v e a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Zigbee 协议 中文 说明
限制150内