LoRa
简介

LoRa是“Long Range”的缩写,是一种基于线性调制扩频技术(CSS: chirp spread spectrum)的一种扩频调制技术。是诸多LPWAN通信技术中的一种。与同类技术相比,提供更长的通信距离,更低的功耗,但是速率比较低。广泛应用于智能城市、农业、工业控制等领域。
美国Semtech拥有LoRa技术的专利,目前只有Semtech提供LoRa射频芯片及SiP(System-in-Package)。
LoRa只是一个物理层的调制技术,现在市面上的所有LoRa芯片,也只是完成简单的物理层工作。而市场上Wi-Fi、2G、3G、NB-IoT等其他芯片,都是带有自身协议栈的。常见的无线数字通信调制技术为FSK、ASK、PSK三种,运营商的NB-IoT、4G、5G以及Wi-Fi、蓝牙等几乎所有常见数字无线通信技术的物理层都是采用FSK、ASK、PSK这三种调制技术进行通信的.
LoRa其组网方式可以根据不同的应用和需求而选择不同。实际应用中常见有:点对点、星状、树状、网状、Mesh等多种组网形式。
LoRa生态在国外主要是运营商使用的LPWAN技术LoRaWAN,而国内LoRa的主要应用为私有网和专有网,被称之为“长Wi-Fi”,使用方式和Wi-Fi基本相同。
LPWAN
LPWAN是指“低功耗广域网”(Low Power Wide Area Network)的缩写。LPWAN是一种设计用于连接远距离、低功耗的物联网设备的通信技术。与传统的无线通信技术相比,LPWAN具有更长的通信范围和更低的功耗,使其成为连接大量分布在广泛区域的设备的理想选择。
以下是一些LPWAN的主要特点:
长距离通信: LPWAN技术可以提供较长的通信范围,使其适用于覆盖城市、农村或其他广阔地区的物联网设备。
低功耗: LPWAN设备通常设计为低功耗,以延长电池寿命。这使得它们适用于需要长时间运行的应用,如环境监测、智能城市和农业传感器等。
大规模连接: LPWAN支持大规模设备连接,使其能够满足物联网中设备数量众多的需求。
低成本: LPWAN技术通常具有较低的部署和维护成本,这使得其在大规模物联网场景中更具吸引力。
适用于不时刻连接的设备: LPWAN适用于周期性地发送小量数据或不时刻连接的设备,例如传感器或执行简单任务的设备。
常见的LPWAN技术包括LoRa(长距离射频)、NB-IoT(窄带物联网)和Sigfox等。这些技术在不同的应用场景中都有各自的优势和特点。
LoRa能显著地提高了接受灵敏度(低至-148dBm),与其他扩频技术一样,它使用了整个信道带宽广播一个信号,LoRa可以调制低于底噪声信号19.5dB,而大多数频移键控(FSK)在底噪声上需要一个8-10dB的信号功率才可以正确调制。

目前,LoRa无线主要在ISM频段运行,主要包括433、868、915 MHz等(中国LoRa应用联盟(CLAA)推荐的是470~510MHz)。LoRa技术可实现设备之间的远距离通信。具有:
- 低功耗
- 远距离
- 低速率
LoRa模块的优势在于长距离能力。单个网关或基站可以覆盖整个城市或数百平方公里范围 LoRaWAN是 LoRa联盟发布的一个基于开源MAC层协议的低功耗广域网通信协议
LoRa的三个基本参数:
在设置LoRa收发器时,您不仅需要知道它应该在哪个频率上发送,以及输出功率应该是多少,还需要了解另外三个参数,这些参数会极大地改变收发器的操作方式。这些参数是:
- 扩频因子(Spreading Factor)
- 带宽(Bandwidth)
- 编码率(Coding Rate)
1. 扩频因子(SF)
LoRa采用多个信息码片来代表有效负载信息的每个位.扩频信息的发送速度称为符号速率(Rs),而码片速率与标称的Rs比值即为扩频因子(SF,SpreadingFactor),表示了每个信息位发送的符号数量。扩频时每一位数据都要与扩频因子相乘,当扩频因子是8时,每一位数据经过扩频后含有8位数据来表示这一位数据,因此需要传输的数据量会增大,但这样可以降低误码率,扩频因子越大,传输速率越低,但抗干扰能力也越强。 SX1261/2里增加了两个新的扩频因子:SF5 和 SF6但新增的扩频因子和前一版本的芯片不兼容。对于SF5和SF6,由于码元速率较高,相比于其他的扩频因子建议用户使用12个码元的前导码长度以在动态范围或接收机上具有最佳性能
由于不同的扩频因子之间两两正交,所以在一组收发链路中,扩频因子必须提前预知。除此之外,还要 注意在接收机输入端所需的信噪比(SNR)。 在LoRa® 接收机中, 由于能够接收负信噪比的信号,因此增加了接收机灵敏度,链路预算以及覆盖距 离。 表 6- 1: 扩频因子的范围
扩频因子(SF) | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|
2^SF (码片/ 码元) | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 |
SNR [dB] | -2.5 | -5 | -7.5 | -10 | -12.5 | -15 | -17.5 | -20 |
较高的扩频因子提供更好的接收机灵敏度,但是以更长的空中传输时间为代价。
2. 信号带宽(BW)
信号带宽是指信号能通过的上线频率和下限频率的范围,可以理解为一条通道,只允许信号带宽内的频率信号可以通过。LoRa中,增加BW可以提高有效数据速率,但是灵敏度会受到相应的影响.LoRa® 调制带宽指的是双边带宽.

