外观
1.2 IEEE 802.15.4协议
要讨论 ZigBee 技术,自然绕不开 IEEE 802.15.4 协议,因为 ZigBee 的物理层和 MAC 层就是 IEEE 802.15.4 协议。
IEEE 是一个组织,叫作"电气和电子工程师协会",802.15 是这个协会里面的一个部门,部门里的第 4 工作组开发了一个协议,就叫 IEEE 802.15.4 协议。这个协议是专门为低速无线个人区域网络(Low-rate wireless personal area network,WPAN)而设计的,具有超低复杂度、超低功耗、低数据传输率的特点。

物理层
IEEE 802.15.4 的物理层作为 ZigBee 协议结构的最低层,提供了最基础的服务。通常地,作为 ZigBee 技术的应用开发者,只需通俗地理解物理层的主要作用是将一个设备的数据转换为电磁波信号之后发送到另一个设备,再由另一个设备解读电磁波信号获取数据。

IEEE 802.15.4 提供了基于 2.4GHz、868MHz 以及 915MHz 电磁波频带的 3 种物理层协议。这 3 者之间存在一些差异:
地域差异 在世界各地均能使用 2.4GHz,但是 868MHz 和 915MHz 只能分别在欧洲和美国中使用。因此,在中国,ZigBee 协议是基于 2.4GHz 的。
通信速率差异 2.4GHz 物理层支持 240kb/s 的数据率,而 868MHz 和 915MHz 物理层的数据率分别是 20kb/s 和 40kb/s。
信道数量的差异 868MHz 频段定义了一个信道,915MHz 频段定义了 10 个信道,2.4GHz 频段定义了 16 个信道。
2.4GHz 频段的信道定义在 Z-Stack 3.0 的工程文件 Tools/f8wConfig.cfg 中,该工程文件所在位置如图所示。

配置文件 f8wConfig.cfg 中默认开启的是 2.4G 频段的 11 信道,关于信道的定义如下:
/* Default channel is Channel 11 - 0x0B */
// Channels are defined in the following:
// 0 : 868 MHz 0x00000001
// 1 - 10 : 915 MHz 0x000007FE
// 11 - 26 : 2.4 GHz 0x07FFF800
//
//-DMAX_CHANNELS_868MHZ 0x00000001
//-DMAX_CHANNELS_915MHZ 0x000007FE
//-DMAX_CHANNELS_24GHZ 0x07FFF800
//-DDEFAULT_CHANLIST=0x04000000 // 26 - 0x1A
//-DDEFAULT_CHANLIST=0x02000000 // 25 - 0x19
//-DDEFAULT_CHANLIST=0x01000000 // 24 - 0x18
//-DDEFAULT_CHANLIST=0x00800000 // 23 - 0x17
//-DDEFAULT_CHANLIST=0x00400000 // 22 - 0x16
//-DDEFAULT_CHANLIST=0x00200000 // 21 - 0x15
//-DDEFAULT_CHANLIST=0x00100000 // 20 - 0x14
//-DDEFAULT_CHANLIST=0x00080000 // 19 - 0x13
//-DDEFAULT_CHANLIST=0x00040000 // 18 - 0x12
//-DDEFAULT_CHANLIST=0x00020000 // 17 - 0x11
//-DDEFAULT_CHANLIST=0x00010000 // 16 - 0x10
//-DDEFAULT_CHANLIST=0x00008000 // 15 - 0x0F
//-DDEFAULT_CHANLIST=0x00004000 // 14 - 0x0E
//-DDEFAULT_CHANLIST=0x00002000 // 13 - 0x0D
//-DDEFAULT_CHANLIST=0x00001000 // 12 - 0x0C
-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B知识点
在不同的信道中创建的 ZigBee 网络互不干扰,但在相同的信道下,也可以组建多个独立的 ZigBee 网络,那么如何区分在相同的信道下构建的多个 ZigBee 网络?
答案是每个 ZigBee 网络都会被分配一个唯一的 ID 号,称为"PanID",可以利用 PanID 来区分相同信道中的不同 ZigBee 网络。
MAC 层
如果有多个网络设备都要发送数据,那么需要怎么控制它们有序地来发送数据呢?

为了解决这个问题,媒体接入控制层(MAC,Media Access Control)应运而生。
媒体接入控制层,是建立在物理层之上,它不关心数据是怎么转换成电磁波信号、电磁波的频率是多少等,它只关心自己负责那部分,也就是:
第 1,将设备划分为协调器和普通设备;
第 2,协调器产生并发送信标帧,普通设备根据协调器的信标帧与协调器同步;
第 3,个域网的关联和取消关联;
第 4,确保无线信道的通信安全;
第 5,支持带有冲突避免的载波侦听多路访问(CSMA/CA);
第 6,提供时槽保障(GTS,Guaranteed Time Slot)服务;
第 7,提供不同设备之间的 MAC 层的可靠传输服务。
同样地,我们暂时只需通俗地理解 MAC 层的主要作用是控制多个网络设备有序地进行可靠通信。
MAC 地址
ZigBee 网络中的每一个设备都会有一个固定的 MAC 地址,也称为物理地址或者 IEEE 地址,用于标识 MAC 层设备的地址。MAC 这是一个 64 位的二进制地址,通常由芯片厂商在芯片生产过程固化到芯片中的。
内容来源:紫甲 IoT《ZigBee 3.0 开发指南》第四部分·1.2 IEEE 802.15.4协议,原站链接
AI 伴学本章知识点智能答疑
👋 你好!我是本节课程的 AI 伴学助手。
可以问我:
请先 配置模型 API 后开始对话