5G/LTE工作模式总结

5G和LTE模块的功耗管理是硬件设计和BSP驱动开发中非常核心的一环。为了在随时响应网络和最大限度省电这两个核心因素之间取得平衡,这些模块通常遵循3GPP规范并结合硬件接口,设计了几个梯次的工作模式。本文对这些工作模式进行了总结。

从高功耗到低功耗,5G/LTE模块一般包含以下几种核心工作模式:

  • 正常工作模式Active
  • 空闲模式Idle
  • 休眠模式Sleep
  • 飞行模式Flight

image.png

Active Mode

Active 模式是模块的全速运行状态。当设备正在进行语音通话、发送或接收网络数据报文(如通过Socket传输产测数据或视频流)时,模块就处于此模式下。

在这种工作模式下,模块的射频收发器全开,基带处理器也高速运转,模块与基站之间保持持续的RRC Connected状态。这意味着,模块与基站之间已经建立了一条专属的信令通道,并且基站为该模块分配了专用的物理层资源(比如特定的频段、时隙)。也就是说,模块不仅已经连上了网,而且基站已经给它预留了收发数据的专用信道资源,两者随时可以进行数据交互。

在这个 Active 状态下,模块射频链路的具体工作状态如下:

  • RX (接收端):处于持续激活状态。
  • TX (发射端):并非持续常开,而是脉冲式的按需发射。当有业务数据要发送的时候,模块向基站申请资源,基站批准后,TX PA(功率放大器)才会在指定的微秒级时隙内瞬间开启,把报文发射出去,随后立刻关闭 PA 以节省功耗;而当没有业务数据的时候,TX 基本上是静默的,但为了维持RRC Connected的状态,TX 还是会周期性地短暂开启,发送一些底层的控制信令。

对于RF链路而言,其功耗的来源主要是TX部分。在 RRC Connected 的 Active 模式下,即便不需要发送业务数据,只要没掉回 Idle 模式,TX 也会定时与基站通信,这就是为什么 Connected 状态下即使没发数据,底噪功耗依然有上百毫安的原因所在。

此外,在高通、移远、广和通等模组厂商的硬件规格书中可以看到,Active 模式还分为好几种情况:LTE Max. Power Mode,LTE Max. Throughput Mode,SA SISO Max. Power Mode,SA Max. Throughput Mode。这几种子模式的核心区别在于:模块当前工作的功耗瓶颈是在射频前端的 PA(功率放大器)上,还是在核心基带的 DSP(数字信号处理器)上。

5G_LTE_Power_Modes.png

这些工作模式下的电源功耗数据对于做系统的硬件功耗评估和电源网络(PDN)设计时非常关键:如果设备处于Max Power状态,电源就需要能够扛得住瞬间的大电流波动(比如需要加大的钽电容防掉电);而如果处于Max Throughput状态,由于电流持续在一个较高的均值,此时就要重点解决板卡长时间运行的散热问题。

IDLE Mode

为了尽可能降低 LTE/5G 模块的通信功耗,当数据传输结束的时候,模块就会释放与基站的RRC连接,进入空闲 IDLE 状态。

在IDLE状态下:

  • 射频发射器 TX 完全关闭,但接收器 RX 会周期性地短暂开启,监听来自基站的寻呼消息(Paging)。这个机制被称为 DRX(Discontinuous Reception,非连续接收)。模块在这个状态下依然附着(Attach)在网络上,因此随时可以快速恢复到Active模式。
  • IDLE 状态的功耗表现:中等。通常在十几到几十毫安(mA)之间,具体取决于网络配置的DRX周期长度(周期越长,越省电)。

💡 从这个所谓的 DRX 的工作流程上可以看到,这个机制与 WiFi 低功耗模式的 DTIM 机制非常类似。

image.png

如何由 Active Mode 切换到 IDLE Mode?

模块进入 IDLE 状态的决定权掌握在基站(网络侧)手中,模块本身不能单方面直接断开连接进入休眠状态,否则网络会认为模块异常掉线。

基站侧通常会维护一个 Inactivity Timer(不活动定时器) :

  • 每次模块与基站之间有数据收发(无论上行还是下行),基站的这个定时器就会清零重置。
  • 当数据传输停止,定时器开始计时。如果超过设定的时间(通常在几秒到十几秒不等,由运营商核心网配置)依然没有任何数据交互,基站就会认为这个设备暂时不需要通信了。
  • 此时基站会通过控制信道向模块下发一条 RRC Connection Release(RRC 连接释放) 消息。模块收到这条指令后,会主动释放物理层资源,关闭发射机(TX),正式进入 RRC IDLE 状态。

image.png

此外,为了更加极致的省电,3GPP 在最新的低功耗物联网规范(如 NB-IoT/Cat.M)中引入了 RAI(Release Assistance Indication,释放辅助指示) 功能。模块可以在发送最后一包数据时,带上一个标记,主动告诉基站通信已完成。基站收到后会立即下发 Release 消息,从而大幅节省模块在 Active 状态下的等待时间。

DRX与eDRX

