通孔建模(Via Modeling)— 高速PCB的SI解析手法

分类: 电磁场解析 > 信号质量 | 综合版 2026-04-11
3D FEM simulation of PCB via showing electromagnetic field distribution and stub resonance effects
通孔建模的3D FEM仿真 — 通孔管壁周边的电磁场分布与存根共振的可视化

通孔建模(Via Modeling)的理论基础

通孔的结构与高频问题

🧑‍🎓

老师,通孔就是基板上的孔吧?只要导通就可以了,为什么需要电磁解析呢?

🎓

问得好。在低速(数百MHz以下)情况下,"钻孔、镀铜就导通OK"就足够了。但进入GHz频段,情况就完全改变了。通孔管壁(铜镀的圆筒部分)产生电感,焊盘与铜层之间产生电容。这些寄生LC产生了阻抗不连续

🧑‍🎓

阻抗不连续会产生什么坏影响呢?

🎓

当50Ω的走线在通孔处突然变成40Ω或60Ω时,在界面处信号会反射。就像水管突然变粗或变细时水会反弹一样。反射的信号返回发端,破坏波形,接收端的眼图会闭合。DDR5内存的5.6Gbps(奈奎斯特频率2.8GHz)或PCIe 6.0的32GT/s(PAM4)等现代应用中,单个通孔的阻抗管理决定了整个系统的成败。

🧑‍🎓

一个通孔的影响就这么大?基板上有几百个通孔呢…

🎓

正是这样,所以现代的SI(信号完整性)设计中,关键网络上的所有通孔都要用3D FEM提取S参数进行验证。将通孔结构分解来看,包括这些要素:

  • 通孔管壁:镀铜的圆筒孔。寄生电感的主要来源
  • 焊盘:通孔上下的铜箔区域。与走线的连接点
  • 反焊盘:通孔穿过的铜层上的开口。决定电容大小
  • 存根:信号不使用的通孔管壁残留部分。共振的元凶
  • 管壁厚度:镀铜厚度。影响导体损耗和集肤效应

通孔阻抗的理论公式

🧑‍🎓

通孔的阻抗有计算公式吗?

🎓

可以用同轴线路模型来近似。将通孔管壁看作内导体,反焊盘内壁看作外导体。先看电感部分:

通孔管壁的寄生电感
$$ L_{\text{via}} \approx \frac{\mu_0 h}{2\pi} \ln \frac{d_{\text{anti}}}{d_{\text{via}}} $$

$h$:通孔管壁长 [m]、$d_{\text{anti}}$:反焊盘外径 [m]、$d_{\text{via}}$:通孔管壁外径 [m]

🧑‍🎓

典型值是多少呢?

🎓

例如管壁长 $h$ = 1.6 mm、通孔径 $d_{\text{via}}$ = 0.3 mm、反焊盘径 $d_{\text{anti}}$ = 0.7 mm 时,$L_{\text{via}} \approx 270$ pH。在10 GHz时的反应抗为 $\omega L \approx 17\,\Omega$ ——相对50Ω走线来说非常大了。

🎓

再看电容。焊盘与铜层间的容量是:

通孔焊盘-铜层间电容
$$ C_{\text{via}} \approx \varepsilon_0 \varepsilon_r \frac{\pi (d_{\text{pad}}^2 - d_{\text{drill}}^2)}{4t} $$

$d_{\text{pad}}$:焊盘外径、$d_{\text{drill}}$:钻孔径、$t$:介电层厚、$\varepsilon_r$:相对介电常数

🎓

从这个寄生LC可以估算通孔的特性阻抗:

通孔的特性阻抗(同轴近似)
$$ Z_{\text{via}} \approx \frac{60}{\sqrt{\varepsilon_r}} \ln \frac{d_{\text{anti}}}{d_{\text{via}}} $$

单位: [$\Omega$]。典型值在25〜45Ω范围内,往往低于50Ω走线

🧑‍🎓

也就是说,通孔的阻抗不等于50Ω,所以就会反射?扩大反焊盘的尺寸可以提高阻抗吗?

🎓

完全正确!但反焊盘太大的话,铜层上会有大孔洞,回流电流要绕路,而且电源铜层的阻抗也会恶化。所以要用FEM找到最优值。

存根共振与背钻

🧑‍🎓

通孔的"存根"是最严重的问题吧?具体会发生什么?

🎓

这是高速设计中通孔最严重的问题。比如16层基板,信号从L1(表面)跳到L4,但通孔穿过L1到L16。L4到L16的部分就是"死端"——这就是存根。

🎓

存根像开放端传输线一样工作。信号在存根末端(开放端)全反射,返回时间与信号半波长相等时会共振。共振频率是:

存根共振频率(1/4波长共振)
$$ f_{\text{stub}} = \frac{c}{4 L_{\text{stub}} \sqrt{\varepsilon_{r,\text{eff}}}} $$

$c$:光速($3 \times 10^8$ m/s)、$L_{\text{stub}}$:存根长 [m]、$\varepsilon_{r,\text{eff}}$:有效相对介电常数

🧑‍🎓

给个具体数字。基板厚1.6mm、存根1.2mm时会怎样?

🎓

用FR-4($\varepsilon_r \approx 4.0$)计算,$\varepsilon_{r,\text{eff}} \approx 4.0$:

$f_{\text{stub}} = \frac{3 \times 10^8}{4 \times 1.2 \times 10^{-3} \times \sqrt{4.0}} = \frac{3 \times 10^8}{9.6 \times 10^{-3}} \approx 31.3\,\text{GHz}$

31 GHz看起来对PCIe 5.0(16 GHz带宽)没问题,但实际上3次谐波($3f = 94$ GHz)也有问题,而且有损耗的介电体在更低频率就开始增加插入损失。DDR5的5.6Gbps等速率下,存根长超过0.8mm就会在S21上产生-3dB以上的陷波,眼图会完全关闭。

🧑‍🎓

那就是用背钻解决?

🎓

对。背钻是从板后面用大孔径钻头物理上切除存根部分的工艺。理想上希望存根为零,但制造公差存在,残留存根长通常为100〜200 μm(公差 ±50 μm)。即使有残留存根,共振频率也会大幅提高:

$L_{\text{stub}} = 150\,\mu\text{m}$ 时,$f_{\text{stub}} = \frac{3 \times 10^8}{4 \times 150 \times 10^{-6} \times 2} = 250\,\text{GHz}$

250 GHz对于当今的任何信号速率都没有问题。所以背钻深度的管理非常关键——要用3D FEM对存根长进行参数扫描,确定允许值。

反焊盘设计与回流路径

🧑‍🎓

反焊盘的大小怎么决定?之前说过"太大也不行"…

🎓

反焊盘的尺寸是SI(信号质量)和PI(电源质量)的权衡:

反焊盘径SI(信号质量)PI(电源质量)串扰
小(钻孔径+0.15mm)△ 容量过大,Z下降○ 铜层连续性好○ 相邻通孔干涉小
中(钻孔径+0.25mm)○ Z ≈ 45-50Ω○ 在可接受范围○ 平衡良好
大(钻孔径+0.40mm以上)○ 容量小,Z上升× 铜层有大孔× 相邻通孔耦合增大
🎓

实务中常常用FEM解析来调整反焊盘径,使通孔的S11(反射)在-20 dB以下,找到满足条件的最小径。对于差分通孔对,还可用非圆形反焊盘(椭圆或体育场形)来控制耦合。

回流路径不连续的物理机制

🧑‍🎓

"回流路径不连续"具体是什么?通孔跨层时回流电流会怎样?

🎓

高频时,回流电流走阻抗最小的路径——也就是紧邻信号的地铜层像"影子"一样流动。但当信号通孔跨层时,回流电流的参考铜层也要切换。如果两层铜都是GND,可以通过旁路电容或铜层间容量相连。但如果从GND跳到VDD,回流电流就没有出路了。

