上一篇整理了关于Zigbee协议的一些基础知识,接下来主要讨论Zigbee协议的架构,希望通过这篇文章能够帮助小伙伴们更好地理解Zigbee协议,废话不多说,进入正题吧。
文章目录
- 一、Zigbee协议架构
- 二、Zigbee协议的数据帧结构
- 总结
一、Zigbee协议架构
Zigbee协议的架构可以分为四层:
- 物理层(PHY)
- 媒体访问控制层(MAC)
- 网络层(NWK)
- 应用层(APS)
一部分是IEEE802.15.4定义的物理层和MAC层技术规范;另一部分是Zigbee联盟在IEEE802.15.4基础上对Zigbee协议的网络层协议和应用层定义的技术规范;
PHY层
1)ZigBee 设备的激活;
2)当前信道的能量检测;
3)接收链路服务质量信息;
4)ZigBee 信道接入方式;
5)信道频率选择;
6)数据传输和接收。
物理层定义了物理无线信道和MAC 子层之间的接口,提供物理层数据服务和物理层管理服务。物理层数据服务从无线物理信道上收发数据。物理管理服务维护一个由物理层相关数据组成的数据库。
MAC 层
1)网络协调器产生信标;
2)与信标同步;
3)支持PAN(个域网)链路的建立和断开;
4)为设备的安全性提供支持;
5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;
6)处理和维护保护时隙(GTS)机制;
7)在两个对等的MAC 实体之间提供一个可靠的通 信链路。
NWK层
1)产生网络层的数据包:当网络层接受到来自应用子层的数据包,网络层对数据包进行解析,然后加上适当的网络层包头向MAC传输。
2)网络拓扑的路由功能:网络层提供路由数据包的功能,如果包的目的节点是本节点的话,将该数据包向应用子层发送。如果不是,则将该数据包转发给路由表中下一结点。
3)配置新的器件参数:网络层能够配置合适的协议,比如建立新的协调器并发起建立网络或者加入一个已有的网络。
APS层
Zigbee应用层包括应用支持子层APS、应用框架AF、Zigbee设备对象ZDO。它们共同为各应用开发者提供统一的接口。
–应用支持子层APS
负责提供一个数据服务给应用和Zigbee设备规范。也提供一个管理服务以维护绑定链接和它字节绑定表的存储。应用框架AF提供了一个如何在Zigbee协议栈上及案例一个规范的描 述。它规定了规范的一系列的标准数据类型,协助服务发现的描述符,传输数据的帧格式等等。
–Zigbee设备对象ZDO
ZigBee设备对象(ZDO)定义了一个设备在网络中的角色 (协调器、路由器或者终端节点),发起或者应答绑定和发现请求,并在网络设备间建立一个安全关系。它同时也提供定义了Zigbee设备规范里的一套丰富的管理指令。
二、Zigbee协议的数据帧结构
在上面提到过Zigbee协议是在IEEE 802.15.4的基础上建立起来的,所以在了解Zigbee协议的数据帧格式之前,先让我们看看IEEE 802.15.4协议定义的数据帧结构,下图是其数据帧结构图。
由IEEE 802.15.4数据帧结构图可以看到各个帧结构的组成,IEEE802.15.4定义的数据帧有两层,MAC层数据帧嵌套在PHY层的数据域中:
SHR(同步帧头):
- Preamble Sequence(同步序列码)
- Start of Frame DElimiter(帧定界符)
PHR(物理层数据帧头):
- Frame Length(帧长)
PSDU(物理层数据域):
- MPDU(MAC层数据帧)
MHR:
Frame Control(帧控制)
Data Sequence Number(数据包序列号)
Address Information(地址域)
MSDU(有效载荷):
Data Payload(MAC数据域)
MFR(帧校验):
FCS(帧尾)
以上就是IEEE802.15.4协议定义的数据帧格式,Zigbee协议的数据帧格式其实就是在MAC层的数据域上增加了NWK、APS两层的数据帧,其数据帧格式结构图如下: