立即注册
查看: 2682|回复: 14

[转载] Zigbee的MAC层命令详解

已绑定手机
已实名认证
发表于 2021-8-30 18:01:49 | 显示全部楼层 |阅读模式 来自 广东省深圳市
ZigBee规范只定义了Zigbee的网络层和应用层,MAC层则属于802.15.4规范中定义的内容。我们在做产品开发时,可能比较少关注MAC层的内容。倘若能对MAC层命令有所了解,对我们分析Zigbee空中抓包会有很大的帮助。本文旨在阐述Zigbee的MAC层命令。

根据802.15.4规范中的定义,MAC层包含4种类型的帧:
Beacon(b000)
Data(b001)
MAC ACK(b010)
MAC Command(b011)

下面对这4种类型的帧进行简要分析,其中重点介绍命令帧的功能。
1. Beacon
Beacon主要用于设备加网和Rejoin过程中,它是对接收Beacon Request的回应。因此,只有Router设备才会回复Beacon。
在《Zigbee设备的扫描方式》一文中提到,Active Scan的过程中Router设备收到扫描设备发送的Beacon Request时会回复Beacon,以告知扫描设备自己所处网络的相关信息。简而言之,Beacon的payload中含有与网络相关的重要信息。
如下图所示:Beacon payload中的Router Capacity和End Device Capacity位域分别表示该设备是否有能力让其它Router设备或End Device通过其加入网络。此外,payload中也包含所处网络的Extended PAN ID等信息。
1.jpg

2. Data
Data表示MAC层的数据帧,也就是给更高层(网络层)传递数据帧和命令帧。换句话说,只要是传递到网络层的任何帧对MAC层来说都是数据帧。如下图所示,MAC层帧的Frame Control中Frame Type为0x01,表示该条消息是一个数据帧。
2.jpg

3. MAC ACK
MAC ACK即MAC层的应答帧,表示接收方已经接收发射方发送的数据包并进行应答确认。除了Beacon和广播之外,大部分Zigbee数据包被对方收到之后都需要返回MAC ACK。每一条数据包的MAC层FrameControl中会指明是否需要对方返回MAC ACK。如上图所示,当ACK Required位域为true时,则表明该条数据需要接收方返回MAC ACK。
因此,MAC ACK可以用于判断接收方是否收到发送方发送的数据包。如果发送方收到接收方返回的MAC ACK,则说明接收方已经收到我们发送的数据包。否则,说明通信链路可能有问题。如果没有收到MAC ACK,则会对该条数据包进行重传,MAC层的最大重传次数为3次。

4. MAC Command
802.15.4规范定义了MAC层的命令帧,其中用于Zigbee的命令帧如下,其中括号里为每条命令帧对应的命令ID。
Association Request(0x01)
Association Response(0x02)
Disassociation Notification(0x03)
Data Request(0x04)
PAN ID Conflict Notification(0x05)
Orphan Notification(0x06)
Beacon Request(0x07)
Coordinator realignment(0x08)

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2021-12-8 11:30:45 | 显示全部楼层 来自 广东省广州市
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
已绑定手机
发表于 2021-12-28 11:37:19 | 显示全部楼层 来自 北京市海淀区
感谢分享
已绑定手机
发表于 2022-1-9 12:05:28 | 显示全部楼层 来自 广东省深圳市
好资料,感谢分享
发表于 2022-4-22 17:07:58 | 显示全部楼层 来自 广东省深圳市
谢谢分享
发表于 2022-7-18 21:52:47 | 显示全部楼层 来自 广东省广州市
讲解得真详细,学习了
已绑定手机
发表于 2022-8-2 16:18:15 | 显示全部楼层 来自 广东省深圳市
学习了, 感谢分享!!!
已绑定手机
发表于 2022-8-12 08:35:23 | 显示全部楼层 来自 广东省中山市
学习学习,谢谢!
已绑定手机
发表于 2022-10-17 14:10:09 | 显示全部楼层 来自 广东省深圳市
nice有所帮助
已绑定手机
发表于 2022-10-24 06:38:16 | 显示全部楼层 来自 浙江省杭州市
回复一下看一看
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表