🎓

没有出路的回流电流被迫绕远路,这个环路像天线一样向外辐射电磁干扰(EMI)。要定量评估这种影响,必须用3D FEM来分析通孔周边的地通孔配置和整个铜层构成。

🧑‍🎓

所以在信号通孔旁边打地通孔?

🎓

完全正确。信号通孔距离$\lambda/20$以内(10 GHz时约1.5mm)放置GND通孔是最佳实践。差分对的情况下,两条信号通孔的两侧各放4个GND通孔,形成"围栏"结构。

咖啡休息 轶事

"只是通孔"导致的10万美元返工

某服务器厂商在DDR4-3200基板设计中,忽视了BGA下通孔存根共振。8层基板的L1-L3间通孔有5层存根,共振频率约18 GHz。DDR4-3200的数据速率是3.2 Gbps,5次谐波8 GHz似乎没问题,但存根的介电损耗导致宽带插入损失增加才是问题所在。背钻工艺增加成本每块板2美元,大批量几十万块板,总额达到了大额费用。设计阶段只要跑一次3D FEM就能避免这个错误。

通孔建模(Via Modeling)的数值计算方法

3D FEM提取S参数

🧑‍🎓

具体怎么分析通孔?就像结构分析那样划分网格然后FEM求解吗?

🎓

基本流程类似,但电磁场解析和结构分析有很大差异。最常见的是频域FEM。在每个频率点求解以下向量波动方程:

向量波动方程(频域)
$$ \nabla \times \left( \frac{1}{\mu_r} \nabla \times \mathbf{E} \right) - k_0^2 \varepsilon_r^* \mathbf{E} = 0 $$

$k_0 = \omega/c$:自由空间波数、$\varepsilon_r^* = \varepsilon_r (1 - j\tan\delta)$:复数相对介电常数

🎓

结构FEM用节点基函数不同,电磁FEM用边单元(Nedelec单元)。边单元自动满足电场切向分量连续性,消除节点单元中的虚假模式(非物理的伪特征模式)。

🧑‍🎓

S参数怎么算出来的?

🎓

在通孔的入口和出口设置波端口,从各端口的入射波与反射波的比值得出S参数。双端口的情况:

  • $S_{11}$(反射):端口1入射的反射。目标 $|S_{11}| < -20$ dB
  • $S_{21}$(插入损失):端口1到2的透过。目标 $|S_{21}| > -1$ dB(损失1 dB以内)
  • $S_{12}$, $S_{22}$:对称结构时 $S_{12} = S_{21}$, $S_{22} = S_{11}$

差分对的情况用4端口(或混合模)S参数,评估$S_{dd21}$(差分插入损失)和$S_{cd21}$(模式变换)。

通孔周边的网格策略

🧑‍🎓

通孔周边的网格很复杂吧。圆形、铜镀层很薄…

🎓

确实很难。列出关键点:

区域推荐网格尺寸理由
通孔管壁(铜)$\leq \delta/3$(表皮深度1/3)解析表皮效应导致的电流集中
反焊盘-焊盘间介质$\leq \lambda/20$(最高频率1/20波长)捕捉电场空间变化
管壁内部(空气/树脂填充)$\leq$ 管径/5内部电场分布精度
铜层(远方)通孔径的3〜5倍降低计算成本
🎓

对于支持自适应网格的HFSS这样的求解器,初始网格可以粗一些,让求解器自动细化。收敛准则通常是 $\Delta |S| < 0.01$(S参数变化1%以内),通常3〜5次自适应迭代就收敛。

端口设置与边界条件

🧑‍🎓

通孔的端口设置和普通同轴连接器不同吧?

🎓

通孔的端口设置非常重要,设置错误的话S参数就变成无物理意义的数据。主要方法有3种:

  • 波端口:在通孔连接的走线断面上设置。通过模式分析得到精确的阻抗,但端口面必须在模型外表面
  • 集中端口:在焊盘与铜层间设置。简便但高频精度差
  • PEC-PMC边界:利用对称性把模型缩小到1/4。差分对时用电壁(PEC)与磁壁(PMC)组合分离差分/共模
