用功耗视角选 LoRa 模块,哪些才是影响电池寿命的因素?
0755-23080616

用功耗视角选 LoRa 模块,哪些才是影响电池寿命的因素?

2026-02-04 10:04

分享到:

LoRa 设备电池寿命与功耗因素示意图:睡眠、接收与发射空口时间

 

读这篇你会得到什么:

1)不再只用一个电流参数来判断功耗;

2)用一套简单的“功耗预算”公式,帮你的项目算出“能撑几天”;

3)能够判断,到底是 Sleep / RX / ToA 谁在吃电,然后再决定模块该看哪些指标。

 

前提与口径说明

本文选取了两款基于 Semtech LR1121 平台的无线模块进行对比,分别为 G-NiceRF LoRa1121 与某品牌 A(型号 A-XXX)。由于两者采用同一芯片平台,因此在功耗方面具有较好的可比性。

 

相关数据均来源于各自的官方手册或规格书。需要说明的是:

  1. 某品牌 A 标注的 Sleep current = 10 µA,对应的是其文档中定义的 “Software shutdown(软件关断)” 状态,该状态下射频模块处于完全关闭,不同于实际项目中常用的普通 Sleep / Standby 工作模式。
  2. G-NiceRF LoRa1121 的规格中给出了 “Sleep current ≤ 1 µA(@3.3V)” 的参数说明,同时 RX 电流按 433 MHz / 2.4 GHz 等典型工作条件标注,TX 电流则以“发射功率–电流对照表”的形式提供,便于在实际设计中参考。

 

如需进一步核对原始资料或查看完整引用清单,可联系获取相关文档链接。

 

先看“关键功耗指标表”

先判断你的设备大多数时间在干嘛?睡眠?等下行?还是频繁发包?不同状态占比不同,决定了你该优先看哪几行参数。

 

关键功耗指标一览表(注:数据值越低越好)

指标

G-NiceRF LoRa1121

某品牌A-XXX

解读

睡眠电流

≤ 1 µA(@3.3V)

10 µA(软件关断)

低频上报设备里,睡眠电流常决定“待机能熬多久”;但需注意两家“睡眠态定义”不完全等价

接收电流 Sub-GHz

< 6 mA(@433MHz)

9.5 mA

需要常开接收/常监听/频繁开 RX 窗口时,这项非常关键,RX 累计时间越长,接收电流差异越容易转化为平均电流差。

接收电流 2.4 GHz

< 7 mA

9.0 mA

做 2.4G LoRa/FSK/私有协议可以看这行

发射电流 868MHz

123 mA(20.6 dBm)

125 mA(瞬时)

这项反映“发射时电流大小”。频繁发包时,总耗电更取决于 ToA × 发包次数 × 重传率;当两家 TX 电流接近时,参数策略(SF/BW/载荷)对续航的影响往往更大。

发射电流 433MHz

122 mA(21.0 dBm)

120 mA(瞬时)

同上

发射电流 2.4GHz

32 mA(@10 dBm)

35 mA(瞬时)

2.4G TX 电流差异不大(更看占空比与协议)

发射电流 1.9GHz

37 mA(@12 dBm)

-

G-NiceRF 文档覆盖更全的频段信息

 

为什么“低功耗”不能只看一行参数?

LoRa 设备三大耗电来源信息图

 

模块功耗决定“基线”,使用方式决定“放大倍数”。续航差异通常由睡眠、接收、发射(ToA)三种状态的时间占比共同决定:

  • 睡眠占比:设备绝大多数时间在不在睡?
  • 接收占比:你为了等下行、等 ACK、做监听、做唤醒,开 RX 多久?
  • 发射占比(Time-on-Air):你每次发包在空口“占用射频”的时间有多长?

 

同一套 LoRa 参数下,ToA 理论上是一样的。在同一块电池下,如果你的 ToA 变长(比如 SF 更高、包更大、重传更多),或者 RX 窗口更频繁,电池寿命会掉得非常快。这类损耗很多时候优先靠“工作方式 + 参数策略”来压下去。但功耗不只有这一类来源。当设备长期睡眠或频繁接收时,模块在 Sleep/RX 等指标上的差异也会被放大,选择更低功耗的模块能带来实打实的续航提升。

 

