4. PDN基本概念
各位硬件同仁,今天我们聊一个PDN设计里最核心的概念——目标阻抗。
很多新手拿到BUCK电源设计任务,第一件事就是选电感、算电容。但我要说,先别急。你连PDN到底要压到多低的阻抗都不知道,怎么选器件?
目标阻抗,说白了就是一句话:在负载瞬态电流变化时,PDN网络允许的最大动态阻抗。它不是一个固定值,而是由你的负载需求和电源纹波要求共同决定的。
核心公式(请刻在脑子里):
Z_target = (V_ripple_pp) / (I_transient_max)
其中:
V_ripple_pp —— 负载端允许的峰-峰电压纹波(含直流压降和AC纹波)
I_transient_max —— 负载瞬态电流变化的最大幅度
4.1 目标阻抗的物理意义
我习惯把PDN网络想象成一个水龙头系统。负载就是用水端,你突然开大龙头(电流增大),水管里的水压就会掉。目标阻抗就是衡量这个“水管”在流量变化时,水压能稳住多少。
阻抗越低,电压越稳。但代价是电容要多、PCB层数要厚、成本要涨。所以目标阻抗不是越低越好,而是够用就好。
举个例子:
一个DDR4内存的VDDQ电源,要求纹波不超过30mV。负载电流从0.5A跳变到2.5A,变化量2A。那么:
Z_target = 30mV / 2A = 15mΩ
这意味着,从电源模块到DDR芯片引脚,整个PDN路径的阻抗在2MHz以内都不能超过15mΩ。超过这个值,电压就会掉出规格。
我的经验: 实际项目中,我一般会把计算出的目标阻抗再打一个0.7~0.8的折扣。为什么?因为PCB寄生参数、电容ESR老化、温度漂移都会让实际阻抗变差。留点余量,心里踏实。
4.2 如何准确获取V_ripple_pp和I_transient_max
这两个参数是目标阻抗计算的输入,搞错了后面全白搭。
4.2.1 电压纹波V_ripple_pp
这个值通常来自芯片的数据手册(Datasheet)。但要注意:
- 区分静态纹波和动态纹波:静态纹波是稳态时的开关纹波,动态纹波是负载跳变时的下冲/过冲。目标阻抗计算用的是动态纹波,因为瞬态电流变化才是PDN阻抗的主要考验。
- 看最差情况:有些芯片会给出多个电压轨的纹波要求,取最严格的那个。
- 别忘了直流压降:如果负载端允许的电压范围是±3%,那V_ripple_pp不能把整个3%都用完。我一般留1%给直流IR Drop,剩下2%给AC纹波。
| 纹波类型 | 来源 | 频率范围 | 对目标阻抗的影响 |
|---|---|---|---|
| 静态开关纹波 | BUCK开关动作 | 开关频率及其谐波 | 影响高频段(>1MHz)阻抗 |
| 动态瞬态纹波 | 负载电流突变 | DC~几百kHz | 决定低频段目标阻抗 |
| 直流压降 | 线路电阻、接触电阻 | DC | 不直接参与阻抗计算,但占用电压预算 |
4.2.2 瞬态电流I_transient_max
这个值更难搞。芯片手册通常只给典型功耗,不给瞬态电流变化。怎么办?
- 看负载类型:CPU、GPU、FPGA这类数字芯片,瞬态电流变化通常发生在时钟周期切换或任务唤醒时。变化幅度可能达到最大电流的60%~80%。
- 用示波器实测:如果条件允许,在原型板上用电流探头测一下。我见过太多人按手册算,结果实测瞬态电流比手册大了一倍。
- 保守估算:没有实测数据时,取最大负载电流的80%作为瞬态变化量。比如最大电流5A,I_transient_max按4A算。
我曾经踩过的坑: 有一次设计一个多核处理器的VDD_CORE电源,按手册给的纹波要求算出来目标阻抗是8mΩ。结果板子回来,跑压力测试时电压掉到规格以下。后来用示波器一抓,发现瞬态电流变化比手册大了40%。因为手册给的是典型场景,没考虑多核同时唤醒的极端情况。从那以后,我每次都会留50%的余量。
4.3 目标阻抗的频率依赖性
很多人以为目标阻抗是一个常数。其实不是。
PDN的阻抗在不同频率下表现不同:
- 低频段(DC~几kHz):主要由BUCK电源的环路响应和输出电容的容量决定。目标阻抗可以放宽一些,因为电源本身能快速响应。
- 中频段(几kHz~几MHz):这是最危险的区域。电源环路响应跟不上,电容的ESR开始起作用。目标阻抗必须严格满足。
- 高频段(>10MHz):由PCB的平面电容、去耦电容的ESL和安装电感决定。目标阻抗可以适当放宽,因为高频电流变化幅度通常较小。
我个人的设计习惯是:在1MHz以内严格满足目标阻抗,1MHz以上允许有2~3倍的超调。因为高频瞬态能量小,稍微超一点问题不大。
4.4 目标阻抗计算实战
我们拿一个实际案例走一遍流程。
设计需求:
- 负载:FPGA核心电压1.0V
- 允许纹波:±3%(即60mV峰-峰)
- 最大负载电流:10A
- 瞬态变化:从1A到9A(变化量8A)
- 直流压降预留:10mV(1%)
步骤:
- 计算可用纹波预算:60mV - 10mV(直流压降)= 50mV
- 确定瞬态电流变化:9A - 1A = 8A
- 计算目标阻抗:50mV / 8A = 6.25mΩ
- 留余量:6.25mΩ × 0.7 = 4.375mΩ
这个4.375mΩ就是我们要在1MHz以内实现的PDN阻抗目标。
小技巧: 如果计算出来的目标阻抗小于1mΩ,说明你的纹波要求太苛刻或者瞬态电流太大。这时候不要硬扛,考虑增加BUCK电源的相数、使用更低ESR的电容,或者和芯片厂商协商放宽纹波要求。
4.5 知识体系总览
下面这张图把目标阻抗的来龙去脉串起来了。建议你保存下来,做PDN设计时对照着看。
4.6 常见误区与避坑
做目标阻抗计算这么多年,我见过太多人栽在同一个坑里。这里列几个最常见的:
- 误区一:把开关纹波当瞬态纹波
开关纹波是BUCK本身产生的,频率高、幅度小。瞬态纹波是负载变化引起的,频率低、幅度大。目标阻抗算的是后者,不是前者。我见过有人用20mV的开关纹波去算目标阻抗,结果电容加了一堆,瞬态响应还是不行。 - 误区二:忽略直流压降
总纹波预算里,直流压降是“隐形杀手”。PCB走线、过孔、连接器都有电阻,大电流下压降不容忽视。我一般会在原理图阶段就估算IR Drop,把它从纹波预算里扣掉。 - 误区三:目标阻抗不分频段
有些工程师算出一个目标阻抗值,然后要求全频段都满足。这是不现实的。高频段受限于电容ESL和PCB寄生,很难做到很低。合理的做法是分频段设定目标。
我的避坑指南: 每次做完目标阻抗计算,我都会问自己三个问题:
1. 瞬态电流数据来源可靠吗?有没有实测过?
2. 纹波预算里扣掉直流压降了吗?
3. 1MHz以上的目标阻抗是不是太严格了?
这三个问题能帮你过滤掉80%的设计失误。