🎓

解析域外侧边界要设吸收边界条件(PML)防止电磁波在边界反射。PML距基板边缘至少 $\lambda/4$(最低频率)。

频率扫描与因果律检查

🧑‍🎓

频率扫描范围多大?

🎓

信号奈奎斯特频率的5〜10倍。DDR5-5600的$f_{\text{Nyquist}} = 2.8$ GHz,应扫到30 GHz。PCIe 6.0(32 GT/s PAM4)的$f_{\text{Nyquist}} = 16$ GHz,需扫到80〜100 GHz。

🎓

提取的S参数必须进行因果律检查。确认项目:

  • 无源性:全频段 $|S_{11}|^2 + |S_{21}|^2 \leq 1$(能量守恒)
  • 因果性:脉冲响应在 $t < 0$ 时为零(反FFT确认)
  • 互易性:无源结构有 $S_{12} = S_{21}$

不满足这些的S参数说明网格不足、端口设置错误、或介电体模型有问题。投入到通道仿真(AMI分析)会发散,无法使用。

通孔建模(Via Modeling)的实务应用

分析工作流程

🧑‍🎓

实际上怎么做通孔分析?步骤是什么?

🎓

通孔建模的实务工作流程是这样的:

  1. 层叠设置:输入层配置、介电材料($\varepsilon_r$, $\tan\delta$)、铜箔厚度
  2. 通孔形状参数:钻孔径、焊盘径、反焊盘径、管壁长、镀层厚
  3. 周边结构建模:走线连接、GND通孔配置、铜层开口
  4. 端口设置:波端口或集中端口配置
  5. 网格设置与解析:自适应网格 + 频率扫描
  6. S参数验证:无源性、因果性检查 → 输出Touchstone文件
  7. 通道仿真投入:用ADS/HyperLynx进行眼图评估

背钻的参数化优化

🧑‍🎓

背钻深度怎么决定?制造公差怎么考虑?

🎓

用3D FEM对存根长进行50 μm步长的参数扫描,找到S21在目标频带内满足规格的最大允许存根长。比如DDR5-5600的例子:

存根长S21 @ 2.8GHzS21 @ 8.4GHz (3次谐波)判定
0 μm(理想)-0.15 dB-0.45 dB
100 μm-0.18 dB-0.52 dB
200 μm-0.22 dB-0.68 dB
400 μm-0.35 dB-1.2 dB△ 需要关注
800 μm-0.72 dB-3.8 dB× NG
1200 μm(无背钻)-1.5 dB-8.2 dB× 完全NG
🎓

这个例子中允许存根长200 μm。考虑制造公差 ±75 μm,背钻深度指定为"信号层下表面+125 μm"。与基板厂商沟通时常用密尔制(1 mil = 25.4 μm),所以200 μm ≈ 8 mil。

差分通孔对的设计

🧑‍🎓

DDR5和PCIe都是差分信号吧?两个通孔打在一起时要注意什么?

🎓

差分通孔对有3个关键点:

  • 通孔间距:要和走线的差分间距对应。通常0.5〜1.0 mm。太窄会增加通孔间容量,差分阻抗下降
  • 长度匹配:P/N通孔的管壁长差要在5 ps以内(FR-4约0.5 mm以下)。层配置设计时考虑好位置
  • GND通孔配置:差分对两侧各放GND通孔形成"防护栅"。GND通孔与信号通孔的距离应为间距的1.5〜2.0倍
🎓

除了差分模S参数$S_{dd21}$,还要检查模式变换$S_{cd21}$(差分→共模)。建议$|S_{cd21}| < -30$ dB,太大会导致EMI问题。

BGA通孔阵列的相互干涉

🧑‍🎓

BGA下面有几百个通孔吧。全部分析太难了?

🎓

