LoRa数据包由前导码、可选报头、数据有效负载组成。 前导码:前导码用于保持接收机与输入的数据流同步,接收机会定期执行前导码检测,因此接收机的前导码长度应与发射机一致,在连续接收受模式下,如果前导码长度超过寄存器设定的预计值,则前导码会被丢弃,并重新开始前导码检测,且不产生中断标志。如果前导码长度为未知则应将接收机的前导码长度设置为最大,且接收机和发射机的扩频因子SF要设置一致。
信道活动检测关键旨在以尽可能高的功耗效率来检测无线信道上的LoRa前导码。在CAD模式下,芯片会快速扫描频段,以检测是否有LoRa前导码。 在CAD过程中,将会执行以下操作:
信道活动检测时长取决于使用的LoRa调制设置。该时长为LoRa符号周期的倍数。CAD检测时间内,芯片在(2SF+32)/BW秒钟处于接收模式,其余时间则处于低功耗状态。由于CAD检测数据包的前导码部分,因此要想实现空中唤醒,结合从机定期检测时间,主机需要设置合适的前导码发送时间,保证前导码发送时间大于从机定期检测时间。前导码长度设定,可通过配置RegPreambleMsb和RegPreambleLsb寄存器来实现。可将前导码长度设置在6-65536之间来改变发送前导码长度。
Tpreamble=(Npreamble+4.25)*Tsym; Tsym=1/Rs; Rs=BW/(2^SF); 当BW=500kHz,SF=9, Npreamble =2200; Tpreamble=2257ms; 其中: RS:速率;BW:带宽;SF:扩频因子;Tpremble:发送前导码所需总时间;Npremble:已设定前导码长度大小;Tsym: 发每个preamble symbol的时间。
它是分了两个阶段 接收时间:Trec=(2^SF+32)/BW; 整个CAD时间:Tcad=1.85*Trec; 当BW=500kHz,SF=9, Trec=1.088ms Tcad=2.013
结合7601参数设置:主/从机BW=500KH,SF=9。 从机CAD定时检测周期定时器设置为2s,从机前导码长度Npremble=1949。 主机前导码长度为Npremble=2200,发送时长为Tpreamble=2257ms,主机前导码发送时长大于2s,能保证接收机正常唤醒接收数据,若接收机CAD定时检测周期大于主机前导码发送时长,则接收机有可能检测不到发射机前导码,导致唤醒失败。
电源测试所加电阻为1.1Ω,示波器测试所测波形
图1 ![]() 示波器测量波形:如图2 图2
图4
测试电阻为1.1Ω,所用供电电池为19AH。
每次通信持续时间1.34s 其中电流为20ma持续1.1578s 电流为100ma持续0.182s 取水报警时消耗1.1578*20ma+0.182*100ma=23.156+18.2=41.356ma/1.34s 电池理论使用时长:19000/41.356=459.3h
图5
CAD定时检测周期2s; 其中21.6ma持续0.005s 0.36ma持续0.995s电流表测量 休眠时消耗0.005*21.6ma+0.995*0.36ma=0.108+0.358=0.466ma/1s 电池理论使用时长:19000/0.466=40772.5h |