本节摘要:SOURCE 3.2:PDN 是 CPU/GPU 瞬态电流的「低阻抗通道」;阻抗峰与 di/dt 激励耦合即 SSN 与辐射源。
DVFS 瞬态在 PDN 激发 100 kHz–1 GHz 衰减振荡,既干扰 analog 又可能经缝隙辐射。SOURCE:动态负载须纳入 EMC 仿真。
这个案例的机理分两步。第一步,GPU 在 DVFS 切换时电流以 30 A/200 ns 的斜率变化,按 V=L\,di/dt,PDN 中哪怕只有 1 nH 的共享电感,也会产生 1\,\text{nH}\times150\,\text{A/µs}=150\,\text{mV} 的瞬态压降——远超模拟前端 50 mV 的容忍度。第二步,这个瞬态在 PDN 的多个谐振模态上激发衰减振荡,振荡能量沿电源走线与平面边缘辐射出去,成为宽带 EMC 噪声。整改既要加宽频去耦(降阻抗),也要在敏感器件处隔离(阻断耦合),两件事缺一不可。
目标阻抗 Z_{target}\approx \Delta V/\Delta I。去耦电容组合在宽频提供低 |Z|;安装电感(过孔+焊盘)决定有效频段。
目标阻抗计算是 PDN 设计的起点。以 1.0 V 核心、允许 ±5% 纹波、瞬态电流 30 A 为例:\Delta V=50\,\text{mV},\Delta I=30\,\text{A},Z_{target}\approx1.67\,\text{mΩ}。也就是说,从芯片焊盘看进去,PDN 在整个工作频段上的阻抗都应低于 1.67 mΩ。这个目标很苛刻,必须在「封装内电容 + 板级陶瓷 + bulk 电解 + 平面电容」四级上协同实现:
| 层级 | 元件 | 频段 | 典型值 |
|---|---|---|---|
| 封装内 | on-die / on-package | >100 MHz | 数十 nF |
| 板级 0402/0201 | MLCC | 10 MHz–100 MHz | 0.1 μF + 1 μF |
| bulk | 电解/钽 | <10 MHz | 10–100 μF |
| 平面 | PWR-GND | 100 MHz–1 GHz | 数 nF–数十 nF 等效 |
板级陶瓷电容的「有效频段」由自谐振频率(SRF)决定:f_{SRF}=1/(2\pi\sqrt{LC})。一颗 100 nF 0402 电容,若总串联电感(焊盘+过孔+走线)为 0.6 nH,SRF 约 20 MHz——超过 SRF 后阻抗按感性上升。这就是「堆一堆 100 nF 却在高频失效」的根源。
import math def srf_mhz(c_nf: float, l_nh: float) -> float: """电容自谐振频率 SRF""" return 1 / (2 * math.pi * math.sqrt(l_nh * 1e-9 * c_nf * 1e-9)) / 1e6 def target_impedance_mohm(dv_mv: float, di_a: float) -> float: return dv_mv / di_a * 1000 # mΩ # 目标阻抗 print("目标阻抗 Ztarget =", round(target_impedance_mohm(50, 30), 2), "mΩ (1.0V ±5%, 30A)") # 不同安装电感的 SRF 对比(电容 100nF) for l_nh in [0.3, 0.6, 1.0, 1.5]: print(f"L_安装={l_nh:>4.1f} nH → 100nF SRF ≈ {srf_mhz(100, l_nh):5.1f} MHz") # 反焊盘过大/过孔过稀会显著抬高安装电感,SRF 下移
安装电感的三个主要来源:焊盘到过孔的走线(每 mil 约 1 pH–10 pH)、过孔本体(标准通孔约 0.3–0.6 nH)、反焊盘与电源层的接入路径。减小安装电感优先于增大电容值——把 0402 换成 0603 电容值翻倍,不如把过孔从 1 个加到 4 个并联有效。
PWR/GND 平面构成 平行板波导,谐振频率 f_{res}\approx c/(2\sqrt{\varepsilon_r}\cdot L)。在谐振点 |Z_11| 峰值 → 边沿能量馈入 → RE 尖峰。
平行板谐振是 PDN 阻抗峰的第二大来源(仅次于去耦网络自身的反谐振)。一块 12 cm×8 cm 的 PWR/GND 平面,主模谐振约在 700 MHz 量级,其高阶模遍布 1–2 GHz。在谐振频点,平面边缘的电场最强,若信号或线缆靠近边缘,能量就会沿边缘耦合辐射。
# 平面谐振频率估算 def plane_res_mhz(L_cm: float, er: float = 4.3) -> float: c_cm = 29979.2458 # 光速 cm/µs v = c_cm / math.sqrt(er) # 半波长主模:f = v / (2*L) return v / (2 * L_cm) for L in [5, 8, 10, 12, 16]: print(f"平面长边 {L:>3} cm → 主模谐振 ≈ {plane_res_mhz(L):5.0f} MHz")
平面谐振的治理手段(按优先级):