信号带宽 (BW) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
BW_L [kHz] | 7.81 | 10.42 | 15.63 | 20.83 | 31.25 | 41.67 | 62.5 | 125 | 250 | 500 |
3. 编码率(CR)
编码率是指数据流中有用信号占的比例,若编码率为4/5,对于4位有效数据,实际编码会参数5位,多出的一位为冗余值,其作用是为了增加抗干扰能力。而LoRa采用循环纠错码来进行检测和纠错
编码率 | 循环编码的 CR | 开销率 |
---|---|---|
1 | 4/5 | 1.25 |
2 | 4/6 | 1.5 |
3 | 4/7 | 1.75 |
4 | 4/8 | 2 |
更高的编码率提供了更好的抗扰性,但需要更长的传输时间。在正常情况下,4/5 的因子提供了最佳的折中;在强干扰的情况下,可以使用更高的编码率。错误校正码不需要被接收器预先知道
,因为它被编 码在包头部分。
4. 其它
- 低速率优化 (LDRO)
以便接收机更好地追踪 LoRa 信号。根据有效载荷大小,当LoRa的码元时间等于或大于16.38ms时推荐使用低数据率优化功能。
- 前导码长度和 SyncWord 值
- 无论是否与消息一起发送显式标头
- 16 位 CRC
调制与解调
LoRa 使用 CSS (Chirp Spread Spectrum)线性扩频调制,频率线性扫过整个带宽,因此抗干扰极强,对多径和多普勒效应的抵抗也很强。LoRa的基本通信单元是linear chirp,也即频率随时间线性增加(或减小)的信号。我们将频率随着时间线性增加的chirp符号叫做upchirp,将频率随着时间线性减小的chirp符号叫做downchirp。如下两图分别从时域波形和时频域展示了一个up chirp的图像:

一个chirp怎么编码数据呢?LoRa的做法是通过在频域循环平移chirp进行数据的编码,不同的起始频率代表不同的数据。如下图所示,在带宽B内四等分标定四个起始频率,我们可以得到4种类型的符号,分别表示00,01,10,11。我们将图(a)所示从最低频率扫频到最高频率的chirp符号称为basic upchirp。所以在接收端,只需要将这个起始频率计算出来,就可以计算出每一个chirp对应的比特数据。

LoRa规定了一个参数SF(Spreading Factor,扩频因子),其定义为:2^SF=B⋅T .可以看出,给定带宽B,SF越大每一个chirp长度T越长。 SF用于调节传输速率和接收灵敏度,越大的SF速率越小但支持更远的通讯距离。g
一个完整的LoRa数据包结构包含三个部分:
- 前导码(Preamble)
- SFD(Start Frame Delimiter)
- 数据部分(Data)
前导码包含6~65535个basic up chirp和两个标识网络号的其他chirp符号。接着是2.25个basic downchirp,作为SFD标识数据段的开始。后面的数据段则包含着若干编码了数据的data chirp。
当我们使用软件无线电设备(SDR)接收一段LoRa设备发出的信号,把信号的时频图画出来,那么它大概会是如下样子:

