外观
01 · ZigBee 3.0 协议栈结构
对应底座:第四部分·1.1 协议层次结构
学习目标
- 掌握 ZigBee 协议栈的分层架构
- 理解 PHY / MAC / 网络层 / 应用层各层职责
- 理解应用端点(EndPoint)与 ZCL / ZDO / BDB 的作用
协议层次结构
ZigBee 协议采用分层设计,自下而上依次为物理层、MAC 层、网络层与应用层:
mermaid
flowchart TB
subgraph 应用层
ZCL["ZigBee Cluster Library (ZCL)"]
AF["Application Framework (AF)<br/>EndPoint 0 / 1 / ... / 240"]
end
APS["Application Support Sub-layer (APS)"]
NWK["Network Layer(网络层)"]
MAC["IEEE 802.15.4: MAC Layer"]
PHY["IEEE 802.15.4: PHY Layer"]
BDB["Base Device Behavior (BDB)"]
ZCL --> AF
AF --> APS
APS --> NWK
NWK --> MAC
MAC --> PHY
BDB -.-> AF各层职责
| 层次 | 名称 | 主要职责 |
|---|---|---|
| PHY 层 | 物理层(IEEE 802.15.4) | 将设备数据转换为电磁波信号发送/接收 |
| MAC 层 | 介质访问层(IEEE 802.15.4) | 控制多个设备有序利用无线信道通信 |
| NWK 层 | 网络层 | 多设备组网、数据传输、网络安全管理(ZigBee 核心协议) |
| APS 子层 | 应用支持子层 | 网络层到应用框架的过渡:数据收发、安全加密、设备地址管理 |
| AF 框架 | 应用框架层 | 由多个应用端点组成,是设备间通信的出入端口 |
| ZCL | ZigBee 集群库 | ZigBee 3.0 的基础,保证不同厂商设备互联互通 |
| ZDO | ZigBee 设备对象 | 即端点 0:设备管理、组网入网、端点绑定、安全管理 |
| BDB | 基础设备行为 | 定义设备行为规范,保证互操作性(组网核心) |
应用端点(EndPoint)
应用端点是不同设备间通信的出入端口,也是描述设备功能的依据:
- 每个 ZigBee 设备最多支持 240 个应用端点(1~240)
- 端点 0 为特殊端点,承载 ZDO(ZigBee 设备对象)
- 端点 255 用于向其他端点广播
- 端点 241~254 为保留端点
类比理解
端点类似于网络服务器的"端口号"。例如 HTTP 服务端口 80,浏览器访问 baidu.com:80 即与 HTTP 服务通信。ZigBee 协调器的端点 1 向智能插座的端点 1 发送"打开插座"命令,就是端点间的通信。
| 设备示例 | 端点 | 描述的功能 |
|---|---|---|
| ZigBee 智能灯 | EndPoint 1 | 灯的开关、亮度 |
| ZigBee 智能插座 | EndPoint 1 | 插座的开关功能 |
关键组件
- ZCL(ZigBee 集群库):ZigBee 3.0 的基础,统一设备功能描述,是不同厂商设备互联互通的关键
- ZDO(ZigBee 设备对象):即应用端点 0,管理 ZigBee 设备、创建/扫描/加入网络、端点绑定、安全管理
- BDB(基础设备行为):定义设备初始化、Commissioning、重置与安全过程,确保互操作性
课后自测
- ZigBee 协议栈分几层?各层的主要职责是什么?
- 一个 ZigBee 设备最多支持多少个应用端点?端点 0 有什么特殊作用?
- 什么是 ZCL?为什么它对不同厂商设备互联互通很重要?
内容来源:紫甲 IoT《ZigBee 3.0 开发指南》第四部分·1.1,原站链接