全部放在一个模型太费时间,所以实务中提取代表性通孔配置来分析。例如:

  • 角落通孔:只有一侧邻近通孔,阻抗最高
  • 边缘通孔:三个方向有邻近通孔。中等特性
  • 中央通孔:四面包围,阻抗最低

用Ansys HFSS的"Via向导"可参数化生成5×5通孔阵列,提高效率。

咖啡休息 轶事

通孔解析的"5分钟规则"

某大型半导体厂的SI团队有个"5分钟规则"——用HFSS Via向导做通孔解析,"5分钟设置,15分钟计算,5分钟验证"=总共25分钟完成。为此他们事先准备了每种层叠的自适应网格模板,设计者只需修改3个参数:通孔径、反焊盘径、存根长。在SI审查会上被问"这个通孔分析过没有",回答"还没"是不允许的——通孔解析已成为高速设计的日常工作。

通孔建模(Via Modeling)的软件对比

主要工具对比

🧑‍🎓

通孔分析有哪些工具?

🎓

大致分3类:

工具方法通孔分析特点计算时间(单个通孔)
Ansys HFSS3D FEM(频域)Via向导参数化定义。自适应网格。业界标准10〜30分钟
CST Studio SuiteFDTD / FEMFDTD整体评估PCB中通孔相互干涉。大规模BGA适用15〜60分钟
Ansys SIwave2.5D FEM(混合型)从PCB布局自动提取。高速但3D精度低于HFSS1〜5分钟
Keysight ADS/SIPro3D FEM + MoMPCB导入→自动通孔提取。EDA工作流集成强5〜20分钟
Cadence SigrityFEM + PEECPowerSI中PI/SI一体分析。OrCAD集成5〜15分钟
Sonnet Suite2.5D MoM通孔分析模型与解析式相关性好。设计规则提取适用1〜3分钟
🧑‍🎓

怎么选择?

用途别的选定指南

🎓

用途不同工具也不同:

  • 关键通孔1〜10个的高精度分析HFSS唯一选择。参数扫描和自适应网格精度最高
  • 整个PCB几百个通孔的快速筛选SIwave / Sigrity / SIPro。从布局自动提取批量处理
  • BGA下密集通孔阵列的相互干涉CSTHFSS
  • 设计初期的快速检查SonnetPolar SI9000
🧑‍🎓

创业公司预算有限的话?

🎓

开源有OpenEMS(FDTD),用MATLAB或Octave控制,支持S参数提取。精度接近商用工具,但没有Via向导这样的自动化,需要自己写脚本。学术研究和个人学习够用了。

咖啡休息 轶事

HFSS的"Via向导"改变了SI设计文化

2010年代前半,通孔3D FEM是"专家的工作"。建模半天、网格调整半天、计算跑一晚——一个通孔要两天。2015年左右HFSS实装Via向导后,形势一变。输入焊盘堆栈、反焊盘、管壁、存根参数,3D模型自动生成,自适应网格20〜30分钟就出结果。从此"SI设计者日常进行通孔分析"的文化建立,背钻必要性判断和差分通孔反焊盘优化从设计初期就进行了。

通孔建模(Via Modeling)的先端研究

下一代通孔技术

🧑‍🎓

除了普通通孔还有别的种类吗?最新技术怎样?

🎓

112 Gbps PAM4(800GbE)以后的世代,普通通孔的极限已显现,新技术登场:

  • 盲孔/埋孔:仅连接必要的层间。结构上不产生存根,无需背钻。但制造成本高(普通通孔的2〜3倍)
  • 微通孔(激光孔):激光形成的小径通孔(φ75〜100 μm)。用于1〜2层间连接。HDI基板标准技术
  • 堆栈微通孔:多个微通孔叠加实现深层连接。高密度BGA的扇出应用
  • ELIC(每层互连):全层都用微通孔连接的技术。智能手机超高密度基板常见
  • TSV(Through-Silicon Via):穿透硅晶片的通孔。3D IC封装和HBM(高带宽存储)应用
