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

i.MX 系列产品 PMIC 高频问答

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

以下问答聚焦 i.MX 系列微控制器MCU/MPU电源管理芯片(PMIC)的选型、硬件适配、软件配置三大核心场景,覆盖开发中高频疑问,答案均来自恩智浦官方技术文档,确保准确性与实用性。

Q1:什么是PMIC?在i.MX系统中为什么需要使用PMIC?

A:PMIC(Power Management IC)是高度集成的电源管理芯片,它将多路电源输出(如Buck、LDO等)整合在一颗芯片中。在i.MX系统中,PMIC可提供稳定、高效、可编程的电源输出,支持动态电压调节(DVS),降低功耗,提升系统可靠性,并简化PCB设计。

Q2:不同 i.MX 系列产品,分别推荐搭配哪些 PMIC?

A:恩智浦为各 i.MX 型号提供经过兼容性验证的 PMIC 方案,可直接根据产品系列选型,避免硬件冲突,具体推荐如下:

i.MX 系列 应用场景 推荐 PMIC 型号 备选 PMIC 型号
i.MX6、i.MX6ULZ 工业 PF0100 系列 PF1510/PF3000/PF3001/PF5020
i.MX7Dual、i.MX7Solo 工业 PF3000 -
i.MX7(通用) 通用 PF1510 -
i.MX8DualMax 汽车 / 工业 PF81 系列、PF82 系列 -
i.MX8DualX 汽车 / 工业 FS5600 + PF81/PF82 PF7100
i.MX8DualXPlus 汽车 FS5600 + PF81/PF82 -
i.MX8MM(8M Mini) 工业 / 消费 恩智浦 PCA9450AAHN、罗姆 BD71847AMWV -

Q3:PMIC 与 i.MX8MM 如何实现硬件连接?核心逻辑是什么?

A:PMIC 与 i.MX8MM 通过I2C 接口实现通信与控制,供电分配遵循 “高电流模块用 Buck、低电流模块用 LDO” 的原则,核心连接逻辑如下:

(1)通信接口

  • PMIC 通过 I2C 总线挂载到 i.MX8MM 的 I2C1 接口(地址可配置,如 PCA9450 默认地址 0x25);
  • i.MX8MM 可通过 I2C 发送指令,实时控制 PMIC 的 “输出使能 / 禁用”“电压调节”,实现动态功耗管理(如低负载时降低 VDD_ARM 电压)。

(2)供电分配

  • Buck 转换器:负责为高电流、高功耗模块供电,例如:
    • VDD_ARM(四核 A53 内核):由 BD71847 的 Buck2、PCA9450 的 Buck2 供电;
    • VDD_SOC(SoC 逻辑电路):由 BD71847 的 Buck1、PCA9450 的 Buck1 供电;
    • VDD_DRAM(DDR 控制器):由 BD71847 的 Buck5、PCA9450 的 Buck3 供电。
  • LDO(低压差稳压器):负责为低电流、高稳定性需求的模块供电,例如:
    • NVCC_SNVS_1P8(SNVS 银行 GPIO驱动器):由 BD71847 的 LDO1、PCA9450 的 LDO1 供电(1.8V);
    • VDD_SNVS_0V8(低功耗域电路):由 BD71847 的 LDO2、PCA9450 的 LDO2 供电(0.8V)。

Q4:从 BD71847 迁移到 PCA9450,需要修改哪些软件部分?分 U-Boot 和内核说明

软件迁移核心是 “替换 PMIC 驱动 + 调整配置文件”,需分别修改 U-Boot(初始化阶段)和 Linux 内核(运行阶段),步骤如下:

(1)U-Boot 部分(核心:初始化 PMIC,确保 DDR/CPU 供电正常)

  1. 添加 PCA9450 驱动文件:将pca9450.h和pmic_pca9450.c拷贝到 U-Boot 驱动目录root/drivers/power/pmic/;
  2. 修改 Kconfig 与 Makefile:
    • 在drivers/power/pmic/Kconfig中添加config POWER_PCA9450,启用 PCA9450 支持;
    • 在drivers/power/pmic/Makefile中添加obj-$(CONFIG_POWER_PCA9450) += pmic_pca9450.o,确保驱动编译;
  3. 配置板级头文件:在include/configs/imx8mm_evk.h中,注释CONFIG_POWER_BD71837(BD71847 兼容驱动),添加#define
  4. CONFIG_POWER_PCA9450;
  5. 修改设备树(DTS):在arch/arm/dts/imx8mm-evk.dtsi的 I2C1 节点下,添加 PCA9450 节点(配置地址、中断引脚、regulator 参数);
  6. 调整 SPL 初始化代码:在board/freescale/imx8mm_evk/spl.c中,将 BD71847 的寄存器配置替换为 PCA9450 的初始化逻辑。

(2)Linux 内核部分(核心:适配 regulator 驱动,支持动态电压调节)

  1. 添加 PCA9450 内核驱动:
    • 将pca9450.h拷贝到include/linux/mfd/(MFD 设备头文件目录);
    • 将pca9450-regulator.c拷贝到drivers/regulator/(regulator 驱动目录);
  2. 修改 regulator 驱动的 Kconfig 与 Makefile:
    • 在drivers/regulator/Kconfig中添加config REGULATOR_PCA9450;
    • 在drivers/regulator/Makefile中添加obj-$(CONFIG_REGULATOR_PCA9450) += pca9450-regulator.o;
  3. 修改 MFD 驱动的 Kconfig 与 Makefile:在drivers/mfd/下添加 PCA9450 的编译配置,确保 MFD 框架支持;
  4. 更新内核配置文件(defconfig):在arch/arm64/configs/xxx_defconfig中,添加CONFIG_REGULATOR_PCA9450=y和CONFIG_MFD_PCA9450=y;
  5. 完善 DTS 的 regulator 节点:在 PCA9450 设备树下添加regulators子节点,配置各 Buck/LDO 的电压范围、启动状态(如regulator-boot-on)。

Q5:若不使用集成 PMIC,i.MX 系列产品可参考哪种电源设计方案?

若因特殊需求(如定制化电压、极端环境)不使用集成 PMIC,可采用分离电源设计,恩智浦官方推荐参考i.MX6ULL 的电源树方案:

  • 核心思路:用独立的 Buck 转换器(如 TPS 系列)为高电流轨(VDD_ARM、VDD_DRAM)供电,用独立 LDO 为低电流轨(VDD_SNVS、外设)供电;
  • 注意事项:需严格匹配各电源轨的电压精度(±5% 以内)、纹波(≤50mV)和动态响应速度,避免因电压波动导致 CPU/DRAM 异常。

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