很难相信,这对高速信号换了那么多次过孔!!!
上周在群里看到这句话的时候,我正端着杯子看别人发的一张布线截图——一对差分线从BGA底下钻出来,从L1一路换到L9,又从L9折回L4,再跳到L2,最后落进连接器。短短12毫米的水平距离,换了七次层。发图的人说"我数了三遍,真的是七次"。底下有人开玩笑说这是"过孔串串香",也有人说"换这么多次,眼图还能睁着算你运气好"。
笑归笑,这个问题在高速信号设计里一点都不好笑。过孔是PCB上最绕不开的东西,也是把一条本来干干净净的传输线搅浑的最大元凶。每一次换层,信号都要穿过一段镀铜圆柱,这段圆柱带着寄生电容、寄生电感和一段没人愿意提的残桩(Stub),它们会一起把阻抗拉出一个凹坑,把上升沿削一刀,把回波损耗顶上去。换一次还算可控,换七次就是七次叠加。这篇东西我想把过孔这件事从头捋一遍:它到底怎么伤信号、差分对换孔的规矩在哪、什么时候背钻什么时候盘中孔、地过孔和电源过孔怎么摆、还有那个经常被吵起来的"同网络过孔到底是全覆盖连接还是十字连接"。适合正在做高速接口、刚被眼图教育过、或者正在被评审追着问"你为什么在这里换孔"的人看。
1. 先别急着删过孔:从一对"换了三次层"的差分线说起
1.1 一个让我停下鼠标的画面
我见过最夸张的一块板子,是一块1.6毫米厚的10层板,走一对速率不算特别高的差分信号。板子画完做评审,我随手打开Z轴视图,看到那对线在BGA出线区换了一次层,走到板中间绕开一个电源岛又换了一次,快进连接器的时候为了匹配焊盘深度再换一次。三次换层,过孔串在一条只有15毫米的线上。
当时我的第一反应不是"删掉",而是先量了三个数:每次换层的跨层厚度、七次/三次换孔的相邻间距、以及每一段残桩的长度。这三个数决定了问题的严重程度,而不是换孔的次数本身。很多人的直觉是"换孔次数越少越好",这句话方向上没错,但如果只是机械地把过孔合并、把层数减少,很可能换来的是更难收场的结果——比如绕线变长、参考平面被割裂、或者差分对内出现严重不对称。过孔是要精打细算的,不是靠数量堆直觉。
1.2 换孔次数是结果,不是原因
要弄清楚为什么会换这么多次,得先看布线约束是怎么把人逼到这一步的。BGA焊盘的出线扇出、内层被电源平面和地平面分割出的空间、连接器焊盘的深度、以及板厂能做的叠层结构,这几样东西一起作用,才会出现"不得不换"的局面。
我一般把换孔原因分成三类:
- 被迫型:连接器焊盘只在顶层或底层,BGA球阵在顶层,中间的走线层被禁布区挡住,只能靠换层穿过去。
- 妥协型:为了绕开某个大电流电源铜皮、晶振禁区、或者安装孔,走线被迫下潜再上来。
- 习惯型:这个最要命,很多人是从低速板一路画上来的,遇到走不通就换层,"反正过孔不要钱"。高速板上这是典型的坏习惯。
前两类是工程现实,需要优化但不能一刀切掉;第三类是纯粹的手法问题,改起来最快、收益也最大。我在实际项目里的做法是,拿到布线图先把所有换孔位置标出来,逐个打上标签,看看哪几个属于"习惯型"。通常这时候能砍掉三成到一半的换孔,而且完全不影响连通性。
1.3 先量三个数:层数跨度、跳变次数、Stub长度
在动手改之前,有三个数必须先量清楚,它们比"换了多少次"更有意义。
| 评估维度 | 具体内容 | 为什么要量 |
|---|---|---|
| 单次跨层厚度 | 一次换孔从起始层到终止层的介质总厚度 | 决定这段过孔的电感和残桩长度 |
| 相邻换孔的中心间距 | 两个换孔之间的距离 | 间距太近,两个过孔的寄生参数会耦合叠加 |
| 未使用段的残桩长度 | 过孔末端到信号离开的那一层之间的长度 | 残桩越长,第一次谐振频率越低,越容易砸在信号带宽里 |
拿最常见的1.6毫米十层板举例:如果一对差分信号从L1换到L10,跨层厚度接近1.6毫米,残桩几乎为零(因为是贯穿到底层);但如果从L1换到L3就结束,剩下L4到L10那1.2毫米全是残桩。这就是为什么"表面走到内层"的换孔反而比"贯穿到底"更危险。很多人不理解这点,觉得从上往下扎得越深越糟糕,实际上只要到板底,过孔就是通孔,没有尾桩;半途而废的那一段才是真正的麻烦。
2. 过孔的三个寄生参数:电容、电感与那根多余的Stub
2.1 过孔寄生电容:最容易被忽略的那个零点几皮法
过孔不是一个理想的导线,它是一段圆柱形的导体会和周围的铜(反焊盘、参考平面)形成电容。工程上有个流传很广的估算公式:
C ≈ 1.41 × εr × T × D1 / (D2 − D1)
其中C单位是皮法,T是过孔在板上的长度(英寸),D1是过孔焊盘直径(英寸),D2是反焊盘(隔离盘)直径(英寸),εr是板材介电常数。
举个实际数字。一块1.57毫米(约0.062英寸)厚的FR4板,过孔焊盘20密耳,反焊盘40密耳,εr取4.2:
- 1.41 × 4.2 = 5.922
- × 0.062 = 0.367
- × 0.020 = 0.00734
- ÷ (0.040 − 0.020) = ÷ 0.020 →约0.37皮法
单个过孔0.37皮法,看起来很小。但如果你在一条线上串了七个过孔,电容就是2.6皮法左右。这个量级已经足够把一段50欧姆线的局部阻抗拉低十几个百分点,具体拉低多少取决于这段过孔区域在电气上的等效长度和周围电容。我在用TDR看波形时,最典型的现象就是"一个宽而浅的下凹",下凹的深度往往对应阻抗掉了8到15欧姆。
想降低这部分电容,方向有三个:减小焊盘直径、加大反焊盘、缩短过孔长度。加大反焊盘是最直接的,但它会蚕食参考平面的连续性,尤其在密集BGA区域,反焊盘太大会让地平面的有效宽度变窄,反而影响回流。这是一个需要权衡的参数,不是越大越好。
2.2 过孔寄生电感与回流路径的长度
过孔的电感估算有个经典公式:
L ≈ 5.08 × h × [ln(4h/d) + 1]
单位纳亨,h是过孔长度(英寸),d是钻孔直径(英寸)。
还是上面那块板:h = 0.062英寸,钻孔d = 0.008英寸(8密耳):
- 4h/d = 0.248 / 0.008 = 31
- ln(31) = 3.434
- 5.08 × 0.062 = 0.315
- 0.315 × (3.434 + 1) = 0.315 × 4.434 →约1.4纳亨
单孔1.4纳亨,七个孔接近10纳亨。10纳亨听起来也不大,但别忘了它串联在一条高频信号路径上,而且更关键的是,这个电感还包括了返回电流必须绕过的那段路径。信号从L1换到L4,返回电流原本在L2的地平面上跟着走,一旦换层,如果参考平面也换了(比如从L2的地换成L5的地),返回电流就得想办法从一个平面跳到另一个平面。它通常只能靠平面之间的板间电容或者附近的地过孔来完成这次"换乘"。
如果换孔附近没有提供低阻抗的回流路径,返回电流就会绕一大圈,形成一个面积很大的回路,辐射和串扰都跟着涨。这一点在讲地过孔那一节还会展开。
2.3 Stub谐振:那根没被用到的圆柱
残桩的本质是一段一端开路、一端接在信号路径上的短截线。开路短截线在四分之一波长处发生串联谐振,把信号对地短路掉,表现出来就是这个频率附近插损突然变大。
粗略估算谐振频率:
f ≈ c / (4 × L_stub × √εr)
c是光速,L_stub是残桩长度,εr是介电常数。
我按FR4(√εr≈2.05)算了一张表,方便直观感受:
| 残桩长度(密耳) | 对应毫米 | 第一次谐振频率(约) |
|---|---|---|
| 30 | 0.76 | 48 GHz |
| 60 | 1.52 | 24 GHz |
| 100 | 2.54 | 14.4 GHz |
| 150 | 3.81 | 9.6 GHz |
| 200 | 5.08 | 7.2 GHz |
看这张表的结论很直接:残桩在100密耳以内,对大多数速率不算高的接口基本无害;一旦超过150密耳,谐振频率就会掉到10 GHz以下,开始吃掉信号的高频分量。1.6毫米十层板如果从L1换到L3就收住,残桩大约就是1.2毫米(约47密耳),算下来谐振在30 GHz附近,问题不大;但如果从L1换到L2就收住,剩下1.4毫米,还是一样的量级。真正危险的是厚板、深换浅,比如2.4毫米板从L2进、L3出,剩下的两毫米全是桩。
3. 差分对换孔的四条硬规矩与三条软经验
3.1 对内对称:P和N的过孔必须"照镜子"
差分对最大的优势在于共模抑制,而共模抑制的前提是两根线经历的路径尽量一致。过孔是这条路径上最不对称的地方之一,因为P和N必须各自打一个孔,两个孔天然就是分开的。
我见过不少布局是P线在左、N线在右,换层时P的过孔挨着BGA球,N的过孔被挤到一边,两个孔间距拉得很开,甚至还绕了一点线去避让。这种不对称转换成的共模电压会直接吃掉眼高,同时把共模辐射顶上去。我在评审时的硬性要求是:对内两个过孔的中心距尽量保持一致,从焊盘到过孔的引线长度尽量相等,两个孔的位置关于中心线镜像对称。
如果空间实在逼不出来,宁可整体平移整对线的位置,也不要让其中一根绕路。绕路的代价远大于整体偏移。
3.2 换孔次数与背靠背布局
差分对换孔有个常见手法叫"背靠背",就是P和N的两个过孔在水平方向上错开一点位置,让两个孔的耦合关系更平衡,同时减小对间串扰。但背靠背也不是随便错,错开的距离太大会让两根线的长度差变大,太小又起不到解耦作用。工程上常见的经验值是让两个过孔的中心距落在2到3倍孔径附近,同时保证这段"孔间连接段"本身足够短,最好控制在10密耳以内。
换孔次数方面,我没有一个绝对的数字红线,但有一条判断方法:把所有换孔段的总电气长度加起来,和整条线总长比一比。如果换孔区域占了整条线的15%以上,那这条线的阻抗一致性很难做好,需要重点优化。七次换孔之所以让人震惊,就是因为它在一段很短的线上把"过孔区"的占比推到了极高。
3.3 什么时候该绕,什么时候该换
这是最考验经验的地方。我的判断顺序是这样的:
- 能不换就不换:先检查是不是叠层规划本身就限制了走线,很多时候调整叠层顺序或把电源平面换个层,走线就不用换孔了。
- 能少换就少换:必须换的时候,看看能不能一次换到位,而不是分两次、三次逐层下降。中途停在不必要的层上,只会多出一段残桩。
- 能换就选深孔:同样是要换层,优先选择能贯穿到板底或接近板底的方式,把残桩压缩掉。
- 绕线只在差分对很短、且绕行弧度足够平缓时采用:绕线会引入长度差和阻抗不连续,超过一定长度反而比换孔更糟。
提示:这四条是判断顺序,不是硬性优先级。具体项目里要结合速率、走线总长和板厚一起看。速率越高,对换孔的容忍度越低。
3.4 过孔在焊盘上还是旁边
还有一个经常被忽略的细节:过孔是直接打在焊盘上(盘中孔),还是打在焊盘旁边再用一小段短线连过去。
盘中孔的好处是省掉了那段引线,残桩问题也更容易控制(尤其是配合树脂塞孔工艺),但对板厂的工艺要求高,成本也上去了。焊盘旁边打孔的做法成本低,但会多出一段不连续的短线,在高速下会引入额外的阻抗扰动。一般来说,速率高、走线密集的BGA出线区倾向于用盘中孔,外围相对宽松的区域用普通过孔加短线连接。
4. 背钻、盘中孔与叠层:把Stub从根上掐掉
4.1 背钻深度是算出来的,不是拍出来的
背钻的原理很简单:过孔压合完成之后,用一种直径略大于钻孔的钻头,从板面或板底把没有用到的铜壁那段"掏掉"。掏掉之后残桩理论上可以缩到10到20密耳以内。
关键在于深度怎么定。定浅了,残桩还在;定深了,会把有用的铜壁也削掉,导致孔径变大、阻抗失控,严重的还会伤到内层连接。工程上的做法是:
- 先算出信号离开的层位与板面之间的距离,这是"必须保留"的部分。
- 在这个基础上加上一段工艺余量,通常留8到12密耳的残桩作为安全边界。
- 把深度换算成板厂工艺参数,一般用"介质厚度+铜厚"的方式表达,不要直接写毫米或密耳,避免各家换算口径不一致。
| 参数 | 常见取值 | 说明 |
|---|---|---|
| 背钻钻头直径 | 比原孔大8到12密耳 | 太小掏不干净,太大伤孔壁 |
| 目标残桩 | 8到15密耳 | 配合板厂能力,太激进良率会掉 |
| 深度公差 | ±5密耳左右 | 与板厂确认,深板公差更大 |
4.2 盘中孔、盲埋孔与叠层选择
如果换孔数量实在压不下去,那就从叠层上想办法。常见的两条路:
一条是把换孔集中在少数几层之间,用盲埋孔把过孔的跨度限制住,从物理上消除残桩。另一条是采用HDI叠层,用激光孔做层间连接,孔径小、残桩短,代价是成本明显上升。
我在选方案时的原则是:先看速率,再看板面积,最后看成本。速率在10 GHz以下的板子,多数情况下优化走线和背钻就够了;速率再往上,盲埋孔和HDI才开始有意义。很多项目一上来就上HDI,其实是被"别人都这么做"带偏了,实际没必要。
4.3 背钻之后要检查的三件事
背钻做完不是就完事了,我一般会检查三件事:
- 残桩长度是否符合设计要求,让板厂出切片报告确认。
- 背钻后的阻抗是否还在规格内,尤其是孔壁被削掉一部分后,过孔区域的等效电容会变小,阻抗会往上走一点,需要重新仿真确认。
- 相邻过孔的孔壁间距是否还够,背钻钻头比原孔大,密集区域的孔间距要留出余量,避免钻头碰到旁边的孔。
注意:背钻是有"代价"的工艺。它会改变过孔的电气参数,也会影响孔壁的机械强度。做了背钻的板子,一定要重新做一次阻抗和插损的验证,不能沿用背钻前的仿真结果。
5. 地过孔和电源过孔:换层时电流的另一半路
5.1 换层时返回电流走哪条路
前面提过一次,这里展开说。信号从L1换到L4,返回电流原本在紧邻信号线的参考平面上跟着走。当参考平面从L2的地平面换成L5的地平面时,返回电流需要完成一次跨平面的转移。
这种转移通常靠两种机制:一是平面之间的寄生电容(板间电容),二是附近的过孔。板间电容的容量很有限,对高频成分的阻抗偏高;所以真正管用的还是在换孔附近布置地过孔,把两个地平面直接连起来,给返回电流提供一条明确的低阻抗通道。
我在实际项目里有个习惯:每对差分信号过孔旁边,至少配两到三个地过孔,位置尽量贴近信号孔,间距控制在信号孔到地孔中心距不超过100密耳。这不是拍脑袋定的,距离越远,返回电流绕的圈越大,形成的回路面积也越大,辐射和串扰跟着上来。
5.2 地过孔的数量与摆放位置
地过孔摆放的讨论里,最常见的争论是"放几个"。我的经验是这样的:
- 每对差分孔配两到三个地过孔,放在两个信号孔的外侧,形成一个包围结构。
- 在地平面切换处加一排缝合孔,把两个平面沿着边界缝起来,避免形成缝隙天线。
- 密集BGA区域不要在焊盘之间硬塞过孔,会破坏平面完整性,得不偿失。
摆放位置上,我倾向于让地过孔紧贴信号孔的"外侧",也就是远离差分对中心线的方向,而不是挤在两孔中间。挤在中间会改变两个信号孔的耦合关系,把差模阻抗带偏。
5.3 缝合电容与平面谐振
有些场合地过孔解决不了问题,比如参考平面之间的电位差比较大、或者平面面积较大导致谐振。这时候会在换孔附近加缝合电容,用一个小容量的高频电容把两个平面在高频段连起来。
需要注意的是,缝合电容本身也有寄生电感,约1到2纳亨,等效串联电感会限制它在高频的表现。所以电容要尽量贴近过孔摆放,走线越短越好,最好直接用焊盘对接。另外,平面谐振问题不只在换孔处出现,整个电源地平面系统都要考虑,这部分通常要在仿真里看阻抗曲线。
6. 同网络过孔与铺铜的连接方式:全覆盖还是十字连接
6.1 全覆盖连接与十字连接的区别
这个问题在电源过孔上尤其常见。同一网络的过孔跟铜皮连接时,EDA工具通常提供两种方式:全连接(过孔与铜皮完全接触,也叫全覆盖连接)和十字连接(通过几根辐条相连,也叫热焊盘、热隔离连接)。
全覆盖连接的优点是阻抗极低、通流能力强,缺点是散热太快,焊接时热量会被铜皮迅速带走,容易造成虚焊,尤其在手工焊接和波峰焊场景下问题明显。十字连接就是为解决散热问题而生的,用有限的辐条把热量锁住。
| 连接方式 | 电气性能 | 散热表现 | 适用场景 |
|---|---|---|---|
| 全覆盖 | 阻抗低、载流强 | 散热快,焊接困难 | 大电流、地过孔、无需焊接的内层 |
| 十字连接 | 阻抗略高、载流略弱 | 散热慢,利于焊接 | 需要焊接的电源焊盘、插件焊盘 |
6.2 电源过孔的热与十字辐条
电源过孔同时承担两个职责:一是把电流从一层导到另一层,二是把热量从发热器件导出。这两个职责有时候是矛盾的——散热好的地方焊接难,焊接容易的地方散热差。
我的处理办法是分开看:
- 内层的电源过孔和地过孔,优先用全覆盖连接。因为这些过孔不参与焊接,没必要为了散热牺牲载流能力。
- 表层的电源焊盘过孔,用十字连接,辐条数量一般用软件默认的四条,宽度按载流需求调整。如果电流较大而焊盘较小,可以把辐条加宽,或者适当增加辐条数量,但不要无限制地加,辐条太多就接近于全覆盖,失去了热隔离的意义。
有个细节容易被忽略:十字连接的辐条在电源网络里会形成一小段"窄颈",如果电流很大,这段窄颈的温升会明显高于周围铜皮。所以大电流场景下,还是要老老实实把辐条宽度按电流密度算一遍。
6.3 过孔盖油、开窗与塞孔工艺
过孔的最终形态还受工艺选项影响:
- 盖油(阻焊覆盖):过孔被阻焊层盖住,表面不露铜。优点是减少焊接时的锡珠、防止短路;缺点是散热差一些。一般用于普通信号过孔。
- 开窗:过孔表面露铜,可以额外贴锡,散热和载流都会更好,但容易在焊接时吃锡、产生锡珠。用于需要额外散热或补强的过孔。
- 塞孔(树脂塞孔+电镀填平):过孔被树脂填实并电镀平整,可以做到盘中孔,表面做得很平,适合高密度BGA出线。缺点是工艺复杂、成本高。
这三者的选择通常跟板厂的工艺能力绑定,我在设计阶段就会先跟板厂确认他们能做到哪一档,避免设计出来做不了。
7. 一次眼图塌陷的真实排查链路
7.1 现象:眼高掉了将近六成
前面讲的都是原理,这里说一个我经手过的案子。一块中速背板接口的板子,第一版打样回来做完测试,接收端眼图的眼高只有规格值的四成左右,而且眼图的上下边都比较模糊,像是被高频衰减吃掉了一块。测试环境确认过,不是探头和夹具的问题。
7.2 从TDR波形上读出的三段台阶
我做的第一件事是拿TDR去看那条链路的阻抗曲线。波形上出现了三段明显的下凹,而且下凹的位置正好落在那对差分线换孔比较密集的区域。
进一步的排查是逐段隔离:先用仿真把整条链路拆成"走线段+过孔段",分别做插损和回损分析。结果发现过孔段的插损比走线段高出明显一截,而且第一次谐振频率正好落在信号的主要频谱范围内。再回去看PCB,这段区间里正好有几次换孔是从L2换到L5,残桩长度接近两毫米。
7.3 改版的动作与验证结果
改版做了三件事:
- 把这段的多次换孔合并成一次,从L2直接贯穿到L7,彻底消除中间那几次残桩。
- 换孔位置补充了地过孔,每对差分孔旁边各加两个,间距控制在60密耳以内。
- 对贯穿到底的那一组过孔做了背钻,把底面残桩控制到12密耳以内。
改完之后重新打样测试,眼高恢复到规格值的九成以上,回波损耗曲线在中频段也平了不少。整个过程最耗时的不是改板,而是从眼图现象一步步定位到那几对过孔。这也是我一直强调的:排查要有链路,不要靠猜。
提示:仿真和实测一定要交叉验证。仿真能告诉你哪一段有问题,但只有实测能告诉你实际做出来的板子差多少。两者的差值,往往就是工艺余量该留多少的答案。
8. 我给自己定的过孔检查清单
画了这么多年板子,我给自己攒了一份过孔检查清单,每次评审前过一遍,能省掉很多返工。清单不长,但每一条都是踩过坑之后加进去的。
| 检查项 | 判断标准 | 常见问题 |
|---|---|---|
| 换孔次数 | 单条线上换孔段占总长比例不超过15% | 习惯性换层导致次数堆积 |
| 残桩长度 | 超过100密耳就考虑背钻或调整层位 | 深换浅留下长残桩 |
| 对内对称 | 两孔镜像对称、引线等长 | 一根绕线导致共模上升 |
| 地过孔配置 | 每对信号孔配2到3个,间距小于100密耳 | 换层处返回电流无路可走 |
| 焊盘与反焊盘 | 反焊盘加大需评估平面完整性 | 一味加大反焊盘削窄地平面 |
| 电源过孔连接 | 内层全覆盖、表层十字 | 一律全覆盖导致焊接不良 |
这份清单也不是死的。不同速率、不同板厚、不同板厂能力,判断标准都要调整。但有一点我始终没变:换孔这件事,动手之前先算数,算完再动手。用那个电容、电感、谐振的公式粗略估一遍,比凭感觉删过孔、加过孔靠谱得多。
我自己这几年最大的体会是,过孔从来不是单独的敌人,它跟叠层、平面、工艺是绑在一起的。你可以把一对信号线上的过孔减到最少,但如果地过孔没配好,返回电流一样会绕圈;你可以给每个过孔都做背钻,但如果叠层本来就规划得别扭,残桩只是换了个地方出现。真正省事的做法,是在叠层规划那一版就把主要接口的换孔路径想清楚,后面布线只是执行。多花半天在前期,能省掉好几轮打样。