高速信号完整性:过孔残桩Stub的谐振危害与背钻处理方案
2026/8/30 23:49:28 网站建设 项目流程

我第一次被 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,残桩长度 500mil(12.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) = 0,Zin = 0,等效为一个串联谐振点(相当于短路到地);当 l = λ/2 时,Zin = ∞,等效为并联谐振点(相当于开路)。

同理,终端短路的短截线输入阻抗是 Zin = jZ0·tan(βl),在 l = λ/4 时呈现开路,在 l = λ/2 时呈现短路。

这个特性非常有用:你可以用一段特定长度的开路短截线,在目标频率点把不需要的杂散信号泄放到地,形成带阻/陷波特性;也可以用多段短截线相互配合,构造低通、带通滤波器。这就是“短截线滤波器”的基本思想。

3.2 从集总参数到分布参数:Richard 变换与 Kuroda 恒等式

实际设计微带短截线滤波器时,通常从集总参数低通原型出发。怎么把集总电感、电容变换成可实现的传输线短截线?经典做法是用理查德变换(Richard's Transformation):令 s = jΩ = j·tan(βl),就可以把集总元件的频率变量映射到短截线的电长度上。

具体映射关系是:一个串联电感可以用一段高特性阻抗(细线)的短截线实现,一个并联电容可以用一段低特性阻抗(宽线)的短截线实现。但串联短截线在微带结构里物理上不好实现,这时就用到 Kuroda 恒等式,把串联短截线变换成并联短截线加一段单位元件(Unit Element),让结构更容易落在 PCB 或介质基板上。

这些变换的推导细节比较冗长,工程上常用 Microwave Office、ADS 等工具的“short stub filter”设计向导直接生成拓扑,再反推物理尺寸。但如果你不理解上面的基本映射关系,即使工具生成了也调不明白,所以还是值得花时间把原理看透。

3.3 一个简化的微带 Stub Filter 设计流程

一个典型的设计流程大致如下:

  1. 确定指标:截止频率、通带插损、带外抑制量、端口阻抗。
  2. 选择低通原型:常见有 Butterworth(最大平坦)和 Chebyshev(等波纹),查表得到归一化元件值。
  3. 使用理查德变换把每个 L、C 替换为开路/短路短截线,并用 Kuroda 恒等式把串联短截线变换成并联短截线,得到最终拓扑。
  4. 确定介质参数和基板厚度,计算微带线的宽度和长度,得到物理尺寸。
  5. 在电磁仿真软件里建模,优化短截线的长度和连接处的 T 型结补偿,仿真验证 S 参数。
  6. 打板实测,用 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.0GHz,9GHz 正好是三次谐波。再一看 PCB 叠层,信号在第 3 层走线,但过孔从表层一路通到第 12 层的底层,中间第 4 到第 12 层的多余金属部分,就是天然的 12mm 开路短截线。为什么当初没背钻?因为设计文件里背钻标识只覆盖了部分高速过孔,这一颗信号恰好被漏掉了。

为了验证,我用 TDR 实测过孔位置。可以看到过孔后有一段阻抗偏低的区域,持续约 80ps,对应的物理长度恰好在 12mm 左右。实锤。

5.3 修复方案与验证结果

修复本身不复杂:重新打一版 PCB,把该信号过孔加到背钻清单里,背钻深度控制到第 3 层以下 10mil 以内,残桩控制在 8mil 左右。回来后我再测 S21,3GHz 和 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 信号主瓣能量到 5GHz,25Gbps 信号能量到 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 只会越来越“嚣张”。你要是能把这套分析框架拿稳,至少在信号完整性这条路上,已经比很多人少走一大段弯路了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询