📘 低功耗·系统设计
🧩
30章 · 从入门到实战
01
低功耗设计导论
⭐ 基础
为什么嵌入式Linux需要低功耗?功耗的组成(动态功耗、静态功耗、漏电流),摩尔定律与功耗墙。
02
功耗测量基础
📊 工具
万用表与示波器测电流,精密电阻采样法,功耗分析仪(如Joulescope)的使用,电池放电曲线分析。
03
Linux电源管理子系统概述
🧠 核心
PM核心框架(/sys/power),CPU idle、CPU freq、Device PM、Clock框架、Regulator框架。
04
CPU频率调节(CPUFreq)
⚙️ 策略
Governor策略(performance、powersave、ondemand、conservative、schedutil),用户态调频与内核态调频。
05
CPU空闲管理(CPUIdle)
💤 休眠
C-State与P-State的区别,idle governor(menu、ladder、teo),WFI指令与WFI陷阱。
06
设备运行时电源管理(Runtime PM)
🔌 动态
autosuspend机制,pm_runtime_get/put API,设备树中的power-domains属性。
07
系统挂起与唤醒(Suspend-to-RAM)
🌙 休眠
PM核心的suspend流程,no_console_suspend,wakeup-source与wakeup-event。
08
时钟门控与频率缩放(Clock Framework)
⏱️ 时钟
clk_prepare_enable/clk_disable_unprepare,clk_round_rate,时钟树剪枝。
09
电压调节器(Regulator Framework)
⚡ 电压
regulator_get/set_voltage,regulator_enable/disable,动态电压频率调整(DVFS)。
10
中断与唤醒源管理
🔔 唤醒
IRQ唤醒(enable_irq_wake),GPIO唤醒,RTC唤醒,PMIC中断处理。
11
DMA与内存带宽优化
🧮 内存
DMA engine的低功耗配置,内存自刷新模式,DDR频率与电压缩放。
12
存储子系统功耗优化
💾 存储
eMMC/UFS的休眠状态,文件系统挂载选项(noatime、nodiratime),闪存垃圾回收策略。
13
网络子系统功耗优化
📡 网络
WoWLAN(Wake-on-WLAN),NAPI与中断合并,phy低功耗模式,TCP/IP offload。
14
显示与GPU功耗优化
🖥️ 显示
DRM/KMS的DPMS状态,GPU频率缩放,帧缓冲压缩(FBC),Panel自刷新(PSR)。
15
音频子系统功耗优化
🎵 音频
ALSA的DAPM(动态音频电源管理),codec低功耗模式,音频路径的电源门控。
16
传感器与外设管理
📟 外设
I2C/SPI设备的低功耗配置,传感器HUB架构,轮询与中断模式的选择。
17
电池管理与充电策略
🔋 电池
电量计(Fuel Gauge)驱动,充电曲线(CC/CV),电池健康监测,低电量关机阈值。
18
热管理(Thermal Framework)
🌡️ 散热
温控传感器驱动,cooling device(cpufreq、cpuidle、devfreq),温控策略(step_wise、power_allocator)。
19
Trace与Profiling工具
🔍 分析
ftrace与trace-cmd,perf stat与perf record,powertop,lmbench,ebpf的功耗分析。
20
设备树中的电源管理属性
🌲 设备树
power-domains、wakeup-source、clocks、regulators、operating-points-v2。
21
U-Boot中的低功耗配置
🛠️ 启动
U-Boot的休眠与唤醒,fastboot模式,内核启动参数的功耗优化。
22
Yocto/Buildroot中的功耗优化配置
📦 构建
内核配置裁剪(Kconfig),initramfs与rootfs优化,busybox vs glibc。
23
Android系统的低功耗特性
🤖 Android
Doze模式、App Standby、JobScheduler、Battery Historian分析。
24
实时系统与低功耗的权衡
⏳ 实时
RT-Preempt补丁,deadline调度器,功耗与延迟的平衡点。
25
无线通信功耗优化
📶 无线
Wi-Fi的802.11ax TWT,蓝牙BLE的广播间隔,NB-IoT/eMTC的PSM与eDRX。
26
边缘AI与NPU功耗优化
🧠 AI
NPU的电源门控,模型量化与剪枝,推理频率与精度权衡。
27
低功耗系统调试实战
🐞 调试
常见功耗异常(wakeup lock、wakelock泄漏、外设未休眠),调试流程与工具链。
28
案例研究:智能手表低功耗设计
⌚ 案例
硬件选型(MCU+Linux),软件架构(RTOS+Linux),功耗预算与实测。
29
案例研究:IoT网关低功耗设计
🌐 案例
太阳能供电场景,间歇性连接,数据压缩与批量上传。
30
未来趋势与总结
🚀 展望
近阈值计算(NTC),非易失性存储器(NVM),能量采集(Energy Harvesting),课程总结。