🧑‍🎓

TSV的分析和PCB通孔一样吗?

🎓

基础电磁物理一样,但TSV有特殊问题。硅基体是导电的($\sigma \approx 10$ S/m),通孔与基体间耦合损耗很大。通常用SiO$_2$绝缘层包覆,但这层厚度最优化需要3D FEM。而且TSV周边的寄生成分数十fF/数十pH,比PCB通孔小一个数量级,对网格精度要求更高。

机器学习加速通孔模型

🧑‍🎓

机器学习可以加速通孔解析吗?

🎓

是个热门研究方向:

  • 代理模型:用通孔设计参数(径、存根长、反焊盘径)输入,S参数输出的神经网络。用HFSS生成数千个样本学习,推论时毫秒级。设计空间探索快得多
  • 物理信息神经网络(PINN):马克斯韦方程组嵌入损失函数的NN。用较少训练数据也能得物理上妥当的结果
  • 贝叶斯优化:高斯过程回归少评估次数就完成通孔参数优化。背钻深度和反焊盘径同时优化有效
🧑‍🎓

将来不用跑FEM就能了解通孔特性?

🎓

设计初期的筛选现在已可用ML代理模型。但最终设计验证还要FEM。"ML筛选候选→FEM最终检查"的混合流程是现实答案。Ansys已在HFSS内实装ML辅助参数化优化功能。

通孔建模(Via Modeling)的故障排除

常见问题及对策

🧑‍🎓

先生,通孔分析新手最容易踩什么坑?

🎓

实务中常见的问题整理如下:

现象原因对策
S21出现意外陷波存根共振。背钻深度不足或存根长输入错误参数扫描存根长,确认共振频率与理论式是否一致
S11过高(-10 dB以下)通孔阻抗不匹配。反焊盘径不合适调整反焊盘径让$Z_{\text{via}} \approx 50\,\Omega$
解析结果依赖网格通孔管壁表皮效应没被网格解析管壁设置表皮深度1/3以下的网格分层
因果律违反($t < 0$响应)频率扫描上限不足或介电体频率依存模型不当扫描上限提到奈奎斯特的10倍以上。用Djordjevic-Sarkar模型
差分模式变换$S_{cd21}$大P/N通孔不对称(焊盘大小差、GND通孔配置不对称)检查布局对称性,GND通孔对称配置
自适应网格不收敛端口设置不良,端口面不在解析域外表面确认波端口正确放在模型外表面

S参数异常诊断

🧑‍🎓

S参数"感觉不对"时怎么排查?

🎓

"S参数诊断5步法"记住能用:

  1. DC值确认:$S_{21}(f=0)$ 接近0 dB(导体损耗趋零)?大偏差说明端口或导体模型有问题
  2. 无源性检查:全频段$|S_{11}|^2 + |S_{21}|^2 \leq 1$?超过说明网格不足
  3. 相反性检查:$S_{12} = S_{21}$(无源结构)?不符说明端口编号有问题
  4. 光滑度检查:S参数曲线有"毛刺"吗?有的话说明局部网格不良或自适应收敛不足
  5. 物理妥当性:陷波频率与 $f = c/(4L\sqrt{\varepsilon_r})$ 吻合?吻合说明存根共振被正确建模
🧑‍🎓

最后想问,通孔分析中最重要的是什么?

🎓

"用物理检验解析结果"。不要盲目信工具输出的数字,总要用理论式(存根共振频率、同轴阻抗)交叉验证。只需记住 $f = c/(4L\sqrt{\varepsilon_r})$,陷波位置与计算吻合就说明模型正确。在高速设计领域有句格言——"仿真不说谎,输入数据会说谎"。

相关仿真器

用这个领域的交互式仿真器来实际体验理论

仿真器列表

相关领域

本文的评价
感谢您的回答!
参考
有用
更详
细一些
错误
报告
参考有用
0
更详细一些
0
错误报告
0
由NovaSolver贡献者编写
匿名工程师和AI —— 网站地图