第2章:硬件功耗模型——SoC功耗模型、GPU/NPU功耗特性、传感器功耗建模
各位同学,咱们接着聊。上一章我讲了功耗分析的整体框架,这一章咱们要落地了——直接面对硬件。
做自动驾驶功耗优化,你得先知道电都耗在哪儿了。说白了,就是要把每个硬件的功耗行为摸清楚。我个人习惯,先建模型,再谈优化。没有模型,你连问题在哪儿都不知道。
2.1 SoC功耗模型:芯片的“呼吸”节奏
SoC(System on Chip)是整个系统的核心。它集成了CPU、GPU、NPU、DSP、ISP等等。功耗模型,就是描述这些模块在不同状态下怎么“吃电”。
我一般把SoC功耗分成三块:
- 静态功耗(Leakage Power):芯片通电就有的,跟频率无关。工艺越先进,漏电越严重。7nm以下,静态功耗占比能到30%以上。
- 动态功耗(Dynamic Power):干活才有的。公式是 P = α·C·V²·f。α是翻转率,C是负载电容,V是电压,f是频率。你想想看,电压平方项,降一点电压效果最明显。
- 短路功耗(Short-circuit Power):开关瞬间,PMOS和NMOS同时导通那一下。占比不大,通常忽略。
核心模型:
Ptotal = Pstatic + α·C·V²·f + Pshort
实际项目中,我们更关注的是 Pdynamic 随负载的变化曲线。
我在项目中遇到过一个问题:某款SoC在低负载时功耗反而比预期高。查了半天,发现是DVFS(动态电压频率调节)策略太保守,电压没降下来。嗯,这里要注意,模型不仅要准,还要能指导策略。
2.2 GPU/NPU功耗特性:算力与功耗的博弈
GPU和NPU是自动驾驶的“算力心脏”。它们的特点是:并行度高,功耗波动大。
先看GPU。GPU的功耗模型,我习惯用“利用率-功耗”曲线来描述。但注意,不是线性关系。
| GPU利用率 | 典型功耗(W) | 说明 |
|---|---|---|
| 0% (空闲) | 15-25 | 显存刷新、时钟保持 |
| 30% | 40-60 | 轻度渲染/推理 |
| 60% | 70-90 | 中等负载 |
| 90%+ | 100-150 | 接近满载,功耗急剧上升 |
为什么会这样?因为GPU内部有大量计算单元(SM/CU),利用率低时,很多单元是关断的。利用率一高,所有单元全开,互连线和缓存也忙起来,功耗就上去了。
NPU呢?NPU是为神经网络设计的。它的功耗特性更“规律”。
- MAC阵列利用率:NPU的核心是乘加阵列。利用率越高,功耗越接近峰值。
- 数据搬运功耗:NPU的瓶颈往往不在计算,而在数据搬运。从DDR搬到SRAM,再从SRAM搬到MAC,每一级都有功耗开销。
- 激活函数:ReLU几乎不耗电,但Sigmoid/Tanh会消耗不少。
我的经验:
我曾经优化过一个NPU推理任务。一开始只看MAC利用率,功耗降不下来。后来发现,数据搬运占了总功耗的40%以上。我们做了权重压缩和激活值量化,功耗直接降了30%。
2.3 传感器功耗建模:激光雷达与摄像头
传感器是自动驾驶的“眼睛”。它们的功耗模型,跟SoC完全不同。传感器功耗更“离散”,跟工作模式强相关。
2.3.1 激光雷达(LiDAR)
激光雷达的功耗,主要来自三部分:
- 激光发射器:峰值功率很高,但占空比低。比如机械式LiDAR,每秒发射几十万次激光脉冲,每次脉冲持续几纳秒。
- 接收与处理:APD(雪崩光电二极管)和TDC(时间数字转换器)的功耗。
- 扫描机构:机械式LiDAR的电机旋转,固态LiDAR的MEMS微镜摆动。
我建议这样建模:
P_LiDAR = P_idle + N_pulses × E_pulse + P_scan + P_process
其中:
- P_idle:待机功耗(约1-3W)
- N_pulses:每秒脉冲数
- E_pulse:单脉冲能量(约10-100 μJ)
- P_scan:扫描机构功耗(机械式约10-20W,固态约1-5W)
- P_process:点云处理功耗(约5-15W)
避坑指南:
我曾经在项目里直接用“额定功率”来估算LiDAR功耗,结果发现实际功耗比额定值低了20%。后来才搞清楚,额定功率是最大工况(全速扫描+最大发射功率),而实际场景中,LiDAR会根据环境自动调节发射功率和扫描频率。所以,一定要用动态模型。
2.3.2 摄像头
摄像头功耗相对简单,但也不能忽视。尤其是多目摄像头系统,加起来也不小。
摄像头功耗模型:
P_cam = P_sensor + P_ISP + P_transmit
- P_sensor:图像传感器功耗。跟分辨率、帧率、曝光时间有关。比如1080p@30fps约0.5-1W,4K@60fps约2-4W。
- P_ISP:图像信号处理功耗。包括去马赛克、降噪、HDR等。这部分跟算法复杂度有关。
- P_transmit:数据传输功耗。MIPI接口传输,跟数据量成正比。
你想想看,一辆车装10个摄像头,每个2W,那就是20W。这还不算ISP的功耗。所以,摄像头功耗优化也是有价值的。
| 摄像头类型 | 分辨率/帧率 | 典型功耗(W) | 主要功耗来源 |
|---|---|---|---|
| 前视主摄像头 | 8MP@30fps | 3-5 | 传感器+ISP |
| 环视摄像头 | 2MP@30fps | 1-2 | 传感器 |
| DMS摄像头 | 1MP@15fps | 0.5-1 | 传感器+红外LED |
2.4 小结:模型是优化的基础
这一章我们讲了SoC、GPU/NPU、传感器的功耗模型。记住一句话:没有准确的模型,就没有有效的优化。
我个人习惯,在项目初期就把这些模型搭好。哪怕一开始精度不高,也能帮你找到功耗大头。后面再慢慢校准,模型会越来越准。
下一章,咱们聊聊软件层面的功耗优化——操作系统和中间件怎么省电。到时候见。
公众号:蓝海资料掘金营,微信deep3321