4. Kria电源树与供电域分析
Kria SOM 的功耗优化,第一步不是改代码,而是把“电从哪来、经过谁、送到哪、受什么约束”画清楚。Kria K26 SOM 的供电体系可以理解为一条自顶向下的电源树:载板输入电源先经过保护与预稳压,再进入 SOM 上的 PMIC(电源管理集成电路),由 PMIC 按上电时序产生多路电源轨,分别供给 PS(Processing System)、PL(Programmable Logic)、DDR、收发器、外设 I/O 等供电域。只有先建立这张“电源地图”,后续用电流探头或功耗估算工具测到的数值才能对应到具体域,优化才有靶点。
一、从载板到 SOM:电源分配网络的三级结构
Kria SOM 的电源分配网络(PDN)通常分为三级。第一级是载板输入级:外部 12V 或 5V 适配器进入载板后,经保险丝、反接保护、TVS 和输入滤波电容,形成较“脏”但受保护的中间电压。第二级是 SOM 连接器与 PMIC 输入级:中间电压通过 SOM 板对板连接器送入 SOM,PMIC 的输入电容、电感、反馈网络都布置在 SOM 上,这一级决定了 PMIC 能否稳定工作。第三级是 PMIC 输出级:PMIC 产生多路降压/升压输出,经去耦电容和电源平面送到 SoC 的各个电源球(power ball)。
理解这三级结构的意义在于:测量点不同,看到的噪声和压降也不同。在载板输入端测到的纹波,包含了连接器和线缆的寄生参数;在 PMIC 输出端测到的纹波,才更接近 SoC 实际看到的供电质量。做功耗优化时,若只测输入端总电流,无法区分是 PS 还是 PL 在耗电,必须结合 PMIC 各路输出的分流测量。
二、PMIC 配置:电压、电流与上电时序
Kria SOM 上的 PMIC 通常由多路 Buck 和 LDO 组成,每路输出对应一个或多个供电域。以 K26 SOM 为例,典型配置包括:为 PS 核心供电的 VCC_PSINTFP(约 0.85V,电流能力数安培)、为 PL 核心供电的 VCC_INT(约 0.85V)、为 DDR 供电的 VCC_DDR(约 1.1V)以及为辅助和外设供电的 VCC_PSAUX(1.8V)、VCC_PSDDR_PLL 等。每路输出的电压值、最大持续电流、纹波容限和上电顺序,都是 PMIC 配置中的硬约束。
上电时序尤其关键。SoC 要求某些电源轨先建立、某些后建立,顺序错误可能导致闩锁或启动失败。典型顺序是:辅助电源先上,PS 核心随后,PL 核心再后,最后释放复位。PMIC 通过 PGOOD 信号和使能引脚实现级联,前一路输出稳定后,PGOOD 拉高,才允许下一路启动。做功耗测量时,如果发现某路电流异常偏高,首先要确认该路是否在正确的时序窗口内被使能,而不是直接怀疑负载短路。
三、各电源轨的电压电流约束与测量方法
每路电源轨都有明确的电压容限。以 0.85V 核心电压为例,通常允许 ±3% 到 ±5% 的静态偏差,动态跌落(droop)则要求更严。测量时,示波器探头应使用弹簧地线,尽量靠近 SoC 电源球,避免长地线引入的环路噪声。对于 DDR 的 VTT 端接电源,还要关注其跟踪 VCC_DDR/2 的能力,跟踪偏差过大会导致 DDR 误码。
电流测量方面,若 PMIC 支持 I2C 电流回读,可直接读取各路输出电流,这是最方便的方法。若 PMIC 不支持,则需要在输出电感或分流电阻上测量。注意:在电感上测电流需要电流探头,且要区分电感纹波电流与负载直流电流。对于功耗优化,我们更关心的是“某路电源在特定工作负载下的平均电流”,因此可以在稳定工作状态下多次采样取平均。
| 电源轨 | 典型电压 | 供电域 | 电流能力(示例) | 测量关注点 |
|---|---|---|---|---|
| VCC_PSINTFP | 0.85V | PS 全功率核心 | 4A | 动态跌落、轻载效率 |
| VCC_PSINTLP | 0.85V | PS 低功耗核心 | 2A | 低功耗模式电流 |
| VCC_INT | 0.85V | PL 核心 | 6A | PL 负载变化 |
| VCC_DDR | 1.1V | DDR4/LPDDR4 | 3A | VTT 跟踪精度 |
| VCC_PSAUX | 1.8V | PS 辅助、PLL | 1A | 纹波、噪声 |
表中电流能力为示例值,实际应以所用 SOM 型号的硬件手册为准。测量时,建议先记录各路在“空闲—典型负载—峰值负载”三种状态下的电流,形成基线。后续任何优化动作,都对比这组基线来判断是否有效。
四、从电源树到功耗优化:建立可操作的测量基线
有了电源树和供电域划分,就可以设计一套可重复的测量流程。第一步,确认测量点:每路电源轨的输出电容附近,使用示波器测纹波,使用电流探头或 PMIC 回读测电流。第二步,定义工作状态:例如 PS 仅运行 Linux 空闲、PS 运行 CPU 压力测试、PL 加载不同逻辑负载、DDR 进行带宽测试。第三步,记录每组状态下的电压和电流,计算各路功率并求和,得到 SOM 总功耗的分解。
一个常见的误区是只测总输入功率。总输入功率包含了载板稳压损耗、PMIC 转换损耗和 SOM 实际负载,无法直接指导优化。例如,若发现 PL 核心电流在空闲时仍然很高,可能是 PL 设计中有未关断的时钟或未优化的逻辑;若 DDR 电流偏高,可能是刷新率或端接配置问题。只有把功耗分解到供电域,才能定位到具体的优化对象。