• 正文
  • 相关推荐
申请入驻 产业图谱

i.MX 处理器中 PMIC 的应用与优化指南:从选型到软件配置全面解析

09/28 11:27
1046
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

嵌入式系统设计中,电源管理是决定系统稳定性、性能和功耗的关键因素。尤其对于高性能应用处理器恩智浦NXP)的 i.MX 系列,电源管理集成电路(PMIC)的使用尤为重要。本文将基于恩智浦官方技术文档探讨 i.MX 处理器中 PMIC 的选型、硬件连接与软件配置,重点以 i.MX8M Mini 为例,提供从理论到实践的完整指南。

1. PMIC 在 i.MX 系统中的作用与优势

PMIC 是一种高度集成的电源管理芯片,它将多路电源输出(如 Buck 转换器LDO 等)整合在单一芯片中,具备以下优势:

  • 高集成度:取代多个分立电源芯片,减小 PCB 面积。
  • 高效能:支持动态电压调节(DVS),优化功耗。
  • 灵活可控:通过 I?C 接口实现软件可编程的电源管理。
  • 保护机制:内置过压、过流、过热等保护功能。

2. i.MX 系列推荐 PMIC 选型指南

NXP 为不同 i.MX 处理器提供了专门的 PMIC 推荐方案,如下表所示:

i.MX 系列 推荐 PMIC 型号
i.MX 6UL/ULL/ULZ PF1510 / PF3000 / PF3001 / PF5020
i.MX 7系列 PF3000 PF3000 / PF1510
i.MX 8M Mini/Nano PCA9450 系列
i.MX 8QM / 8QXP PF8100 / PF8200 系列
i.MX 8DualMax/X PF81/PF82 或 PF7100(汽车级)

3. i.MX8M Mini 的电源架构与 PMIC 配置

3.1 电源轨(Power Tree)设计

i.MX8M Mini 内部包含多个电源域,每个电源轨的电压和电流需求如下:

电源轨名称 核心用途 电压范围(Min-Typ-Max) 最大电流(mA)? 备注
VDD_ARM 四核 A53 内核供电 0.805V-0.850V(1.2GHz) 2200 1.6GHz 时需 0.900V-0.950V
VDD_SOC SoC 逻辑电路供电 0.780V-0.820V(无 PCIe) 1000 带 PCIe 时需 0.805V-0.850V
VDD_DRAM DDR 控制器供电 0.805V-0.850V(1.0GHz) - 1.5GHz 时需 0.900V-0.950V
NVCC_DRAM DRAM 核心供电 1.1V(默认) 1000 可通过软件调整为 1.2V(LPDDR4)/1.35V(DDR3L)
VDD_VPU 视频处理单元(VPU)供电 0.850V-0.900V(450MHz) - 700MHz 时需 0.900V-0.950V
NVCC_SNVS_1P8 SNVS 银行 GPIO驱动器供电 1.620V-1.800V-1.980V - 低功耗场景关键电源轨

3.2 常用 PMIC 对比:BD71847 与 PCA9450

特性 罗姆 BD71847AMWV 恩智浦 PCA9450AAHN
核心输出模块 6 路降压转换器(Buck)+ 6 路 LDO 6 路降压转换器(Buck)+ 5 路 LDO
额外功能 内置 SDXC 卡 1.8V/3.3V 开关、32.768kHz 晶振缓冲器 内置 400mA 负载开关、2 通道电平转换器、32.768kHz 晶振驱动器
输入电压范围 2.7V~5.5V(支持锂电池 / USB 输入) 适配 i.MX8MM 供电需求,支持宽压输入
转换效率 最高 95%(Buck 转换器) 高效率设计,匹配 i.MX8MM 低功耗需求
DDR 电压调节 Buck8 默认 1.1V,软件可调 1.2V/1.35V Buck6 默认 1.1V,软件可调 1.2V/1.35V
保护功能 输出短路、过压、过流、热关断 完善的过压 / 过流 / 热保护,符合工业标准

4. PMIC 软件配置实战:从 BD71847 迁移到 PCA9450 的步骤

当 i.MX8MM 开发板从 BD71847 更换为 PCA9450 时,需在 U-Boot 和 Linux 内核中修改驱动与配置,以下是经过验证的完整步骤:

4.1 U-Boot 部分修改(核心是添加 PCA9450 驱动与配置)

