内容原创,未经本人同意请勿转载。联系本人:jianshu_kevin@126.com
1,什么是LoRa
LoRaWAN是LoRa Wide Area Network(LoRa广域网)的简称,是基于LoRa技术的一种通信协议。它主要包括三个层次的通信实体:LoRa终端、LoRa网关和LoRa服务器。
遵循Low-Rate Wireless Personal Area Networks(IEEE802.115.4-2011)协议
2,名词解析
MCPS
MAC Common Part Sublayer
作用:data transmissions and data receptions
MLME
MAC layer management entity
作用:manage the LoRaWAN network
MIB
MAC information base
作用:store important runtime information and holds the configuration of the LoRaMAC layer.
扩频因子(SF)
LoRa扩频调制技术采用多个信息码片来代表有效负载信息的每个位。扩频信息的发送速
度称为符号速率(Rs),而码片速率与标称符号速率之间的比值即为扩频因子,其表示每
个信息位发送的符号数量。LoRaTM调制解调器中扩频因子的取值范围见下表。
扩频因子为6时,LoRa的数据传输速率最快
扩频调制带宽(BW)
增加带宽,可以提高有效数据速率以缩短传输时间,但是会牺牲接收灵敏度。
纠错码率
提高纠错编码率,会产生额外的传输开销,但是会提高链路的可靠性。编码率可以随着信道条件的变化而变化。
针对特定的应用,可以通过调整扩频因子,调制带宽以及纠错码率这个三个关键参数,可在链路预算、抗干扰性、频谱占用度及标称数据速率之间达到平衡。
参考手册中的“LoRa调制技术”进行优化。《SX1276_DS_中文_v1.1.pdf》P28页
CAD
channel active detect 信道活动检测器。
信道活动检车模式旨在以尽可能高德功耗,检测无线信道上的LoRa前导码。
CAD检测时长为扩频因子的函数
Class A Class B Class C工作模式
-
Class A
双向通信终端设备。这一类的终端设备允许双向通信,每一个终端设备上行传输会伴随着两个下行接收窗口。终端设备的传输槽是基于其自身通信需求,其微调是基于一个随机的时间基准(ALOHA协议)。A所属的终端设备在应用时功耗最低,终端发送一个上行传输信号后,服务器能很迅速地进行下行通信,任何时候,服务器的下行通信都只能在上行通信之后。 -
Class B
具有预设接收槽的双向通信终端设备。这一类的终端设备会在预设时间中开放多余的接收窗口,为了达到这一目的,终端设备会同步从网关接收一个Beacon,通过Beacon将基站与模块的时间进行同步。这种方式能使服务器知晓终端设备正在接收数据。 -
Class C
具有最大接收槽的双向通信终端设备。这一类的终端设备持续开放接收窗口,只在传输时关闭。
ADR
Adaptive Data rate
When ADR is off this setting is the fixed data rate that will be used by the application.
When ADR is on this setting is the initial data rate used by the application.
如果ADR打开,服务器可以通过MAC命令控制设备的速率,已匹配当前的网络情况,达到最优传输效果。如果ADR=0,服务器无视收到的信号质量,不对终端数据速率进行调整。
如果终端的数据速率经过服务器优化比默认值大,那节点就要定期检查保证服务器能够收到上传的数据。 终端上行的帧号每增加一次(重复发送不增加帧号)的同时,ADR_ACK_CNT + 1。ADR_ACK_DELAY 时间之内收到下行消息:ADR_ACK_CNT = 0(重置)。否则ADR_ACK_CNT 继续根据前面规则处理 。ADR_ACK_CNT >= ADR_ACK_LIMIT(一共用时:ADR_ACK_LIMIT + ADR_ACK_DELAY)就切换到更低的数据速率上(无线广播范围的距离更长)重复上述过程,每次终端设备达到 ADR_ACK_LIMIT 就会再次降低自己的数据速率。如果设备使用默认的数据速率就不需要设置 ADRACK Req ,这种情况下任何操作都不会改善连接范围(增加连接距离)。在此期间的下行数据不需设置ACK位,因为终端在等待接收期间收到任何应答都表示网关还能接收来自该设备的上行数据。
问题:如果终端和服务器的速率不匹配,那能否进行通信??
ALOHA
class A中用的传输间隔计算算法
3,LoRa建立连接过程
向MLME发送建立连接请求,等待应答
请求包含以下信息:
- NetWork Indentifier
- Device Address
- NetWork session key
- Application session key
4,协议中的问题
- 计算传输时间
符号速率: R s = B W