4. 电压域概念:PMIC、稳压器、电压调节、DVFS、电压域在DTS中的描述

电压域(Voltage Domain)是嵌入式电源管理中最核心的抽象概念之一。它并非物理上的单一电源轨,而是指一组共享同一可调电压源的逻辑或物理模块集合。理解电压域,是进行DTS时钟与电压协同优化的前提。

核心认知: 电压域 = 电源轨 + 负载设备 + 电压调节策略。DTS中的电压域描述,本质上是将硬件电源树映射为设备节点间的依赖关系。

4.1 电压域的基本构成要素

一个完整的电压域由以下三个层次构成:

  • 电源供给层(PMIC & Regulator): 提供原始电压的硬件单元,如PMIC(Power Management IC)的BUCK、LDO输出,或外部稳压器。
  • 电压调节层(Voltage Regulation): 通过PWM、PFM或线性调节方式,动态调整输出电压值。
  • 负载设备层(Consumer Devices): 挂载在该电压域上的SoC内部模块(CPU簇、GPU、DDR控制器、外设总线等)。
电压域三层架构模型 PMIC / 稳压器 BUCK / LDO / DCDC 电压调节层 PWM / PFM / 动态调压 负载设备层 CPU / GPU / DDR / 外设 关键说明: • 一个PMIC可以输出多个电压域(如VDD_CORE、VDD_IO、VDD_MEM)。 • 一个电压域可以挂载多个负载设备,共享同一电压调节策略。 • DTS中的regulator节点对应第一层,consumer节点对应第三层。 • 电压调节层由PMIC硬件自动完成,DTS仅配置目标电压和调节参数。

4.2 PMIC与稳压器在DTS中的描述

在DTS中,PMIC和稳压器被抽象为regulator节点。每个regulator节点代表一个独立的电压输出通道。

4.2.1 典型PMIC节点结构

/* PMIC主节点 */
&pmic {
    compatible = "mediatek,mt6359p-regulator";
    interrupt-parent = &pio;
    interrupts = <145 IRQ_TYPE_LEVEL_LOW>;

    /* 子节点:每个regulator代表一个电压域输出 */
    mt6359p_vcore_reg: mt6359p_vcore {
        regulator-name = "vcore";
        regulator-min-microvolt = <500000>;   /* 0.5V */
        regulator-max-microvolt = <1300000>;  /* 1.3V */
        regulator-always-on;
        regulator-boot-on;
        regulator-ramp-delay = <6250>;         /* 6.25mV/us */
    };

    mt6359p_vmodem_reg: mt6359p_vmodem {
        regulator-name = "vmodem";
        regulator-min-microvolt = <500000>;
        regulator-max-microvolt = <1100000>;
        regulator-always-on;
        regulator-boot-on;
    };
};
优化要点: regulator-ramp-delay 直接影响电压切换时间。在初始化阶段,如果多个外设依次请求不同电压,ramp-delay会成为初始化瓶颈。适当减小该值(需硬件支持)可缩短外设初始化时间。

4.3 电压调节与DVFS机制

DVFS(Dynamic Voltage and Frequency Scaling) 是电压域优化的核心策略。它根据负载动态调整电压和频率,在保证性能的同时降低功耗。

调节模式 触发条件 电压变化速度 适用场景
静态电压调节 系统启动时固定 无变化 低功耗待机、RTC域
动态电压调节(DVS) 软件主动请求 中等(~10us) 外设初始化、模式切换
自适应电压调节(AVS) 硬件自动检测 快速(~1us) CPU/GPU运行中调压
DVFS(频率+电压协同) 负载变化/温度变化 协同调节 性能-功耗平衡
DVFS工作流程:电压与频率协同调节 负载检测 CPU/GPU利用率 频率决策 OPP表查询 电压决策 V-F曲线匹配 硬件执行 PMIC调压+时钟 反馈:新负载状态 DVFS优化提示: • 外设初始化阶段,可预先将电压提升到目标OPP,避免多次调压。 • 在DTS中合理配置voltage-tolerance,允许PMIC在安全范围内跳过微小调节。