U-Boot 阶段需完成 PMIC 初始化,确保 DDR、CPU 核心供电正常,步骤如下:

步骤 操作内容 具体路径与代码示例
1 拷贝 PCA9450 驱动文件 将pca9450.h和pmic_pca9450.c拷贝至 U-Boot 驱动目录:root/drivers/power/pmic/
2 修改 Kconfig,启用 PCA9450 支持 在drivers/power/pmic/Kconfig中添加:

config POWER_PCA9450

bool "Support PCA9450 PMIC"

3 修改 Makefile,编译 PCA9450 驱动 在drivers/power/pmic/Makefile中添加:obj-$(CONFIG_POWER_PCA9450) += pmic_pca9450.o
4 配置板级头文件,禁用 BD71837(BD71847 兼容驱动) 在include/configs/imx8mm_evk.h中添加:

#undef CONFIG_POWER_BD71837

#define CONFIG_POWER_PCA9450

5 修改设备树(DTS),添加 PCA9450 节点 在arch/arm/dts/imx8mm-evk.dtsi的 I2C1 节点下添加:

pmic: pca9450@25 {

compatible = "nxp,pca9450";

reg = <0x25>;

pinctrl-0 = <&pinctrl_pmic>;

interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

/* 配置Buck/LDO参数 */

};

6 修改 SPL 初始化代码,替换 PMIC 寄存器配置 在board/freescale/imx8mm_evk/spl.c中,将 BD71847 的初始化逻辑替换为 PCA9450 的寄存器配置

4.2 Linux 内核部分修改(适配 PCA9450 regulator 驱动)

内核阶段需配置 PMIC 的电压调节器(regulator),确保系统运行中动态电压调节正常:

步骤 操作内容 具体路径与代码示例
1 拷贝 PCA9450 内核驱动文件 将pca9450.h(放include/linux/mfd/)和pca9450-regulator.c(放drivers/regulator/)拷贝至对应目录
2 修改 regulator 驱动的 Kconfig 与 Makefile 在drivers/regulator/Kconfig添加:

config REGULATOR_PCA9450

tristate "PCA9450 Regulator Support"

在drivers/regulator/Makefile添加:

obj-$(CONFIG_REGULATOR_PCA9450) += pca9450-regulator.o

3 修改 MFD 驱动的 Kconfig 与 Makefile(PCA9450 属于 MFD 设备) 在drivers/mfd/Kconfig添加 PCA9450 支持,Makefile 中添加编译规则
4 修改内核配置文件(defconfig),启用 PCA9450 支持 在arch/arm64/configs/xxx_defconfig中添加:

CONFIG_REGULATOR_PCA9450=y

CONFIG_MFD_PCA9450=y

5 完善设备树(DTS)的 regulator 节点配置 在 PCA9450 节点下添加 regulators 子节点,示例:

regulators {

buck1_reg: BUCK1 {

regulator-name = "VDD_SOC";

regulator-min-microvolt = <600000>;

regulator-max-microvolt = <2187500>;

regulator-boot-on;

nxp,dvs-run-voltage = <850000>;

};

/* 其他Buck/LDO配置类似 */

};

5. 关键注意事项

  1. 非 PMIC 方案参考:若不使用集成 PMIC,需采用分离电源设计,可参考 i.MX6ULL 的电源树方案,确保各电源轨的电压精度、纹波满足 i.MX 芯片要求;
  2. DDR 电压调节:无论是 BD71847 还是 PCA9450,均需在 U-Boot SPL 阶段(DDR 初始化前)调整 DDR 电压,避免因电压不匹配导致 DDR 启动失败;
  3. 官网资料优先:i.MX 产品上 PMIC 的使用
  4. 兼容性验证:更换 PMIC 后,需通过高低温测试、功耗测试验证稳定性,确保在目标应用场景下(如工业 - 40℃~85℃)正常工作。

i.MX 系列产品的 PMIC 设计核心是 “选型匹配 + 硬件适配 + 软件配置” 三者结合:先根据 i.MX 型号选择官方推荐的 PMIC,再依据电源轨需求设计硬件连接,最后通过 U-Boot 和内核的驱动修改完成适配。以 i.MX8MM 的 PCA9450 方案为例,其软件迁移步骤具有通用性,其他 i.MX 型号的 PMIC 修改可参考此逻辑,最终实现系统的稳定供电与高效功耗控制。

相关推荐