4. 工作模式详解:发射模式、接收模式、休眠模式与待机模式的功耗差异

UWB 芯片的功耗,说白了就是由它「正在干什么」决定的。我见过不少团队,一上来就盯着天线匹配、PA 效率猛调,结果发现功耗大头根本不在那里——芯片大部分时间都处于错误的工作模式里。今天咱们就把 UWB 的四种核心工作模式掰开揉碎,看看它们到底差在哪。

核心结论:UWB 的功耗差异,本质上是「射频前端开启时间」与「基带处理深度」的组合结果。选错模式,功耗可能差 1000 倍。

UWB 四种工作模式功耗对比与状态转换图 UWB 四种工作模式功耗对比与状态转换 发射模式 (TX) 典型功耗: 100-300 mW 接收模式 (RX) 典型功耗: 50-150 mW 待机模式 (Standby) 典型功耗: 1-10 mW 休眠模式 (Sleep) 典型功耗: 1-50 μW 关键差异点: TX/RX 模式下射频前端全开,功耗最高;Standby 保留部分时钟和寄存器,功耗中等;Sleep 几乎切断所有电源,功耗最低。 典型功耗对比 (对数坐标) 1000 mW 100 mW 10 mW 1 mW 0.1 mW TX RX Standby Sleep

4.1 发射模式 (TX Mode) —— 功耗的「天花板」

发射模式是 UWB 芯片最「烧电」的状态。这时候射频前端全开,PA(功率放大器)把基带信号放大到天线能辐射出去的功率水平。我做过一个项目,测下来 TX 瞬间电流能飙到 300 mA 以上,3.3V 供电就是 1W 的峰值功耗。

为什么会这么高?你想想看,UWB 的脉冲信号虽然时间短,但瞬时带宽大(500 MHz 甚至更高),PA 必须在线性区工作,效率天然就低。再加上发射前需要 PLL 锁定、DAC 上电,这些开销都算在 TX 模式里。

子阶段 典型时间 功耗占比 说明
PLL 锁定 10-50 μs 15% 频率合成器建立时间
PA 预热 1-5 μs 10% 功率放大器偏置稳定
脉冲发射 2-8 ns/脉冲 60% 实际发射窗口,峰值电流最高
关断拖尾 1-3 μs 15% PA 放电、PLL 释放

我的经验:很多芯片支持「快速 TX 模式」,能跳过 PLL 锁定阶段(前提是频率没变)。我在一个标签项目中用了这个特性,每次发射省了 30 μs,整体功耗降了 18%。

4.2 接收模式 (RX Mode) —— 功耗的「主力军」

接收模式比发射模式功耗低一些,但它是 UWB 系统里运行时间最长的模式。你想啊,定位系统大部分时间都在「听」,而不是在「说」。接收模式下,LNA(低噪声放大器)、混频器、ADC、基带滤波器全都在工作。

我记得有一次排查一个基站功耗过高的问题,发现它 RX 窗口开得太宽了。芯片默认 RX 窗口是 128 μs,但实际只需要 32 μs 就能完成前导码检测。把窗口缩小后,功耗直接降了 60%。

接收模式功耗公式:

P_RX = P_LNA + P_Mixer + P_ADC + P_Baseband
      + P_PLL (共享)
      
典型值:LNA 10-20 mW, Mixer 5-10 mW, ADC 15-30 mW, Baseband 20-50 mW

4.3 待机模式 (Standby Mode) —— 功耗的「中间态」

待机模式是个很有意思的状态。它保留了部分时钟和寄存器内容,但射频前端完全关闭。说白了就是「半睡半醒」。我习惯把 Standby 叫做「快速唤醒模式」,因为从 Standby 恢复到 RX 只需要 10-50 μs,而从 Sleep 恢复要 1-5 ms。

待机模式的功耗主要来自:

  • 低速时钟(通常是 32 kHz 或 1 MHz)—— 用于维持定时器
  • 寄存器保持 —— 保存配置状态
  • 部分 SRAM 保持 —— 如果芯片支持选择性保持

我在一个工业定位项目里,把芯片在两次测距之间切到 Standby 模式,而不是一直开着 RX。测距间隔是 100 ms,Standby 功耗只有 RX 的 5%,整体续航从 8 小时延长到了 36 小时。

注意:不是所有 UWB 芯片的 Standby 模式都一样。有些芯片的 Standby 会保留 SPI 接口,方便主控随时唤醒;有些则完全切断 SPI,只能靠外部 GPIO 唤醒。选型时一定要看 datasheet 里的「Wake-up Source」表格。

4.4 休眠模式 (Sleep Mode) —— 功耗的「地板」

休眠模式是功耗最低的状态。这时候芯片几乎切断了所有内部电源,只保留极少数漏电流路径。典型功耗在 1-50 μW 级别,比 Standby 又低了 2-3 个数量级。

但是,代价是唤醒时间很长。我曾经踩过一个坑:在电池供电的标签里用了 Sleep 模式,想着功耗越低越好。结果发现标签从 Sleep 唤醒后,PLL 重新锁定需要 3 ms,这 3 ms 里标签既不能发也不能收,导致测距帧丢失率高达 30%。

对比项 休眠模式 (Sleep) 待机模式 (Standby)
典型功耗 1-50 μW 1-10 mW
唤醒时间 1-5 ms 10-50 μs
寄存器保持 部分或全部丢失 全部保持
时钟状态 全部关闭 低速时钟运行
适用场景 长时间不通信(>1秒间隔) 短时间等待(<100 ms间隔)

4.5 模式切换策略 —— 实战中的「黄金法则」

讲完四种模式,关键问题来了:怎么切换才能既省电又不丢性能?我总结了一个「三问决策法」:

  1. 下一次通信在多久之后?
    • < 1 ms:保持 RX 模式,不要切
    • 1-100 ms:切到 Standby
    • > 100 ms:切到 Sleep
  2. 唤醒后需要立即响应吗?
    • 是:用 Standby,牺牲一点功耗换延迟
    • 否:用 Sleep,最大化省电
  3. 系统允许重新初始化吗?
    • 允许:Sleep 后重新配置寄存器
    • 不允许:必须用 Standby 保持状态

我曾经犯过的错:在一个多标签定位系统里,我把所有标签都设成了 Sleep 模式,想着省电。结果主机广播同步帧时,标签还在睡觉,错过了同步信号。后来改成「同步帧前 5 ms 统一唤醒」的策略,问题才解决。记住:Sleep 模式省电,但会丢失同步。

4.6 实测数据参考

下面是我用某款主流 UWB 芯片(DW3000 系列)实测的功耗数据,供你参考:

工作模式 供电电压 典型电流 典型功耗 备注
TX (最大功率) 3.3V 85 mA 280 mW PA 全开,脉冲重复频率 64 MHz
TX (低功率) 3.3V 45 mA 148 mW PA 减半,适合近距离
RX (持续监听) 3.3V 38 mA 125 mW LNA + ADC 全开
RX (前导码检测) 3.3V 22 mA 72 mW 只开前导码检测器,节省 ADC
Standby 3.3V 1.2 mA 4 mW 32 kHz 时钟运行,寄存器保持
Sleep 3.3V 2.5 μA 8.25 μW 所有时钟关闭,寄存器丢失

个人建议:拿到新芯片后,先别急着写业务逻辑。花半天时间,用示波器或者功耗分析仪把四种模式的电流波形抓出来。你会发现 datasheet 上的「典型值」往往是在理想条件下测的,实际项目里因为 PCB 走线、电源纹波、温度等因素,功耗可能会高出 20-30%。