做Layout的人几乎没有不知道Polar SI9000的。不管是单端走线的50欧姆,还是USB、PCIe这些差分信号的90欧姆、100欧姆,最后都要靠这个软件把线宽、间距、介质厚度换算成实际尺寸。说实话,SI9000本身不是什么高深工具,难的是你往里面填的参数到底靠不靠谱。这篇文章我从信号完整性的角度把单端与差分信号阻抗设计整个流程串一遍,从叠层理解、模型选择、参数计算,一直到怎么把需求发给板厂、怎么对照实测结果,适合刚开始做阻抗控制的Layout工程师,也适合想彻底搞明白SI9000里那些H1、Er1、W1、S到底代表什么的硬件工程师。
先泼一盆冷水:网上很多所谓“一分钟算出50欧姆线宽”的教程,大多只教怎么点按钮,没教你应该对哪些参数负责。结果就是同样一个叠层,有人算出来线宽7mil,有人算出来5.5mil,最后板厂实测谁都不对。问题往往出在介质厚度取错了、铜厚没算电镀、阻焊层被忽略,或者差分模型选错了。所以这篇文章不只讲操作,更想帮你把软件背后的物理意义和工艺约束搞清楚。
1. 阻抗设计到底在解决什么问题
1.1 信号反射与阻抗不匹配的代价
信号在PCB走线里传播,本质上是在一个传输线结构里跑。传输线有一个固有属性,就是特征阻抗,它由线宽、介质厚度、介电常数、铜厚共同决定。当信号从这个阻抗的区域进入另一个阻抗不同的区域时,一部分能量会反射回来,一部分继续向前。反射信号叠加到原信号上,轻则造成振铃,重则让接收端误判电平。
举个例子:DDR3跑1600MT/s的时候,信号上升沿大约在200ps量级。如果走线阻抗在某个点从50欧姆突变到70欧姆,反射系数按(70-50)/(70+50)算,大约是0.167。看起来不大,但叠加在已经有串扰、电源噪声的系统中,就足够把时序裕量吃掉一大截。高频总线对阻抗不匹配尤其敏感,USB、PCIe、HDMI这些差分接口,接收端的眼图直接反映走线质量,阻抗偏差太大,眼图闭合、误码率飙升,跑都跑不起来。
所以阻抗控制不是“玄学”,也不是为了应付板厂。它是PCB设计里最基础的信号完整性工作之一。单端信号如此,差分信号更是如此,因为差分走线通常跑高速,而且差分对之间的耦合让计算更敏感。Polar SI9000在这个环节的作用,就是把电学目标(比如50欧姆)翻译成物理尺寸(线宽、间距),让板厂照着加工。
1.2 单端信号和差分信号的区别
先澄清一个概念:这里说的“单端”,是信号完整性里的single-ended信号,和某些领域说的“单端功放”“单端电路”不是一回事。单端信号的参考点是地,信号线上相对于地的电压变化就代表逻辑0或1。单端走线简单、引脚少,但容易受地弹和外部噪声干扰,所以高速场景越来越少用。
差分信号则是用两根线同时传输一对极性相反的信号,接收端解析的是两根线上的电压差。常见接口里,USB D+/D-、RS485的A/B、HDMI的TMDS、以太网的MDI都是差分。差分信号最大的好处是抗共模干扰:外界的噪声会同时耦合到两根线上,一减就消掉了,所以它对地噪声不那么敏感。代价是布线时必须保证两根线尽量等长、等距,而且周围参考平面要完整。
差分对信号“是一个整体”,这个观念很重要。很多人把差分布线理解成“两根独立单端线走一起”,这是错的。差分对之间不仅有对地电容,还有线间耦合电容和互感。这个耦合决定了差分阻抗并不等于单端阻抗的两倍,而必须用专门的差分模型去算。Polar SI9000里单端模型和差分模型分开,就是这个原因。
2. Polar SI9000上手准备:界面、模型与关键参数
2.1 先从叠层图开始
打开任何一块高速板的设计文件,第一件事不是开SI9000,而是先看叠层图。叠层图告诉你每一层是什么材料、厚度多少、介电常数多少、铜箔厚度多少,这些全部是阻抗计算的基础。没有准确的叠层参数,软件再准也没用。
叠层图里最核心的是信号层到参考平面之间的介质厚度。Polar SI9000里的H1就是这个距离,单位一般是mil。很多新手容易把整层PP的总厚度当成H1,但实际压合后PP会被压缩,厚度跟厂家压合参数有关。所以最稳妥的做法是直接找板厂要“压合后的介质厚度”,而不是自己在叠层图上累加。
另外,介电常数Er也不是一个固定值。普通FR4在1GHz附近大约4.2到4.5,但不同厂家、不同PP型号差异不小。高速板材像Megtron6可能在3.6到3.8,M6差不多。千万不能网上随便查一个4.2就填进去,要以板厂提供的DK表为准,而且要对应到工作频率下的DK。
2.2 模型选型表与参数说明
Polar SI9000提供了几十种模型,不可能全记住,但常用的也就那几个。选模型的原则很简单:走线在哪一层,参考平面怎么分布,表层有没有阻焊,就选对应的模型。
- 表层走线,下面一个参考平面,上面是空气或阻焊,用Surface Microstrip,比如Surface Microstrip 1B(带阻焊修正参数)。
- 内层走线,上下都有参考平面,用Stripline;如果上下介质厚度不对称,用Offset Stripline。
- 表层走线,两侧还有地铜围过来,用Coated Coplanar Waveguide With Ground,射频电路常用。
- 差分走线,表层用Edge-Coupled Surface Microstrip,内层用Edge-Coupled Offset Stripline或Edge-Coupled Stripline。
模型选定后,遇到的就是一堆缩写参数。H1是走线到最近参考平面的介质厚度,H2是走线到另一侧参考平面的介质厚度;Er1是上半部分介质的介电常数,Er2是下半部分的;W1是线顶部的宽度,W2是线底部的宽度,两者不同是因为蚀刻后铜线截面是梯形;T1是成品铜厚,包括基铜加电镀;S是差分对内两根线的边到边间距;C1、C2、C3是阻焊层相关的修正参数。
理解这些参数,比记住模型名更重要。尤其是W1和W2:PCB厂光刻曝光时,顶部受光多、蚀刻少,底部被腐蚀多,所以实际铜线截面是上宽下窄。SI9000里填W1通常是设计线宽,W2等于W1减去蚀刻补偿,具体补偿多少要看板厂工艺,一般内层蚀刻因子在3.5到4,外层在2到2.5。
2.3 单位、铜厚、阻焊和蚀刻参数的处理
SI9000界面上有单位切换,mil和mm都可以用。国内很多板厂习惯用mil,我自己也习惯用mil,数字直观,迭代起来方便。但要注意,切单位后所有输入值都会换算,填错单位是低级错误里最伤人的一种。
铜厚这个参数特别容易被忽略。PCB内层基铜一般是0.5oz(约0.7mil)或1oz(约1.2mil),但外层是基铜加电镀,成品铜厚可能到1.8mil甚至更高。铜越厚,线的侧壁越大,对地电容越大,阻抗越低。同样目标阻抗下,厚铜要的线宽更细。所以填T1时,外层一定要填含电镀的成品铜厚,内层就以基铜厚度计算。
阻焊层对表层微带线的影响也很大。阻焊油墨的介电常数大约3.5到4,覆盖在走线上相当于增加了一层电容,会让阻抗变低。如果完全忽略阻焊,算出来的表层阻抗可能比实际偏高3到6欧姆,对50欧姆系统来说,这个偏差已经不可忽略了。SI9000里带Coated字样的模型,用C1、C2、C3参数来修正阻焊影响。板厂给阻抗计算单时,这些值通常也会参与微调。
3. 单端阻抗设计实操:50欧姆是怎么算出来的
3.1 表层微带线计算步骤与实例
表层单端走线是最常见的场景,比如DDR地址线、以太网RX/TX、射频微带线。目标阻抗默认50欧姆。打开Polar SI9000,左侧模型列表选Surface Microstrip 1B,右侧参数栏会出现H1、Er1、W1、W2、T1、C1、C2、C3。
假设一个典型四层板叠层:表层到参考平面介质厚度H1=4.2mil,Er1=4.2,成品铜厚T1=1.8mil,阻焊C1和C2都填0.4mil。我先估算W1=7.5mil,W2=6.8mil,填入后点Calculate,得到的阻抗如果偏离50欧姆,就调整W1。线宽越大,阻抗越低;线宽越小,阻抗越高。所以算出来偏高就加宽,偏低就改窄。实际迭代三五次,最后把目标阻抗控制在50欧姆附近即可。
这里说一个我的习惯:我从来不在SI9000里追求一个绝对精确的整数,比如正好50.0。板厂算法和实测本身有误差,只要计算值落在49.5到50.5,就算OK。后面板厂还会根据他们的蚀刻因子和阻焊厚度微调线宽,我在计算单上写清楚要求就行。
表层微带线的特点是只有一侧是FR4,另一侧是空气和阻焊。空气的介电常数约为1,FR4是4.2,所以等效介电常数比纯FR4低,信号速度更快,同样几何尺寸下阻抗偏高。换句话说,表层要达到50欧姆,线宽通常比内层更宽,这就是同样50欧姆的表层线和内层线不能相互抄尺寸的原因。
3.2 内层带状线计算与表层差异对比
内层带状线走线上下都有参考平面,电场被夹在介质里,等效介电常数更接近FR4本身,所以同样线宽下阻抗会比表层低。要在内层做到50欧姆,线宽通常要收窄一些。
在SI9000里,内层单端模型常用Offset Stripline,因为完全对称的叠层在真实PCB里反而不多。参数里多了H2和Er2,分别是走线到另一侧参考平面的介质厚度和介电常数。L2到L3之间的介质厚度5mil,L3到L4之间的介质厚度也是5mil,H1和H2就都填5,Er1和Er2都填4.2,这是对称带状线。如果一边5一边8,那就用Offset模型,分别填H1和H2。
我实际算过一块六层板:内层L3走线,上下介质厚度各4.5mil,Er=4.2,铜厚1.2mil,目标50欧姆,计算出来线宽大约5mil上下。而同一块板的表层微带线,同样50欧姆,线宽要到7.5mil左右。这个差距就是空气介质“拉高”了表层阻抗的结果。
内层带状线的优势是阻抗受阻焊影响小,因为阻焊根本覆盖不到内层走线,计算时不用填C1、C2、C3。而且内层有上下两个参考平面,屏蔽好,串扰也小。缺点是走线埋在介质里,一旦板厂压合厚度出现偏差,阻抗波动会比较明显,而且无法事后调整,所以内层阻抗设计更要依赖准确叠层。
3.3 单端设计的注意事项
单端阻抗计算里,最常见的错误有几种。
第一,H1取错。H1必须是信号层到相邻参考平面的压合后厚度,不是PP标称厚度,也不是整板厚度。这个值直接决定阻抗,差0.5mil就可能差2到3欧姆。
第二,忽略W2。有些教程只填W1,W2留空或填一样。对普通FR4工艺,蚀刻补偿一般在0.5到1mil,表层更大。完全不顾W2会让计算偏乐观,线宽出来后和板厂实测对不上。
第三,表层线忘了阻焊修正。我见过很多工程师用不带Coated的模型算表层阻抗,高高兴兴把结果发给板厂,结果板厂反馈实测偏低,还要改版。最简单的办法是直接选带Coated的模型,C1、C2初期可以按0.3到0.5mil估,板厂会在审核时修正。
第四,忽略参考平面完整性。这一点软件体现不出来,但比很多参数都关键。表层走线下面必须有完整的地平面,如果被电源分割槽切掉了,阻抗在跨分割处突变,SI9000算得再准也白搭。
4. 差分信号阻抗设计实操:100/90/120欧姆怎么控制
4.1 差分阻抗模型与间距、线宽的拉锯战
差分阻抗计算不能直接拿两根单端线的参数套,必须用差分模型。Polar SI9000里,表层差分选Edge-Coupled Surface Microstrip,内层差分选Edge-Coupled Offset Stripline,参数比单端多了S,也就是差分对内间距。
这里有个几乎所有新手都会困惑的点:为什么同样线宽,差分阻抗不等于两倍单端阻抗?因为两根线靠得很近时,彼此之间有耦合,耦合改变了整个传输线结构的特性。间距S越小,耦合越强,差分阻抗越低;S越大,耦合越弱,差分阻抗越接近两倍单端阻抗,但永远不会等于,总会有一点影响。
所以差分设计在SI9000里是一个二维调整:W控制单端基础阻抗,S控制耦合强度。目标差分阻抗一定时,可以有很多种W和S的组合。比如表层100欧姆差分,W=5.2mil、S=8.5mil是一种解法;W=4.8mil、S=6.5mil也可能接近100欧姆。区别在于前者耦合弱、等长要求压力小;后者耦合强、省面积,但更容易受加工偏差影响。
我在实际项目里的做法是:先根据单端50欧姆线宽算一个起始W,然后把S定在W的1.5到2倍之间,用SI9000迭代。如果算出来的差分阻抗偏低,优先加大S;如果偏高,优先加大W。这样调整的物理逻辑是:S变了主要影响耦合,W变了主要影响单端基线阻抗,分开调更容易收敛。
4.2 三类常见差分接口的阻抗目标与实例
不同差分接口的目标阻抗各不相同。USB 2.0、USB 3.x的D+/D-要求90欧姆差分,PCIe一般85欧姆,HDMI和以太网要求100欧姆,RS485总线通常是120欧姆。这些目标值来自协议标准,不要自己随意改。
以USB 2.0为例,MCU如果连USB差分信号数据引脚都没有,说明芯片本身没有USB PHY,这时候真正的解决方法是外接USB PHY芯片或者换带USB的MCU,而不是在Layout层面想办法。因为USB差分对不只是两根线,D+/D-还涉及内部收发器、终端电阻和驱动强度,普通GPIO模拟不了。外接PHY之后,PHY到USB座之间仍然是90欧姆差分走线,按标准控制就行。
RS485也是差分信号的经典应用,A和B两根线传输差分电压,接收端解析A-B的电压差。RS485总线末端经常并联一个120欧姆终端电阻来匹配线缆阻抗,PCB上的A/B走线也建议按120欧姆差分阻抗控制。不过RS485速率低,对阻抗精度的容忍度比USB高,我更关注的是两根线尽量贴着走,避免形成大环路,才是抗干扰的关键。
实际计算时,把目标阻抗从100改成90或者120很简单,但W和S的收敛方向不同。我的经验是,同样叠层下,90欧姆比100欧姆需要的W更宽或S更小;120欧姆则要W更细或S更大。具体数值交给SI9000迭代,别凭感觉估。
4.3 等长、耦合与参考平面完整性
差分设计不只是阻抗计算。SI9000给出W和S之后,还要考虑等长和耦合的工程实现。
对内等长是差分走线的硬约束。USB 2.0建议对内偏差控制在5mil以内,PCIe更是要求尽量接近0。因为两根线长度不同,到达接收端的相位就不同,共模干扰抑制能力下降,眼图质量变差。Polar SI9000不负责等长,但等长设计导致的蛇形绕线会带来额外问题:绕线段的间距如果太小,会产生额外的耦合,改变这段走线的局部差分阻抗。
参考平面完整性对差分线同样重要。差分信号理论上主要靠对地回路回流,但现实中参考平面的分割会造成回流路径绕行,产生共模电流。所以差分走线最好不要跨越分割槽,如果实在避免不了,至少要在分割处增加桥接电容。
还有一个容易被忽略的点:表层差分线覆盖阻焊后,阻抗一样会被压低,而且差分阻抗对阻焊更敏感。板厂在EQ阶段经常会根据阻焊厚度调整W和S,收到板厂EQ时不要觉得对方多事,这是正常流程。
5. 从SI9000到板厂:阻抗计算单与实测校准
5.1 阻抗计算单应该怎么写
把SI9000里的参数和截图整理成阻抗计算单,是设计工程师和板厂之间最重要的沟通文件。写得不清楚,板厂只能猜,猜错了就返工。
一份合格的阻抗计算单至少要包含以下信息:叠层编号和版本、信号层位置、模型名称(比如Surface Microstrip 1B还是Edge-Coupled Offset Stripline)、目标阻抗值及公差、介质厚度H1/H2、介电常数Er1/Er2、铜厚T1、线宽W1/W2、差分间距S、阻焊修正参数C1/C2/C3,以及SI9000输出的预计阻抗。
发出去之前,自己先检查一遍:模型是不是对应该层的实际结构,H1是不是压合后厚度,Er是不是板厂提供的DK,差分模型里的S是不是边到边距离。这些核对完,板厂只要按工艺微调W和S就行,不会产生大分歧。
我一般还会在计算单上注明公差要求。常规单端是±10%,差分也是±10%;高速接口比如PCIe可能要求±5%。公差直接写在计算单上,板厂会按你的要求管控测试条。
5.2 为什么软件算的和板厂实测对不上
软件算完不等于板上实测就一模一样。SI9000基于理想传输线模型,但实际PCB有一堆非理想工艺因素。
首先是阻焊层。表层微带线的实测阻抗低于无阻焊模型的计算值,因为阻焊油墨增大了电容。如果你用的是带Coated的模型还好,差距能在1到2欧姆内;用不带Coated的模型,差距可能到3到5欧姆。
其次是玻纤效应。FR4的玻纤布介电常数接近6.2,树脂基材大约3.2,两者编织交错,造成介质在微观上不均匀。差分对的两根线如果一条压在玻纤束上,一条落在树脂区,阻抗和时延都会不一样。对这种局部差异,Polar SI9000无能为力,因为它用的是平均Er。高频高速设计会选择扁平玻纤布,或者把走线旋转10度来规避,但这是板级设计策略,不是软件能解决的。
再次是蚀刻和铜箔粗糙度。铜箔表面粗糙会增大损耗,也会轻微影响阻抗。板厂在阻抗测试条上测出来的值,是包括这些工艺影响的综合结果,跟SI9000的理想模型有一定偏差很正常。通常内层带状线的计算值更贴近实测,表层微带线偏差稍大,这都是行业共识。
5.3 常见问题排查速查
我在实际项目中积累了一些排查阻抗问题的经验,整理成速查表:
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| 表层50欧姆计算正常,实测普遍偏低 | 阻焊影响未考虑 | 确认模型是否带Coated,C1/C2是否合理 |
| 差分阻抗实测与计算差很多 | S取错或参考平面不完整 | 核对S的定义是边到边而非中心距,检查差分下方地平面是否完整 |
| 板厂反馈W/S需要调很大 | 叠层介质厚度与板厂不一致 | 重新索要板厂压合后叠层参数,更新SI9000输入 |
| 内层带状线阻抗波动大 | 玻纤效应或介质厚度偏差 | 确认板材类型,必要时换低Dk玻纤布 |
| 阻抗测试条通过,实际走线却不好 | 测试条结构和实际走线不一致 | 核对测试条是否覆盖阻焊、是否同层同参考面 |
| 高速差分眼图质量差但阻抗没问题 | 等长偏差偏大或回流路径不好 | 查对内等长,检查跨分割和过孔stub |
还有一个很直接的建议:每次改版,都把上一版的计算单和板厂实测报告留档。同一个叠层,板厂不同,工艺参数差异很大,同一套W/S可能在甲板厂是50欧姆,在乙板厂只有47欧姆。留档多了,就形成自己的阻抗数据库,下次选板厂或调叠层时,心里特别有底。
关于Polar SI9000,说实话我用了快十年,它本质上就是一个专业的传输线计算器,真正值钱的是你对叠层、工艺和信号完整性的理解。我现在拿到新叠层,第一件事不是开软件,而是先找板厂要叠层图和材料DK表;参数填得越贴合实际,后面返工越少。最后再分享一个小技巧:每次算完阻抗,把参数截图连同计算单一起归档,以后换板厂或者改叠层时,直接拿历史记录对比,真的能省下很多沟通成本。