第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)

激光雷达的功耗,主要来自三部分:

  1. 激光发射器:峰值功率很高,但占空比低。比如机械式LiDAR,每秒发射几十万次激光脉冲,每次脉冲持续几纳秒。
  2. 接收与处理:APD(雪崩光电二极管)和TDC(时间数字转换器)的功耗。
  3. 扫描机构:机械式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