我基于以下几点考虑设定LORA通信模块的配置参数

2025-04-19 17:22:17

我基于以下几点考虑设定LORA通信模块的配置参数,

1) 带宽(BW),扩频因子(SF)与接收灵敏度的关系

根据SX1278的规格书,带宽越低,扩频因子越大,接收灵敏度越高,通信距离越远。

当带宽为7.8kHz,扩频因子为12时,接收灵敏度可以达到最大的-148dBm。

dBm是相对于1mW的相对单位,-148dBm对应的功率为10^(-148/10)*1mw;

而当带宽为125kHz,扩频因子为7时,接收灵敏度仅为-123dBm;

根据空间传播损耗公式:L(dB)=32.45+20logD(km)+20logF(MHz)

当发射功率为20dBm,即10^(20/10)=100mW时,

如果接收灵敏度为-123dBm,则在空旷环境的最远接收距离约为:

10^{[20+123-32.45-20*log(433)]/20}=778km。

BW=7.8kHZ, SF=12时的通信距离比BW=125kHZ, SF=7时的距离增加了

10^((148-123)/20)=17.8倍;

2) 定时唤醒检测信道的待机功耗

符号时间Ts与带宽BW、扩频因子SF的关系为:

Ts=2^SF/BW

LORA模块在进入CAD检测模式之后,一旦检测完成CAD的检测,立即自动进入低功耗的模式,在CAD检测过程分为两个阶段,第一阶段为接收无线信号,第二阶段为信号处理分析,

第一阶段的消耗的电流即为接收状态的工作电流IRx,大概为12mA,第二阶段电流稍低,大概为8mA;

而整个CAD检测过程大概执行1-2个符号时间;

如果定时唤醒周期为T,在睡眠状态下MCU和LORA模块的待机电流为Istandby,

则平均待机电流约为:(IRX*2*Ts)/T+Istandby;

MCU的待机电流约为20uA, LORA模块的待机电流约为1uA;

如果唤醒周期为3s时,

当BW=7.8kHZ, SF=12时,符号时间为Ts=525ms,此时,平均待机电流为4.2mA;

当BW=125kHZ, SF=7时,符号时间为Ts=1.024ms,此时,平均待机电流为29uA;

如果使用5Ah的电池供电,前者的待机时间为49天,而后者的待机时间为7096天;

3) 常供电的LORA网关的前导码的长度

当LORA网关往用电池供电的分控发射数据时,分控是以T为周期自动唤醒检测信道占用,双方并没有收发时钟的同步,有可能在分控进入睡眠之后,网关立即开始发送数据,分控在T秒之后唤醒检测信道占用,此时LORA网关还需要发射前导码,否则分控检测不到信道占用。

所以网关发射的前导码长度必须要大于分控的睡眠周期,

另外,由于网关并不进入睡眠,分控往网关发送数据时,前导码的长度只要能大于网关程序调度的周期即可,而为了避免接收到检测接收其它分控的数据,导致分控频繁被唤醒而消耗过多电量,

在唤醒检测CAD,可以通过检测连续检测到多次的空中信道被占用之后才唤醒MCU进入运行数据接收和逻辑处理程序。

网关发射的前导码长度需要>分控的睡眠时间+n次CAD检测去抖动*分控前导码长度;

综合考虑,取网关的前导码长度为4s,分控的睡眠时间为3s,CAD检测去抖动次数为10,分控的前导码长度约为10ms;