2、NB-IoT终端功耗模型解析:PSM与eDRX机制详解
各位做NB-IoT产品的朋友,咱们直接进入正题。这一章我打算把NB-IoT终端的功耗模型彻底讲透。你可能会问:「功耗模型有什么好讲的?不就是看电流算时间吗?」
嗯,还真没那么简单。我在做第一代NB-IoT水表项目时,就吃过这个亏——以为算清楚了,结果实际续航差了30%。后来才发现,问题出在对PSM和eDRX机制的理解上。
2.1 三大核心工作状态
NB-IoT终端的工作状态,说白了就三种:活跃态、空闲态、PSM态。我习惯把它们比作人的三种状态:跑步、散步、睡觉。
| 状态 | 典型电流 | 持续时间 | 能否收发数据 |
|---|---|---|---|
| 活跃态(Active) | 100~250 mA | 1~10秒 | 可以 |
| 空闲态(Idle) | 1~3 mA | 几秒到几分钟 | 仅监听寻呼 |
| PSM态 | 2~5 μA | 几分钟到几小时 | 完全不能 |
看到这个表格,你可能会想:「那直接一直待在PSM不就行了?」
别急。PSM虽然省电,但有个致命限制——网络无法主动找到你。你想想看,如果服务器想下发一条指令,结果终端在PSM里睡大觉,那这条指令就只能等终端下次醒来才能收到。
2.2 PSM省电模式深度解析
PSM的全称是Power Saving Mode。它的核心思路就一句话:用「失联」换「省电」。
我在做智能烟感项目时,客户要求电池用3年。一开始我算出来只能撑1年半,后来把PSM用好了,直接干到3年零2个月。
PSM的工作流程是这样的:
- 终端完成数据收发后,进入空闲态
- 空闲态持续一段时间(由T3324定时器控制)
- 定时器超时后,终端进入PSM态
- 在PSM态中,终端几乎关闭所有射频电路
- 直到TAU(跟踪区更新)周期到来,终端才醒来
关键参数:
- T3324:空闲态到PSM的等待时间,范围0~255秒
- T3412:TAU周期,范围0~413天(没错,可以设到一年多)
这里有个坑,我必须要提醒你。
我曾经踩过的坑:
把T3412设得太大,比如设了180天。结果终端在PSM里睡了5个月后醒来,发现网络已经把它「忘了」——因为核心网侧的隐式去附着定时器超时了。终端不得不重新做附着流程,反而更耗电。
建议:T3412不要超过网络侧MME定时器的一半。一般运营商默认是54分钟到310小时之间,具体要跟运营商确认。
2.3 eDRX扩展非连续接收机制
eDRX是PSM的「折中方案」。它不像PSM那样完全失联,而是周期性地醒来监听寻呼。
你想想看,如果终端每2.56秒醒来一次监听寻呼,电流大概在1~3mA。但如果用eDRX,可以把监听周期拉长到40.96秒甚至更长,平均电流就能降到几十微安。
eDRX的周期配置是这样的:
| eDRX周期 | 寻呼窗口 | 平均电流(估算) | 适用场景 |
|---|---|---|---|
| 2.56秒 | 1.28秒 | ~1.5 mA | 实时性要求高 |
| 10.24秒 | 1.28秒 | ~0.4 mA | 一般监控 |
| 40.96秒 | 2.56秒 | ~0.1 mA | 抄表类应用 |
| 163.84秒 | 5.12秒 | ~30 μA | 极低功耗场景 |
我的个人习惯:
对于需要下行数据但延迟容忍度高的场景(比如智能水表、气表),我一般用eDRX周期40.96秒。这样既能保证服务器在1分钟内下发指令,又能把平均电流控制在0.1mA以下。
2.4 三种状态的电流特性对比
咱们来细看每种状态的电流特性。这部分我建议你用示波器实际抓一下,光看数据手册是不够的。
活跃态电流特性
- 发射峰值:NB-IoT最大发射功率23dBm时,电流约220~250mA
- 接收峰值:约80~100mA
- 持续时间:取决于数据量,一般1~5秒
- 影响因素:信号强度、数据包大小、重传次数
我记得有一次在弱信号环境下测试,终端重传了8次才成功,活跃态持续时间从2秒变成了12秒。功耗直接翻了6倍。所以,信号覆盖是功耗的第一杀手。
空闲态电流特性
- 监听寻呼:约1~3mA(每1.28秒或2.56秒醒来一次)
- 不监听时:约0.1~0.5mA
- 持续时间:由T3324决定,一般设10~60秒
PSM态电流特性
- 深度睡眠:2~5μA(取决于外围电路设计)
- RTC运行:额外增加0.5~1μA
- 唤醒时间:从PSM到正常工作约需10~30ms
实际项目中的经验数据:
以每天上报一次数据的智能水表为例:
- 活跃态:250mA × 3秒 = 0.75mAs
- 空闲态:2mA × 30秒 = 60mAs
- PSM态:5μA × 86367秒 ≈ 432mAs
- 日总功耗:约493mAs
- 用一节ER18505(4000mAh)电池,理论续航:4000mAh / (493mAs/3600) ≈ 29,200天 ≈ 80年
等等,这个数字是不是太夸张了?没错,因为这是理想情况。实际还要考虑电池自放电、温度影响、TAU功耗等因素。我一般会打个7折,大概能到50年左右。
2.5 如何选择PSM还是eDRX?
这个问题,我建议你问自己三个问题:
- 服务器需要主动下发数据吗? 不需要 → 选PSM
- 下发的延迟容忍度是多少? 超过10分钟 → 选PSM;1分钟以内 → 选eDRX
- 电池容量有限吗? 非常有限 → 选PSM;一般 → 选eDRX
我的建议:
如果条件允许,可以做成动态切换。比如平时用PSM,当检测到异常事件时切换到eDRX。我在智能消防栓项目中就是这么做的——平时每天上报一次,用PSM;一旦水压异常,立即切到eDRX周期10.24秒,保证服务器能快速响应。
2.6 本章小结
好了,这一章的内容就到这里。核心就三点:
- PSM是「省电但失联」,适合周期性上报场景
- eDRX是「折中方案」,适合需要一定实时性的场景
- 实际功耗计算要考虑信号质量、重传、TAU等因素,不能只看数据手册
下一章我会讲电池选型策略,包括锂亚电池、锂锰电池、超级电容的对比,以及如何根据功耗模型计算电池寿命。到时候我会拿几个实际项目案例来拆解,保证让你看完就能直接用。
嗯,今天就到这里。有什么问题,欢迎在评论区交流。