1. 为什么50欧姆这么重要,以及SI9000到底在算什么
做硬件的朋友大概率都遇到过这个场景:板子打样回来,焊上芯片一测,信号眼图闭合、误码率飙升,甚至链路根本跑不起来。排查了半天电源、时钟、芯片配置,最后发现是走线阻抗偏了十几欧姆。射频口更直接,S11参数一塌糊涂,功率全反射回来。这类问题的根源,十有八九出在阻抗控制上。
50欧姆这个数字不是随便定的。它本质上是同轴传输线在“功率容量最大”和“插入损耗最小”之间取的一个工程折中值。功率容量最大的阻抗大约在30欧姆附近,损耗最小的阻抗大约在77欧姆附近,两者取几何平均,落在50欧姆左右。所以从早期的射频系统到今天的数字高速接口,50欧姆成了事实上的行业基准。你手里的PCB,只要涉及USB、HDMI、PCIe、DDR、以太网、射频前端,几乎都绕不开这个数字。
那SI9000是干什么的?它是Polar Instruments出的一套传输线阻抗计算工具,核心作用就一个:根据你的层叠结构和走线几何参数,算出这条走线的特征阻抗,或者反过来,给定目标阻抗反推线宽。它内置了各种传输线模型——表层微带线、内层微带线、带状线、差分对、共面波导等等,每种模型对应一组几何参数输入,底层用的是电磁场数值计算方法。
很多人第一次打开SI9000会有点懵,界面上一堆参数,什么H1、Er1、W1、W2、S1、T1,不知道哪个该填什么。更麻烦的是,这些参数不是随便填的,它们直接对应你PCB的层叠结构。填错一个,算出来的线宽可能差出几十微米,打样回来阻抗就偏了。所以这篇文章我打算把SI9000的计算逻辑、层叠参数的来源、以及实际项目中怎么用,从头到尾讲清楚。
适合谁看?如果你是刚入行的PCB设计工程师,或者做了几年但一直靠“经验值”估线宽、没系统算过阻抗的layout工程师,再或者你是硬件工程师需要和板厂对接阻抗控制要求,这篇内容都能直接用。我不打算只讲软件怎么点,而是把“为什么这么填”讲透,这样你换个板厂、换个层叠,自己也能推出来。
2. 层叠参数详解:SI9000里每个数字从哪来
2.1 先搞清楚你的板厂能做什么
在打开SI9000之前,有一件事必须先做:拿到板厂的实际层叠结构。这是整个阻抗计算的地基。很多人算阻抗不准,根本原因不是软件用错了,而是层叠参数用的是“理论值”而不是板厂的“实际值”。
PCB的层叠结构由板厂根据他们的板材库存、压合工艺、半固化片(PP)规格来决定。同样的四层板,不同板厂用的芯板厚度、PP片组合可能完全不同,导致介质厚度H不一样。你按1.6mm总厚、中间介质0.2mm去算,结果板厂实际用的是0.18mm,阻抗就偏了。
所以第一步,找板厂要两样东西:层叠结构图和阻抗计算报告模板。层叠图里会标明每一层的铜厚、介质厚度、板材型号(比如FR-4的Tg值、Dk值)。阻抗报告模板则是板厂希望你填的目标阻抗和允许公差。
提示:如果你用的是嘉立创这类标准化程度高的板厂,他们的官网通常有公开的层叠参数和阻抗计算工具。但即便如此,也建议在下单前和客服确认实际使用的PP组合,因为库存会变。
2.2 介质厚度H:最容易填错的那个数
SI9000的微带线模型里,H1(或H)代表走线到参考平面的介质厚度。这个值不是“芯板厚度”,而是走线所在层到最近参考平面之间的实际介质总厚度,包括芯板和PP片压合后的厚度。
举个例子。假设你是四层板,层叠是:顶层铜 → PP → 内层铜(GND)→ 芯板 → 内层铜(VCC)→ PP → 底层铜。那么顶层走线的参考平面是内层GND,H1就是顶层铜到内层GND之间的PP压合厚度。注意,铜箔本身有厚度,但SI9000里的H通常指的是介质厚度,不含铜厚。有些模型会把铜厚单独作为T1输入。
这里有个坑:压合后的PP厚度和PP原始厚度不一样。PP片在压合过程中会流胶,最终厚度取决于压合参数和铜箔图形分布。板厂给你的层叠图上的厚度通常是压合后的标称值,直接用就行。但如果你自己拿PP规格书上的原始厚度去算,就会偏大。
还有一个细节:铜厚会影响有效介质厚度。因为铜箔表面是粗糙的,介质实际填充在铜箔的粗糙面之间。严格来说,有效Dk和有效H都会受铜箔粗糙度影响。SI9000里有铜箔粗糙度设置(表面粗糙度参数),这个后面会讲。
2.3 介电常数Er:频率不同,值不同
Er(Dk)是介质材料的相对介电常数。FR-4的Dk通常在4.2到4.6之间,但这个值随频率变化。低频时Dk偏高,高频时Dk会下降。板厂给的Dk值一般是在1MHz或1GHz下测的,你需要根据你的信号频率来选择。
对于大多数数字信号(比如USB 2.0、以太网百兆千兆),用1GHz下的Dk值就够了。对于射频和高速差分(比如PCIe Gen3以上),可能需要用更高频率下的Dk。板厂通常会在层叠图上标注Dk值,如果没有,直接问。
注意:不同批次的板材Dk可能有±0.2的波动,这会导致阻抗有±2到3欧姆的变化。所以阻抗控制通常有±10%的公差,不是板厂做不准,而是材料本身有离散性。
2.4 线宽W1和W2:梯形截面的真相
SI9000的微带线模型里,W1是走线底部的宽度,W2是走线顶部的宽度。为什么是两个?因为PCB走线经过蚀刻后,截面不是矩形,而是梯形。蚀刻是从上往下进行的,顶部会被侧蚀,所以顶部宽度通常小于底部宽度。
对于表层走线,W1(底部)和W2(顶部)的差值取决于铜厚和蚀刻工艺。一般铜厚1oz(35μm)时,侧蚀量大约在10到20μm。如果你不确定,可以先用W1=W2(矩形截面)估算,然后根据板厂反馈调整。但对于阻抗精度要求高的场合,最好让板厂提供他们的蚀刻补偿值。
内层走线因为上下都是介质,蚀刻后截面更接近矩形,W1和W2可以设成一样。
2.5 铜厚T1:不只是1oz那么简单
T1是走线的铜厚。常见的有1oz(35μm)、0.5oz(17.5μm)、2oz(70μm)。但注意,内层铜厚和外层铜厚可能不同。外层铜箔在电镀后还会加厚,比如1oz基铜电镀后可能变成1.5oz甚至2oz。这个值要问板厂。
铜厚对阻抗的影响是:铜越厚,走线电阻越小,但阻抗也会略微下降。因为厚铜的侧壁面积更大,电容效应更强。在SI9000里,T1是单独输入的,不要漏填。
2.6 差分对的S1和共面波导的G
如果你算的是差分线,还需要输入S1,即两根线之间的间距。差分阻抗不仅取决于单线阻抗,还取决于耦合程度。间距越小,耦合越强,差分阻抗越低。
共面波导模型还需要输入G,即走线到两侧地铜的间距。这个参数在射频设计中很常见,因为共面波导的阻抗对G很敏感。
2.7 铜箔粗糙度:高频下的隐形杀手
铜箔表面不是光滑的,而是有粗糙度的。在低频时,电流集中在铜箔内部,粗糙度影响不大。但在高频时,趋肤效应让电流集中在铜箔表面,粗糙度会显著增加有效电阻和路径长度,导致阻抗变化和损耗增加。
SI9000里有铜箔粗糙度设置,通常用“Huray”模型或“Hammerstad”模型。对于普通FR-4板,粗糙度影响在1GHz以下可以忽略。但如果你做的是10GHz以上的射频,或者56Gbps以上的高速链路,这个参数就必须认真填。板厂通常会提供铜箔的粗糙度参数(Rz或Rq值)。
3. 实操:用SI9000算一条50欧姆微带线
3.1 选择正确的传输线模型
打开SI9000,你会看到左侧有一堆模型图标。常用的几个:
- Surface Microstrip:表层微带线,参考平面在下一层。最常用。
- Coated Microstrip:表层微带线,但上面有绿油覆盖。绿油的Dk大约在3.3到4.0之间,会略微降低阻抗。
- Edge-Coupled Microstrip:表层差分微带线。
- Offset Stripline:内层带状线,上下都有参考平面,但不在正中间。
- Edge-Coupled Stripline:内层差分带状线。
选哪个取决于你的走线在哪一层、参考平面在哪。比如顶层走线、第二层是完整地平面,就选Surface Microstrip。如果顶层有绿油,选Coated Microstrip更准。
3.2 填入层叠参数
假设我们有一个四层板,层叠如下:
| 层 | 材料 | 厚度 |
|---|---|---|
| 顶层铜 | 1oz | 35μm |
| PP | FR-4 | 0.2mm |
| 内层GND | 1oz | 35μm |
| 芯板 | FR-4 | 1.0mm |
| 内层VCC | 1oz | 35μm |
| PP | FR-4 | 0.2mm |
| 底层铜 | 1oz | 35μm |
顶层走线到内层GND的介质厚度H1=0.2mm,Dk取4.3,铜厚T1=35μm。目标阻抗50欧姆。
在SI9000里填入:
- H1 = 0.2mm
- Er1 = 4.3
- T1 = 35μm
- W1 = 待求
- W2 = 待求(先设成和W1一样)
- 铜箔粗糙度先忽略
然后点“Calculate”,软件会反推线宽。假设算出来W=0.38mm,那么你可以先用0.38mm去画线。
3.3 考虑绿油的影响
如果顶层有绿油,切换到Coated Microstrip模型,输入绿油厚度和Dk。绿油厚度通常在20到40μm,Dk约3.8。重新计算,线宽可能会变成0.36mm左右。差别不大,但对于阻抗敏感的链路,这个差别值得考虑。
3.4 差分线的计算
差分线用Edge-Coupled Microstrip模型。除了H1、Er1、T1、W1、W2,还要输入S1(线间距)。目标差分阻抗通常是90欧姆(USB)或100欧姆(PCIe、以太网)。
差分阻抗的计算逻辑是:先算单线阻抗,再根据耦合系数修正。间距S1越小,耦合越强,差分阻抗越低。所以如果你算出来差分阻抗偏低,可以增大S1或者减小线宽。
实操心得:差分线的线宽和间距通常要一起调。先定一个合理的间距(比如2倍线宽),然后调线宽使差分阻抗达标。如果调不出来,再动间距。
3.5 用板厂的阻抗报告验证
算完之后,把结果填进板厂的阻抗报告模板,发给板厂确认。板厂会用他们的实际工艺参数再算一遍,可能会微调线宽。最终以板厂确认的值为准。
4. 常见问题与排查技巧实录
4.1 算出来的线宽和板厂给的不一样
这是最常见的问题。原因通常有三个:层叠参数不同、Dk不同、蚀刻补偿不同。解决办法很简单:以板厂的阻抗报告为准。你自己算的目的是理解原理和验证合理性,不是替代板厂的计算。
4.2 阻抗测试条测出来偏了
板厂会在板边放阻抗测试条,打样后你可以要求测阻抗。如果测出来偏了,先看偏差方向。偏大还是偏小?偏大说明线宽太细或介质太厚,偏小说明线宽太粗或介质太薄。然后对照层叠参数排查。
4.3 绿油和阻焊开窗的影响
阻焊开窗(比如焊盘)会改变局部阻抗。开窗处没有绿油,阻抗会略高。对于射频走线,通常建议在走线两侧铺地并打孔,形成共面波导结构,这样可以减少阻焊的影响。
4.4 铜箔粗糙度什么时候必须考虑
信号频率超过5GHz,或者走线长度超过1/10波长时,铜箔粗糙度的影响开始显现。对于普通数字板,可以忽略。对于射频和高速链路,建议用板厂提供的粗糙度参数。
4.5 多层板内层阻抗怎么算
内层走线用带状线模型。如果走线在两层参考平面正中间,用Symmetric Stripline。如果偏向某一层,用Offset Stripline。内层走线没有绿油问题,但要注意上下介质厚度可能不同。
4.6 常见问题速查表
| 问题 | 可能原因 | 排查方法 |
|---|---|---|
| 阻抗偏高 | 线宽偏细、介质偏厚、Dk偏低 | 检查层叠参数和线宽 |
| 阻抗偏低 | 线宽偏粗、介质偏薄、Dk偏高 | 检查层叠参数和线宽 |
| 差分阻抗不对 | 间距不对、耦合过强或过弱 | 调整S1或线宽 |
| 测试条结果波动大 | 板材Dk离散、蚀刻不均匀 | 和板厂确认公差 |
| 高频损耗大 | 铜箔粗糙度、介质损耗 | 换低损耗板材、考虑粗糙度 |
4.7 几个容易忽略的细节
第一,参考平面的完整性。SI9000假设参考平面是无限大的完整平面。如果你的走线下方参考平面有裂缝或开槽,阻抗会突变。所以高速走线下方要保持地平面完整。
第二,过孔的影响。过孔处的阻抗和走线不同,会产生反射。对于高速链路,过孔需要做阻抗匹配,比如调整反焊盘尺寸。
第三,温度的影响。FR-4的Dk随温度变化,高温时Dk会略微下降,阻抗会上升。对于汽车电子等宽温应用,这个因素要考虑。
第四,SI9000的版本。不同版本的SI9000模型可能略有差异,建议用较新的版本。网上有SI9000中文版和安装教程,但注意来源可靠性。
5. 从计算到落地:把阻抗控制贯穿整个设计流程
算完线宽只是第一步。真正把阻抗控制做好,需要从设计规则、布局布线到和板厂沟通,全流程都盯住。
5.1 在设计规则里锁定线宽
算出线宽后,第一件事是在PCB设计软件里设置好设计规则。以Altium Designer为例,在Design → Rules → Routing → Width里,为需要阻抗控制的网络类(比如USB、HDMI、DDR)设置好最小、最大、优选线宽。优选线宽就填你算出来的值。这样布线时软件会自动按这个宽度走,避免手滑。
对于差分对,还要设置差分对规则,包括线宽、间距、最大长度差等。Cadence Allegro里对应的是Constraint Manager,设置逻辑类似。
实操心得:建议为阻抗线单独建一个网络类,把所有需要阻抗控制的网络归进去。这样规则管理清晰,后期改层叠时只需要改一个地方。
5.2 布局阶段就要考虑阻抗连续性
阻抗不连续是信号完整性的头号杀手。常见的阻抗不连续点包括:走线宽度突变、参考平面切换、过孔、连接器焊盘、测试点。布局阶段就要尽量避免这些。
比如,走线从表层换到内层时,参考平面会从第二层变成第三层,如果两层地平面之间的过孔设计不好,回流路径就会断裂。解决办法是在信号过孔旁边放地过孔,给回流电流提供低阻抗路径。
再比如,走线经过连接器时,焊盘通常比走线宽,阻抗会偏低。可以在焊盘附近做渐变线宽过渡,减少反射。
5.3 布线时的几个硬规矩
第一,阻抗线尽量走直线。每转一次弯,就会引入一点不连续性。如果必须转弯,用45度角或圆弧,不要用90度直角。
第二,差分对要等长。差分信号靠两根线的电压差传递信息,如果两根线长度不一致, skew会导致共模噪声和眼图恶化。等长误差一般控制在5mil以内,高速链路要求更严。
第三,保持参考平面完整。阻抗线下方不要有跨分割。如果必须跨,要在跨分割处放缝合电容。
第四,控制过孔数量。每个过孔都会引入寄生电容和电感,影响阻抗。高速链路尽量少换层。
5.4 和板厂沟通的正确姿势
发板前,把阻抗控制要求整理成一份文档,包括:目标阻抗、允许公差、需要控制的网络列表、参考层叠结构。板厂会根据他们的工艺能力确认或调整。
如果板厂反馈说某个阻抗做不了,不要硬来。先问清楚原因:是线宽太细超出工艺能力,还是层叠结构限制?然后调整设计。比如线宽太细,可以换更薄的介质,或者改用共面波导结构。
注意:阻抗公差通常标±10%,但实际能做到±7%就不错了。对于特别敏感的链路,可以和板厂协商加严公差,但成本会上升。
5.5 打样后的验证
板子回来之后,如果有阻抗测试条,先测阻抗。如果没有,可以用TDR(时域反射计)测走线阻抗。TDR的原理是发射一个快沿脉冲,通过观察反射波形来推算阻抗。测试时注意探头接地要短,否则会引入额外电感。
如果测出来阻抗偏差在公差范围内,说明设计没问题。如果偏了,记录偏差方向和数值,下次设计时修正。这个迭代过程做几次,你就对自己板厂的工艺能力有数了。
6. 几个进阶话题:从50欧姆延伸到更复杂的场景
6.1 共面波导:射频设计的常用结构
共面波导(CPW)是在走线两侧铺地,并在地铜上打孔到参考平面。这种结构的阻抗对走线到地铜的间距G很敏感。SI9000里有CPW模型,输入G和H1等参数。
CPW的好处是阻抗可控范围大,而且方便做探针测试。缺点是地铜上的过孔要足够密,否则地电位不一致。一般建议过孔间距小于1/10波长。
6.2 差分过孔的阻抗匹配
差分对换层时,过孔区域的阻抗通常偏低。因为过孔焊盘比走线宽,而且两个过孔之间有耦合。解决办法是调整反焊盘(anti-pad)尺寸,减小焊盘电容。有些设计还会在过孔旁边放地过孔,调整耦合。
SI9000本身不直接算过孔阻抗,但可以用它的结果作为参考,结合3D电磁仿真软件(比如HFSS)做更精确的分析。
6.3 阻抗与损耗的关系
阻抗控制的目标是减少反射,但损耗是另一个维度。损耗包括导体损耗和介质损耗。导体损耗和铜箔粗糙度、走线宽度有关。介质损耗和板材的损耗因子(Df)有关。
对于长距离高速链路,光控制阻抗不够,还要选低损耗板材。比如FR-4的Df在0.02左右,而低损耗板材可以做到0.005以下。当然成本也高很多。
6.4 不同板厂的工艺差异
不同板厂的蚀刻工艺、压合工艺、材料批次都不同,导致同样的设计在不同板厂做出来阻抗可能不一样。所以换板厂时,一定要重新确认层叠和阻抗。不要拿着旧板厂的参数直接给新板厂。
6.5 自动化工具的趋势
现在有些EDA工具开始集成AI辅助布局布线,能自动优化阻抗和长度。但阻抗计算这块,SI9000这类基于物理模型的计算工具仍然是基础。AI可以帮你更快地找到可行解,但前提是你得知道目标是什么、约束在哪里。
7. 我个人的一些实操体会
做了这么多年板子,关于阻抗控制,有几个体会比较深。
第一,不要迷信计算值,要相信实测。SI9000算得再准,也是基于理想模型。实际板厂的工艺波动、材料离散性,都会让结果有偏差。所以打样后一定要测,用实测数据反过来修正计算参数。做几次之后,你就有一套自己板厂的“经验修正系数”了。
第二,层叠参数是根本。很多人花大量时间调SI9000的参数,却忽略了层叠结构本身。其实只要层叠对了,线宽用软件一算就出来了。层叠错了,怎么调都是白搭。所以每次做新板,第一件事就是找板厂要层叠。
第三,阻抗控制要趁早。不要等布线快结束了才想起来算阻抗。布局阶段就要确定哪些网络需要阻抗控制,层叠怎么安排,参考平面怎么规划。后期再改,成本很高。
第四,和板厂做朋友。板厂的工程师其实很愿意帮你,只要你问的问题具体。不要只丢一个“帮我做50欧姆”过去,而是把你的层叠、线宽、目标阻抗整理好发过去,他们回复会快很多,也更准确。
第五,工具是死的,人是活的。SI9000只是一个计算器,它不会告诉你参考平面要完整、过孔要匹配、差分要等长。这些设计规则,靠的是你对信号完整性的理解。所以别只盯着软件,多看看书、多做做实测,理解背后的物理。
最后分享一个小技巧:如果你手头没有SI9000,或者想快速估算,可以用一些在线的阻抗计算器。但注意,在线工具的模型通常比较简化,精度不如SI9000。对于正式项目,还是建议用SI9000或板厂的工具。另外,嘉立创等板厂的官网上有阻抗计算页面,可以直接输入层叠参数算线宽,适合快速验证。
这个内容后续还可以这样扩展:比如针对特定接口(USB 3.0、HDMI 2.1、PCIe 5.0)的阻抗和损耗要求做专题;或者针对柔性板(FPC)的阻抗计算,因为FPC的介质和铜厚跟硬板差别很大;再或者针对高频板材(Rogers、Taconic)的Dk/Df参数选择。每个方向都有不少细节可以挖。