NXP

ZigBee 3.0协议体系结构简介

2019-07-12 13:13发布

本文将介绍ZigBee 3.0协议体系结构及各个层的功能服务,让读者对3.0协议体系结构有一个整体把握,以便于后期的开发操作。ZigBee 3.0协议栈体系结构是由一些模块组成的,我们叫“层”。图1显示了ZigBee 3.0协议栈体系结构。 如图1,IEEE802.15.4定义了物理层和MAC层,而Zigbee联盟定义了网络层、应用层的技术规范。每一层为其上层提供特定的服务,即由数据实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。                                  图 1  ZigBee 3.0协议栈体系结构 体系结构从上到下依次为: 物理层PHY 物理层定义了物理无线信道和MAC 子层之间的接口,提供物理层数据服务和物理层管理服务。 物理层频率范围: 868/915 MHz 和 2.4 GHz。2.4 GHz波段射频可以提供250kbps的数据速率和16个不同的信道。868/915MHz波段中,868MHz支持1个数据速率为20kbps的信道,915MHz支持10个数据速率为40kbps的信道。 MAC子层 MAC子层通过CSMA/CA机制控制无线电信道。它的职责还可以包括发送信标帧、同步和提供可靠的传输机制。MAC层负责相邻设备间的单跳数据通信。 网络层NWK 网络层提供相应的功能以确保MAC子层的正确操作并为应用层提供合适的服务接口。为了给应用层提供接口,网络层在概念上包括两个提供必要功能的服务实体——NWK层数据实体(NLDE)和NWK层管理实体(NLME)。NLDE-SAP提供数据传输服务,NLME-SAP提供管理服务。 NLME利用NLDE来实现其一些管理任务,并且还维护一个称为网络信息库(NIB)的托管对象数据库。图2描述了NWK层的组件和接口。 NWK支持星型、树型和网状拓扑。星型网络由单一设备coordinator控制。Coordinator的职责主要是初始化和维护设备在网络中。其他装置都称为end device,直接与coordinator通信。树状和网状网络中,coordinator负责创建网络并选择一些关键网络参数。网络可通过router进行扩展。在树状网络中,router通过分层路由策略传递数据和控制信息。树状网络可以采用信标定向通信,如IEEE 802.15.4规范中所描述。网状网络允许对等实体间的通信,Router当前不发射常规IEEE 802.15.4信标。该规范只描述intra-PAN networks,即通信在同一网络内开始和终止的网络。 应用层(APL) 应用层为体系结构的顶层,包括应用支持子层(APS)、ZigBee 设备对象(ZDO)和制造商所定义的应用对象(在应用框架层)。 APS子层(ZigBee Application Support Sub-Layer) 介于网络层和应用层之间,指定了应用层提供服务规范和接口的部分,该规范定义了允许应用对象传输数据的数据服务,以及提供绑定的管理服务,如图3所示: • APS数据实体(APSDE)通过APSDE服务接入点(APSDE-SAP)。APSDE在同一个网络中的两个或多个应用实体之间提供数据传输服务; • APS管理实体(APSME)通过APSME服务接入点(APSME-SAP)。APSME给应用对象提供一系列服务,包括安全服务和设备绑定。它还维护被管理对象的数据库,称为APS信息库(AIB)。 此外,它还定义了该子层帧格式和帧类型规范。 应用框架(Application Framework)                                       图 2 NWK参考模型                                     图 3 APS子层参考模型 ZigBee中的应用框架是应用对象在ZigBee设备上存在的环境。 应用框架最多可以定义254个不同的应用对象,每个对象由1到254的端点地址标识。和APS之间的接口APSDE-SAP为EndPoint 1-254,ZDO和APS之间接口是Endpoint 0,广播数据到所有应用对象的接口是Endpoint255。Endpoint 241-254未经ZigBee联盟允许不能使用。GreenPower cluster的接口是Endpoint242。 此外,应用程序配置文件和Clusters也在该层定义。 应用程序配置文件是消息、消息格式和处理动作的协议,这些协议允许开发人员使用在独立设备上的应用实体,创建可互操作的分布式应用程序。这些应用程序配置文件使应用程序能够发送命令、请求数据和处理命令和请求,是在ZigBee网络上进行设备间通信的关键。Cluster由Cluster标识符标识,该标识符与流出或进入设备的数据相关联。Cluster标识符在特定应用程序配置文件的范围内是唯一的。 此外,ZigBee设备使用描述符数据结构来描述它们自身。这些描述符中包含的实际数据是在各个设备描述中定义的。ZigBee描述符共分为五种,如表1所示。 ZDO(zigbee device objects),zigbee设备对象 ZDO提供应用程序对象、设备配置文件和APS三者之间的接口和基本功能。ZDO在应用框架和APS子层之间。ZDO职能如下: • 初始化APS子层、网络层、安全服务提供者(SSP)和其他除了驻留在端点1-254上的终端应用程序以外的设备层。 • 从终端应用程序集合配置信息,以确定并实现“发现”、安全管理、网络管理和绑定管理。 ZDO向应用框架层中的应用对象公开公共接口,以通过应用对象控制设备和网络功能。ZDO与ZigBee协议栈的较低层的接口在Endpoint 0上,通过APSDE-SAP进行数据传输,并通过APMES-SAP和NLME-SAP进行控制消息。公共接口在ZigBee协议栈的应用框架层内提供设备的地址管理、发现、绑定和安全功能。 设备发现是ZigBee设备可以发现其他ZigBee设备的过程。有两种形式的设备发现请求:IEEE地址请求和NWK地址请求。IEEE地址请求是单播到特定设备并且假定NWK地址是已知的。NWK地址请求被广播并携带已知的IEEE地址作为数据有效载荷。 服务发现是指由其他设备发现给定设备的过程。服务发现可以通过对给定设备上的每个端点发出查询或使用匹配服务特征(广播或单播)来完成。服务发现定义并使用各种描述符来概述设备的能力。服务发现信息也可以在网络中缓存,当“发现”服务操作进行时,提供该服务的设备可能不可访问。 表 1 描述符类型 描述符名称 状态 描述 Node M 节点的类型和能力 Node power M 节点电源特性 Simple M 包含在节点里的设备描述 Complex O 设备描述的进一步信息 User O 定义的使用者的描述符 (M:mandatory 强制性的      O:optional  可选择的)