ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

差分阻抗怎么算?Polar SI9000实战100Ω差分对设计

差分阻抗怎么算?Polar SI9000实战100Ω差分对设计 画了几年板子第一次听说“差分线必须100Ω”的时候我内心是拒绝的。凭什么凭什么是100随手拉个8/8mil它不香吗后来在产线看到TDR测试仪上那条明显凹陷的阻抗曲线听板厂的人说“你们这对差分线的阻抗只有86Ω客户那边眼图比较差”我才意识到这玩意儿不是靠手感能糊弄过去的。Polar SI9000不是万能的但它至少能把“凭感觉”变成“有依据”。这篇文章我会从头到尾讲清楚差分阻抗到底怎么来的、Polar SI9000怎么用、表层和内层差分线怎么算以及一个真实的4层板100Ω差分对案例最后再聊几个我踩过的阻抗实测坑。希望对正在跟阻抗死磕的硬件工程师、PCB Layout工程师有点用。1. 为什么差分线非要100Ω从信号完整性到EMI的现实考量1.1 差分阻抗是什么奇模阻抗与Zdiff2×Zodd很多人把“差分阻抗”理解成两根单端线的阻抗之和这是不对的。差分线工作的时候两根线上的信号是等幅反相的这会在两根线之间建立一条能量传输的回路。差分阻抗的本质是当两根线以差模方式激励时单一根线看到的瞬态阻抗也就是奇模阻抗Zodd然后把两根线串起来看差分阻抗就是2×Zodd。这个2倍关系很关键它意味着你没法通过单独测量一条线的单端阻抗来推差分阻抗。单端阻抗50Ω的线做成差分对之后差分阻抗大概率不是100Ω可能更高也可能更低取决于线距和耦合程度。很多人一开始在这里犯迷糊后来我用Polar SI9000算过一组数据就清楚了同样5mil线宽的微带线单端阻抗约58Ω但按5/5mil间距做差分对Zdiff算出来可能只有95Ω左右如果把间距拉开到8milZdiff又能往上走。所以差分阻抗是一个“系统量”由线宽、线距、介质厚度、铜厚共同决定。这里还要解释一下“耦合”。两根差分线靠得越近电场和磁场的耦合越强等效电容变大奇模阻抗会下降反过来间距拉大耦合变弱Zdiff会上升。理解了这个关系后面调参的时候就不会瞎试。1.2 偏离100Ω会怎样反射、振铃、EMI一起找上门差分信号在传输过程中如果线缆、连接器、PCB走线三者的特征阻抗不一致信号每经过一个阻抗突变点就会产生反射。反射叠加在原信号上造成的直接后果是振铃和过冲反映到眼图上就是眼高缩小、眼宽变窄、抖动变大。尤其是USB 2.0、LVDS这类对时序余量卡的比较紧的接口眼图一旦闭合那就是实打实的量产问题。对EMI来说阻抗不匹配导致反射信号在传输线上来回震荡会加大共模分量。差分线对共模干扰本身有抑制作用但反射把这种平衡破坏了共模噪声反而会通过线缆辐射出去。我自己遇到过一块板子辐射超标最后定位到就是一对LVDS差分线的阻抗设计偏低反射能量在线上泵浦形成了非预期辐射源。再有就是功耗和热的问题这个在高速大电流场景下更明显。反射意味着有能量回灌到驱动端驱动芯片的功耗上升结温升高。虽然低速板卡上不明显但高速接口多了以后这些细节会累积成大问题。1.3 不同高速接口的差分阻抗要求100Ω不是唯一答案100Ω确实是最常见的差分阻抗目标值但不是说所有差分线都是100Ω。USB 2.0/USB 3.x的TX/RX、LVDS、PCIe、1000BASE-T以太网、MIPI D-PHY等主流高速接口标准里都明确写的是100Ω差分。HDMI的TMDS通道名义上也是100Ω但实际很多设计会微调。除此之外DDR的地址/控制信号在部分场景用的是单端40Ω或37.5Ω没有差分要求一些射频差分对为了匹配天线可能要求90Ω或110Ω。我的习惯是每次拿到原理图先把所有差分信号过一遍按接口类型把目标阻抗列成一张表。这张表后面会直接对应到Polar SI9000的计算目标和PCB设计规则里。100Ω是主力但90Ω、85Ω、120Ω某些RS-485/CAN总线场景也都会出现。别一把尺子量所有信号先看接口协议或芯片手册再决定用哪个目标。2. Polar SI9000的核心逻辑模型选对、参数看懂、叠层对齐2.1 Polar SI9000到底在算什么Polar SI9000本质上是一个二维/准三维的场求解器它通过有限元或边界元方法求解传输线横截面上的静电场分布从而得出特征阻抗。跟那些基于经验公式的计算器比SI9000能处理更复杂的横截面结构比如表层线上面覆盖阻焊油、内层线被上下两层介质夹住、线路截面是梯形蚀刻后的真实形状这些情况。用这类工具之前我一直靠查表或者公式卡片算阻抗结果在表层走线上偏差特别大。原因很简单表层走线上方的介质不是均匀空气而是部分空气、部分阻焊油这种混合介质让经验公式算不准。Polar把阻焊层、铜箔厚度、蚀刻角度都建模进去了出来的结果更接近真实板材。工具只是工具算出来的值准不准取决于输入参数对不对。Polar SI9000的界面不复杂但参数面板上每个字段都对应叠层和工艺里的一个真实信息填错了计算结果再精确也是空中楼阁。2.2 表层差分和内层差分模型选择对照Polar里的模型很多但日常做板子90%的情况集中在两类表层差分走线也就是微带线结构常用的是Edge-coupled Coated Microstrip 1B模型。这个“Coated”指的是表面有阻焊油计算时会同时考虑空气和阻焊层的影响。很多新手用Edge-coupled Microstrip 1A无阻焊模型算表层差分线算出来的阻抗会偏高实际板子做出来对不上就是这个原因。内层差分走线也就是带状线结构常用Edge-coupled Stripline模型。内层线上下都有参考平面被介质包裹阻焊油不参与这一层的计算选型反而简单。具体怎么判断打开PCB的叠层文件看走线在哪个层。表层Top/Bottom选微带线系列内层L2/L3/Inner等选带状线系列。如果表层差分线经过的区域做了开窗没有阻焊油覆盖那就要去掉Coated选项用1A之类的无阻焊模型这里不要怕麻烦多确认一步能省很多沟通成本。2.3 参数表逐项解读单位、介电常数、铜厚与阻焊Polar参数面板上常见的字段和含义如下我按表层差分微带线1B来逐项说明H1从走线所在的铜箔层到下一层参考平面的介质厚度这是阻抗计算里最敏感的参数之一。实际工程中这个值不是PCB板的总厚度而是具体那一层叠层中半固化片PP或芯板Core的厚度单位通常是mil但软件也支持mm。Er1该层介质的相对介电常数。FR-4板材在不同频率和不同树脂含量下Er会有差异通常取3.8~4.5之间。做仿真时如果没有准确数据先按板厂提供的材料选型表里默认值填后面再按测试结果修正。W1、W2走线顶部宽度和底部宽度。由于蚀刻过程中药水的侧向腐蚀走线截面是上窄下宽的梯形。一般W2比W1大0.5mil左右也可以根据板厂建议设定。S1两根差分线之间的边到边间距。这个值是Layout中可以直接控制的也是调阻抗的核心旋钮之一。T1铜箔总厚度。1oz基铜约1.2mil加上电镀后实际铜厚可能到1.4~1.6mil具体以板厂工艺为准。C1、C2、Er2阻焊层的相关参数。C1是阻焊油从介质表面到阻焊油顶面的厚度C2是从铜箔表面到阻焊油顶面的厚度Er2是阻焊油的介电常数。阻焊层会让表层阻抗整体下降几欧姆到十几欧姆参数填不填差别不小。D1合金层之类的附加层厚度一般不用管保持默认0即可。我第一次用这工具时把H1按整板厚度1.6mm填进去了算出来的阻抗只有十几Ω当时还以为软件坏了后来才发现单位混了、概念也混了。H1只取走线层到参考平面之间那一层介质厚度不是整板厚度。所以每次算阻抗前先回叠层表里把对应层的材质和厚度摘出来单独填表保持单位统一。3. 从叠层到规则手把手跑出100Ω差分对3.1 第一步拿到真实叠层整理计算输入不管用哪个版本的Polar第一步永远是叠层。我在实际项目里的固定动作是找板厂要叠层表或者自己画的叠层文件里把每一层的介质类型、厚度、铜厚、介电常数标记清楚。注意叠层表上标的是理想厚度真实压合后会有正负10%的波动这点后面排查时会再提。假设我们现在做一个普通4层板目标是把表层的一对USB 2.0差分线控制在100Ω±10%。叠层信息简化如下L1表层铜箔1oz基铜加电镀后总铜厚T11.6milL1到L2介质一片PP半固化片厚度H15.1milEr14.2FR-4典型值L2完整地平面L2到L3芯板厚度H39.4mil不影响表层计算但影响内层计算时要用L3电源平面L3到L4PP厚度H5.1milL4底层铜箔同样1oz基铜这个叠层信息就是所有计算的源头。注意L1到L2之间只有一层PP这个数值必须准确。很多做蓝牙板、USB转串口板的朋友喜欢用现成的1.6mm四层板叠层但不同品牌板材的PP厚度差很多最好拿到板厂确认过的叠层表再算。3.2 第二步选模型、跑Solve得到第一版线宽线距打开Polar SI9000在菜单里选择Edge-coupled Coated Microstrip 1B模型然后把刚才整理的参数填进去。参数填法我按实际经验给一组起始值H15.1milEr14.2W15mil这是我们猜的起始线宽W24.5milW1减0.5mil模拟蚀刻梯形S17mil起始线距T11.6milC10.8milC20.3milEr23.5阻焊油介电常数全部填完点Solve求解按钮软件会算出差分阻抗Zdiff。我拿这组参数试算的结果通常在95~105Ω之间具体值取决于软件版本和细微的算法设置。如果结果偏了就进入下一步微调。有一个操作细节Polar求解前会让你选择差分模式的激励方式一般是Odd Mode奇模。这个模式下算出的阻抗才是我们想要的Zdiff的一半再乘2反正软件最终显示的Zdiff就是差分阻抗直接看输出值即可。3.3 第三步微调方向与控制制程冗余算完第一版之后根据结果微调。记住这几个方向可以省去大量盲目试算变化差分阻抗Zdiff的影响线宽W增大阻抗下降线距S增大阻抗上升介质厚度H1增大阻抗上升铜厚T1增大阻抗下降阻焊油厚度增加阻抗下降所以如果第一版算出来Zdiff96Ω差4Ω我通常会优先把线距从7mil微调到7.5mil或者8mil而不是急着动线宽。因为线宽一旦变了差分对本身占用的布线空间就变了跟旁边其他走线的间距都要重排。调完参数再次Solve直到Zdiff落在98~102Ω之间。这里我不建议追求刚刚好100.0Ω原因很简单板材生产有公差蚀刻有公差阻焊厚度也有公差算到100.0Ω只是理论上完美实际制程会偏离。留一点设计余量是成熟做法。我的目标是让计算值尽量居中比如99~101Ω然后把±10%容差写进设计规则。最后还要确认一下这个线宽线距是否满足板厂的最小线宽/线距能力。很多常规板厂最小能做到4/4mil但信号完整性和量产良率角度5~6mil才是更稳妥的选择。如果算出来的线宽只有3mil那就说明叠层厚度太薄或者目标阻抗不合理需要回头调整叠层甚至换板材而不是硬着头皮出图。3.4 第四步把阻抗结果固化进EDA规则Polar算完不是终点要把它变成Layout设计规则。以Altium Designer为例打开PCB规则编辑器在High Speed类下找到Differential Pair Routing新建规则指定网络名比如USB_DM、USB_DP把Min/Max/Target Impedance填上100Ω再把线宽和线距按Polar的结果填到规则里。之后走差分对时软件会按这个规则自动控制线宽线距不符合规则的地方会高亮报错。这一步很容易被忽略。很多人算完阻抗截图发朋友圈就完了回到画图时还是随手拉线最后算出来的阻抗跟实际走线完全不是一回事。阻抗是“走线物理尺寸的结论”画线的时候不按算出来的参数走那等于前面全白做。需要注意的是Polar给出线宽线距是基于“理想差分对”的但实际布线时为了绕等长蛇形线的部分会引入额外的耦合变化差分阻抗也会跟着微变。这部分影响下一节案例里专门讲。4. 实战落地4层板USB/LVDS差分对的完整流程4.1 案例背景USB 2.0与LVDS混合走线的4层板我挑一个比较有代表性的案例一块4层控制板需要同时走USB 2.0差分对和一路LVDS差分对目标阻抗都是100Ω。叠层就是上面说的L1表层走差分L2完整地平面L3电源L4底层。这个案例的典型性在于USB 2.0信号速度不算高480Mbps但LVDS的时钟往往在几十MHz到百MHz级两者对阻抗的敏感度都不低。而且板子上还有DDR、电源、音频等信号布局布线空间并不宽裕差分线要穿过密集的元件区绕等长的需求也很明显。4.2 Polar求解记录表层差分对的具体参数我按上面第3节的流程用4层板叠层参数跑了一轮第一版参数H15.1milEr14.2W15milW24.5milS17milT11.6milC10.8milC20.3milEr23.5。Polar求解结果Zdiff大概在101Ω左右。这个值已经满足100Ω±10%的要求但我还想留一点余量因为它离中心值100Ω只差了1Ω而实际制程波动可能让它跑到90Ω附近。于是我把S1从7mil微调到7.5mil重新求解结果落到100.3Ω附近。这个值可以作为设计目标值。LVDS那对因为布线区域更窄我把S1压到了5mil然后通过增大线宽来尝试保持100Ω。实测算下来在S15mil、W15.5mil、W25mil时Zdiff也能落在100Ω左右。这里的关键就是线距变窄增强了耦合阻抗有下降趋势所以必须加大线宽来拉回。很多人看到线距窄就以为阻抗一定低实际上线宽同时也在起作用。把USB和LVDS两对的参数整理到规则里分别建两套Differential Pair Routing规则网络类区分开这样走线时软件会自动按各自规则控制。4.3 从阻抗规则到实际布线AD软件中的差分对设置在实际布线阶段设置好规则只是第一步。用Altium Designer的Interactive Differential Pair Routing功能选中USB_DM和USB_DP网络组软件会自动识别并开始走差分对。走线过程中按Tab键可以打开属性面板实时看到当前线宽线距跟规则的匹配情况遇到不满足的地方手动调整。这里有几个布线层面的经验差分对的正负两根线尽量在同一层走不要跨层跨层意味着阻抗参考平面变化必然出现阻抗不连续。差分对下方要保证完整的参考平面不要有电源层的分割槽从下面穿过否则回流路径绕远阻抗和EMI都会出问题。过孔会改变走线的等效结构导致局部阻抗下降。一对差分线如果必须打过孔换层尽量在过孔旁边加两个地孔让回流路径连续过孔的孔径和反焊盘尺寸也要跟板厂确认。在AD里还有一个常见需求差分对要等长软件里可以用Interactive Length Tuning功能拉蛇形线。蛇形线的线间距一般要保持在线宽的3倍以上太紧会明显改变局部耦合导致阻抗下降。4.4 等长调整对阻抗的隐性影响这里专门提一下差分布线里的等长绕线。很多人在Layout群里问“AD怎么调节差分线长度”其实方法不难难的是绕完等长之后保持阻抗稳定。蛇形绕线的结构跟并行走线不同两根线的间距在弯折处会突然变小导致局部耦合增强、阻抗下降。如果绕线幅度太大、间距太近可能让整对差分线在某个频点上出现阻抗凹陷。我测试过一组5mil线宽的差分对在绕线区域间距压到5mil以内之后Zdiff从100Ω掉到了88Ω影响非常大。所以我的建议是等长绕线时绕线区域内两根线之间的间距保持大于等于正常线距的1.5~2倍绕线幅度不要太大分段绕不要一次绕一个巨大的环。如果空间实在紧张宁可稍微牺牲一点等长精度也不要牺牲阻抗连续性。5. 阻抗算对了却测不对五个高频误差源与排查链路5.1 第一类坑单位、模型、叠层三层输入错误这是最哭笑不得的一类问题。前阵子一个朋友找我说算出来的阻抗是101Ω板子回来后实测只有78Ω。我让他把Polar参数截图发来一看单位用的是mm但他的线宽数据是mil直接把5mil填进去变成了5mm等效就是196mil宽的线阻抗当然低到离谱。所以每次填参数之前先把单位统一。模型选错也很常见。内层走线用了表层微带线模型或者表层走线用了无阻焊模型都会导致计算值跟实际有系统偏差。表层无阻焊模型算出来普遍偏高5~10Ω因为空气的介电常数低场分布跟有阻焊油覆盖时完全不一样。叠层参数错了就更隐蔽。很多PCB文件里的叠层标注是设计值不一定是板厂实际压合后的厚度。比如PP片在压合时会被压缩实际厚度可能比标称薄10%。如果直接按标称值填进Polar算出来的阻抗会略微偏高。遇到实测偏低的情况我第一反应就是去核对H1的真实厚度。5.2 第二类坑阻焊层、玻纤效应与蚀刻补偿表层差分线的阻焊油影响前面反复提到了这里再强调一次阻焊油的厚度和介电常数会让表层差分阻抗下降3~8Ω。如果你用无阻焊模型算出来101Ω实际板子上盖了阻焊油测出来很可能只有93Ω。现在大多数板卡的差分线都是盖油的所以尽量用Coated模型。玻纤效应是另一个容易忽略的因素。FR-4板材是用玻璃布浸渍树脂压合而成的玻璃布的介电常数约6左右比树脂约3左右高。走线如果刚好落在玻璃布窗口位置周边介质主要是树脂阻抗偏高如果落在玻纤束上方阻抗偏低。这就是为什么同一批板子隔离位置不同测试出来的阻抗会有几个欧姆的波动。解决玻纤效应的方法一是选用压延玻璃布的低损耗板材成本会高一些二是注意差分对在PCB上的放置角度尽量避开玻纤布窗口周期三是接受这个波动把阻抗目标设在容差中间值。蚀刻方面板厂在制作线路时会做补偿让蚀刻后的线宽正好达标。但如果补偿量给多了实际线宽偏大阻抗就会偏小。这种问题一般通过跟板厂确认阻值线coupon上的实测线宽来核对。5.3 第三类坑TDR实测与板厂沟通的细节阻抗测试通常用TDR或者板厂自带的阻抗测试仪。测试结果对不上除了设计问题还可能是测试方法问题。TDR的测试原理是向传输线发送一个快速沿脉冲观察反射波形来推算阻抗。它的分辨率和测试点位置很敏感。如果你直接用探头点在差分线的芯片端和连接器端这两端的过孔、焊盘、封装引线都会产生反射测出来的阻抗值其实是“整条链路的平均印象”而不是单纯的走线阻抗。所以板厂在生产板上做阻抗测试时通常会在工艺边专门做一条跟设计完全一样的阻抗测试条couponcoupon的走线和参考平面都复制产品区域这样测出来的才是能跟Polar计算结果对照的值。跟板厂沟通时我习惯把Polar计算时的截图发过去连同叠层表、目标阻抗范围一起。板厂会根据他们的实际制程能力评估如果发现设计值在工艺窗口边缘他们会提前提出。这个环节非常关键因为板厂掌握的蚀刻补偿量、阻焊厚度实际值比我们准。我吃过亏之前闷头算完直接发板结果板厂说这个5mil线宽在他们工艺下只能做到±0.5mil公差100Ω±10%勉强但边缘。后来我养成了“计算后用一封邮件跟板厂确认叠层和阻抗window”的习惯再没出过系统性偏差。5.4 排查顺序与我的复盘清单遇到阻抗实测不对别急着改线宽。我一般按这个顺序排查先确认测试对象是coupon还是实际走线。实际走线会受到器件、过孔影响数据不能直接跟Polar对比。检查Polar的单位、模型、H1、Er1、T1这些输入是否跟实际叠层一致。核对板厂实际叠层表确认介质厚度是否被压缩、铜厚是否如预期。确认表层走线是否盖阻焊油如果盖了、计算却用了无阻焊模型把模型换过来重算。看蚀刻后的实测线宽线距反推填入Polar看计算阻抗是否跟实测接近。如果接近说明方向找对了如果差异依然很大就要怀疑介电常数或阻焊参数设置。这套复盘清单帮我解决过好几个“测出来只有82Ω怎么算都该是100Ω”的悬案最后多半是模型选错或者叠层厚度没对。阻抗匹配这件事说到底就是一场“把材料参数和物理尺寸转成电性能”的换算。Polar SI9000能把换算过程变得透明可查但它不替你做判断。真正决定阻抗能不能过的是叠层数据准不准、模型选得对不对、规则有没有落到Layout里、以及跟板厂有没有把工艺窗口对齐。我自己现在每个项目都会在开始阶段建一张阻抗计算表把所有差分信号的类型、目标阻抗、线宽线距、所属层、公式截图全部归档改一次叠层就全表重算一遍虽然前期工作量多了点但是后面打样、量产、测试的时候省下的沟通成本是好几倍的。
返回列表