一、LoRa 通讯核心工作原理
LoRa(Long Range)是 Semtech 公司推出的基于线性调频扩频(Chirp Spread Spectrum, CSS) 技术的低功耗广域网(LPWAN)通讯方案,核心优势是远距离、低功耗、抗干扰,其工作原理涵盖调制解调、频率合成、帧结构、纠错机制等关键环节,不同芯片(STM32WLE5C、SX1276、SX1268)的 LoRa 实现基于统一核心原理,但在硬件细节(如 PA 设计、寄存器配置)上存在差异。
1.1 核心技术:线性调频扩频(CSS)
LoRa 通过频率随时间线性变化的 “Chirp 信号” 传输数据,而非传统数字调制的离散载波。其核心是 “扩频”—— 将窄带数据信号扩展到宽带频段,通过牺牲速率换取距离和抗干扰能力。
- Chirp 信号特性:Chirp 信号的频率随时间呈线性递增(Up-Chirp)或递减(Down-Chirp),例如 470MHz 频段下,Up-Chirp 可从 470.0MHz 线性升至 470.125MHz(对应 125kHz 带宽)。
- 扩频增益与 spreading factor(SF):
SF(扩频因子)定义 “每个数据位对应的 Chirp 数量”,公式为Chirp数 = 2^SF
。例如:- SF=7:每个数据位对应 128 个 Chirp;
- SF=12:每个数据位对应 4096 个 Chirp(最高扩频增益,最远传输距离)。
更高的 SF 意味着更强的信号抗干扰能力和更远的传输距离,但会降低数据速率(速率与 2^SF 成反比)。
1.2 频率合成与载波生成
LoRa 通讯需生成精准的 470MHz 载波,由射频锁相环(RF-PLL) 实现,不同芯片的参考时钟源和频率合成机制存在差异:
芯片型号 | 参考时钟源 | 470MHz 载波生成逻辑 | 频率稳定度(典型值) |
---|---|---|---|
STM32WLE5C | 32MHz HSE32(晶体 / TCXO) | HSE32 时钟经分频后输入 RF-PLL,通过 SUBGHZ_RF-PLL 寄存器配置分频比,生成 470MHz 载波 | ±5ppm(TCXO) |
SX1276 | 16MHz 晶体 | 16MHz 晶体经 PLL 倍频至 470MHz,通过 RegPllConfig 寄存器配置倍频系数 | ±10ppm |
SX1268 | 32MHz TCXO(可选) | 32MHz TCXO 直接输入 PLL,减少分频损耗,通过 RegOscConfig 寄存器配置 TCXO 供电 | ±1ppm(TCXO) |
关键特性:470MHz 属于中低频段(波长≈638mm),绕射能力强、穿墙损耗低(相比 2.4GHz),是 LoRa 远距离通讯的理想频段。
1.3 LoRa 解调与纠错机制
接收端通过 “捕捉 Chirp 信号→同步→解调→纠错” 四步恢复数据,核心环节如下:
- Chirp 捕捉:接收端 LNA(低噪声放大器)放大微弱信号,通过混频器将 470MHz RF 信号下变频至中频(IF),再经 ADC 采样为数字信号。
- 信号同步:通过 “前导码(Preamble)” 实现时间同步,通过 “同步字(Sync Word)” 实现帧同步(STM32WLE5C 支持自定义同步字,SX1276/SX1268 默认同步字为 0x34)。
- 解调:通过 “Chirp 解扩” 将宽带信号恢复为窄带数据 —— 对比接收 Chirp 与本地生成的参考 Chirp,通过频率差计算数据位(0/1)。
- 前向纠错(FEC):通过编码率(Coding Rate, CR) 引入冗余 bits 纠正传输错误,CR 取值为 “4/5~4/8”(分子为数据 bits,分母为总传输 bits):
- CR=4/5:每 4 个数据 bits 附加 1 个冗余 bit(纠错能力弱,速率快);
- CR=4/8:每 4 个数据 bits 附加 4 个冗余 bit(纠错能力强,速率慢)。
1.4 LoRa 帧结构(通用格式)
LoRa 帧分为 “显式头部(Explicit Header)” 和 “隐式头部(Implicit Header)” 两种格式,三者均支持,差异仅在于头部是否传输帧参数:
帧字段 | 作用 | 长度(典型值) |
---|---|---|
前导码(Preamble) | 用于接收端同步(时间 / 频率同步) | 12 个 Chirp(默认) |
同步字(Sync Word) | 区分 LoRa 帧与干扰信号,可自定义(如 STM32WLE5C 支持 16 位同步字) | 2 个 Chirp |
头部(Header) | 显式模式:传输 payload 长度、CR、CRC 使能;隐式模式:无(需预先约定) | 4 个 Chirp(显式) |
负载(Payload) | 用户数据(如传感器数据、控制指令) | 1~255 字节(默认) |
CRC | 校验 payload 完整性,可关闭 | 2 字节(可选) |
STM32WLE5C 特有优化:支持 “长前导码”(最长 65535 个 Chirp),适合远距离弱信号场景;SX1276/SX1268 前导码最长为 65535 个 Chirp,兼容性一致。
二、芯片基础信息对比
在分析 470MHz 下的详细特性前,先明确三款芯片的核心定位和硬件基础:
对比维度 | STM32WLE5C | SX1276 | SX1268 |
---|---|---|---|
制造商 | STMicroelectronics | Semtech | Semtech |
产品定位 | MCU+Sub-GHz Radio(集成方案) | 纯 LoRa 射频芯片(需外接 MCU) | 低功耗 LoRa 射频芯片(需外接 MCU) |
LoRa 支持范围 | 仅 STM32WLE5xx 系列支持(WLE4xx 不支持) | 支持(LoRa/FSK/MSK) | 支持(LoRa/FSK/BPSK) |
工作频段范围 | 150~960MHz ISM band | 137~1020MHz | 150~960MHz |