SDR在 470M 截图

其它一些小知识
1. RSSI
RSSI(Received Signal Strength Indicator)是用来衡量接收到的无线信号强度的指标。它通常用来评估设备之间的通信质量,特别是在无线通信领域,如Wi-Fi、蓝牙、Zigbee等。
RSSI的值是一个负数,通常以dBm为单位。数值的绝对大小表示信号强度,一般来说,数值越大表示信号越强。例如,-50 dBm的信号强度要比-70 dBm的信号强度更好。
需要注意的是,不同设备、不同制式的RSSI值之间可能并不完全相同,因此在比较不同设备或系统的信号强度时,最好使用相同类型的设备或系统。
RSSI的解读可以根据具体的应用场景来调整,但一般来说,以下是一些可能的范围和解读:
-30 dBm:非常强的信号
-30 dBm到-50 dBm:强信号
-50 dBm到-70 dBm:中等信号
-70 dBm以下:弱信号,可能出现连接不稳定或丢包的问题
需要注意的是,RSSI并不能完全反映信号的质量,因为它只考虑了信号的强度而忽略了其他因素,如信噪比(Signal-to-Noise Ratio,SNR)。在某些情况下,即使信号强度很高,但如果信噪比不好,通信质量仍可能较差。因此,在评估通信质量时,还需要考虑其他因素
2. SNR
信噪比(SNR)是一个以(dB)为单位的对数比值。是接收信号与背景噪声水平(本底噪声)之间的分贝差。例如,如果无线电(客户端设备)接收到-75 dBm的信号,并且在-90 dBm处测量本底噪声,则信噪比为15 dB。如果接收到的信号太接近本底噪声,就会发生数据损坏
SX1262
SX1262是一种由Semtech公司设计的Sub-GHz 无线通信收发器.具有高效的集成功率放大器,传输功率高达 +22dBm 。且有如下特点:
- LoRa 和 FSK 调制解调器
- 170dB 最大链路预算
- +22dBm或+15dBm高效功率放大器
- 4.6mA的低RX电流
- 集成 DC-DC 转换器和 LDO
- 可编程比特率高达 62.5kbps LoRa 和 300kbps FSK
- 高灵敏度:低至-148dBm
- LoRa模式下的同通道抑制为19dB
- 具有超快 AFC 的自动通道活动检测 (CAD)
任何时间只能有一个包发送,发送操作会打断所有当前接收操作。
SX130x
130x可以同时监听8个上行通道,每个通道可以同时监听6个正交扩频因子SF7~SF12,但是需要注意的是,虽然每个通道可以同时监听6个SF,但同一时刻也只能处理一个信号,比如同时来自SF7和SF12的消息也只能处理其中一个。130x这个特性的好处就是因为检测到多个SF信道,因此可以很容易做速率自适应(ADR)。
软件开发
sx1262通过Spi接口与主机通讯。芯片有 4 个控制线接口: BUSY 引脚和 3 个 DIOS 引脚组成。 其中 3 个 DIOs 引脚可配置为中断、调试或用来控制器件直连的外围设备(TCXO 或 RF 开关)。
BUSY 控制线用于指示内部状态机的状态。当 BUSY 线保持低电平时,说明内部状态机处于空闲模式且 芯片已经准备好从主控制器接收命令。 一旦芯片达到稳定模式,BUSY 控制线恢复到 0,此时芯片准备好接收新命令。本质上,BUSY 线保持高电平的时间取决于命令的性质 特别需要注意的是当芯片处于sleep状态,BUSY引脚一直处于高位状态。
一般情况DIO2用于射频开关的控制,DIO3用于温补晶振的电源供给;因此我们一般用到dio0来处理芯片的中断。
IRQ 状态寄存器
位 | IRQ | 描述 | 协议 |
---|---|---|---|
0 | TxDone | 包发送完成 | All |
1 | RxDone | 包接收完成 | All |
2 | PreambleDetected | 检测到前导 | All |
3 | SyncWordValid | 检测到有效同步字 | FSK |
4 | HeaderValid | 接收到有效的 LoRa 包头 | LoRa® |
5 | HeaderErr | LoRa® 包头 CRC 错误 | LoRa® |
6 | CrcErr | 收到错误的 CRC | All |
7 | CadDone | CAD 检测完成 | LoRa® |
8 | CadDetected | 检测到信道活动状态 | LoRa® |
9 | Timeout | Rx or Tx 超时 | All |
SX1261/2 操作模式(6种)。
下表介绍了在每种工作模式下使能的模拟前端和数字模块
模式 | 使能模块 |
---|---|
SLEEP | 可选寄存器,Backup Regulator,RC64K 振荡器,数据 RAM |
STDBY_RC | LDO, RC13M 振荡器 |
STDBY_XOSC | DC-DC 或 LDO, XOSC |
FS | 以上所有模块 + 工作在 TX 频率的频率合成器 |
Tx | 频率合成器和发射机,调制器 |
Rx | 频率合成器和接收机,调制器 |

