偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.
全部博文(1750)
分类: 其他平台
2021-08-10 10:07:06
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
数据帧头 |
|
|
|
|
DevAddr |
FCtrl |
FCnt |
FOpts |
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
数据帧 |
Preamble |
PHDR |
PHDR_CRC |
MHDR |
FHDR |
FPort |
FRMPayload |
MIC |
CRC |
|||
MAC层 |
Preamble |
PHDR |
PHDR_CRC |
MHDR |
MACPayload |
MIC |
CRC |
|||||
PHY层 |
Preamble |
PHDR |
PHDR_CRC |
PHYPayload |
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
Class B 模式的上行帧
Class B 模式的上行帧和 Class A 的基本一样,除了帧头Fctrl字段的RFU位域有所不同。在 Class A 上行帧中这个位没有使用(RFU),而在 Class B 中有使用。
Bit# |
7 |
6 |
5 |
4 |
[3..0] |
---|---|---|---|---|---|
FCtrl bits |
ADR |
ADRACKReq |
ACK |
Class B |
FOptsLen |
上行帧中的 Class B 位域置为1,用于通知network server设备已切换到 Class B 模式,准备好接收下行ping包。
下行帧的FPending位域的定义是不变的,仍然和Class A的定义一样,表示server有多个下行帧要下发,设备应当继续接收。
下行 Ping 使用和 Class A 下行帧相同的帧格式,但必须采用一个不同的信道频率计划。
消息可以是单播和多播形式。单播消息发给单个终端,而多播消息发给多个终端。一个多播组里的设备共享相同的多播地址。LoRaWAN Class B 协议中并没有明确规定如何去建立这样的多播组,以及如何安全地分配多播密钥。这必须通过 节点个性化设置 或者 通过应用层 来实现。
单播下行 Ping 帧的 MAC 载荷格式和 Class A 的定义一样。终端的处理也采用相同的方式。同时也采用相同的帧计数,在收到 Class B ping 时隙或者 Class A 应答时隙时都进行递增处理。
多播帧和单播帧大部分都一样,仅有一些区别:
下行ping帧格式(仅Class B)
11.1 物理帧格式
11.2 单播和多播 MAC 消息
11.2.1 单播 MAC 消息格式
11.2.2 多播 MAC 消息格式
点击(此处)折叠或打开