lora模块学习二

在学习lora无线射频的时候,查阅过资料,也实践过。将自己学习的东西总结一下,记录如下:

LoRa数据包结构和数据格式的分析
LoRa有两种数据包格式:显示和隐式
其中显示数据包的报头较短,主要包含字节数、编码率及是否使用CRC等信息。

LoRa数据包包含:

Preamble(前导码)
Header(可选类型的报头)
Payload(数据有效负载)


如下图:

扩频因子(SF)、编码率(CR)及信号带宽(BW),可以使用以下公式计算出单个LoRa TM 数据包的总传输时间,符号速率为:

LoRa数据包时间等于前导码时间和数据包传输时间之和。

传输时间或数据包时间等于前导码时间加上有效负载时间。计算公式如下:

当SF为7 BW为125khz CR为4/5 前导码为8 有效长度为32 前导码的传输时间为12.54ms 总的传输时间为66.82ms.

扩频因子较高时数据包的发送时间可能较长,当单个符号传输时间超过16毫秒时,必须使用LowDataRateOptimize位,如果SF越大,因为用来表示这个位数据的码片多了,抗干扰能力自然就会好很多;而由于代表每个符号的码片增加了,单位时间传输码片数量是定了的,因此需要的时间自然就增加了。其实,扩频因子越高,越多数据可从噪音中提取出来扩频因子越大,传输的距离越远。代价就是数据速率,因为要用更长的 chip 来表示一个 symbol

增加信号带宽,可以提高有效数据速率以缩短传输时间,但这是以牺牲部分一接收灵敏度为代价

LORA半双工的机制,发送和接受都是独立工作的。当需要进入某种工作状态,就需要从当前的工作状态进行切换,所以边发边听的这种机制应该不能实现。

CAD模式,在CAD模式下,设备将检测已知信道,以检测LoRa前导码信号,其实不仅包括前导码,用户数据也是可以检测到的。

CAD 检测时间内,芯片 2sf +32/Bw 秒处于接受模式

CAD的检测流程

 

在CAD过程中,将会执行以下操作:

  1. PLL被锁定。
  2. 无线接收机从信道获取数据的LoRa前导码符号。在此期间的电流消耗对应指定的Rx模式电流。
  3. 无线接收机及PLL被关闭,调制解调器数字处理开始执行。
  4.  调制解调器搜索芯片所获取样本与理想前导码波形之间的关联关系。建立这样的关联关系所需的时间仅略小于一个符号周期。在此期间,电流消耗大幅度减少。
  5. 完成计算后,调制解调器产生CadDone中断信号。如果关联成功,则会同时产生CadDetected信号
  6. 芯片恢复到待机模式。
  7. 如果发现前导码,清除中断,然后将芯片设置为Rx单一或连续模式,从而开始接收数据。

信道活动检测时长取决于使用的LoRa调制设置。下图针对特定配置显示了典型CAD检测时长,该时长为LoRa符号周期的倍数。CAD检测时间内,芯片在(2 SF +32)/BW秒中处于接收模式,其余时间则处于低功耗状态。

 

 

我们可以通过配置寄存器来使能硬件的IO口,产生低电平的脉冲信号。DIO0可以用来反馈 rx/tx/cad done。

 

写下这篇总结,在实际测试的过程中,和数据手册上的说明是一致的。

lora学习三   https://blog.csdn.net/xiaohu1996/article/details/106072626 转载网上大神的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章