先判断你的项目是谁在“吃电”?

我们划分成三类典型设备,你可以看看自己的应用属于哪一类,选型就会清晰很多:

 

A. 低频上报(睡眠电流主导)

每天/每小时上报一次传感数据;大多数时间深睡眠。

这类设备的关键是 Sleep current(睡眠电流)。

  • G-NiceRF:≤1 µA
  • 某品牌A:10 µA (软件关断口径)

相差 9 µA,在“长期待机 + 电池自放电 + 温度影响”叠加下,这种数量级差异会实打实影响“能不能撑到目标年限”。

 

B. 频繁上报或包很“长”(TX 电流 + Time-on-Air 主导)

每 1–5 分钟上报一次;或者用了高 SF/小带宽导致 ToA 很长;或者链路差导致重传多。

这类设备,TX 峰值电流重要,但 ToA 往往更重要。

从数据来看这两家在 Sub-GHz 的 TX 峰值(约 120–125 mA)其实非常接近,所以谁更省电通常取决于:

  • 你选的 SF/BW/CR
  • 包大小
  • 重传率
  • 上报频率

 

C. 需要经常接收/监听(RX 电流主导)

要经常等下行控制;要频繁开 RX 窗口;要做“随时可控”。

这类设备关键是 RX current。

Sub-GHz 接收 <6 mA vs 9.5 mA,这是很明显的差距;如果 RX 占比上去,平均电流差会被放大。​

 

同一使用方式下,模块功耗差异影响有多大?

下面给两个非常典型的算例(为了看趋势,ToA、窗口时长你可替换成你项目的真实值)。

 

低频上报(睡眠主导)

假设:

  • 绝大多数时间睡眠
  • 为了先看清睡眠电流的累计影响,这里把 TX/RX 视为占比很小的项,暂不计入,仅计算睡眠电流带来的基础耗电(用于趋势对比)。
  • 电池:2400 mAh(举例)

 

睡眠电流换算:

  • G-NiceRF:1 µA = 0.001 mA
    每天睡眠耗电 ≈ 0.001 × 24 = 024 mAh/天
  • 某品牌A:10 µA = 0.01 mA
    每天睡眠耗电 ≈ 0.01 × 24 = 24 mAh/天

 

差异:

  • 每天差 ≈ 216 mAh/天
  • 每年差 ≈ 8 mAh/年

 

如果你的设备真的是“99.99% 在睡”,那这差异会稳定累积,属于“慢慢拉开差距”的那种;但如果你的设备其实 RX/TX 很频繁,那睡眠差距很快会被 RX/TX 的耗电淹没。

 

频繁开 RX 窗口(RX 主导)

假设:

  • 每分钟开一次接收窗口 1 秒(比如等下行、等 ACK、轮询)
  • 一天 RX 总时长:1440 秒

用 Sub-GHz RX 电流:

  • G-NiceRF:按 <6 mA 估算
    • 每天 RX 耗电 ≈ 6 × (1440/3600) = 4 mAh/天
  • 某品牌A:5 mA
    • 每天 RX 耗电 ≈ 9.5 × (1440/3600) = 8 mAh/天

差异:

  • 每天差 ≈ 4 mAh/天
  • 以 2400 mAh 电池粗算,这 1.4 mAh/天 单独就相当于 约 1700 天 vs 630 天的相差(这里只是把 RX 单项拿出来对比,实际还要加 TX/MCU/稳压器等)。

 

只要 RX 占比上来,<6 mA vs 9.5 mA 这种差距就会变成“肉眼可见的寿命差”。

所以“要不要经常接收/监听”这个需求,会直接决定你该不该把 RX 电流当成第一指标。

 

TX 峰值很接近时,你真正要盯的是 Time-on-Air(ToA)

