Zigbee技术规范与协议栈分析Zigbee协议栈ZSTACK作为Zigbee技术的核心,是开发802154Zigbee必须掌握的关键技术。协议栈发展至今已有四种版本见表1,尽管实现功能越发完善,但是并未移植标准的操作系统统一任务调度,嵌套相当复杂,而显得源代码的可读性和可操作性较差,开发者在理解和实现协议的过程中仍会遇到很多困难。本文通过对最典型的、起到承上启下作用的Zigbee2006协议栈的解读,对协议程序的运行过程提供一种准确的解释分析,降低开发者的阅读难度和工作量,为协议栈自身的发展、Zigbee设备的开发及应用的推广提供强有力的技术支持。
1协议栈体系结构及规范Zigbee协议栈体系结构如图1所示1,协议栈的层与层之间通过服务接入点SAP进行通信。SAP是某一特定层提供的服务与上层之间的接口。大多数层有两个接口:数据实体接口和管理实体接口。数据实体接口的目标是向上层提供所需的常规数据服务;管理实体接口的目标是向上层提供访问内部层参数、配置和管理数据的服务2。
f11物理层服务规范物理层通过射频固件和硬件提供MAC层与物理无线信道之间的接口。从概念上说,物理层还应包括物理层管理实体PLME,以提供调用物理层管理功能的管理服务接口;同时PLME还负责维护物理层PAN信息库PHYPIB。物理层通过物理层数据服务接入点PDSAP提供物理层数据服务;通过物理层管理实体服务接入点PLMESAP提供物理层管理服务。12MAC层服务规范MAC层提供特定服务会聚子层SSCS和物理层之间的接口。从概念上说,MAC层还应包括MAC层管理实体MLME,以提供调用MAC层管理功能的管理服务接口;同时MLME还负责维护MACPAN信息库MACPIB。MAC层通过MAC公共部分子层MCPS的数据SAPMCPSSAP提供MAC数据服务;通过MLMESAP提供MAC管理服务。这两种服务通过物理层PDSAP和PLMESAP提供了SSCS和PHY之间的接口。除了这些外部接口外,MCPS和MLME之间还隐含了一个内部接口,用于MLME调用MAC数据服务。13应用层规范Zigbee应用层包括APS子层、ZDO包含ZDO管理平台和厂商定义的应用对象。应用支持子层APS提供了网络层NWK和应用层APL之间的接口,功能是通过ZDO和厂商定义的应用对象都可以使用的一组服务来实现。数据和管理实体分别由APSDESAP和APSMESAP提供。APSDE提供的数据传输服务在同一网络的两个或多个设备之间传输应用层PDU;APSME提供设备发现和绑定服务,并维护管理对象数据库APS信息库AIB。14网络层规范网络层应提供保证IEEE802154MAC层正确工作的r