ZigBee协议栈建立在IEEE 802.15.4的物理层和MAC子层规范之上。它实现了网络层(Network Layer,NWK)和应用层(Application Layer,APL)。在应用层内提供了应用支持子层(Application Support Sub-layer,APS)和ZigBee设备对象(ZigBee Device Object,ZDO)。应用框架中则加入了用户自定义的应用对象,其体系结构如图4-6所示。
根据IEEE 802.15.4标准的定义,物理层实现了如下功能:信道能量检测(Energy De-tected)、链路质量指示(Link Quality Indication,LQI)、接收发送数据、空闲信道评估(Clear Channel Assessment CCA)等。
1)信道能量检测为网络层提供信道选择依据。它主要测量目标信道中接收信号的功率强度,由于这个检测本身不进行解码操作,所以检测结果是有效信号功率和噪声信号功率之和。
2)链路质量指示为网络层或者应用层提供接收数据帧时无线信号的强度和质量的信息,与信道能量检测不同的是,它要对信号解码,生成的是一个信噪比指标。这个信噪比指标和物理层数据单元一起提交给上层处理。
3)空闲信道评估判断信道是否空闲。IEEE 802.15.4定义了3种空闲信道评估模式:第一种,简单判断信道的信号能量,当信号能量低于某一个门限值就认为信道空闲;第二种是通过判断无线信号的特征,这个特征主要包括两个方面,即扩频信号和载波频率;第三种模式是前两种模式的综合,同时检测信号强度和信号特征,给出信道空闲判断。
MAC层完成如下6个方面的功能:协调器产生并发送信标帧,普通设备根据协调器的信标帧与协调器同步;支持PAN的关联(Association)和取消关联(Disassociation)操作;支持无线信道通信安全;使用CSMA-CA机制共享物理信道;支持时隙保障(Guaranteed Time Slot,GTS)机制;为两个对等的MAC实体提供可靠的数据链路。
MAC层帧结构的设计目标是用最低复杂度实现在多噪声无线信道环境下的可靠数据传输。每个MAC子层的帧都由帧头、负载和帧尾三部分组成。帧头由帧控制信息、帧序列号和地址信息组成。MAC子层负载具有可变长度,具体内容由帧类型决定。帧尾是帧头和负载数据的16位CRC序列。(www.xing528.com)
从图4-6中不难看出,应用层(APL)是整个协议栈的最高层,包含应用支持子层(Application Support Sub-layer,APS)和ZigBee设备对象(ZDO)以及厂商自定义的应用对象。
1)应用支持子层(APS)提供了两个接口,分别是:应用支持子层数据实体服务访问点(APSDE-SAP)和应用支持子层管理实体服务访问点(APSME-SAP)。APS主要负责维护设备绑定表。设备绑定表能够根据设备的服务和需求将两个设备进行匹配。APS根据设备绑定表能够在被绑定的设备之间进行消息传递。APS的另一个功能是能够找出在一个设备的个人操作空间(POS)内其他哪些设备正在进行操作。
图4-6 ZigBee协议栈体系结构
2)ZigBee设备对象(ZDO)的功能包括负责定义网络中设备的角色,如协调器或者终端设备。还包括对绑定请求的初始化或者响应,在网络设备之间建立安全联系等。实现这些功能,ZDO使用APS的APSDE-SAP和网络层的NLME-SAP。
3)厂商自定义的应用对象实际上就是运行在ZigBee协议栈上的应用程序。这些应用程序使用ZigBee联盟给出的并且批准的规范(profile)进行开发,并且运行在端点1~240上。NWK层是协议栈实现的核心层,它负责网络的建立、设备的加入、路由搜索、消息传递等相关功能。这些功能将通过网络层数据服务访问点NLDE-SAP和网络层管理服务访问点NLME-SAP向协议栈的应用层提供相应的服务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。