i.MX 6Dual/6Quad 功耗测量报告 — Freescale AN4509
Freescale 官方应用笔记 AN4509(Rev.0,2012-10,48页),在 SABRE SD 板上对 i.MX6Dual/6Quad SoC 做实测功耗画像,覆盖电源域结构、内部功耗、各典型场景实测数据与降功耗手段。是 i.MX6 整机供电设计和电池选型的核心参考。
1. 电源域结构
i.MX6DQ 主要供电轨(外部 PMIC 供给):
| 供电域 | 典型电压 | 供电对象 |
|---|---|---|
| VDDARM_IN | 0.9–1.375V(DVFS) | Cortex-A9 核心 |
| VDDSOC_IN | 0.9–1.375V(DVFS) | GPU/VPU/DDR控制器/片上外设(SoC域) |
| VDDHIGH_IN | 2.78V | USB/MIPI/HDMI 等高速 I/O PHY |
| NVCC_DRAM | 1.5V | DDR I/O |
| 其他 NVCC_* | 1.8/3.3V | 各 I/O bank |
DVFS 通过 PMIC(PF0100)配合 PMIC_STBY_REQ 信号动态调压;测得的核心功耗与电压强相关,待机时 ARM/SOC 域可降至 0.9V。
2. 典型场景实测功耗(Linux GA1209,含 DDR)
| 场景 | 总功耗 | 备注 |
|---|---|---|
| Deep Sleep(Suspend to RAM) | ~27 mW | 最低功耗态,DDR 占大头(23 mW) |
| System Idle(灭屏,OS 运行) | ~129 mW | ARM 处于 WFI |
| User Idle(亮屏 LVDS XGA 静置) | ~780 mW | IPU 持续刷屏,SOC 域 412 mW |
| MP3 播放(ARM 软解,SSI 输出) | ~170 mW 量级 | 可关 VPU/GPU 电源 |
| 1080p H.264 HDMI 播放(VPU 硬解) | ~1310 mW | SOC 域 610 mW 为主 |
| 1080p H.264 LVDS 播放 | ~1223 mW | 与 HDMI 相当 |
| 四核 Dhrystone @1GHz | ~1.7W 量级 | 纯 CPU 满载 |
| 3D 游戏 MM06(VGA@175FPS) | ~2500 mW | GPU 满载,SOC 域 1272 mW |
| 典型最大功耗(3屏并发+4核满载) | ~5855 mW | 芯片温度达 80°C,VDDARM 峰值 1510mA |
关键结论:
- 待机与工作的功耗差约 200 倍(27mW vs 5.9W),低功耗设计价值极大。
- 亮屏静置(User Idle)功耗高达 780mW,比 MP3 播放还高——IPU 持续刷 DDR 是隐形耗电大户,灭屏策略是省电第一抓手。
- VPU 硬解 1080p 整机约 1.3W,其中 SOC 域(含 VPU+IPU+DDR 通路)占近半。
- DDR I/O + 内存本身的功耗在所有场景都占 15–40%,不可忽略。
3. 降功耗手段清单(第4章精华)
软件侧:
- 不用的模块及时钟一律做 clock gating(CCM 的 CCGR 寄存器)。
- 减少运行中的 PLL 数量(音频/待机模式尤其有效)。
- 开启 ARM DVFS + 总线调频(AXI/AHB/IPG);注意降频会拉长 DDR 访问时间反而增加 DDR 功耗,需按场景权衡。
- 空闲尽量进 WAIT/STOP 模式。
硬件/DDR 侧(DDR 接口优化是重头):
- PCB 走线尽量短;ODT 端接阻值尽量大(ODT 设置对 DDR I/O 功耗影响巨大);驱动强度选满足性能的最小档。
- 低性能场景用 DLL off 模式,可大幅降 DDR 频率并降低端接和驱动功耗。
- 待机时把 DDR 引脚浮空(High Z),保持 SDCKE0/1 为低——需在内部 RAM 中执行代码。
- 用 DDR3L(1.35V)可比 1.5V 省约 20% I/O 功耗。
- DDR 输入引脚低频时可改 CMOS 模式(清 IOMUXC 的 DDR_INPUT 位)替代差分模式。
Deep Sleep 进出流程要点:进入前读 MMDC 的 MAPSR 确认 DDR 已自刷新 → 设 DDR I/O DSE=0(High Z,CKE 除外)→ suspend;唤醒后恢复 I/O 配置再进运行模式。
4. 实操配置(第5章)
文档给出各测试场景的完整复现命令,如 1080p HDMI 回放(VPM3):U-Boot 设 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,内核跑脚本关闭多余 framebuffer/网卡、userspace governor 锁 396MHz,再运行 /unit_tests/mxc_vpu_test.out -D "-f 2 -y 1 -I <视频>"。Deep Sleep 用 echo mem > /sys/power/state 进入。
关联
- 硬件平台背景见 OKMX6X硬件手册 类笔记;Yocto 系统构建见 i.MX-Yocto-Project用户指南。
- 对电池供电仪器(如小发光项目 IMX6 主板):本笔记可直接用于电源树设计与续航估算。