4.4 电压域在DTS中的完整描述

一个完整的电压域描述,需要将电源供给、负载设备和电压策略三者通过DTS属性关联起来。

4.4.1 电压域描述三要素

  1. 定义regulator供给节点: 在PMIC节点下声明每个电压域的输出能力(电压范围、电流限制、调节延迟)。
  2. 定义负载设备的电源需求: 在设备节点中通过cpu-supply、vdd-supply等属性引用对应的regulator。
  3. 定义电压与频率的映射关系: 通过operating-points-v2表,将频率点与电压值绑定。
/* 1. 定义CPU簇的电压域 */
cpu0: cpu@0 {
    compatible = "arm,cortex-a55";
    reg = <0x0 0x0>;
    device_type = "cpu";
    /* 引用vcore regulator */
    cpu-supply = <&mt6359p_vcore_reg>;
    /* 引用DVFS OPP表 */
    operating-points-v2 = <&cpu_opp_table>;
};

/* 2. 定义OPP表(电压-频率映射) */
cpu_opp_table: opp-table-0 {
    compatible = "operating-points-v2";
    opp-shared;

    opp-1000000000 {
        opp-hz = /bits/ 64 <1000000000>;  /* 1.0 GHz */
        opp-microvolt = <750000>;           /* 0.75V */
        opp-level = <1>;
    };

    opp-1500000000 {
        opp-hz = /bits/ 64 <1500000000>;  /* 1.5 GHz */
        opp-microvolt = <900000>;           /* 0.90V */
        opp-level = <2>;
    };

    opp-2000000000 {
        opp-hz = /bits/ 64 <2000000000>;  /* 2.0 GHz */
        opp-microvolt = <1050000>;          /* 1.05V */
        opp-level = <3>;
    };
};
常见配置陷阱:
  • 电压域冲突: 多个设备共享同一regulator时,如果请求不同电压,会导致PMIC频繁切换,增加初始化延迟。解决方案:将初始化阶段电压需求一致的设备分组到同一电压域。
  • OPP表缺失: 如果设备节点引用了operating-points-v2但未定义对应表,内核会使用默认保守电压,导致性能下降。
  • ramp-delay过大: 默认ramp-delay可能为10ms级别,对于需要快速初始化的外设(如eMMC、USB3.0),应检查硬件手册并适当减小。

4.5 电压域优化对外设初始化时间的影响

外设初始化过程中,电压域的稳定时间是一个关键延迟因素。以下表格展示了不同电压域配置下的初始化时间对比:

优化策略 默认配置 优化配置 初始化时间节省
ramp-delay调整 10000 us 6250 us 37.5%
预置目标电压 逐级升压(3步) 一步到位 60%
电压域合并 3个独立域 1个共享域 50%
AVS使能 固定电压 自适应调节 20%(减少过冲等待)
电压域优化前后初始化时间对比 优化前:逐级调压 + 多次等待 总耗时:~15ms 优化后:预置电压 + 快速斜坡 总耗时:~4ms 0ms 5ms 15ms V1 V2 V3 目标电压(一步到位)
实战建议: 在DTS优化过程中,优先检查以下三个电压域参数:
1. regulator-ramp-delay —— 决定电压切换速度。
2. regulator-min-microvolt 与 regulator-max-microvolt —— 决定电压域的可调范围。
3. opp-microvolt 在OPP表中的精度 —— 决定DVFS的调节粒度。

4.6 本章小结

电压域是连接硬件电源管理与DTS软件配置的桥梁。通过本章学习,你应该掌握:

  • 电压域的三层架构:PMIC供给 → 电压调节 → 负载设备。
  • 如何在DTS中正确描述regulator节点和consumer节点的关联。
  • DVFS的工作流程及其在DTS中的OPP表配置方法。
  • 电压域优化对外设初始化时间的直接影响,以及具体的优化参数调整策略。