4. eDRX与PSM的对比与选择:两种模式的适用场景、功耗与延迟的权衡
好,咱们进入第四章。这一章我打算把eDRX和PSM放在一起,好好掰扯掰扯。很多工程师朋友问我:“这两个模式到底选哪个?”说实话,没有标准答案。选哪个,完全看你的业务场景想要什么。
我个人的习惯是,先搞清楚两个核心指标:功耗和延迟。你想想看,eDRX和PSM本质上都是在“睡”和“醒”之间做交易。只不过,交易的方式不一样。
4.1 两种模式的本质差异
先简单回顾一下。PSM(Power Saving Mode)是“深度睡眠”。终端注册网络后,跟网络说:“我要睡了,别叫我。”然后进入PSM状态,网络侧暂时认为你“失联”了。只有终端自己主动发数据(比如传感器上报),或者TAU定时器到期,它才会醒来。
eDRX(Extended Discontinuous Reception)是“浅度睡眠”。终端虽然也在睡,但耳朵还留着一只。它会在配置好的寻呼窗口(PTW)醒来,听听网络有没有叫它。网络侧知道它还在,只是响应慢一点。
说白了,PSM是“关机省电”,eDRX是“待机省电”。
核心差异一句话总结:
- PSM:终端主动失联,网络无法随时找到它。功耗极低,但下行延迟不可控。
- eDRX:终端周期性监听,网络可以找到它。功耗较低,下行延迟可控。
我在项目中遇到过不少新手,一上来就说“我们要用PSM,因为省电”。结果业务要求服务器能随时下发指令,比如远程开锁。PSM模式下,服务器根本找不到终端,除非终端自己醒来。这就尴尬了。
4.2 功耗与延迟的量化权衡
咱们来点硬数据。我整理了一个对比表,方便你直观感受。
| 参数 | PSM(典型值) | eDRX(典型值) |
|---|---|---|
| 休眠电流 | 2-5 µA | 15-50 µA |
| 唤醒延迟(下行) | 不可控(分钟~小时级) | 可控(秒~分钟级) |
| 唤醒延迟(上行) | 即时(终端主动发) | 即时(终端主动发) |
| 网络可达性 | 不可达(休眠期间) | 可达(PTW窗口内) |
| 典型应用 | 水表、气表、资产追踪 | 智能穿戴、宠物追踪、远程控制 |
你看,PSM的休眠电流可以做到2-5 µA,非常漂亮。但代价是,网络侧完全找不到你。eDRX的电流虽然高一些,但网络侧可以在你设定的寻呼窗口内找到你。
为什么会这样?因为PSM状态下,终端关闭了所有接收通路,连寻呼信道都不听了。而eDRX状态下,终端会在PTW窗口内打开接收机,监听寻呼。
我的经验: 如果你对电池寿命要求极其苛刻(比如5年以上),且业务是纯上行的(比如传感器定时上报),PSM是首选。如果你需要服务器能随时下发指令,哪怕延迟几秒钟,eDRX是更稳妥的选择。
4.3 适用场景深度分析
咱们分场景聊聊。
场景一:智能水表
水表每天上报一次读数,服务器不需要主动去读它。终端上报完数据,直接进入PSM深度睡眠。电池用个8-10年没问题。我做过一个项目,水表终端在PSM模式下,平均电流做到了3.5 µA,客户非常满意。
场景二:智能门锁
门锁需要接收远程开锁指令。如果用PSM,用户按了门锁上的按钮,终端醒来,才能收到服务器下发的指令。这体验太差了。用eDRX,配置一个较长的寻呼周期(比如10.24秒),终端每10秒醒来一次听寻呼。功耗虽然比PSM高,但用户体验好很多。
场景三:宠物追踪器
这个场景比较特殊。宠物可能到处跑,需要实时上报位置。但电池又不能太大。我建议用eDRX,配置一个适中的寻呼周期(比如2.56秒),既能保证位置更新的及时性,又能把平均电流控制在100 µA以内。
注意: 不要以为eDRX的寻呼周期越短越好。周期越短,终端醒来的频率越高,功耗越大。你需要根据业务对延迟的容忍度,找到一个平衡点。我曾经见过一个项目,工程师把eDRX周期配置成了0.32秒,结果功耗比正常模式还高,得不偿失。
4.4 实际部署中的选择策略
好了,理论讲完了,咱们聊聊实际怎么选。我总结了一个决策流程,你可以参考。
- 第一步:明确业务需求
- 是否需要服务器主动下发指令?
- 对下行延迟的容忍度是多少?
- 电池寿命要求是多少年?
- 第二步:评估功耗预算
- 计算终端每天的数据上报次数和每次的数据量。
- 估算PSM和eDRX模式下的平均电流。
- 结合电池容量,计算理论寿命。
- 第三步:考虑网络覆盖
- PSM模式下,终端在休眠期间不响应网络,如果网络侧有移动性管理需求,可能会出现问题。
- eDRX模式下,终端需要支持eDRX能力,且网络侧也需要开启eDRX功能。
- 第四步:原型验证
- 不要只看理论数据。实际部署中,网络环境、终端硬件、协议栈实现都会影响功耗和延迟。
- 我建议先做一个小规模试点,采集真实数据,再决定最终方案。
嗯,这里要注意。有些运营商对eDRX的支持并不完善。我在一个海外项目中就遇到过,网络侧虽然宣称支持eDRX,但实际配置后,终端经常收不到寻呼。最后我们不得不回退到PSM模式,改用终端主动轮询的方式来实现下行指令的接收。
4.5 知识体系:eDRX与PSM决策框架
为了让你更直观地理解整个决策过程,我画了一张流程图。这张图是我在实际项目中反复打磨出来的,希望能帮到你。
4.6 避坑指南
最后,分享几个我踩过的坑。
- 不要迷信理论功耗:PSM的理论电流可以做到2 µA,但实际部署中,由于网络环境、TAU周期、数据上报频率等因素,实际平均电流可能会高出几倍。我曾经在一个项目中,理论计算电池寿命是10年,实际测试只有6年。后来发现是TAU周期配置太短,终端频繁醒来。
- 注意eDRX的网络兼容性:不是所有基站都支持eDRX。在部署前,一定要跟运营商确认网络侧是否开启了eDRX功能。否则,终端配置了eDRX,网络侧不响应,终端会回退到默认的DRX模式,功耗反而更高。
- PSM模式下,小心“假死”:终端进入PSM后,如果网络侧有紧急消息(比如地震预警),终端是收不到的。对于某些行业应用,这可能是个大问题。我建议在PSM模式下,保留一个紧急唤醒机制,比如通过外部中断唤醒终端。
- eDRX的PTW窗口不是越大越好:PTW窗口越大,终端监听寻呼的时间越长,功耗越高。你需要根据业务对下行延迟的容忍度,合理配置PTW窗口大小。一般来说,PTW窗口设置为1-2个寻呼周期即可。
我的建议: 如果你刚开始接触LTE低功耗模式,先从eDRX入手。它比PSM更灵活,调试起来也更容易。等你对eDRX的功耗和延迟有了直观感受,再考虑PSM。毕竟,PSM一旦配置不当,终端可能真的“失联”了。
好了,这一章的内容就到这里。eDRX和PSM的选择,本质上是一个权衡。没有最好的模式,只有最适合你业务的模式。希望今天的分享能帮你少走一些弯路。