第二章:仿真基础理论
各位同学好,我是老张。做电源完整性这行十几年了,今天咱们聊聊仿真必须掌握的基础理论。说实话,很多工程师一上来就急着跑仿真,结果连阻抗曲线都看不懂——这就像开车不看仪表盘,迟早要出事。
我个人习惯,在讲任何仿真之前,先把这几个概念掰扯清楚:频域时域、目标阻抗、PDN构成、去耦电容。你想想看,如果连这些都不懂,仿真结果摆在你面前,你也分不清是设计问题还是仿真设置问题。
2.1 频域与时域分析基础
先问个问题:为什么我们要同时看频域和时域?
说白了,频域看的是“稳态特性”,时域看的是“瞬态行为”。我举个例子你就明白了——你家的水管系统:
- 频域分析:就像检查水管在不同水压下的流量特性。我们扫频看阻抗,看PDN在100kHz、1MHz、100MHz时表现如何。
- 时域分析:就像突然打开水龙头,看水流会不会瞬间变小。对应到芯片,就是负载电流突然跳变时,电压跌了多少、多久恢复。
我在项目中遇到过最典型的案例:某款FPGA板卡,频域仿真阻抗曲线完美达标,结果上电测试时电压纹波超标。为什么?因为时域瞬态响应没看——去耦电容的ESR虽然低,但响应速度不够快,高频瞬态电流来了它反应不过来。
核心结论:频域保证稳态阻抗达标,时域保证瞬态响应合格。两者缺一不可。
具体到仿真工具:
- 频域用AC分析或S参数扫频,看Z11、Z21等阻抗参数
- 时域用瞬态分析,设置阶跃电流源或IBIS模型,看电压波动
嗯,这里要注意:时域仿真时间步长要足够小。我见过有人设了1us步长去仿真100MHz的噪声——这相当于用秒表去测百米冲刺,根本看不到细节。
2.2 阻抗与目标阻抗(Z-Target)
目标阻抗,这是PI设计的“金标准”。公式很简单:
Z_target = V_ripple / I_transient
其中V_ripple是允许的电压波动(通常是电源电压的±3%~±5%),I_transient是负载瞬态电流变化量。
举个例子:1.8V供电,允许±3%波动,即54mV。如果负载瞬态电流变化3A,那么目标阻抗就是54mV/3A = 18mΩ。
我曾经犯过一个错误:只算了低频目标阻抗,忽略了高频段。结果高频噪声耦合到敏感电路,导致ADC采样精度下降。后来才明白——目标阻抗不是一条直线,而是一条频率相关的曲线。低频段由VRM和体电容决定,高频段由去耦电容和PCB寄生参数决定。
我的经验:实际设计中,目标阻抗曲线在1MHz以下可以放宽一些(VRM响应慢),1MHz~100MHz是重点管控区间,100MHz以上主要靠芯片封装电容和片上电容。
你想想看,如果整个频段都要求18mΩ,那得堆多少电容?成本根本扛不住。所以聪明的做法是:根据负载的瞬态电流频谱,分频段设定目标阻抗。
2.3 PDN(电源分配网络)的构成与特性
PDN说白了就是从VRM到芯片焊盘的整个供电路径。它由这几部分组成:
- VRM(电压调节模块):低频段的主力,输出阻抗通常在几mΩ到几十mΩ,但响应速度慢(带宽一般几十kHz)
- 体电容(Bulk Capacitor):电解电容或钽电容,容量大(几十到几百μF),负责中低频段(几十kHz到几MHz)
- 陶瓷电容(MLCC):容量小(nF到μF级),负责中高频段(几MHz到几百MHz)
- PCB平面电容:电源层和地层之间的寄生电容,负责超高频段(几百MHz以上)
- 封装电容:芯片封装内部的去耦电容,频率响应最好
我用一张图来展示PDN的阻抗特性:
看到这张图了吗?PDN阻抗曲线不是单调的,它有很多谐振峰。每个谐振峰对应一个LC谐振回路。我刚开始做PI时,看到阻抗曲线上的尖峰就头疼,后来才明白——这些尖峰就是去耦电容和寄生电感共振的结果。
避坑指南:我曾经在某个项目中,为了压低阻抗堆了20多个同容值的电容,结果谐振峰反而更高了。后来才明白——同容值电容并联,谐振频率相同,只会让谐振峰更尖锐。正确的做法是:用不同容值的电容错开谐振频率。
2.4 去耦电容的基本原理
去耦电容,说白了就是“电荷水库”。当芯片需要瞬态电流时,电容先放电顶上,等VRM反应过来再补充。
电容的阻抗公式:
Z = ESR + j(2πfL - 1/(2πfC))
其中:
- ESR:等效串联电阻,决定最低阻抗值
- ESL:等效串联电感,决定高频阻抗上升斜率
- C:电容值,决定低频阻抗下降斜率
电容的自谐振频率(SRF):
f_SRF = 1 / (2π√(LC))
在SRF处,电容阻抗最低,等于ESR。低于SRF,电容呈容性;高于SRF,电容呈感性。
我建议你记住这个规律:
| 电容类型 | 典型容值 | SRF范围 | 适用频段 |
|---|---|---|---|
| 电解电容 | 10~1000μF | 10kHz~100kHz | 低频 |
| 钽电容 | 1~100μF | 100kHz~1MHz | 中低频 |
| MLCC(X7R) | 0.1~10μF | 1MHz~10MHz | 中高频 |
| MLCC(NP0/C0G) | 1pF~100nF | 10MHz~100MHz | 高频 |
嗯,这里有个关键点:电容的ESL主要来自封装。0402封装的ESL约0.4nH,0603约0.6nH,0805约0.8nH。所以高频去耦一定要用小封装电容。
我的经验:去耦电容布局时,要遵循“由大到小、由远到近”的原则。体电容放板边,MLCC放芯片周围,最小的电容离芯片焊盘最近。我曾经见过有人把100nF电容放在板子另一头——那基本等于没放,因为走线电感已经把电容的效果抵消了。
最后说一个很多人忽略的问题:电容的直流偏压特性。MLCC加直流偏压后,容值会下降。比如一个10μF的X7R电容,加5V偏压后可能只剩4μF。我建议你选电容时,至少留50%的余量。
好了,这一章的基础理论就讲到这里。记住:频域看阻抗、时域看响应、目标阻抗是标尺、PDN是路径、电容是工具。把这些搞明白了,后面的仿真才不会跑偏。