我们从数据表看两家的 Sub-GHz 大功率发射电流都在 约 120–125 mA 这一档,差异很小。此时决定“发一次包到底花多少电”的关键变成:ToA(空口时间),发包频率重传率

 

发一次包到底花多少电?

很多人只关注到电流表上显示的 125mA,却忽略了电流持续了多久。让我们看下这参数下的真实计算(使用 LR1121):

参数配置

  • Bandwidth (BW) = 125 kHz
  • Spreading Factor (SF) = 12
  • Coding Rate (CR) = 4/5
  • Payload = 64 Bytes
  • Preamble = 8, Header = Explicit, CRC = On, LDRO = On

 

ToA 计算结果约 2.79 秒

单次发射耗电成本

这是发一个包的耗电,如果因为网络环境差导致需要重传 3 次,那么单次数据上报就要消耗近 0.3 mAh。如果优化参数(如改用 SF7)将 ToA 降至 0.12 秒左右,单次耗电仅需约 0.004 mAh

在 TX 电流相近的情况下,参数配置带来的 ToA 差异(可达 20 倍以上)。

 

 

一块 2400 mAh 电池能撑多久?

同样的参数和电池容量给不同的模块用,理论寿命会是多久呢?

场景设定(模拟典型工业监测):

  • 电池:2400 mAh(以 6V 2400mAh 18650锂电池为基准)
  • 周期:每 1 小时上报一次
  • 动作
    1. 发射79 秒(LoRa SF12 重负载空中时间)
    2. 接收00 秒(Rx 监听窗口)
    3. 睡眠21 秒(剩余时间)
  • 频段:Sub-GHz 868 MHz(最大功率)

 

谁的功耗更低?

我们将每小时的所有动作(发射、接收、睡眠)的耗电量进行累加,并推算理论寿命:

模块型号

每小时总耗电

2400 mAh 理论寿命 (天)

折合年限

G-NiceRF LoRa1121

0.098 mAh

~1020 天

2.80 年

某品牌A-XXX

0.110 mAh

~913 天

2.50 年

注意:

  • 这里只算“无线模块本体”:未计入 MCU 唤醒/采样、传感器预热、稳压器静态电流、上电冲击等;整机寿命通常会比表格更短。
  • 2400 mAh 是容量口径:不同电池体系/截止电压/温度/放电倍率会影响“可用容量”。本文用于同供电假设下的横向对比。
  • 某品牌A-XXX的 10 µA 为其低功耗/关断口径:实际项目若需要更频繁的外设保持或更短唤醒响应,睡眠电流可能高于该值。

 

多出来的 3.5 个月是从哪来的?

发射耗电(Tx 占总耗电 90% 以上)的重负载场景下,G-NiceRF LoRa1121 比 某品牌A-XXX 延长了 107 天(约 3.5 个月)

为什么 Tx 电流明明差不多(123mA vs 125mA),差距却很大?我们把“每小时的耗电差额”拆开看(单位:mAh/小时):

78% 的差距来源:睡眠电流(1µA vs 10µA)

  • 发射看起来很耗电,但它只持续不到 3 秒。而设备在剩下的 3596 秒里都在睡眠。G-NiceRF 的 1µA底噪很低,在 3596 秒的长时间累积,形成主要差额(约 0090 mAh/小时)。

13% 的差距来源:发射电流(123mA vs 125mA)

  • Tx 电流差只有 2 mA,但仍会带来约 0016 mAh/小时的差额。

9% 的差距来源:接收电流(<6mA vs 9.5mA)

  • 两者 Rx 电流相差约 3.5 mA,在 1 秒窗口内带来约 0010 mAh/小时的额外耗电差额

如果你的设备不是 24 小时连续发包,压低睡眠底噪(Sleep Current)是延长电池寿命高效的手段。

 

 

把数据放进“功耗预算公式”

 

功耗预算流程图

(功耗预算流程图:用电池容量与 Sleep/RX/TX 参数估算 LoRa 设备续航)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

选型落地

如果你的目标是“更长电池寿命”,可以按设备的工作方式来决定优先看哪些指标:

