2. MCX电源架构与低功耗模式总览

MCX系列把“电源”当作一个可编程的系统来设计:芯片内部并不是所有电路都接在同一根电源线上,而是按功能与保持需求划分为多个电源域,再由模式控制器统一调度。理解这一层结构,是后续做低功耗配置、唤醒路径设计和功耗预算的前提。

一、电源域划分:谁在什么时候有电

从工程视角看,MCX的电源结构可以概括为三类供电对象:

  • 核心逻辑域(Core / Digital Logic):CPU内核、总线矩阵、部分外设控制器。它是功耗大头,也是Stop、VLPR等模式重点“降耗”的对象。
  • 常开域(Always-On / RTC域):RTC计数器、唤醒控制逻辑、部分低功耗振荡器与备份寄存器。只要VDD在主供电范围内,这部分通常保持工作,用于计时和唤醒源捕获。
  • 可切换外设与IO域:UART、SPI、ADC、GPIO等外设及其时钟。它们可以单独关时钟或断电,是否保持取决于模式与寄存器配置。

需要特别注意的是,MCX的“低功耗”并不等于“全部断电”。在Stop和VLPR中,常开域仍在运行,SRAM和寄存器的保持范围由具体模式决定。例如进入Deep Sleep或Stop前,必须确认哪些SRAM块需要保持、哪些外设时钟需要关闭,否则会出现唤醒后数据丢失或外设状态异常。

电源域配置的核心判断是:该模块在低功耗期间是否需要“活着”。需要计时的保留RTC域,需要响应外部事件的保留对应唤醒源,其余尽量关闭时钟或断电。

二、工作模式分类:从Run到VLPR

MCX的工作模式通常按“性能—功耗”连续谱排列,常见包括:

模式核心状态典型功耗量级(示例)唤醒时间适用场景
Run全速运行,所有时钟开启数mA~数十mA—正常运算、通信
WaitCPU停止,外设时钟继续略低于Run极快(几个时钟)等待中断、短延时
Stop核心时钟停止,SRAM保持数十µA~数百µA数µs~数十µs间歇采样、事件等待
VLPR低频低功耗运行数百µA~数mA—低速持续采集
VLPWVLPR下CPU停止低于VLPR快低速等待
VLPS低功耗Stop,部分外设可运行数µA~数十µA较慢长时间待机+周期唤醒
LLS/VLLS深度低泄漏停止亚µA~数µA较慢(数十µs~ms)电池长期待机

表中功耗与唤醒时间为示例量级,实际值取决于芯片型号、时钟源、稳压器配置、温度和外设状态。工程上应以对应型号数据手册的典型曲线为准。

模式之间的切换不是“一键完成”,而是涉及一系列硬件动作:切换时钟源、调整稳压器、关闭外设时钟、保存上下文、配置唤醒源。这些动作直接决定了切换的功耗代价与唤醒延迟。

三、模式切换的功耗与唤醒代价

进入低功耗模式时,芯片需要执行“降频—关时钟—调稳压—保持状态”的序列;退出时则反向执行“恢复稳压—起振—恢复时钟—恢复上下文”。这两段过程本身会消耗能量,也带来时间延迟。

以Stop模式为例,进入前通常需要:

  1. 确认所有DMA传输已完成,避免总线挂起;
  2. 关闭不需要的外设时钟,保留唤醒源所需时钟;
  3. 配置唤醒源(如LPTMR、RTC、GPIO中断);
  4. 执行WFI或WFE指令,内核停止;
  5. 唤醒事件到来后,硬件恢复时钟与稳压,CPU从异常向量继续执行。

唤醒代价主要体现在三方面:时间(从事件到第一条用户指令的延迟)、能量(恢复过程消耗的电荷)、状态一致性(外设是否需要重新初始化)。例如,若在Stop期间关闭了UART时钟,唤醒后必须重新配置波特率;若SRAM未保持,则变量会丢失。

频繁进出Stop并不一定省电。若唤醒间隔很短(例如小于唤醒延迟的10倍),切换开销可能超过休眠节省的能量。此时应改用Wait或VLPR,或延长休眠周期。

四、模式选择与切换的工程判断

实际项目中,模式选择应围绕三个问题展开:需要多快响应?需要保持哪些状态?平均功耗目标是多少?

例如一个电池供电的温湿度记录仪,每10秒采样一次,采样耗时约2ms。若采用Run模式持续运行,平均电流可能达数mA;若改为“Stop + RTC定时唤醒”,采样时进入Run,采样后立即回Stop,平均电流可降至数十µA量级。这里的关键是:RTC属于常开域,能在Stop期间继续计时;ADC和传感器在采样窗口内才上电。

下面这张图把MCX的电源域、模式层级与切换路径放在同一视图中,便于对照理解“谁在供电、谁在运行、切换经过哪些状态”。

MCX 电源域与工作模式切换总览 电源域划分 核心逻辑域 CPU / 总线 / 外设控制器 Stop/VLPR 重点降耗对象 常开域 (Always-On) RTC / 唤醒逻辑 / 备份寄存器 低功耗期间持续工作 可切换外设与IO域 UART / SPI / ADC / GPIO 可单独关时钟或断电 SRAM / 寄存器保持 保持范围由模式决定 工作模式与切换路径 Run 全速运行 · 功耗最高 Wait CPU停 · 外设时钟继续 VLPR 低频运行 · 持续采集 VLPW VLPR下CPU停止 Stop 核心时钟停 · SRAM保持 VLPS 低功耗Stop · 部分外设可运行 LLS / VLLS 深度低泄漏 · 唤醒最慢 WFI 降频 WFI 关时钟 低功耗Stop 深度休眠 中断唤醒 事件唤醒 唤醒恢复 切换代价:时钟切换 + 稳压调整 + 上下文保存/恢复 → 时间延迟与能量开销

从图中可以看到,模式越深,节省的静态功耗越多,但唤醒路径越长、状态恢复越复杂。工程上通常先用Run/Wait验证功能,再逐步下探到Stop、VLPS,最后根据实测电流与唤醒时间决定是否进入LLS/VLLS。每次下探都应测量两个指标:休眠期间的平均电流和从唤醒事件到业务代码恢复执行的时间。只有两者都满足系统要求,该模式才真正可用。

最后提醒一点:MCX不同子系列(如MCX A、MCX N、MCX L)在电源域数量、模式命名和保持范围上存在差异。做具体项目时,应以对应型号的参考手册和电源管理章节为准,把本文的模式分类当作理解框架,而不是跨型号直接套用的配置清单。