LoRaWAN1.0.2中文版

本文详细介绍了LoRaWAN 1.0.2规范中的MAC帧格式,包括MAC层PHYPayload、MHDR帧头、MACPayload及其子字段,并详细阐述了MAC命令的使用,如连接检查、连接ADR、终端发射占空比等,深入解析了LoRaWAN的低功耗通信机制和帧结构。
摘要由CSDN通过智能技术生成

版本管理

 

目录

第4章 MAC帧格式... 1

前言... 1

4.1 MAC层(PHYPayload) 2

4.2 MHDR帧头... 2

4.2.1 消息类型(MType位字段) 2

4.2.2 数据消息的主版本(Major位字段) 3

4.3 MAC载荷(MACPayload) 4

4.3.1 帧头(FHDR) 4

4.3.2 端口字段(FPort) 8

4.3.3 MAC帧载荷加密(FRMPayload) 9

4.4 消息校验码(MIC) 10

第5章 MAC命令... 11

5.1 连接检查命令(LinkCheckReq, LinkCheckAns) 13

5.2 连接ADR命令 (LinkADRReq, LinkADRAns) 13

5.3 终端发射占空比 (DutyCycleReq, DutyCycleAns) 16

5.4 接收窗口参数 (RXParamSetupReq, RXParamSetupAns ) 16

5.5 终端设备状态 (DevStatusReq, DevStatusAns) 18

5.6 创建/修改信道 (NewChannelReq, NewChannelAns, DlChannelReq, DlChannelAns) 19

5.7 设置收发时延 (RXTimingSetupReq, RXTimingSetupAns) 22

5.8 终端传输参数(TxParamSetupReq, TxParamSetupAns) 23

 

 

 

第4章 MAC帧格式

前言

LoRa所有上下行链路消息都会携带PHY载荷,PHY载荷以1字节MAC帧头(MHDR)开始,紧接着MAC载荷(MACPayload),最后是4字节的MAC校验码(MIC)

射频PHY层:

Preamble

PHDR

PHDR_CRC

PHYPayload

CRC

5.射频PHY结构(注意 CRC只有上行链路消息中存在)

PHY载荷:

MHDR

MACPayload

MIC

或者

MHDR

Join-Request

MIC

或者

MHDR

Join-Response

MIC

6.PHY载荷结构

MAC载荷:

FHDRFrame Header

FPort

FRMPayload

FHDR(见4.3.1章节):

DevAddr

FCtrl

FCnt

FOpts

8.帧头结构

4.1 MAC层(PHYPayload)

Size (bytes)

1

1..M

4

PHYPayload

MHDR

MACPayload

MIC

MACPayload字段的最大长度M,在第6章有详细说明。

4.2 MHDR帧头

Bit#

7..5

4..2

1..0

MHDR bits

MType

RFU

Major

MAC头中指定了消息类型(MType)和帧编码所遵循的LoRaWAN规范的主版本号(Major)

4.2.1 消息类型(MType位字段)

LoRaWAN定义了六个不同的MAC消息类型:join request, join accept, unconfirmed data up/down, 以及 confirmed data up/down

MType

描述

000

Join Request

001

Join Accept

010

Unconfirmed Data Up

011

Unconfirmed Data Down

100

Confirmed Data Up

101

Confirmed Data Down

110

RFU

111

Proprietary

1.MAC消息类型

4.2.1.1 Join-request and join-accept 消息

join-requestjoin-accept都是用在空中激活流程中,具体见章节6.2

4.2.1.2 Data messages

Data messages 用来传输MAC命令和应用数据,这两种命令也可以放在单个消息中发送。 
Confirmed-data message
接收者需要应答。 
Unconfirmed-data message
接收者则不需要应答。 
Proprietary messages
用来处理非标准的消息格式,不能和标准消息互通,只能用来和具有相同拓展格式的消息进行通信。

不同消息类型用不同的方法保证消息一致性,下面会介绍每种消息类型的具体情况。

4.2.2 数据消息的主版本(Major位字段)

Major位字段

描述

00

LoRaWAN R1

01..11

RFU

注意:Major定义了激活过程中(join procedure)使用的消息格式(见章节6.2)和MAC Payload的前4字节(见第4章)。终端要根据不同的主版本号实现不同最小版本的消息格式。终端使用的最小版本应当提前通知网络服务器。

4.3 MAC载荷(MACPayload)

MAC载荷,也就是所谓的数据帧,包含:帧头(FHDR)、端口(FPort)以及帧载荷(FRMPayload),其中端口和帧载荷是可选的。

4.3.1 帧头(FHDR)

FHDR是由终端短地址(DevAddr)1byte帧控制字节(FCtrl)2byte帧计数器(FCnt)和用来传输MAC命令的帧选项(FOpts,最多15byte)组成。

Size(bytes)

4

1

2

0..15

FHDR

DevAddr

FCtrl

FCnt

FOpts

FCtrl在上下行消息中有所不同,

下行消息如下:

Bit#

7

6

5

4

[3..0]

FCtrl bits

ADR

RFU

ACK

FPending

FOptsLen

上行消息如下:

Bit#

7

6

5

4

[3..0]

FCtrl bits

ADR

ADRACKReq

ACK

RFU

FOptsLen

4.3.1.1 帧头中 自适应数据速率 的控制(ADR, ADRACKReq in FCtrl)

LoRa网络允许终端采用任何可能的数据速率。LoRaWAN协议利用该特性来优化固定终端的数据速率[J1] 。这就是自适应数据速率(Adaptive Data Rate (ADR))。当这个使能时,网络会优化使得尽可能使用最快的数据速率。

移动的终端由于射频环境的快速变化,数据速率管理就不再适用了,应当使用固定的数据速率。

如果ADR的位字段有置位,网络就会通过相应的MAC命令来控制终端设备的数据速率。如果ADR位没有设置,网络则无视终端的接收信号强度,不再控制终端设备的数据速率。ADR位可以根据需要通过终端及网络来设置或取消。不管怎样,ADR机制都应该尽可能使能,帮助终端延长电池寿命和扩大网络容量。

注意:即使是移动的终端,可能在大部分时间也是处于非移动状态。因此根据它的移动状态,终端也可以请求网络使用ADR来帮助优化数据速率。

如果终端被网络优化过的数据速率高于自己默认的数据速率,它需要定期检查下网络仍能收到上行的数据。每次上行帧计数都会累加(是针对于每个新的上行包,重传包就不再增加计数),终端增加 ADR_ACK_CNT 计数。如果累计ADR_ACK_LIMIT次上行(ADR_ACK_CNT >= ADR_ACK_LIMIT)都没有收到下行回复,它就得置高ADR应答请求位(ADRACKReq) 网络必须在规定时间内回复一个下行帧,这个时间是通过ADR_ACK_DELAY来设置,上行之后收到任何下行帧就要把ADR_ACK_CNT的计数重置。当终端在接收时隙中的任何回复下行帧的ACK位字段不需要设置,表示网关仍在接收这个设备的上行帧。如果在下一个ADR_ACK_DELAY上行时间内都没收到回复(例如,在总时间ADR_ACK_LIMIT+ADR_ACK_DELAY之后),终端必须切换到下一个更低速率,使得能够获得更远传输距离来重连网络。终端如果在每次ADR_ACK_LIMIT到了之后依旧连接不上,就需要每次逐步降低数据速率。如果终端用它的默认数据速率,那就不需要置位ADRACKReq,因为无法帮助提高链路距离。

注意:不要ADRACKReq立刻回复,这样给网络预留一些余量,让它做出最好的下行调度处理。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值