低频上报、长期待机(睡眠主导)

这类设备绝大多数时间处于低功耗状态,续航更受 低功耗电流影响。

在官方资料给出的口径下,G-NiceRF 标注为 ≤1 µA(@3.3V, Sleep),某品牌A 标注为 10 µA(software shutdown)。在“长期待机”的使用模式里,µA 级差异会随着时间累积,更容易影响能否达到目标年限。

 

需要频繁接收/监听(RX 主导)

如果设备需要常开接收、频繁开 RX 窗口或等待下行控制,优先看 接收电流(尤其 Sub-GHz)

资料显示,G-NiceRF LoRa1121 Sub-GHz 接收电流为 <6 mA(@433MHz 条件),某品牌A-XXX 为 9.5 mA(Sub-GHz)。当接收窗口更频繁、累计接收时间更长时,这一差距更容易体现为平均电流差,从而影响续航。

 

发包频繁/包很长(TX/ToA 主导)

在发包频繁或 ToA 较长的场景里,两者 TX 峰值电流处于同一量级(约 120–125 mA),此时续航更容易被 ToA、重传率、上报频率、载荷大小拉开差距。

更有效的做法是先把这些“使用方式变量”优化到合理范围,再结合模块的 Sleep/RX 指标评估能获得多少额外续航空间;在长期待机或高监听占比的项目里,G-NiceRF 的低功耗与接收电流指标更有利于把优势转化为实际续航收益。

 

 

FAQ

供应商标的 Sleep current 能直接对比吗?“Sleep / Standby / Shutdown”到底差在哪?

不建议只看一个数字就下结论。不同厂商对“睡眠态”的定义可能不一样,常见至少有三类:

  • Sleep(睡眠):通常保留部分状态,可通过 SPI/NSS 事件或定时器等唤醒
  • Standby(待机):比 Sleep 更“醒”,唤醒更快,但电流一般更高
  • Shutdown(关断/软件关断):接近完全关闭,电流最低,但唤醒路径、恢复时间、可保留功能也不同
  •  

为什么 TX 峰值电流差不多,续航却能差出几个月?我到底该盯哪个指标?

峰值 TX 电流只说明“发射那一下有多大”,但真正决定电量消耗的是:电流 × 持续时间。

更实用的选型优先级是:

  • 低频上报、长期待机:优先看 Sleep current(µA)
  • 需要等下行/频繁开接收窗:优先看 RX current(mA)+ RX 累计时长
  • 发包频繁或包很长:优先看 Time-on-Air(ToA)与重传率,其次才是 TX 电流

快速核算也很直接:

单次耗电(mAh) ≈ 电流(mA) × 时间(s) / 3600

 

ToA(空口时间)怎么快速估算?哪些参数最容易把 ToA 拉长?

ToA 主要受 SF、BW、CR、载荷长度影响。一般规律:

  • SF 越高,ToA 越长(更远、更抗干扰,但更“慢”)
  • BW 越窄,ToA 越长
  • 载荷越大,ToA 越长;链路差导致重传时,总 ToA 还会被放大

 

为什么文章里一直强调 RX(接收)?我不下发控制也要关心 RX 吗?

只要系统存在“等待下行/ACK/轮询”的需求,RX 就可能是隐藏的耗电大头。

以 LoRaWAN 为例,终端每次上行后会按规范打开 RX1/RX2 接收窗口来收下行;就算没收到数据,这段窗口也会消耗接收电流。窗口更频繁、窗口更长,或者做持续监听(例如 Class C 思路),平均电流都会明显上升。

 

DC-DC 还是 LDO?对续航影响多大?

很多 LoRa 收发器/模块同时支持 DC-DC 与 LDO 两种供电方式。一般来说,DC-DC 更省电,但往往需要外接电感,电路设计与 EMI 也更讲究;LDO 方案更简单,但在 RX/TX 等工作态下可能更“费电”。有些 Semtech 文档也明确建议为了能效使用 DC-DC(代价是多一个电感)。