LTE模块的 DRX 机制实际上类似于 WiFi 模块的 DTIM 工作逻辑,允许模块周期性地休眠和唤醒来最大程度降低射频链路的功耗,同时又保持与基站之间的连接。在这种工作机制下,模块的 RX 大部分时间(Sleep Duration)都处于关闭状态,但每隔固定一段时间就会定时唤醒监听基站的广播信号,看有没有自己的数据包。通过这种机制就保证了在不漏接寻呼的前提下,大幅压榨了功耗。

在 LTE 模块数据手册的功耗数据部分,我们往往能够看到DRX=64/128/256这样的条件下的功耗数据。这些数字指的是 DRX 周期(DRX Cycle Length)。

在 LTE 和 5G 网络中,1 个无线帧的时长固定为 10 毫秒 (10 ms)。因此,将这些参数换算为实际的物理时间就非常简单了:

  • DRX = 64: 64 * 10 ms = 640 ms(即每 0.64 秒醒来监听一次)
  • DRX = 128: 128 * 10 ms = 1.28 s(即每 1.28 秒醒来监听一次)
  • DRX = 256: 256 * 10 ms = 2.56 s(即每 2.56 秒醒来监听一次)

随着物联网(如 NB-IoT、LTE Cat.M、甚至 Cat.1 bis)的爆发,有些设备(比如智能水表)一天只需要发一次数据,几百毫秒或者几秒钟 RX 唤醒一次还是太费电了。针对这个问题,3GPP 在 Rel-13 标准中引入了 eDRX。eDRX 的核心是超级加倍的休眠时间。它在传统 DRX 的基础上,引入了**PTW (Paging Time Window,寻呼时间窗口)**的概念。模块可以彻底休眠几十分钟甚至几个小时,醒来后,在 PTW 窗口期内再执行几次传统的 DRX 监听,随后再次进入漫长的深度休眠。

在这个eDRX模式下,模块和核心网在建立连接时,就会协商好 eDRX 的周期长度(比如 41 秒、甚至几十分钟)。在模块进入休眠之前,基站侧和模块会根据 模块 SIM 卡中的 IMSI 的最后几位数字,进行哈希计算决定每一次寻呼时间窗口的时隙。模块进入休眠之后,基站就把发给这个模块的寻呼消息先缓存起来,一直等到那个时隙,才通过天线广播出去,而模块也是在相同的时隙到来的时候打开接收天线,接收来自基站的消息。

image.png

Sleep Mode

首先一点,对于射频前端(RF)而言,IDLE 模式和 Sleep 模式没有任何区别。 在这两个模式下,网络侧的状态都是 RRC Idle,模块的射频接收器(RX)都在执行完全相同的 DRX 周期监听。

这两个模式在本质上的区别在于:LTE/5G模块内部的基带 SoC(数字核心)以及与主控相连的外设总线是否处于挂起状态。

与之相关的,存在以下几个方面的休眠/唤醒等功耗的影响因素:

  • 外设接口与总线:IDLE 模式下USB 总线处于全速或高速激活状态,单单维持一个高速 USB 连接,通常就需要消耗 10mA 到 20mA 的电流。而Sleep 模式下USB 接口进入 Suspend(挂起)状态,USB PHY 断电或进入极低功耗模式。
  • 模块内部主 CPU:IDLE 模式下虽然没有网络数据收发,但模块内部的主 CPU(通常是 ARM 核心)依然保持着较高的时钟频率,处于正常工作(空转)状态;Sleep 模式下,模块的操作系统会切入底层的休眠态,主 CPU 大幅降频甚至进入休眠状态。
  • 模块内部DDR:IDLE 模式下,模块内部的 DDR/LPDDR 内存处于正常的读写刷新状态。Sleep 模式下内存控制器进入 Self-Refresh(自刷新)模式,只保留最基础的微弱电流来维持数据不丢失。

通过以上几个方面的功耗优化,LTE 模块在 Sleep Mode 下通常可以降至 2mA 到 5mA 左右。

那么当模块处于Sleep Mode下,当有数据收发需求的时候,模块是如何被唤醒的呢?这个唤醒逻辑,可以分为网络侧和主控侧两个方面。

  • 网络侧唤醒:如果有来电或下行数据,模块会被基站寻呼唤醒,随后通过特定的硬件引脚(如 RI 振铃指示引脚)拉低或通过USB Resume中断来唤醒主控。
  • 主控侧唤醒:主控如果需要发数据,通常会通过拉低/拉高一个专用的GPIO(如 DTR 引脚)或触发USB唤醒信号,将模块 CPU 从Sleep状态拉起。

Flight Mode

飞行模式 Flight Mode 就比较简单了。一般通过AT指令(如 AT+CFUN=4)或专属硬件引脚(如 W_DISABLE#)触发进入飞行模式。

在模块处于飞行模式下,模块会直接切断射频电路的供电,因此模块与基站断开连接,但基带处理器的其他部分(如SIM卡接口、部分外设)可能还在工作,主控依然可以通过AT指令与模块通信,后续可以通过AT指令再把模块设置为Active状态。

参考资料