使用SX1278射频芯片,主推中国市场,所在频段为410MHz - 441MHz,1000KHz 步进,建议433±5MHz,出厂默认433.0。对应LoRa模块的型号为F8L10D-N,其通信理论带宽为6级可调(0.3、1.2、2.4、4.8、9.6、19.2Kbps),灵敏度可达-140dBm,具备32个信道,超大串口缓存可达4K Bytes。图片可参考下图:
带宽与信道划分的关系
带宽(BW)、中心频率和数据速率这些都源自晶振频率
频率、带宽、扩频因子、编码率和数据包结构是一致的。
LoRa模式中最大数据包长度是256个字节
RegPktRssiValue指的是数据包RSSI水平,RegRssiValue与在FSK模式(非LoRa模式)中的RSSI相似。
信号带宽(BW)、符号速率(Rs)和数据速率(DR)间的关系是什么?
理论上, Rs=BW/(2^SF)、DR= SF*( BW/2^SF)*CR,但我们建议你使用Semtech LoRa调制解调器计算器按照不同的配置选型评估数据速率和传输时间。
下面表格是通过带宽、扩频因子和编码率计算速率:DR= SF*( BW/2^SF)*CR
速 率DR |
扩 频 因 子SF |
占 用 带 宽BW |
编码率CR |
0.81K |
10 |
125K |
4/6 |
1.46K |
9 |
125K |
4/6 |
2.6K |
8 |
125K |
4/6 |
4.56K |
7 |
125K |
4/6 |
9.11K |
7 |
250K |
4/6 |
18.23K |
7 |
500K |
4/6 |
如何选择LoRa信号带宽(BW)、扩频因子(SF)和编码率(CR)?
LoRaWAN主要使用了125kHz信号带宽设置,但其他专用协议可以利用其他的信号带宽(BW)设置。改变BW、SF和CR也就改变了链路预算和传输时间,需要在电池寿命和距离上做个权衡。请使用LoRa调制解调器计算器评估权衡。
专业术语及其缩写:
FHSS 跳频扩频技术 FIFO先进先出队列,这里代表队列寄存器
PA 功率放大器 LNA低噪声放大器
SNR 信噪比 SF扩频因子
PLL 锁相环 CAD信道活动检测
CR 编码率 BW带宽
RS符号速率 Preamble序头
扩频因子 RegModulationCfg
循环纠错编码cyclic error coding
信号带宽Bandwidth
数据包结构
序头preamble 报头 header(可配) 数据段 payload 校验码CRC
工作频率:434M 单位 KHz,例如:Frequency = 433920,代表 433.92MHz。
调制解调制式:lora FSK
模块型号:
扩频因子(SF)::SF6, SF7, SF8, SF9, SF10, SF11, SF12
扩频发射带宽(BW):BW62K, BW125K, BW250K, BW500K
扩频编码 CodeRate 选择:CR4_5, CR4_6, CR4_7, CR4_8
输出功率:范围 2-20,单位 dBm,
目标工作接收带宽:
数据包的 Preamble 长度设置,针对发射需要配置,单位字节
目标工作频率:单位 KHz,例如:Frequency = 433920,代表 433.92MHz
目标工作速率:单位 ns,例如:SymbolTime = 416000,代表每个符号 416us,即 2.4kbps
目标工作接收带宽:针对接收需要定义,单位 KHz,例如:BandWidth = 100,代表接收带宽 100KHz
无线数据包格式中,同步字长度:设置范围是 1~8 字节;不能设置为 0 字节
void setup()
{
radio.Modulation = LORA; //调制模式为 LoRa
radio.COB = RFM98; //模块为 RFM98
radio.Frequency = 434000; //目标频率 434MHz
radio.OutputPower = 17; //17dBm 输出功率
radio.PreambleLength = 16; //16Byte Preamble
radio.FixedPktLength = false; //可变长度报文格式
radio.PayloadLength = 21; //报文长度 21Byte
radio.CrcDisable = true; //不用 CRC
radio.SFSel = SF9; //扩频因子为 9
radio.BWSel = BW125K; //扩频发射带宽 125KHz
radio.CRSel = CR4_5; //CodeRate 为 4/5
radio.vInitialize(); //初始化
radio.vGoStandby(); //进入待机模式
}