LoRaWAN协议

LoRaWAN协议是基于LoRa的MAC层规范,定义了物理层与应用层之间的实现。它包括不同类型的终端(Class A、B、C),消息结构,上行和下行的CRC,MAC命令,以及自适应数据速率控制(ADR)。协议中,终端通过上行发送数据后,根据Class类型进行不同方式的下行接收。MAC命令用于定制终端参数,如速率和功率。ADR允许网络根据设备状态调整速率和功率。此外,LoRaWAN还包括安全机制,如加密和完整性保护,确保数据安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LoRaWAN协议定义了使用LoRa的MAC层规范,处在协议应用层与物理层中间的实现规范。LoRa没有开放的规范化物理层协议,而LoRa物理模块的接口上很多参数都可以进行配置,LoRaWAN同时对一些数据发送格式做了相应的限制。
物理层消息结构
上行带有CRC,而下行没有。


层间组包格式

简要参数说明:DevAddr 为设备地址(包含网络地址信息),Fport复用port域,如果为0表示有效负载为MAC命令,此时FOptsLen为0;FOptsLen:options长度为,FCnt为帧计数;MIC加密完整性检查包含MHDR和FHDR FPort和 FRMPayload;MType为消息类型,指示上下行消息及是否是需要Confirm的消息,如果是confirmed消息则需要回复ACK。Major是LoRaWAN的版本号;ADR 和 ADRAckReq提供服务端用于自适应数据速率控制;ACK确认最新的帧信息;FOpts用于在发送数据时同时携带MAC Command;CID为MAC 命令ID,Args为命令参数;FRMPayload为使用key长128比特AES加密的有效数据。MAC header的最小长度为13字节,最大为28字节;上行没有目标地址,而下行没有源地址。上图不是协议上原始的消息结构图,协议结构图如下,对于每个元素的细节展开参考规范LoRaWAN-v1.1.pdf RFU 填充为0,需要省略的单元MType亦即message type依赖在相应版本Major下的消息类型。FPort如果payload不为空,则FPort必须存在如果FRMPayload只有MAC commands则此域为0。1-223用于上层应有端口,224用于MAC协议测试,225-255留给后续协议扩展。

三种终端类型
三种终端类型,classA、classB、classC,其耗能和数据延时比较如下,而classB和classC的终端可支持组播方式。

ClassA类型终端收发方式如下: 在上行发送后,Receive_Dealy误差+/-20微秒时刻进行下行接收,如果网络在RX1和RX2都发送给同一终端数据,则需要发送同帧数据。终端如果在RX1成功接收到检查成功的数据,则不可再在RX2继续接收数据。RX1的频率和速率和上行发送的频率和速率满足一定的函数关系式(在相关流程中说明),在缺省情况下第一个窗口的数据传输速率和上行发送相同,第二个窗口则采用固定可配置的频率和速率,可以通过MAC Command进行配置。窗口长度至少足够检测下行的preamble,如果检测到下行的preamble,则需要接收到相应frame解调结束。网络需要在RX1或RX2窗口边界才能开始发起数据。终端在前一次上行发送成功后如果没有正确解码到下行数据并且RX2窗口仍未超时的情况下,不可再次出发上行发送。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值