通孔建模(Via Modeling)— 高速PCB的SI解析手法
通孔建模(Via Modeling)的理论基础
通孔的结构与高频问题
老师,通孔就是基板上的孔吧?只要导通就可以了,为什么需要电磁解析呢?
问得好。在低速(数百MHz以下)情况下,"钻孔、镀铜就导通OK"就足够了。但进入GHz频段,情况就完全改变了。通孔管壁(铜镀的圆筒部分)产生电感,焊盘与铜层之间产生电容。这些寄生LC产生了阻抗不连续。
阻抗不连续会产生什么坏影响呢?
当50Ω的走线在通孔处突然变成40Ω或60Ω时,在界面处信号会反射。就像水管突然变粗或变细时水会反弹一样。反射的信号返回发端,破坏波形,接收端的眼图会闭合。DDR5内存的5.6Gbps(奈奎斯特频率2.8GHz)或PCIe 6.0的32GT/s(PAM4)等现代应用中,单个通孔的阻抗管理决定了整个系统的成败。
一个通孔的影响就这么大?基板上有几百个通孔呢…
正是这样,所以现代的SI(信号完整性)设计中,关键网络上的所有通孔都要用3D FEM提取S参数进行验证。将通孔结构分解来看,包括这些要素:
- 通孔管壁:镀铜的圆筒孔。寄生电感的主要来源
- 焊盘:通孔上下的铜箔区域。与走线的连接点
- 反焊盘:通孔穿过的铜层上的开口。决定电容大小
- 存根:信号不使用的通孔管壁残留部分。共振的元凶
- 管壁厚度:镀铜厚度。影响导体损耗和集肤效应
通孔阻抗的理论公式
通孔的阻抗有计算公式吗?
可以用同轴线路模型来近似。将通孔管壁看作内导体,反焊盘内壁看作外导体。先看电感部分:
$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Ω走线来说非常大了。
再看电容。焊盘与铜层间的容量是:
$d_{\text{pad}}$:焊盘外径、$d_{\text{drill}}$:钻孔径、$t$:介电层厚、$\varepsilon_r$:相对介电常数
从这个寄生LC可以估算通孔的特性阻抗:
单位: [$\Omega$]。典型值在25〜45Ω范围内,往往低于50Ω走线
也就是说,通孔的阻抗不等于50Ω,所以就会反射?扩大反焊盘的尺寸可以提高阻抗吗?
完全正确!但反焊盘太大的话,铜层上会有大孔洞,回流电流要绕路,而且电源铜层的阻抗也会恶化。所以要用FEM找到最优值。
存根共振与背钻
通孔的"存根"是最严重的问题吧?具体会发生什么?
这是高速设计中通孔最严重的问题。比如16层基板,信号从L1(表面)跳到L4,但通孔穿过L1到L16。L4到L16的部分就是"死端"——这就是存根。
存根像开放端传输线一样工作。信号在存根末端(开放端)全反射,返回时间与信号半波长相等时会共振。共振频率是:
$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。在每个频率点求解以下向量波动方程:
$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)的实务应用
分析工作流程
实际上怎么做通孔分析?步骤是什么?
通孔建模的实务工作流程是这样的:
- 层叠设置:输入层配置、介电材料($\varepsilon_r$, $\tan\delta$)、铜箔厚度
- 通孔形状参数:钻孔径、焊盘径、反焊盘径、管壁长、镀层厚
- 周边结构建模:走线连接、GND通孔配置、铜层开口
- 端口设置:波端口或集中端口配置
- 网格设置与解析:自适应网格 + 频率扫描
- S参数验证:无源性、因果性检查 → 输出Touchstone文件
- 通道仿真投入:用ADS/HyperLynx进行眼图评估
背钻的参数化优化
背钻深度怎么决定?制造公差怎么考虑?
用3D FEM对存根长进行50 μm步长的参数扫描,找到S21在目标频带内满足规格的最大允许存根长。比如DDR5-5600的例子:
| 存根长 | S21 @ 2.8GHz | S21 @ 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 HFSS | 3D FEM(频域) | Via向导参数化定义。自适应网格。业界标准 | 10〜30分钟 |
| CST Studio Suite | FDTD / FEM | FDTD整体评估PCB中通孔相互干涉。大规模BGA适用 | 15〜60分钟 |
| Ansys SIwave | 2.5D FEM(混合型) | 从PCB布局自动提取。高速但3D精度低于HFSS | 1〜5分钟 |
| Keysight ADS/SIPro | 3D FEM + MoM | PCB导入→自动通孔提取。EDA工作流集成强 | 5〜20分钟 |
| Cadence Sigrity | FEM + PEEC | PowerSI中PI/SI一体分析。OrCAD集成 | 5〜15分钟 |
| Sonnet Suite | 2.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步法"记住能用:
- DC值确认:$S_{21}(f=0)$ 接近0 dB(导体损耗趋零)?大偏差说明端口或导体模型有问题
- 无源性检查:全频段$|S_{11}|^2 + |S_{21}|^2 \leq 1$?超过说明网格不足
- 相反性检查:$S_{12} = S_{21}$(无源结构)?不符说明端口编号有问题
- 光滑度检查:S参数曲线有"毛刺"吗?有的话说明局部网格不良或自适应收敛不足
- 物理妥当性:陷波频率与 $f = c/(4L\sqrt{\varepsilon_r})$ 吻合?吻合说明存根共振被正确建模
最后想问,通孔分析中最重要的是什么?
"用物理检验解析结果"。不要盲目信工具输出的数字,总要用理论式(存根共振频率、同轴阻抗)交叉验证。只需记住 $f = c/(4L\sqrt{\varepsilon_r})$,陷波位置与计算吻合就说明模型正确。在高速设计领域有句格言——"仿真不说谎,输入数据会说谎"。
有用
细一些
报告