读书笔记-《Lora物联网通信技术》
《Lora物联网通信技术》
《LoRa物联网通信技术》读书笔记
核心知识框架
第1章 LoRa背景及概述——物联网的DNA
1.1 LoRa背景介绍
1.1.1 LoRa技术与现状
核心概念:
- LoRa名称来源:Long Range(远距离)的首字母组合
- 技术起源:法国Cycleo公司开发的线性调频扩频(CSS)技术,2012年被Semtech收购
- LoRa联盟:2015年由Semtech联合Actility、Cisco、IBM等成立,推动LoRaWAN标准
LoRa基本技术指标:
| 指标 | 参数 |
|---|---|
| 传输距离 | 城镇5km,郊区15km |
| 工作频率 | 433/470/868/915MHz等ISM频段 |
| 调制方式 | CSS扩频技术(Semtech专利) |
| 通信速率 | 18b/s ~ 62.5kb/s |
| 网络容量 | 单网关可连接成千上万节点 |
| 电池寿命 | 长达10年 |
| 安全加密 | AES128 |
中国市场现状(截至2019):
- 产业链企业超1500家,年增速50%
- 2019年国内LoRa芯片出货超3000万片
- 应用场景超300个成熟垂直行业
- 阿里、腾讯、中国联通、中国铁塔等巨头入局
1.1.2 Semtech公司介绍
四大产品线:
- 信号完整性产品:光通信、广播视频、背板数据时钟恢复
- 安全保护类产品:TVS瞬间电压抑制产品
- 无线和传感类产品:LoRa芯片、触摸控制器
- 电源管理和高可靠性产品:充电芯片、LED驱动器、电力线载波
LoRa成功关键:不仅是技术优势,更是生态化运营策略——通过LoRa联盟推广开放标准LoRaWAN,同时保持私有技术的商业利益。
1.2 物联网技术
1.2.1 物联网的定义与发展
物联网三要素:
- 无线通信技术:RFID、LoRa、Wi-Fi、BLE、NFC、ZigBee、NB-IoT、UWB、Sigfox
- 传感器技术:温度、湿度、压强、压力、空气质量、化学成分
- 嵌入式系统技术:计算机软硬件、传感器技术、集成电路技术的综合
1.2.2 无线物联网通信技术分类
| 分类 | 技术 | 特点 |
|---|---|---|
| 短距离LAN | Wi-Fi/BLE/ZigBee/NFC/UWB | 家庭、个人场景 |
| 远距离LPWAN | LoRa/NB-IoT/eMTC/Sigfox | 智慧城市、表计 |
短距离技术对比:
| 技术 | 频段 | 工作范围 | 最高速率 | 成本 | 主要应用 |
|---|---|---|---|---|---|
| 蓝牙5.0 | 2.4GHz | 300m | 2Mb/s | 低 | 可穿戴、音频 |
| Wi-Fi 6 | 2.4/5GHz | 100m | 10Gb/s | 中 | 高速上网 |
| NFC | 13.56MHz | 20cm | 424kb/s | 低 | 支付、门禁 |
| ZigBee | 2.4GHz/868/915MHz | 10-75m | 250kb/s | 低 | 智能家居 |
| UWB | 3.1-10.6GHz | 10m | Gb/s级 | 高 | 室内定位 |
1.2.3 NB-IoT技术详解
发展历程:
NB-M2M → NB-OFDM → NB-CIoT → NB-LTE → NB-IoT(3GPP R13冻结于2016年)
三种部署方式:
- 独立部署(Stand alone):利用新频带或GSM重耕
- 保护带部署(Guard band):利用LTE边缘保护频段
- 带内部署(In band):利用LTE载波中间频段
覆盖增强:
- 重传增益 = 10lg(重传次数)
- NB-IoT最大下行2048次重传 → 30dB处理增益
- 上行128次重传 → 21dB处理增益
- 最大耦合损耗(MCL):164dB(极限灵敏度-141dBm + 23dBm发射)
低功耗模式:
- PSM(省电模式):TAU周期最长310h,空闲态最长3.1h,超99%时间休眠
- eDRX(扩展不连续接收):eDRX周期20.48s2.91h,PTW窗口2.56s40.96s
1.2.4 eMTC技术
演进:Cat.1 → Cat.0 → Cat.M1(eMTC)
eMTC五优势:
- 速率高:上下行最大1Mb/s
- 支持移动性:连接态切换
- 可定位:基站侧PRS测量
- 支持语音:VoLTE
- LTE网络复用:共站址共天线
1.2.5 Sigfox技术
技术特点:
- UNB超窄带:100Hz带宽,100b/s或600b/s速率
- 随机接入:时间和频率分散,消息发3个副本
- 协作接收:终端不绑定特定基站,多个基站接收
- 短消息:上行最多12B,下行固定8B
1.3 LoRa特点及应用
1.3.1 LoRa技术七大优势
-
远距离
- 最高灵敏度-149.1dBm(SF=12/BW=7.81kHz)
- 卫星应用:600-1600km近地轨道通信
- 实测:美国硅谷湾区单网关覆盖50km
-
抗干扰能力强
- 低于噪声20dB仍可正常解调
- 突发干扰占空比<50%时,灵敏度恶化<3dB
- 原理:Chirp相干解调将信号聚集,噪声仍为噪声
-
低功耗
- 静态电流<1μA
- 接收电流<5mA(SX126X)
- 17dBm发射时电流仅45mA
- CAD功能:2个码元时间检测信道,省电3-4倍
-
大容量
- ADR(自适应速率)动态调整SF和功率
- 8种正交扩频因子(SF5-SF12)共存
- 单网关可支持数万节点
-
按需部署、独立组网
- "长Wi-Fi"特性:即插即用
- 适合蜂窝信号盲区(井盖、地下室、偏远地区)
-
轻量级、低成本
- 模块无需TCXO、SAW滤波器
- 无专利和入网许可费用
- LoRaWAN模块量产价约3美元
-
抗频偏(抗多径/多普勒/定位)
- 抗多径:扩频技术对抗多径衰落
- 抗多普勒:允许频率偏移24.5kHz(490MHz),支持高铁、卫星
- 定位测距:基于TOF的测距功能
1.3.2 LoRa vs 其他技术
vs NB-IoT:
| 对比项 | LoRaWAN | NB-IoT |
|---|---|---|
| 终端成本 | 约80% of NB-IoT | 较高 |
| 基站成本 | ¥0.2-0.5万 | ¥15-30万 |
| 网关成本比 | 1 | 30-50 |
| 抗多普勒 | 支持超高速(>16.7km/s) | R14支持80km/h |
| 适用场景 | 私有网/企业网/深度覆盖 | 公网/广域移动 |
vs ZigBee:
- 工作频率:Sub-1GHz衰减小,绕射强
- 频段干扰:2.4GHz干扰严重,LoRa干扰小
- 灵敏度:LoRa高20dB
- 覆盖范围:同区域LoRa网关数量是ZigBee的1/10
- 网络稳定性:LoRa单跳,无需Mesh
1.3.3 LoRa应用市场
三大类场景:
- 蜂窝信号弱场景:农业、采矿、森林防火、环境监测、智慧楼宇
- 功耗/距离严格场景:水气表(8-10年寿命)、停车传感器、资产追踪
- 私有/企业网络:工业控制、园区物业
八大应用分类:
- 智慧表计 | 智慧物流 | 智慧医疗 | 智慧农业
- 智慧工业 | 智慧建筑/家庭 | 智慧社区/城市 | 智慧环境
市场规模(2020.1):
- 1.3亿个LoRa终端
- 50万+ LoRaWAN网关
- 覆盖140+国家和地区
第2章 LoRa技术核心——Chirp调制解调技术
2.1 常用数字通信调制技术
2.1.1 数字调制概念
为什么要调制:天线尺寸 ≈ λ/4,5kHz基带信号需15km天线,调制到470MHz仅需16cm
2.1.2 三种二进制调制
| 调制方式 | 原理 | 表达式 |
|---|---|---|
| 2ASK | 幅度变化 | s(t) = A·cos(ωct) 或 0 |
| 2FSK | 频率变化 | s(t) = cos(ω1t) 或 cos(ω2t) |
| 2PSK | 相位变化 | s(t) = cos(ωct) 或 cos(ωct+π) |
| 2DPSK | 相对相位 | 前后码元相差表示0/1 |
2.1.3 抗噪声性能
误码率公式汇总(大信噪比下):
| 调制方式 | 相干解调 | 非相干解调 |
|---|---|---|
| 2ASK | Pe = (1/2)erfc(√(r/4)) | Pe = (1/2)e^(-r/4) |
| 2FSK | Pe = (1/2)erfc(√(r/2)) | Pe = (1/2)e^(-r/2) |
| 2PSK | Pe = (1/2)erfc(√r) | - |
| 2DPSK | Pe = erfc(√r) | Pe = (1/2)e^(-r) |
r为信噪比
保证误码率<0.1%所需信噪比:
- 2PSK相干:>6.8dB
- 2DPSK相干:>7.3dB
- 2FSK相干:>9.8dB
- 2ASK相干:>12.8dB
2.1.4 性能比较
- 抗噪性能:2PSK > 2FSK > 2ASK
- 频带利用率:2ASK/2PSK优于2FSK
- 设备复杂度:非相干 < 相干,2DPSK最复杂
- 抗多径:2FSK最优
2.2 扩频技术
2.2.1 扩频历史
- 1941年:Hedy Lamarr申请跳频专利
- 1949年:第一个直接序列扩频系统(FTL)
- 1976年:第一本扩频专著(R.C.Dixon)
2.2.2 扩频技术详解
基本原理:
- 发射:信息 × 扩频序列 → 宽带信号
- 接收:宽带信号 × 相同扩频序列 → 恢复窄带信息
六大优势:
- 抗干扰:宽带干扰变平坦,窄带干扰扩散
- 隐蔽性强:信号低于噪声基底,LPI特性
- 抗多径衰落:利用自相关特性分离多径
- 扩频多址:不同扩频码可区分用户
- 频谱利用率高:不同扩频因子正交共存
- 精确定位测距:UWB、LoRa测距
扩频分类:
关键参数:
-
频谱效率 = 码率(b/s) / 带宽(Hz)
- LoRa SF=5时:0.156 b/s/Hz
- LoRa SF=12时:0.0029 b/s/Hz
-
处理增益 Gp = B / ΔF
- LoRa SF=7/BW=125kHz:Gp=13.7dB
- NB-IoT上行128次重传:Gp=21dB
- NB-IoT下行2048次重传:Gp=30dB
- LoRa最大Gp=26.3dB(SF=12/BW=125kHz)
-
干扰容限 Mj = Gp - [Ls + (S/N)out]
2.2.3 香农定理
公式:C = B·log₂(1 + S/N)
物理意义:频带F、时间T、信噪比γ三者可互换
四种互换关系:
-
频带换信噪比(扩频):F↑ → γ↓
- LoRa、ZigBee使用此原理
-
信噪比换频带(高阶调制):γ↑ → F↓
- Wi-Fi的QAM调制(16QAM/64QAM/1024QAM)
-
时间换信噪比(重传):T↑ → γ↑
- NB-IoT重传机制
-
时间换频带/频带换时间:F·T = 常数
2.3 Chirp调制
2.3.1 线性调频信号
时域表达式:s(t) = cos(2πf₀t + πμt²),-T/2 ≤ t ≤ T/2
处理增益:Gp = F·T(时间带宽积)
2.3.2 Chirp信号调制
二元正交键控(BOK):
- 正斜率Chirp → 代表"1"
- 负斜率Chirp → 代表"0"
产生方法:
- 直接频率调制(VCO)——LoRa采用
- CDDS数字合成
- 正交调制(I/Q)
- SAW声表面波器件
2.3.3 LoRa调制
核心思想:用频率变化速率(“Chirpness”)调制信号
扩频因子(SF):
- 每个码元由2^SF个码片组成
- SF越大,传输距离越远,速率越低
- SF=7:128种码片,承载7bit
- SF=12:4096种码片,承载12bit
LoRa信号特征:
- 一个码元周期内频率扫过整个带宽
- 从起始频率线性上升,到最高后回落到最低继续
- 初始频率位置决定该码元的数据
第3章 LoRa扩频技术
3.1 LoRa调制解调原理
3.1.1 LoRa调制理论
调制链路组成:
- 纠错编码机
- 交织器
- 扩频序列产生器
- 笛卡儿极坐标转换器
- Delta-sigma调制器
解调链路组成:
- 数字抽取滤波器
- 中频混频器
- 信道滤波器
- 软解映射器
- 解交织器
- 纠错解码器
- 扩频序列产生器
关键参数:
- SF:扩频因子(5~12)
- CR:编码速率 4/(4+CR)
- BW:调制带宽(7.8~500kHz)
- NF:噪声系数
码元时长:T_symbol = 2^SF / BW
数据速率:R_b = SF × [BW/2^SF] × CR
信噪比需求(1%误包率,32B):
| SF | SNR需求 |
|---|---|
| 7 | -7.5 dB |
| 8 | -10 dB |
| 9 | -12.5 dB |
| 10 | -15 dB |
| 11 | -17.5 dB |
| 12 | -20 dB |
每增加1个SF,SNR需求仅提高2.5dB(非3dB)
灵敏度公式:
sensi = -174 + NF + 10lg(BW) + SNR
示例:网关NF=2dB,BW=125kHz,SF=12(SNR=-20dB)
sensi = -174 + 2 + 51 - 20 = -141dBm(实际-142.5dBm)
与FSK对比:
同速率下,LoRa比FSK灵敏度好8.4dB
与NB-IoT对比:
- LoRa SF=12时 Eb/N0 ≈ 3.8dB
- NB-IoT Eb/N0 ≈ 9.3dB
- LoRa好5.5dB → 同等距离需功率仅为1/3.5
3.1.2 调制解调器详解
四个可调参数:
- SF(扩频因子):SF5-12,正交
- BW(带宽):7.8/10.4/15.6/20.8/31.25/41.67/62.5/125/250/500kHz
- CR(编码率):4/5, 4/6, 4/7, 4/8
- LDRO(低速率优化):T_symbol ≥ 16.38ms时开启
帧结构:
[前导码 Preamble] [包头 Header] [有效载荷 Payload] [CRC]
- 前导码长度:N + 4.25个码元(N≥6)
- 显性包头:含长度、编码率、CRC信息
- 隐性包头:固定参数,删除包头
空中时间计算:
T_symbol = 2^SF / BW
n_payload = 8 + max(ceil[(8×PL - 4×SF + 28 + 16×CRC - 20×IH) / (4×(SF - 2×DE))] × (CR + 4), 0)
IH:隐式包头(0显性/1隐性)
DE:低速率优化(0关/1开)
CRC:16位CRC(0无/1有)
3.2 LoRa计算器工具
参数分组:
- LoRa调制参数:SF、BW、CR、LDRO
- 数据包配置:前导长度、载荷长度、包头模式、CRC
- 射频设置:发射功率
输出参数:
- 时间性能:总码元数、码元时长、空中时间
- 射频性能:接收灵敏度、链路预算、最大频率误差
示例计算:
SF=7, BW=125kHz, CR=4/5, 关闭包头/CRC, 前导12码元, 载荷2B
T_symbol = 2^7/125000 = 1.024ms
n_symbol = 8 + (8×2 - 4×7 + 28)/4 × 5 = 24.25
ToA = 1.024 × 24.25 = 24.832ms
3.3 空口实际案例分析
"LoRa"数据发送过程:
-
ASCII转二进制:
- L(4C) → 01001100
- o(6F) → 01101111
- R(52) → 01010010
- a(61) → 01100001
→ 32bit: 01001100011011110101001001100001
-
前向纠错编码(CR=4/5):
每4bit加1bit校验 → 40bit: 0100111000011001111001010001010110000011 -
交织器(SF=8 → 8行5列):
40bit数据映射到5个码元 -
封装:前导 + 载荷码元 + CRC
-
CSS调制:最终输出频率随时间变化的Chirp信号
第4章 LoRa核心芯片
4.1 芯片分类
| 类别 | 型号 | 用途 |
|---|---|---|
| 终端芯片 | SX126X/SX127X | 节点/单信道网关 |
| 网关芯片 | SX130X+SX125X | LoRaWAN多信道网关 |
| 2.4GHz芯片 | SX128X | 测距/高速/全球频段 |
终端芯片代际:
- 第一代:SX1272/6/8(寄存器控制)
- 第二代:SX1261/2/8(命令控制,90nm工艺)
网关芯片代际:
- 第一代:SX1301/SX1308 + SX1255/7/8
- 第二代:SX1302 + SX1250
4.2 Sub-1GHz收发芯片(SX126X)
4.2.1 芯片架构
四大模块:
- 模拟前端
- 数字调制解调(LoRa + (G)FSK)
- 数字接口和控制(SPI)
- 电源(DC-DC/LDO)
4.2.2 规格参数
功耗对比(SX126X vs SX127X):
| 参数 | SX126X | SX127X |
|---|---|---|
| 休眠电流 | 1.2μA | 0.4μA |
| 接收电流 | 4.6mA | 10mA |
| 发射电流(17dBm) | 45mA | 87mA |
| 最大输出功率 | +22dBm | +20dBm |
| 链路预算 | +22-(-149)=171dB | +20-(-149)=169dB |
| 扩频因子 | SF5-12 | SF6-12 |
| 封装 | 4×4mm | 6×6mm |
| 接口 | 命令控制 | 寄存器控制 |
4.2.3 关键电路
功率放大器特性:
- SX1261:DC-DC供电,输出功率恒定(1.8-3.7V)
- SX1262:PA需高电压,20dBm输出需供电≥2.7V
发热与频偏:
- 大功率发射时晶振温升导致频率偏移
- 解决方案:TCXO或PCB挖空散热
- 未优化时1.5s偏移超163Hz,通信中断
4.3 网关芯片
4.3.1 SX1301
规格:
- 49路LoRa解调器 + 1路FSK解调器
- 10条可编程并行解调通道
- 最高灵敏度-142dBm(搭配SX1255/7)
- 支持ADR
架构:
- 8路DDR解调器(SF7-12/125kHz)
- 1路专用解调器(125/250/500kHz)
- 外部需MCU + 射频前端(SX125X)+ GPS(可选)
SX1301 vs SX1308:
| 参数 | SX1301 | SX1308 |
|---|---|---|
| 温度范围 | -40~85℃ | 0~70℃ |
| 功耗 | 略低 | 略高 |
| 适用场景 | 工业/室外 | 室内 |
全双工实现:
- 硬件方案:增加SX126X作为专用下行通道
- 需双天线或双工器(隔离40-60dB)
- 注意发射噪声降低接收灵敏度
4.3.2 SX1302(第二代)
改进点:
- 支持SF5-12全系列
- 每通道2个解调器同时工作 → 容量翻倍
- 单32MHz晶振(原需2个)
- 功耗降至SX1301的10%
- 缓存4KB(原1KB)
- 支持全双工
- 支持LBT(Listen Before Talk)
- SPI桥接功能,MCU可直接控制射频前端
封装:QFN64 7×7mm(原9×9mm)
4.3.3 射频前端芯片
SX1255/7 vs SX1250:
| 参数 | SX1255/7 | SX1250 |
|---|---|---|
| 频率范围 | 100MHz分段 | 150-960MHz全频 |
| 输出功率 | 5dBm(需外PA) | 22dBm(内置PA) |
| 噪声系数 | 2.5dB | 8dB |
| 接收电流 | 较高 | 很低 |
| 封装 | 5×5mm | 4×4mm |
| 双工 | 支持全双工 | 仅半双工 |
| 设计理念 | 高性能 | 简单/低成本 |
三种网关方案:
- 微型:SX1302 + SX1250(低成本)
- 小型:SX1302 + SX1255/7(高性能)
- 大型:多组SX1302 + 多射频前端(大容量)
4.4 2.4GHz芯片(SX128X)
4.4.1 SX1280介绍
五种调制引擎:
- LoRa 2.4GHz:SF5-12,带宽200/400/800/1600kHz
- FLRC:Fast LoRa,260kb/s-1.3Mb/s
- GFSK:兼容传统2.4GHz应用
- BLE物理层:可通过软件实现蓝牙
- 测距引擎:TOF测距
主要指标:
- 最高灵敏度:-132dBm
- 输出功率:+12.5dBm
- 链路预算:144.5dB
- 接收电流:<5.5mA
- 发射电流:24mA(+12.5dBm)
- 休眠电流:215nA
4.4.2 工作距离
测试结果(12.5dBm):
- FLRC(260kb/s):2.3km
- LoRa 2.4GHz(476b/s):3.6km
- LoRa 868MHz(292b/s):5.8km
原因:频率越低,波长越长,传播衰减越小
4.4.3 测距引擎
原理:
- 主机发送测距信号,记录发送时间T1
- 从机收到后立即回复
- 主机收到回复记录时间T2
- 距离 = (T2 - T1 - T_delay) × c / 2
精度:
- 80次测距后可达1m精度
- 300次测距后接近0.5m
- 实际环境误差5-20m(多径影响)
4.5 芯片Roadmap
未来方向:
- 特殊应用芯片:
- LLCC68(室内应用)
- LR1110(集成GNSS+Wi-Fi探针)
- 新网关芯片:SX1303(TDOA优化)
- 2.4GHz网关芯片(待发布)
- 更高性能收发芯片:先进工艺可提升2-4dB灵敏度
第5章 LoRa的网络系统
5.1 常用LoRa网络结构
5.1.1 点对点网络
- 最简单拓扑,主机-从机模式
- 应用:对讲机、测距
- 优势:架构简单,适合学习
5.1.2 星状拓扑网络
“长Wi-Fi”:网关为中心,节点直连
六种实现模式:
-
普通模式:
- 网关一直接收,节点随机上报
- 问题:单信道易干扰,容量小,下行实时性差
-
定时问询模式:
- 网关按时间表轮询节点
- 需时钟校准(晶振误差20ppm → 1小时误差72ms)
- 优点:信道利用率高(可达80%)
-
信道升级模式:
- 网关多模块多信道
- 节点随机选择信道发送
- 容量×N,抗干扰增强
-
同步下行主动模式:
- 节点同步唤醒(如每秒唤醒2ms)
- 需GPS或定期校准
- 优点:低功耗+实时下行
-
异步下行主动模式:
- 长前导唤醒(前导长度>唤醒周期)
- 无需时钟同步
- 缺点:唤醒所有节点,功耗高
-
私有网络问题:
- 链路预算固定(远近节点矛盾)
- 多网关干扰
- 多网关同步困难
5.1.3 Mesh拓扑
应用场景:
- 野外数据采集(多跳中继)
- 电表(高速率+远距离)
优势:
- LoRa Mesh可实现电池供电中继(异步唤醒省电)
- 相比ZigBee Mesh,LoRa单跳距离远10倍
5.2 LoRaWAN网络结构
5.2.1 蜂窝移动通信系统(类比基础)
基本组成:
- 移动台(MS)→ 对应LoRa终端
- 基站子系统(BSS)→ 对应LoRa网关
- 移动交换中心(MSC)→ 对应网络服务器
- 公众通信网(PSTN)→ 对应网关与NS的连接
频率复用:
- 七小区频率复用解决同频干扰
- 小区分裂扩容(半径减半,小区数×4)
信道切换:
- 解决移动用户跨小区通信
- 问题:高速移动易丢包,小区拖尾
5.2.2 LoRaWAN网络
四层架构:
终端节点 ↔ 网关 ↔ 网络服务器 ↔ 应用服务器
三大创新:
-
自适应数据速率(ADR):
- 网关测量SNR/RSSI,估算链路余量
- 命令节点调整SF和发射功率
- 近节点用SF7/低功率,远节点用SF12/高功率
- 效果:容量↑,功耗↓,干扰↓
-
同频多网关协作:
- 终端数据可被多个网关接收
- NS选择最佳网关下行
- 无同频干扰问题(对比蜂窝网需7频复用)
- 扩容只需增加网关,无需频率规划
-
GPS同步:
- 室外网关GPS授时(纳秒级)
- 支持Class B同步下行
- 支持TDOA定位
与蜂窝网对比优势:
- 高速移动不丢包(无需切换)
- 抗多普勒(允许24.5kHz频偏)
- 站点选择灵活
- 网优几乎不存在
- 扩容简单(加网关即可)
- 建网成本低
- 支持TDOA定位
缺点:
- 速率低(最高5.5kb/s)
- 实时性差(Class A需1s后下行)
5.2.3 LoRaWAN Server
五部分:
- 认证服务器:设备注册表、访问控制
- 网关服务器:保持网关连接,数据转发
- 网络服务器:MAC命令、ADR、下行调度、上行处理
- 应用服务器:数据解密/加密、MQTT/HTTP接口
- 接入服务器:连接流验证、会话密钥生成
第6章 LoRa的标准及规范
6.1 LoRaWAN网络协议
6.1.1 三类终端
| 类型 | 特点 | 功耗 | 下行实时性 | 应用 |
|---|---|---|---|---|
| Class A | 每次上行后开RX1/RX2 | 最低 | 差 | 水表/气表/烟感 |
| Class B | 定期开ping slot | 中 | 中 | 门锁/水闸 |
| Class C | 持续接收 | 高 | 最好 | 电表/路灯 |
记忆:A=All(必须支持),B=Beacon,C=Continuous
6.1.2 帧结构
PHY Payload = MHDR(1B) + MACPayload + MIC(4B)
MACPayload = FHDR + FPort(可选) + FRMPayload(可选)
FHDR = DevAddr(4B) + FCtrl(1B) + FCnt(2B) + FOpts(0-15B)
6.1.3 Class A详解
- RX1:上行结束后1s±20μs开启,频率/速率与上行相关
- RX2:上行结束后2s±20μs开启,固定可配置频率/速率
- 接收窗口长度≥前导码时长
- 若RX1收到有效帧,则关闭RX2
6.1.4 终端激活
OTAA(空中激活):
- 需DevEUI、AppEUI、AppKey
- Join Request → Join Accept
- 生成NwkSKey和AppSKey
ABP(独立激活):
- DevAddr、NwkSKey、AppSKey预存
- 绕过入网流程,直接通信
6.1.5 Class B
- 网关周期发送Beacon(同步)
- 终端在指定时间开ping slot
- 时钟漂移补偿:10ppm晶振,128s周期漂移±1.3ms
- 支持单播/多播
6.1.6 Class C
- RX2持续打开(除发射时)
- 发射结束后立即开RX2,然后RX1,再RX2
- 几乎实时接收
6.2 LoRaWAN协议扩展
6.2.1 Relay中继协议
需求:
- 电池供电中继器(2Ah电池,工作5年)
- 最多支持10个终端
- 兼容LoRaWAN 1.0.X/1.1.X
唤醒机制:
- 专用唤醒信道(SF7/125kHz或SF8/500kHz)
- 中继每秒监听2ms(CAD模式)
- 异步唤醒:长前导(≥1s)
- 同步唤醒:短前导(200ms),需时钟校准
通信流程:
终端 → (唤醒) → 中继 → (LoRaWAN) → 网关 → NS → AS
终端 ← (下行) ← 中继 ← (下行) ← 网关
6.2.2 阿里巴巴D2D协议
场景:设备间直接通信,亚秒级响应
机制:
- 空中唤醒(长前导)
- 兼容LoRaWAN,网关无需修改
- 节点SDK升级即可
特点:
- 本地互控,不上云
- 功耗介于Class B和Class C之间
- 唤醒频率可设(0.5s/1s)
问题:唤醒所有D2D设备,功耗损失
6.2.3 YoLink智能家居协议
三类设备:
- A类:电池供电(同Class A)
- C类:常开(同Class C)
- D类:电池供电+无线唤醒(类似D2D)
特点:
- 固定链路速率(单信道网关)
- 设备间互控(断网可用)
- 三信道分离:上行Freq1/下行Freq2/唤醒Freq3
- 网关共享:邻居网关可接力上报(如火灾报警)
6.3 LoRa规范及认证
6.3.1 全球区域规范
欧洲(EU863-870):
| 信道 | 频率(MHz) | 用途 |
|---|---|---|
| 0 | 868.1 | 入网/通信 |
| 1 | 868.3 | 入网/通信 |
| 2 | 868.5 | 入网/通信 |
- 占空比:<1%
- 最大输出功率:EIRP 16dBm
- DR0-5:125kHz LoRa,DR6:250kHz LoRa,DR7:FSK
美国(US902-928):
- 上行:64×125kHz + 8×500kHz
- 下行:8×500kHz(923.3-927.5MHz)
- 最大输出功率:EIRP 30dBm
中国(470-510MHz):
20MHz天线方案:
- A类:上行32ch(470.3-476.5),下行32ch(483.9-490.1)
- B类:上下行同频(476.9-483.1/496.9-503.1)
26MHz天线方案:
- A类:上行48ch(470.3-479.7),下行24ch(490.1-494.7)
- B类:上行48ch(480.3-489.7),下行24ch(500.1-504.7)
中国规范限制:
- 输出功率:E.R.P ≤ 50mW(≈EIRP 19.15dBm)
- 单次发射时长:≤1s
- 占用带宽:≤500kHz
- 频率容限:100×10⁻⁶
- 需LBT干扰规避
6.3.2 LoRaWAN认证
认证项目:
- EU863-870
- US902-928
- AS923
- KR920-923
- IN865-867
流程:
- 联系授权测试实验室(ATH)
- 完成认证调查问卷
- 准备样品(需OTAA或ABP就绪)
- ATH执行测试
- 提交结果至LoRa联盟
- 审核通过,颁发证书
常见问题:
- 必须LoRa联盟会员
- 目前仅A类设备认证
- 可选射频性能测试
- 与CE/FCC法规认证无关
6.3.3 中国无线电规范(工信部2019)
核心条款:
- 使用频率:470-510MHz
- 发射功率:50mW(E.R.P)
- 功率谱密度:≤200kHz时50mW/200kHz;200-500kHz时10mW/100kHz
- 单次发射:≤1s
- 占用带宽:≤500kHz
- 频率容限:100×10⁻⁶
- 需LBT干扰规避
对LoRaWAN的影响:
| SF | 原最大载荷 | 新规范最大载荷(≤1s) |
|---|---|---|
| 12 | 59B | 15B |
| 11 | 59B | 46B |
| 10 | 59B | 59B(无影响) |
实际应用中优先遵循法规,再遵从行业标准
第7章:LoRa行业及生态
7.1 LoRa联盟
- 成立:2015年由Semtech联合Actility、Cisco、IBM等发起,推动LoRaWAN成为全球标准。
- 成员:超过500家,包括电信运营商(KPN、Bouygues、Swisscom)、系统方案商(Actility、KERLINK)、软件商(IBM)、硬件厂商(思科、Adeunis)等。
- 生态构成:芯片、模组、传感器、网关、网络服务器、应用服务器,形成完整产业链。
7.2 中国LoRa产业链分析
- 产业链规模:截至2020年,国内LoRa企业近1500家,年增速超40%。
- 产业链特点:
- 多元化:互联网巨头(阿里、腾讯)、运营商(联通、铁塔)、解决方案商共同参与。
- 应用多样化:从表计扩展到智慧城市、农业、安防、家居等。
- 开放化:芯片IP授权(ST、ASR)、平台开放接入。
- 产业链结构:
- 上游:芯片(Semtech独家授权,ST、ASR获IP授权,SIP厂商如群登)。
- 中游:模组(竞争激烈,纯数据模组为主)、网关(8通道LoRaWAN网关居多)、平台(阿里LinkWAN、腾讯云IoT)。
- 下游:终端厂商、集成商、最终用户(企业级为主,消费级起步)。
- 市场数据:
- 2019年国内终端节点约5000万个,网关约16万个。
- 表计应用占70%,其他如智慧楼宇、园区、消防等逐步增长。
- 发展趋势:
- 标准化:LoRaWAN协议普及。
- 产业链整合:模组厂商向终端和方案延伸。
- 聚焦细分领域:企业回归理性,做深行业。
- 消费级市场:室内应用成为新增长点。
7.3 国内生态链企业分析
7.3.1 核心硬件厂商
- 芯片厂商:
- SoC芯片:ST(STM32WL系列,集成Cortex-M4,支持LoRa/FSK/MSK/BPSK,256KB Flash),ASR(翱捷科技,ASR650x系列,SIP封装,集成MCU+SX1262)。
- SIP芯片:群登(S76系列,集成MCU、晶振、射频开关,甚至GNSS)。
- 模组厂商:利尔达(全系列模组,覆盖多种应用)、华普微(出口为主)、唯传(项目带动模组)。
- 终端/网关厂商:Seeed(开发者套件)、RAK、杭州罗万(电力领域)、博大光通(上百种终端)。
7.3.2 平台与应用方案商
- 大型平台:
- 腾讯云:在深圳南山、龙岗部署城域LoRaWAN网络(近千网关),提供IoT接入平台,支持亿级节点。
- 阿里云:获得Semtech IP授权,联合ASR开发芯片;推出LinkWAN平台,支持D2D协议、OTA;认证合作伙伴产品。
- 应用解决方案公司:慧联无限、唯传、中兴克拉等,提供从模组、网关到NS、AS的整套方案,深入行业解决具体问题。
7.3.3 外围伙伴
- 电池及电容:锂亚电池+超级电容组合(如AVX SCCR12B105PRB),满足LoRa间歇发射需求。
- 天线公司:提供弹簧天线、胶棒天线、玻璃钢天线,需根据外壳优化匹配。
- 测试设备:固纬电子(集成式LoRa测试仪)、是德科技(通用仪表),简化研发与量产测试。
第8章:LoRa应用核心技术分析计算
8.1 传输距离问题
8.1.1 无线电波传播途径
- 频段选择:UHF(300MHz~3GHz)兼顾覆盖与容量,LoRa常用470MHz(中国)、868/915MHz。
- 传播方式:直射、反射、绕射、散射、穿透。城市环境中绕射占主导。
- 地球曲率影响:视距极限距离 ( d = \sqrt{2R_e}(\sqrt{h_t}+\sqrt{h_r}) ),标准大气折射下 ( R_e = 8500\text{km} ),( d \approx 4.12(\sqrt{h_t}+\sqrt{h_r}) ) km(h单位m)。
8.1.2 弗里斯传输公式与链路预算
- 自由空间损耗:( L_0 = 32.4 + 20\lg f + 20\lg d )(f:MHz,d:km)。
- 链路预算:( \text{Link Budget} = P_t + G_t + G_r - P_{r,\min} )。
- 接收信号强度:( P_r = P_t + G_t + G_r - L )。
- 例8-2:SX1262最大输出22dBm,灵敏度-149.1dBm,链路预算171.1dB,理论地月通信距离。
- 例8-4:中国规范下NB-IoT(900MHz,MCL=164dB)与LoRa(490MHz,MCL=161dB)极限距离比 ( r_{\text{NB}} / r_{\text{LoRa}} \approx 0.77 )。
8.1.3 绕射问题——菲涅耳区
- 第一菲涅耳区半径:( r_1 = \sqrt{\frac{\lambda d_1 d_2}{d}} )。
- 绕射损耗:当余隙 ( x < 0.5r_1 ) 时产生绕射损耗,( x=0 )(擦过)时损耗6dB。
- 严重遮挡:使用菲涅耳-基尔霍夫绕射系数 ( \nu = h\sqrt{\frac{2(d_1+d_2)}{\lambda d_1 d_2}} ),查表或公式求绕射增益。
8.1.4 工程覆盖估算
- 慢衰落:服从对数正态分布,标准差城市810dB,郊区68dB。路径损耗指数 ( n ):自由空间2,市区3~5。
- OKUMURA-HATA模型(适用于1501500MHz,距离135km):
[
L_{b,\text{城}} = 69.55 + 26.16\lg f - 13.82\lg h_b - a(h_m) + (44.9 - 6.55\lg h_b)\lg d
]
其中 ( a(h_m) ) 为终端天线高度修正因子。 - 室内覆盖:浅层覆盖(穿透16dB),深度覆盖(25dB)。室外网关难以覆盖深度室内,需补盲(Relay或室内网关)。
8.2 信道容量问题
8.2.1 多址协议
- 固定多址:FDMA、TDMA、CDMA。LoRa不同SF正交,可实现码分多址。
- 随机多址:
- 纯ALOHA:最大吞吐量 ( S_{\max} = 1/(2e) \approx 0.184 )。
- 时隙ALOHA:( S_{\max} = 1/e \approx 0.368 )。
- CSMA:非坚持型、1-坚持型、p-坚持型,吞吐量更高。
- LoRa特点:
- CAD(信道活动检测):低功耗监听,实现CSMA。
- SF正交CDMA:同频带内不同SF信号可共存。
- 冲突解调:同频同SF信号若强度差>6dB,可解调强信号。
8.2.2 信道容量计算
- 私有协议网络:
- 主动问询:信道利用率高,容量由问询周期和丢包率决定。
- TDMA:需预留保护时隙(晶振偏移)和重传时隙,吞吐量可达70%~80%。
- CSMA:智能家居场景,吞吐量约25%。
- LoRaWAN网络:
- 8信道网关,单信道按非坚持CSMA估算,取 ( S=0.36 )。
- 容量 ( N = \frac{8}{f_{\text{avg}} \times t_{\text{avg}}} \times 0.36 )。
- 智慧社区:( t_{\text{avg}}=250\text{ms}, f_{\text{avg}}=3\times10^{-4} ),( N \approx 3.84 )万。
- 智慧表计:( t_{\text{avg}}=400\text{ms}, f_{\text{avg}}=2.7\times10^{-5} ),( N \approx 26.7 )万。
- 程序示例:信道容量估算(Python)
def lorawan_capacity(channels=8, t_avg_ms=250, f_avg=3e-4, S=0.36): t_avg = t_avg_ms / 1000.0 N_per_channel = 1 / (f_avg * t_avg) * S return channels * N_per_channel print(lorawan_capacity()) # 智慧社区约38400
8.2.3 信道优化策略
- 长包分包:将长数据分包发送,减少单次飞行时间,提高可靠性。
- 组播与TDD应答:用于批量控制低功耗设备(如群组阀门),组播指令后各设备按编号分时上行确认。
- 高并发防冲突:将随机多址转为固定多址,设备入网分配时隙,提升容量2~3倍。
8.3 定位技术
8.3.1 基站定位
- 单基站区域定位:根据最强信号网关粗略定位(蜂窝小区)。
- 多基站定位:
- TDOA:测量信号到达多个网关的时间差,转换为距离差,需网关高精度时间戳(GPS授时,误差≤1μs对应300m误差)。
- RSSI:根据信号强度反算距离比例,精度受环境衰减影响大。
- 实测数据(深圳南山):TDOA误差100500m,RSSI误差1501000m;空旷地区TDOA可至30~100m。
8.3.2 测距定位
- SX1280 TOF测距:主从模式,测量信号往返时间,精度1m(多次平均),距离20~2000m。
- 缺点:需与多个网关逐次通信,功耗高、信道容量小,适用于园区/室内。
8.3.3 配合其他技术
- GNSS+LoRa:终端采集GPS位置后通过LoRa上报,适用于资产追踪。
- Wi-Fi/蓝牙探针+LoRa:扫描周围Wi-Fi/蓝牙信标ID,通过LoRa上传,云端匹配位置。
- LR1110芯片:集成GNSS和Wi-Fi扫描,超低功耗定位。
8.4 功耗问题
- 功耗计算:统计各状态电流和时间,平均电流 = (I_tx×t_tx + I_rx×t_rx + I_sleep×t_sleep) / 周期。
- 例8-15:SX1268+STM32L151,每秒CAD监听2个码元(SF9,BW125kHz,码元4.1ms),每小时发送一次(30.25符号),22dBm发射。计算得平均电流0.058mA,1000mAh电池寿命约716天(理论值)。
- 程序示例:电池寿命估算表(Excel可计算)
8.5 多普勒频率偏移
- 多普勒频移:( f_d = \frac{v}{\lambda} \cos\alpha )。
- LoRa容忍度:带宽的25%,例如125kHz带宽可容忍±31.25kHz,对应490MHz下极限速度约 ( v = f_d \lambda = 31.25\text{kHz} \times 0.61\text{m} \approx 19\text{km/s} ),远超地球表面运动。
- 频率偏移(包内漂移):由加速度或温漂引起,低速率优化(LDRO)可将容忍度提升16倍。
第9章:LoRa应用案例详解
9.1 智慧表计
- 市场背景:LoRa契合抄表需求(低功耗、远距离、易部署),表计产品一致性强,市场巨大。
- 方案对比:
- 自组网抄表:私有协议,需自行安装网关,实时性好,但施工复杂。
- LoRaWAN抄表:统一标准,主动上报,容量大,下行控制延迟(Class B或异步唤醒)。
- 三表对比:水表环境最恶劣、功耗要求最高;气表次之;电表供电充足。
- 无线抄表技术对比(每天一抄):
- LoRaWAN(无实时下行):功耗极低,延迟数小时。
- NB-IoT(PSM):功耗低,需月租费,依赖运营商覆盖。
- LoRa自组网:功耗中等,实时性较好,无月租。
- 扩展应用:水务管理(水源、管网、水质)、电网故障监测。
9.2 智慧城市、社区、楼宇
9.2.1 智慧城市
- 智慧路灯:单灯控制器(Class C),远程开关/调光/能耗监控,抗干扰强。
- 智慧社区:多传感器(消防、安防、环境、生活),采用LoRaWAN,复用城域网(如腾讯南山网络)。
- 智慧停车:路内停车地磁传感器,低功耗(电池寿命>2年),LoRa替代FSK,覆盖范围提升。
9.2.2 智慧消防
- 需求:“九小”场所消防管理,无线烟感、灭火器压力监测等。
- LoRa优势:穿透力强,低功耗(烟感电池寿命3年),易部署。
- 案例:工业园区消防升级,部署LoRaWAN网关,无线压力/液位变送器,对接原有平台。
9.2.3 智慧建筑
- 价值:精准计量、智能温控、预测性维护、安全保密。
- 案例:凯捷智能办公室,使用LoRa传感器监测会议室占用、办公桌使用、环境舒适度,一个网关覆盖1万m²,提升利用率至75%。
9.3 智慧农业
9.3.1 背景
- 农业物联网需求:土壤湿度、牲畜健康、环境监测。LoRa远距离、低功耗、无蜂窝覆盖地区可用。
9.3.2 应用
- 智慧养殖:牛耳标监测体温、活动量,异常报警;体内传感器监测排卵。
- 智慧种植:WaterBit灌溉传感器,监测土壤水分/盐分,远程控制阀门,提高产量20%~30%。
- LoRa优势:私有网络、覆盖广、支持定位(无需GPS),农村地区效果显著。
9.4 智慧工业、物流
9.4.1 卫星物联网
- LoRa卫星通信:近地卫星(~700km)可接收LoRa信号,实现无网络区域数据回传(如集装箱、野生动物追踪)。
- 优点:终端硬件无需改造,抗多普勒,成本低。
9.4.2 园区定位
- 痛点:化工园区人员/资产定位,室内外连续。
- 方案:员工工牌内置LoRa+GNSS+蓝牙,室外GPS定位,室内蓝牙信标定位,数据通过LoRa上传。LoRa网关覆盖范围远,减少网关数量。
9.4.3 智能传感监控
- 园区监控:多表集抄、电气火灾监测、灯控系统,一个LoRaWAN网关全厂覆盖。
- 海运传感:Wilhelmsen采用2.4GHz LoRa,避免各国Sub-1GHz频段差异,监测船舶机械、燃油效率。
9.5 消费类应用
9.5.1 智能家居
- LoRa优势:Sub-1GHz频段绕射强、灵敏度高(比2.4GHz技术高20dB)。
- 产品:LLCC68芯片专为智能家居优化;阿里云“守护精灵”安防套装(网关+门磁+红外+紧急按钮);亚马逊Sidewalk协议(基于LoRa),集成于Echo音箱,覆盖社区。
- Sidewalk构想:家庭网关组网成城域覆盖,实现宠物追踪、室外设备控制。
9.5.2 遥控、对讲、音视频
- 遥控:SX1281 FLRC模式,高灵敏度、低延迟(3ms),用于高端模型遥控器。
- 对讲机:LoRa替代FSK,相同速率下灵敏度高8~12dB,功耗低,支持CDMA多信道。
- 音视频:20km图传、无线音箱,LoRa灵敏度优势实现远距离传输。
9.5.3 手机、穿戴
- 手机集成:增加对讲、卫星求救功能,面向户外群体。
- 定位防丢:
- 亚马逊Fetch宠物标签,利用Sidewalk网关网络,城市级定位。
- KEYCO LoRa寻找器:卡片网关+手机App,共享网络激励模式。
10. 程序示例
10.1. LoRa参数计算程序框架
# LoRa空中时间计算器
def calculate_toa(sf, bw, pl, cr=1, ih=0, de=0, crc=1):
"""
sf: 扩频因子 7-12
bw: 带宽 Hz
pl: 载荷长度 bytes
cr: 编码率 1-4 (对应4/5-4/8)
ih: 隐式包头 0/1
de: 低速率优化 0/1
crc: CRC使能 0/1
"""
tsym = 2**sf / bw * 1000 # ms
# 计算载荷码元数
numerator = 8*pl - 4*sf + 28 + 16*crc - 20*ih
denominator = 4*(sf - 2*de)
n_payload = 8 + max(0, (numerator + denominator - 1) // denominator) * (cr + 4)
# 总码元数(前导8 + 载荷)
n_symbol = 8 + n_payload + 4.25
toa = n_symbol * tsym # ms
return toa
10.2. 灵敏度计算
def calculate_sensitivity(nf, bw, snr):
"""
nf: 噪声系数 dB
bw: 带宽 Hz
snr: 所需信噪比 dB
"""
kT = -174 # dBm/Hz
return kT + nf + 10*math.log10(bw) + snr
# SF7所需SNR = -7.5dB
sensi_sf7 = calculate_sensitivity(7, 125000, -7.5) # ≈ -123.5dBm
10.3. ADR算法简化版
def adr_algorithm(rssi, snr, current_sf, current_power):
"""
根据接收信号质量调整SF和功率
"""
# 估算链路余量
margin = rssi - (-174 + 7 + 10*math.log10(125000) + snr_table[current_sf])
if margin > 10: # 链路余量大
# 尝试提高速率(减小SF)
new_sf = max(7, current_sf - 1)
# 降低功率
new_power = max(2, current_power - 2)
elif margin < 0: # 链路余量不足
# 降低速率(增大SF)
new_sf = min(12, current_sf + 1)
# 提高功率
new_power = min(17, current_power + 2)
else:
new_sf = current_sf
new_power = current_power
return new_sf, new_power
10.4. Class B时间同步
// 晶振误差补偿
#define CRYSTAL_PPM 20 // 20ppm晶振
#define BEACON_PERIOD 128000 // 128秒
// 计算漂移
int32_t drift = (int32_t)BEACON_PERIOD * CRYSTAL_PPM / 1000000; // ±2.56ms
// 接收窗口宽度需大于漂移
#define RX_WINDOW (drift * 2 + 2) // 加2ms余量
10.5. 测距算法
// 主机端测距
uint64_t t1 = get_timer(); // 发送时刻
send_ranging_packet();
// 等待从机回复
if (receive_response(&rx_time)) {
uint64_t t2 = rx_time; // 接收时刻
uint64_t tof = t2 - t1 - TURNAROUND_TIME; // 飞行时间
float distance = tof * SPEED_OF_LIGHT / 2.0 / 1e9; // 单位m
}
// 多次测量取中值滤波
#define MEASURE_COUNT 100
float distances[MEASURE_COUNT];
// 排序后取中位数
10.6. 空中时间计算(Python)
def calc_air_time(sf, bw_hz, cr, pl, preamble=8, header=1, crc=1, ldro=0):
"""
sf: 5-12
bw_hz: 带宽 (Hz)
cr: 1-4 对应 4/5~4/8
pl: 载荷字节
"""
bw = bw_hz / 1000.0
tsym = (2**sf) / bw # ms
h = 20 if header else 0
crc_bits = 16 if crc else 0
cr_val = cr
payload_sym_nb = max(0, (8*pl - 4*sf + 28 + crc_bits - h) / (4*(sf - 2*ldro)))
payload_sym_nb = int((payload_sym_nb + cr_val + 4) / (cr_val + 4)) * (cr_val + 4)
n_symbol = preamble + 4.25 + payload_sym_nb
return n_symbol * tsym
10.7. 链路预算与传输距离(Python)
import math
def free_space_loss(f_mhz, d_km):
return 32.4 + 20*math.log10(f_mhz) + 20*math.log10(d_km)
def max_distance(pt_dbm, pr_min_dbm, gt_dbi, gr_dbi, f_mhz):
lb = pt_dbm - pr_min_dbm + gt_dbi + gr_dbi
# lb = 32.4 + 20lgf + 20lgd
d_km = 10**((lb - 32.4 - 20*math.log10(f_mhz)) / 20)
return d_km
10.8. 电池寿命估算(Excel风格公式)
- 平均电流 (mA) = (I_tx * t_tx + I_rx * t_rx + I_sleep * t_sleep) / T_period
- 寿命 (小时) = 电池容量 (mAh) / 平均电流 (mA)
10.9. 信道容量估算(LoRaWAN)
def lorawan_capacity(channels, t_avg_ms, f_avg, S=0.36):
t_avg = t_avg_ms / 1000.0
return channels / (f_avg * t_avg) * S
10.10 SX126x初始化配置(伪代码)
// 初始化SPI接口
Spi_Init();
// 复位芯片
Reset_LoRa();
// 设置工作模式为睡眠,以便后续配置
Set_OpMode(MODE_SLEEP);
// 配置RF频率
Set_RfFrequency(470000000); // 470MHz
// 配置调制参数:SF=7, BW=125kHz, CR=4/5, LDRO=0
Set_ModulationParams(MODEM_LORA, SF_7, BW_125, CR_4_5, 0);
// 配置包参数:显性包头,前导长度12,载荷长度可变,CRC开启
Set_PacketParams(MODEM_LORA, 12, HEADER_EXPLICIT, 20, CRC_ON, IQ_NORMAL);
// 配置发射功率:17dBm
Set_TxPower(17, PA_BOOST);
// 进入待机模式
Set_OpMode(MODE_STDBY_RC);
// 发送数据函数示例
void Send_LoRaData(uint8_t *data, uint8_t len) {
Write_Buffer(0x00, data, len); // 写入FIFO
Set_OpMode(MODE_TX); // 启动发送
while( !Is_TxDone() ); // 等待发送完成
Clear_Irq(IRQ_TX_DONE);
Set_OpMode(MODE_STDBY_RC);
}
10.11 空中时间计算函数(Python示例)
def calc_air_time(sf, bw_hz, cr, pl, preamble=8, header=1, crc=1, ldro=0):
"""
计算LoRa空中时间 (ms)
sf: 扩频因子 5-12
bw_hz: 带宽 (Hz)
cr: 编码率 1-4 对应 4/5~4/8
pl: 载荷字节数
preamble: 前导符号数
header: 1-显性包头, 0-隐性包头
crc: 1-启用CRC, 0-不启用
ldro: 1-低速率优化, 0-不启用
"""
bw = bw_hz / 1000.0
tsym = (2**sf) / bw # ms
h = 20 if header else 0
crc_bits = 16 if crc else 0
cr_val = cr
# 计算载荷符号数
payload_sym_nb = max(0, (8*pl - 4*sf + 28 + crc_bits - h) / (4*(sf - 2*ldro)) )
payload_sym_nb = int((payload_sym_nb + cr_val + 4) / (cr_val + 4)) * (cr_val + 4)
n_symbol = preamble + 4.25 + payload_sym_nb
return n_symbol * tsym
# 示例
print(calc_air_time(7, 125000, 1, 2, preamble=12, header=0, crc=0)) # 约24.832ms
10.12 电池寿命估算(Excel/公式)
假设:
- 电池容量 C = 2000 mAh
- 每日发送次数 N = 10
- 每次发射时间 T_tx = 0.1 s,发射电流 I_tx = 45 mA
- 每次接收时间 T_rx = 0.2 s(含RX1+RX2),接收电流 I_rx = 5 mA
- 休眠电流 I_sleep = 0.002 mA
- 每日时间 = 86400 s
每日耗电量:
E_tx = N * T_tx * I_tx = 10 * 0.1 * 45 = 45 mAs
E_rx = N * T_rx * I_rx = 10 * 0.2 * 5 = 10 mAs
E_sleep = (86400 - N*(T_tx+T_rx)) * I_sleep ≈ 86400 * 0.002 = 172.8 mAs
总每日耗电 = 45+10+172.8 = 227.8 mAs = 0.0633 mAh
电池寿命 = 2000 / 0.0633 ≈ 31600 天 ≈ 86.5 年(实际考虑自放电和电池容量衰减,可能10年以上)
更多推荐
所有评论(0)