芯片内有 2 个 RC 振荡器:64KHz 和 13MHz。内部 64KHz 振荡器来产生基于时间的 事件。内部 13 MHz RC 振荡器 (RC13M) 用来为 SPI 通信提供时钟从而对器件进行配置,这样不需要 启动外部晶体振荡器
在SX1261/2中,高精度频率基准有两个来源:一是来自晶体振荡器(OSC),二也可以来自 TCXO。DIO3用于TCXO的电源供给。一旦 SetDIO3AsTCXOCtrl(...)命令被执行,控制 XTA 引脚上内部电容的寄存器将自动配置为 0x2F (33.4 pF)以便滤除可能传导到 PLL 的杂散频率
. SX1261/2不要求用户焊接32MHz 晶体的外部负载电容。芯片的XTA和XTB引脚上都连接有可 调节的内部电容。每个电容都可独立配置,步进是0.47pF。
引脚 | 寄存器地址 | 典型值 | 默认值 |
---|---|---|---|
XTA | 0X0911 | 0X00- 0x2F 步进0.47pf 11.3pF(最小值)33.4pF(最大值) | POR :0x05 (13.6 pF) |
XTB | 0X0912 | 0X00- 0x2F 步进0.47pf 11.3pF(最小值)33.4pF(最大值 | STDBY_XOSC:0x12 (19.7pF) |
户在改变可调电容值前,必须确保芯片已经在 STDBY_XOSC 模式中,以免寄存器被状态机改写
典型值 0X0911 每个电容可以独立控制,步进是 0.47pF: 0X00 设置调节电容到 11.3pF(最小值) 0X2F 设置调节电容到 33.4pF(最大值)
SX1261/62 命令列表
1. 工作模式命令
命令 | 操作码 | 参数 | 描述 |
---|---|---|---|
SetSleep | 0x84 | sleepConfig | 配置芯片在 SLEEP 模式 |
SetStandby | 0x80 | standbyConfig | 配置芯片在 SLEEP STDBY_RC 或 STDBY_XOSC 模式 |
SetFs | 0xC1 | - | 配置芯片在 FS 模式 |
SetTx | 0x83 | timeout[23:0] | 配置芯片在 TX 模式 |
SetRx | 0x82 | timeout[23:0] | 配置芯片在 RX 模式 |
StopTimerOnPreamble | 0x9F | StopOnPreambleParam | 在同步字/包头或前导检测上停止 RX 超时 |
SetRxDutyCycle | 0x94 | rxPeriod[23:0], sleepPeriod[23:0] | 存储用于侦听模式的 RTC 设置值,如果周期参数不为0,则将芯片设置为 RX 模式 |
SetCad | 0xC5 | - | 将芯片设置为 CAD 模式 |
SetTxContinuousWave | 0xD1 | - | 设置芯片进入连续 CW 发射模式 |
SetTxInfinitePreamble | 0xD2 | - | 设置芯片进入连续前导发射模式 |
SetRegulatorMode | 0x96 | regModeParam | 为 CFGXXOSC、FS、RX 或 TX 模式选择 LDO 或 DC-DC+LDO |
Calibrate | 0x89 | calibParam | 根据参数对 RC13、RC64、ADC、PLL、镜像进行校准 |
CalibrateImage | 0x98 | freq1, freq2 | 在给定频率下进行镜像校准 |
SetPaConfig | 0x95 | paDutyCycle, HpMax, deviceSel, paLUT | 配置用于 SX1261 或 SX1262 的 PA 的占空比、最大输出功率 |
SetRxTxFallbackMode | 0x93 | fallbackMode | 在 TX/RX 完成后,定义芯片进入哪种模式 |
2. 寄存器和缓存访问命令
命令 | 操作码 | 参数 | 描述 |
---|---|---|---|
WriteRegister | 0x0D | address[15:0], data[0:n] | 写一个或者若干寄存器 |
ReadRegister | 0x1D | address[15:0] | 读写一个或若干寄存器 |
WriteBuffer | 0x0E | offset, data[0:n] | 将数据写入到 FIFO |
ReadBuffer | 0x1E | offset | 从 FIFO 读数据 |
3. DIO 和 IRQ 控制
命令 | 操作码 | 参数 | 描述 |
---|---|---|---|
SetDioIrqParams | 0x08 | IrqMask[15:0], Dio1Mask[15:0], Dio2Mask[15:0], Dio3Mask[15:0] | 在每个 IRQ 上配置 IRQ 和 DIOs |
GetIrqStatus | 0x12 | - | 获取被触发的 IRQs 的值 |
ClearIrqStatus | 0x02 | - | 清除一个或若干 IRQs |
SetDIO2AsRfSwitchCtrl | 0x9D | Enable | 配置 DIO2 以便控制射频开关 |
SetDIO3AsTcxoCtrl | 0x97 | tcxoVoltage, timeout[23:0] | 配置 DIO3 以便控制的 TCXO |
4. 控制射频和数据包设置的命令
命令 | 操作码 | 参数 | 描述 |
---|---|---|---|
SetRfFrequency | 0x86 | rfFreq[23:0] | 设置芯片的射频频率 |
SetPacketType | 0x8A | protocol | 选择对应调制方式的数据包类型 |
GetPacketType | 0x11 | - | 获取设备的当前数据包配置 |
SetTxParams | 0x8E | power, rampTime | 设置PA的输出功率和Ramping时间 |
SetModulationParams | 0x8B | modParam1, modParam2, modParam3 | 设置调制参数 |
SetPacketParams | 0x8C | packetParam1, packetParam2, packetParam3, packetParam4, packetParam5, packetParam6, packetParam7, packetParam8, packetParam9 | 设置包参数 |
SetCadParams | 0x88 | cadSymbolNum, cadDetPeak, cadDetMin, cadExitMode, cadTimeout | 设置CAD参数(仅LoRa模式) |
SetBufferBaseAddress | 0x8F | TxbaseAddr, RxbaseAddr | 设置存放RX和TX的基地址 |
SetLoRaSymbNumTimeout | 0xA0 | SymbNum | 设置调制解调器等待有效锁定的码元个数 |
5. 返回芯片状态命令
命令 | 操作码 | 参数 | 描述 |
---|---|---|---|
GetStatus | 0x8C | - | 返回芯片当前的状态 |
GetRssiInst | 0x15 | - | 在RX模式下返回RSSI瞬时值 |
GetRxBufferStatus | 0x13 | - | 返回PayloadLengthRx(7:0), RxBufferPointer(7:0) |
GetPacketStatus | 0x14 | - | 返回FSK模式下RssiAvg, RssiSync, PStatus2, PStaus3, PStatus4 的值,返回LoRa模式下RssiPkt, SnrPkt |
GetDeviceErrors | 0x17 | - | 返回芯片的错误信息 |
ClearDeviceErrors | 0x07 | 0x00 | 清除所有的错误。错误不能被单独清除 |
GetStats | 0x10 | - | 返回最近几个接收包的统计信息 |
ResetStats | 0x00 | - | 复位通过命令GetStats读取的值 |
6. 寄存器列表
Register Name | Address | Reset Value | Function |
---|---|---|---|
Whitening initial value MSB | 0x06B8 | 0xX1 | FSK模式下LFSR白化的初始值。用户不能改变这个寄存器最高7位的值 |
Whitening initial value LSB | 0x06B9 | 0x00 | |
CRC MSB Initial Value [0] | 0x06BC | 0x1D | 用于计算FSK模式下的CRC的多项式的初始值 |
CRC MSB Initial Value [1] | 0x06BD | 0x0F | |
CRC MSB polynomial Value [0] | 0x06BE | 0x10 | 用于计算FSK模式下的CRC的多项式 |
CRC LSB polynomial Value [1] | 0x06BF | 0x21 | |
SyncWord[0] | 0x06C0 | - | FSK模式下同步字的第一个字节 |
SyncWord[1] | 0x06C1 | - | |
SyncWord[2] | 0x06C2 | - | |
SyncWord[3] | 0x06C3 | - | |
SyncWord[4] | 0x06C4 | - | |
SyncWord[5] | 0x06C5 | - | |
SyncWord[6] | 0x06C6 | - | |
SyncWord[7] | 0x06C7 | - | |
Node Address | 0x06CD | 0x00 | FSK模式下的节点地址 |
Broadcast Address | 0x06CE | 0x00 | FSK模式下的广播地址 |
LoRa Sync Word MSB | 0x0740 | 0x14 | 区分公共或者私有网的LoRa信号。公共网络设置为0x3444,私有网络设置为0x1424 |
LoRa Sync Word LSB | 0x0741 | 0x24 | |
RandomNumberGen[0] | 0x0819 | - | 用于产生32位的随机数 |
RandomNumberGen[1] | 0x081A | - | |
RandomNumberGen[2] | 0x081B | - | |
RandomNumberGen[3] | 0x081C | - | |
Rx Gain | 0x08AC | 0x94 | 设置RX模式下的增益:RX节电增益:0x94,RX Boosted增益:0x96 |
OCP Configuration | 0x08E7 | 0x18 | 设置电流过载保护。这个值依赖于所选择的芯片。默认的值如下:SX1262: 0x38(140mA),SX1261: 0x18(60mA) |
XTA trim | 0x0911 | 0x05 | XTA管脚内部集成电容。这个寄存器只能在STDBY_XOSC模式时被改写。 |
XTB trim | 0x0912 | 0x05 | XTB管脚内部集成电容。这个寄存器只能在STDBY_XOSC模式时被改写。 |
SetTxParams(pwr,Ramping)
power范围为
字节 | 数据 | 含义 |
---|---|---|
0 | 0x8E | Opcode |
1 | power | 功率 |
2 | RampTime | 斜坡时间 |
输出功率参数由 power (单位为 dBm)定义,其范围为: • -17 (0xEF) 到 +14 (0x0E) dBm(1dB步长),如果选择低功率PA • -9 (0xF7) 到 +22 (0x16) dBm(1dB步长),如果选择高功率PA
RampTime范围为
在LoRa发射中,Ramping是指在发送数据之前,逐渐增加无线电发射功率的过程。这样做有助于减少瞬时的功率突变,减少对频谱的干扰,并帮助接收端更容易检测和解码接收到的信号。
RampTime 值 | RampTime (µs) | |
---|---|---|
SET_RAMP_10U | 0x00 | 10 |
SET_RAMP_20U | 0x01 | 20 |
SET_RAMP_40U | 0x02 | 40 |
SET_RAMP_80U | 0x03 | 80 |
SET_RAMP_200U | 0x04 | 200 |
SET_RAMP_800U | 0x05 | 800 |
SET_RAMP_1700U | 0x06 | 1700 |
SET_RAMP_3400U | 0x07 | 3400 |
SetPaConfig
字节 | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
主机下发的数据 | Opcode = 0x95 | paDutyCycle | hpMax | 0: SX1262 1: SX1261 | paLut reserved and always 0x01 |
使用这个命令来选择芯片使用的 PA 及其配置
PA最优设置
Mode | Output Power | paDutyCycle | hpMax | deviceSel | paLut | Value in SetTxParams1 |
---|---|---|---|---|---|---|
SX1261 | +15 dBm | 0x06 | 0x00 | 0x01 | 0x01 | +14 dBm |
SX1261 | +14 dBm | 0x04 | 0x00 | 0x01 | 0x01 | +14 dBm |
SX1261 | +10 dBm | 0x01 | 0x00 | 0x01 | 0x01 | +13 dBm |
SX1262 | +22 dBm | 0x04 | 0x07 | 0x00 | 0x01 | +22 dBm |
SX1262 | +20 dBm | 0x03 | 0x05 | 0x00 | 0x01 | +22 dBm |
SX1262 | +17 dBm | 0x02 | 0x03 | 0x00 | 0x01 | +22 dBm |
SX1262 | +14 dBm | 0x02 | 0x02 | 0x00 | 0x01 | +14 dBm |
中国工信部公告52号的所有要求
- 限在建筑楼宇、住宅小区及村庄等小范围内组网应用;
- 任意时刻限单个信道发射;
- 民用计量设备应具有防干扰功能; 民用计量仪表设备应当具备“发射前搜寻”等干扰规避功能,且不能被用户调整或关闭
- 避免干扰当地的广播电台和电视台;
- 符合发射功率限值和发射功率频谱密度限值; 发射功率限值:50mW(e.r.p)。发射功率谱密度限值:占用带宽小于等于200kHz的,为50mW/200kHz(e.r.p);占用带宽200-500kHz的,为 10mW/100kHz(e.r.p)。”
- 单次发射持续时间不超过1秒;
LoRa扩频因子与载荷规范表 (“B”- 字节)
SF 最终可选 BW (kHz) CR SF12 15B 125 4/5 SF11 46B 125 4/5 SF10 102B 125 4/5 SF9 199B 125 4/5 SF8 255B 125 4/5 SF7 255B 125 4/5 SF6 255B 125 4/5 SF5 255B 125 4/5 以LoRa常用的参数(Bandwidth=125kHz,Preamble=8,Coding rate =4/5)和在隐性包头模式下的一组理论发射时间和数据长度关系(单位:ms)
表2 发射时间 (“ms” – 毫秒) - 数据载荷 (“B”- 字节)
Payload SF 10B 20B 40B 60B 80B 100B 120B SF7 36.1 51.46 82.18 107.78 138.5 169.22 199.94 SF8 72.19 92.67 143.87 195.07 246.27 297.47 348.67 SF9 123.9 185.34 267.26 349.18 451.58 533.5 635.9 SF10 247.81 329.73 493.57 657.41 821.25 985.09 / SF11 495.62 659.46 905.22 / / / / SF12 991.22 / / / / / /
- 占用带宽不大于500kHz
PicXtools Rola 模块
基于成都亿佰特模组E22-400M22S

PicoXtools的lora模块


Lora 实验
** 命令行**
命令 | 说明/用法 |
---|---|
? | 显示帮助信息 |
r | Reset Radio |
s | 获取Radio状态 |
b | 查看 Busy状态 |
bf | 查看buffer状态 |
init | 初始化Radio,设置默认网络参数 |
set | 查看/设置网络参数(具体参数见下表) |
show | 查看网络参数 |
pwr | 设置输出功率 |
pa | PA设置 |
fr | 频率设置 |
err | 查看/清除 Radio Error code |
reg | 查看设置Radio寄存器值 |
buf | 读写Radio Buffer |
cmd | 写命令字 |
toa | 当前配置参数下计算给定的数据长度空中传输时长 |
sleep | 设置 Radio 为sleep状态 |
stb | 设置 Radio 为StandBy状态[0:STDBY_RC STDBY_XOSC:1] |
cad | 载波侦听 |
rssi | 查看当前的 RSSI |
tx | 发送数据 |
rx | 接收数据 |
c_wave | 发送连续的载波[freq, power, time] |
duty_rx | 进入rx,sleep循环状态[rxTime sleepTime] |
q | 退出lora令行[1: 4/5,2: 4/6,3: 4/7,4: 4/8] |
Set 命令网络参数表
参数名 | 说明/用法 |
---|---|
fr | 网络频率(KHz) |
sf | 扩频因子 5-12 |
bw | 网络带宽:[0: 125 kHz, 1: 250 kHz, 2: 500 kHz] |
cr | 编码率:[1: 4/5,2: 4/6,3: 4/7,4: 4/8] |
crc | 是否启用crc: 0/1 |
pre | 设置前导码长度 |
max | 最大数据包长度 |
pub | 公共网还是私有网: 0/1 |
pwr | Radio 输出功率:-9到22 |
pa_ramp | 设置 RampTime |
pa_max | 设置 PA最大输出功率[0-7]| |
pa_duty | 设置PA占空比[0-4] |
save | 保存、生效参数 |