高速信号完整性:过孔残桩Stub的谐振危害与背钻处理方案

发布时间:2026/8/30 23:49:35
高速信号完整性:过孔残桩Stub的谐振危害与背钻处理方案 我第一次被 stub 教育在一块 12.5Gbps 背板调试现场。信号从发送端出来经过连接器、过孔换层、一段长走线到接收端眼图已经烂得不成样子。当时我第一反应是串扰、是电源噪声、是参考平面不连续测了一圈没找到凶手。最后用 TDR 拉过孔附近波形才发现罪魁祸首是一段近 400mil 的过孔残桩——一个从信号主路径上伸出去、末端悬空的短截线。那一刻我才真正明白为什么前辈在一开始就问“你们过孔背钻了没有”。很多人可能和我当初一样刚听到“Stub Filters”这个词时会犹豫它到底是一个独立滤波器器件还是一种针对 stub 的滤波技术在高速数字链路领域它通常指的是应对短桩线stub效应的一系列工程手段而在射频微带电路里它又指用传输线短截线本身实现滤波功能的结构。这两个语境我都会在下面展开因为无论你是在画 PCB 还是在做射频前端只要信号频率往上走stub 的问题迟早会撞到你脸上。这篇文章会从 stub 的破坏机理讲起把反射、谐振、陷波这些东西用大白话说清楚再给出工程上处理 stub 的主流手段从背钻到拓扑优化一个不落然后补一节射频语境下的短截线滤波器设计原理最后用一个完整的 25Gbps 实测案例复盘整个排查链路。适合刚接触高速信号完整性的硬件工程师也适合想系统梳理 stub 问题的老手。1. Stub Filters 到底在过滤什么先从短桩线问题说起1.1 你可能已经遇到但没意识到的 stub 场景Stub 这个词直译是“短桩”“残端”在 PCB 信号链路里是指从主信号传播路径上分叉出去、末端没有有效端接的导体分支。最常见的三类过孔残桩Via Stub信号从表层打入经内层走线继续传播但过孔继续往下延伸一直打到板底。这个延伸出去、没有电流返回路径的金属筒就是残桩。T 型分支 / 菊花链分支一条走线分出两个方向其中一个方向支线短、且末端接高阻负载或直接空置支线就成了 stub。连接器引脚与焊盘残端高速连接器或 QFN 封装引脚在焊盘底面延伸到内层形成一段短小的金属残端。之所以说“你肯定遇过”是因为大多数多层板设计里如果信号换层没有刻意控制过孔深度长残桩几乎是必然出现的。只是信号速率低时它的危害被掩盖了一旦速率上来它就会从“小瑕疵”变成“眼图杀手”。1.2 为什么数字链路越来越怕 stub数字信号的频率成分由上升沿决定而不是由时钟频率决定。一根看似只有几百 mil 的残桩在低频时电气长度很短影响可以忽略但当信号上升沿变得足够陡峭信号带宽内包含的高频分量波长也变得很短残桩的电气长度就不容忽视了。用经验公式看带宽 BW 0.35 / tr其中 tr 是 10%–90% 上升时间。假设一个 10Gbps 的 NRZ 信号tr 约 35ps那么 BW 大约 10GHz。这个频率在典型 FR4 内层εeff 约 4.2介质中的波长大约是 14.6mm。工程上通常认为当 stub 长度超过信号最高有效频率对应波长的 1/10也就是约 1.5mm约 60mil时就必须认真对待了。换句话说一块 1.6mm 厚的常规板子过孔从顶层打到底层如果你在内层换层残桩动不动就几百 mil这已经远超阈值。所以不是“stub 可能有问题”而是“在高速链路里只要没处理过大概率就是问题”。2. 短桩线的破坏机理反射、谐振陷波与眼图退化2.1 反射叠加从阻抗突变到多次回波信号在传输线中传播时最理想的状态是路径上每一点的瞬时阻抗处处相等。一旦遇到阻抗突变就会有一部分能量被反射回来。过孔残桩本质上是一个阻抗突变点但更恶劣的是它把一个本该一路向前传播的信号分成了两路一路继续往前走到接收端另一路进入残桩、沿残桩向末端传播。残桩末端通常是没有负载的开路状态信号在开路端发生全反射又沿残桩折返回到分叉点再一次与主信号叠加。如果这段往返时间很短反射回来的信号会叠加在原始波形的上升沿/下降沿上形成台阶、振铃如果往返时间较长反射波可能落在下一个 bit 的时间窗口里造成码间干扰。在时域上我们用 TDR 能看到分叉点处的阻抗凹陷或凸起以及残桩末端对应的反射峰。2.2 四分之一波长谐振与 S21 陷波更棘手的是谐振效应。残桩是一个典型的开路传输线谐振器当残桩长度 L_stub 等于信号某个频率分量的四分之一波长时从分叉点看进去残桩呈现低阻抗等于把主信号路径上的能量“短路”到地表现为强吸收。谐振频率可以用下面的公式估算f c / (4 · L_stub · √εeff)其中 c 是真空光速L_stub 是残桩长度εeff 是介质等效介电常数。代入一个实际案例FR4 内层 εeff 取 4.2残桩长度 500mil12.7mm算得基频谐振约 3.0GHz。由于开路短截线的输入阻抗是周期性变化的在基频的奇次谐波9GHz、15GHz……附近也会出现陷波。在频域上看S21 会在这些频率点出现很深的凹陷这就是我们常说的 notching 现象。信号在传输过程中这些频率成分被狠狠削掉接收端眼图就会出现明显的“眼皮塌陷”和抖动恶化。而且 Q 值越高的残桩结构凹陷越深越尖锐。2.3 TDR 和 S 参数里怎么辨认 stub排查 stub 问题第一利器是 TDR时域反射计。把测试探头打在过孔附近观察阻抗随时间的波形如果能看到一个朝向过孔位置的阻抗扰动随后有一段相对平缓的区域到接近板底时又出现一个反射峰基本可以判定存在残桩。残桩越长反射峰与主反射之间相隔的时间越长你甚至能反推残桩的物理长度。第二利器是 VNA 测 S 参数。如果 S21 上出现周期性、等间隔的陷波且相邻陷波频率差符合 f c / (2 · L_stub · √εeff) 的规律那基本可以锁定是残桩谐振。有些时候你会看到 TDR 上问题不明显但 S21 上的陷波深达几个 dB这说明信号早就被削得不成样子了。3. 射频世界的另一层含义用短截线直接做滤波器前面说的是“处理 stub 的过滤手段”但你可能在射频资料里也见过另一种“Stub Filter”——它指的就是用开路/短路短截线本身构成的滤波器。这一节把这条路也讲清楚因为很多搞高频的人都绕不开这个概念。3.1 开路短截线与短路短截线的等效谐振特性一段传输线如果终端开路从输入端看进去的输入阻抗是 Zin -jZ0·cot(βl)其中 β 是相位常数l 是线长。当 l λ/4 时cot(π/2) 0Zin 0等效为一个串联谐振点相当于短路到地当 l λ/2 时Zin ∞等效为并联谐振点相当于开路。同理终端短路的短截线输入阻抗是 Zin jZ0·tan(βl)在 l λ/4 时呈现开路在 l λ/2 时呈现短路。这个特性非常有用你可以用一段特定长度的开路短截线在目标频率点把不需要的杂散信号泄放到地形成带阻/陷波特性也可以用多段短截线相互配合构造低通、带通滤波器。这就是“短截线滤波器”的基本思想。3.2 从集总参数到分布参数Richard 变换与 Kuroda 恒等式实际设计微带短截线滤波器时通常从集总参数低通原型出发。怎么把集总电感、电容变换成可实现的传输线短截线经典做法是用理查德变换Richards Transformation令 s jΩ j·tan(βl)就可以把集总元件的频率变量映射到短截线的电长度上。具体映射关系是一个串联电感可以用一段高特性阻抗细线的短截线实现一个并联电容可以用一段低特性阻抗宽线的短截线实现。但串联短截线在微带结构里物理上不好实现这时就用到 Kuroda 恒等式把串联短截线变换成并联短截线加一段单位元件Unit Element让结构更容易落在 PCB 或介质基板上。这些变换的推导细节比较冗长工程上常用 Microwave Office、ADS 等工具的“short stub filter”设计向导直接生成拓扑再反推物理尺寸。但如果你不理解上面的基本映射关系即使工具生成了也调不明白所以还是值得花时间把原理看透。3.3 一个简化的微带 Stub Filter 设计流程一个典型的设计流程大致如下确定指标截止频率、通带插损、带外抑制量、端口阻抗。选择低通原型常见有 Butterworth最大平坦和 Chebyshev等波纹查表得到归一化元件值。使用理查德变换把每个 L、C 替换为开路/短路短截线并用 Kuroda 恒等式把串联短截线变换成并联短截线得到最终拓扑。确定介质参数和基板厚度计算微带线的宽度和长度得到物理尺寸。在电磁仿真软件里建模优化短截线的长度和连接处的 T 型结补偿仿真验证 S 参数。打板实测用 VNA 校准后测试 S11/S21再与仿真结果对比调优。这里最容易被忽视的是 T 型结和三叉结的寄生效应。理论公式算出来的长度在低频段够用但频率高了以后连接处的等效电容和电抗会使谐振点偏移需要做一次电磁场全波仿真修正。我见过不少初学射频的人拿着线长公式直接画图打板结果截止频率偏了 20%就是因为没有做全波仿真。4. 高速链路中处理 stub 的工程手段背钻、拓扑与端接的全对比回到数字电路场景。真正面对一块高速板时stub 处理不是单一手段而是一套组合拳。下面是我在实际项目中常用的几种做法按“治本程度”和“成本/难度”给你排个序。4.1 背钻治本但依赖加工精度背钻backdrill是处理过孔残桩最直接的手段。原理很简单过孔是在整个板厚方向钻出的金属化孔信号只用到其中某一段那就用更大直径的钻头从背面把不需要的那段金属孔壁钻掉。钻掉之后残桩只剩下一小段可控余量谐振影响大幅降低。背钻的关键参数是最后剩下的残桩长度。业界一般要求控制在 10mil约 0.25mm以内能做到 5mil 更好。但背钻不是想留多短就留多短它受钻孔对位公差、板厚公差、内层信号层位置公差共同影响。为了不钻到目标信号层设计时通常会在背钻深度和目标层之间留 8~15mil 的安全距离这部分最终就变成了残桩。背钻成本明显高于普通过孔而且多层板背钻的深度不容易精确控制。一块 12 层板可能需要在不同深度做两三次背钻制造周期和良率都受影响。所以板厂一般会问你“哪些过孔需要背钻深度到哪里”你必须把设计文件里的背钻层信息标清楚。4.2 拓扑重构在布局阶段就把 stub 扼杀背钻是事后补救更好的思路是从拓扑上避免 stub。这里我列几个布局阶段就能落地的原则换层点尽量靠近接收端如果信号从表层进内层再到接收端就把过孔放在接收端附近。这样残桩即使存在残桩到接收端的距离也最短。T 型分支改成菊花链DDR 拓扑里常见的 T 点分支在高速串行链路里几乎是大忌。一个 T 点如果不能避免两个分支的走线长度必须严格对称而且分支长度越短越好。避免信号从内层再向下打当你需要从第 3 层换到第 6 层时要确认过孔只打到第 6 层而不是一路打到第 12 层。这个可以通过背钻一并进行但更省事的是在叠层设计时让信号层集中在相邻层对减少长距离穿越。使用盲埋孔在一些高端板子里直接把换层过孔设计成盲孔或埋孔从根本上消除贯穿全板的金属筒。这是最干净的方案但成本也是最高的。这些手段的组合效果往往比你后期做各种补偿都强。因为 stub 的本质是“多出来一段导体”物理上去掉它才是真正的 filter。4.3 端接与过孔阻抗补偿不能消除但能缓解有些时候残桩无法完全消除比如连接器引脚区域空间受限、扇出形式固定残桩就是存在。这时候可以用端接和阻抗补偿来缓解。在分叉点附近加源端串联电阻或者末端并联端接可以吸收一部分反射能量减少反射波在主链路里的来回振荡。但要注意端接不能消除残桩谐振它只是降低了谐振的 Q 值和反射幅度。对于极高 Q 值的开路短截线光靠端接改善有限。另一种思路是优化过孔本身。通过调整过孔反焊盘尺寸、加大地过孔密度、优化换层过孔附近的参考平面使过孔阻抗接近 50Ω这样进入残桩的能量被提前反射一部分而不是被充分耦合进去。严格说这不是“过滤”掉残桩而是改变了结构模型的耦合条件工程上非常实用。手段治本程度成本/难度适用场景背钻高中高高速串行链路、厚板盲埋孔最高很高高端计算板、高密度互连拓扑重构高低设计阶段所有高速信号优先考虑源端/末端端接低低无法消除残桩时的辅助手段过孔阻抗补偿中中过孔本体阻抗不连续明显时5. 实测复盘一根 12mm 残桩如何毁掉一条 25Gbps 链路5.1 现象描述与初步排查那块板子是 25Gbps 交换机项目回板后测试遇到一个问题通道 A 的接收端眼图闭合严重抖动达到 15ps 以上预加重加满也只有轻微改善同一条链路的低速测试1Gbps完全正常。整体功耗、电源纹波、串扰测试都没有明显异常。按我的排查习惯先看电源再看串扰最后才怀疑无源通道。电源干净邻近通道也没有大幅翻转时的干扰于是转向求援无源链路仿真。我用 Ansys SIwave 提取了从连接器焊盘到接收引脚的整段 S 参数导入 ADS 做眼图仿真结果和实测惊人地接近——眼图一样烂。5.2 仿真与 TDR 定位接下来做的事是回到 S 参数本身看频域特征。S21 曲线在 3GHz 附近出现了一个大约 4dB 的凹陷9GHz 附近还有一个 6dB 的更深的缺口。两个凹坑的频率间隔大约是 6GHz这个规律让我立刻想到短截线谐振。计算可知如果残桩长度约 12mmεeff 约 4.2基频谐振大约在 3.0GHz9GHz 正好是三次谐波。再一看 PCB 叠层信号在第 3 层走线但过孔从表层一路通到第 12 层的底层中间第 4 到第 12 层的多余金属部分就是天然的 12mm 开路短截线。为什么当初没背钻因为设计文件里背钻标识只覆盖了部分高速过孔这一颗信号恰好被漏掉了。为了验证我用 TDR 实测过孔位置。可以看到过孔后有一段阻抗偏低的区域持续约 80ps对应的物理长度恰好在 12mm 左右。实锤。5.3 修复方案与验证结果修复本身不复杂重新打一版 PCB把该信号过孔加到背钻清单里背钻深度控制到第 3 层以下 10mil 以内残桩控制在 8mil 左右。回来后我再测 S213GHz 和 9GHz 的陷波消失眼图高度从 180mV 提升到 320mV抖动从 15ps 降到 5ps 以内整条链路跑满 25Gbps 无 bit error。这个案例给我的教训是仿真是前期的眼睛但生产文件里背钻标识的准确性往往是最后一道闸门。任何一个高速信号过孔漏标背钻前面所有仿真做得再漂亮都可能白费。6. 阻抗公式、估算表格与工程避坑清单6.1 stub 长度与谐振频率的快速估算下面这张表可以帮你快速判断“多长的 stub 会惹麻烦”。表中频率是按 FR4 内层 εeff≈4.2 计算的基频谐振点工程预警线按“stub 长度超过信号对应波长 1/10”给出。Stub 长度基频谐振频率约典型危险信号速率500mil / 12.7mm3.0 GHz信号带宽覆盖 3GHz 以上的链路都危险300mil / 7.6mm5.0 GHz10Gbps 以上需严格处理150mil / 3.8mm10.0 GHz25Gbps 链路已不可接受80mil / 2.0mm19.0 GHz56Gbps 级链路仍然敏感30mil / 0.76mm50.0 GHz绝大多数应用中可接受实际判断时不要只看基频还要看信号能量的带宽范围。10Gbps 信号主瓣能量到 5GHz25Gbps 信号能量到 12.5GHz 以上所以上述每一种长度都可能踩雷。6.2 常见误区三则误区一stub 短于 50mil 就无所谓。这个说法只在低速链路成立。50mil 的残桩在 56Gbps PAM4 链路里已经是很大的风险项了正确的判断标准是信号带宽对应的 1/10 波长而不是一个固定长度。误区二背钻是高速板的默认配置。不是的背钻需要设计文件明确标识板厂才能执行。漏标一个过孔就和案例里的情况一模一样。误区三端接能解决 stub。端接只降低反射幅度不能消除谐振频率。最典型的例子是 DDR 的 ODT片上端接能改善信号完整性但过孔残桩导致的频域凹陷并不会因为 ODT 打开而消失。6.3 设计、加工、调试三个阶段的检查清单设计阶段逐条检查高速信号的换层过孔画出残桩长度分布表。在叠层设计时尽量让高速信号在相邻层之间换层避免跨越多层。如果有背钻一定在图纸里用单独的颜色/图层标注哪些过孔需要背钻、背钻深度多少。对必须存在的 T 点分支仿真确认分支长度不影响眼图。加工阶段和板厂确认背钻刀具直径、深度公差、对位公差。要求板厂提供背钻后的切片/阻抗测试报告确认残桩长度达标。调试阶段先用 VNA 测 S21观察是否存在周期性的陷波再用 TDR 确认残桩位置和长度。不要一上来就调均衡器。先解决无源通道的问题再去调 TX 预加重和 RX CTLE否则只是拿均衡去填坑功耗和噪声都会变差。我个人在实际调试中还有一个习惯在 S21 仿真和实测报告出来之后把每一条高速链路的残桩长度列成一张表挂在项目群里。这件事看起来麻烦但在后续改版时能省掉大量重复排查时间。芯片越来越快、板子越来越厚stub 只会越来越“嚣张”。你要是能把这套分析框架拿稳至少在信号完整性这条路上已经比很多人少走一大段弯路了。