| 检查项 | 目标 | 说明 |
|---|---|---|
| 容值层级 | 0.1 μF/1 μF/10 μF 混合 | 覆盖 100 kHz–100 MHz |
| 每电源脚 | ≥2 颗小电容 + 1 bulk | 依电流需求调整 |
| 安装电感 | 焊盘-via 距离 ≤10 mil | 直接决定高频有效性 |
| 并联 via | 每电容 2–4 个 | 显著降安装电感 |
| 反焊盘 | 与地平面距离规则一致 | 避免意外开路回流 |
| 放置位置 | 尽量紧贴功耗器件引脚 | 环路最小 |
评审时的快速方法:对每个主要电源域,把「目标阻抗曲线」与「去耦网络 Z 曲线(仿真或估算)」叠在一起看,确认全频段 Z < Ztarget。这个检查在原理图阶段就能完成,不需要等到 Layout。
目标阻抗是否达成,最终要靠仿真与实测互相印证。分层验证的实践顺序如下:
| 阶段 | 手段 | 验证内容 |
|---|---|---|
| 原理图 | 目标阻抗曲线 vs 去耦网络 Z 曲线 | 频段覆盖是否完整 |
| 预布局 | 提取平面电容、谐振仿真 | 主模频率是否避开敏感频段 |
| 后布局 | 端口 Z 参数提取(Z11/Z22) | 过孔、走线电感是否破坏目标 |
| 样机 | VNA 测电源端口阻抗或纹波谱 | 仿真与实测偏差归因 |
电源纹波谱测量是 EMC 排查中最有价值的 PI 数据:用近场探头或同轴探针测关键电源域焊盘处的电压谱,与 RE 超标谱对照,若两者频点重合,基本可判定辐射源头在 PDN。这一步能避免「在错误的信号上浪费时间」。
# 目标阻抗达标判断 def check_pdn(z_target_mohm, z_profile): ok = [f for f, z in z_profile if z <= z_target_mohm] bad = [f for f, z in z_profile if z > z_target_mohm] print(f"达标频点 {len(ok)}/{len(z_profile)}") if bad: print("超目标阻抗频点(示例):", [round(f, 1) for f, _ in bad[:5]], "MHz") return len(ok) / len(z_profile) # 简化示例:去耦网络在 0.1-1000MHz 的阻抗抽样(mΩ) z_profile = [(0.1, 20), (1, 8), (10, 2), (50, 1.5), (100, 1.2), (200, 1.4), (500, 2.0), (700, 3.5), (1000, 6.0)] check_pdn(1.67, z_profile) # 可见 700MHz 附近存在反谐振/谐振抬升,需补分布式去耦或缩平面
常见偏差来源:仿真模型未包含安装电感(低估 2–3 倍是常态)、板厂工艺公差(电容 SRF 漂移)、温度对电容容值的影响(X5R 在高温下掉容 30% 以上)。因此评审时不要追求「仿真精确」,而要在目标阻抗上留 2 倍以上的裕量,并用实测数据回填模型。
⚠️ 常见坑:电容堆叠不看反焊盘与过孔电感——仿真与实测差 10 dB 常见。
💡 关键直觉:PDN 设计 = 为 di/dt 提供最小阻抗的宽频通路。