ARTICLE DETAIL

资讯详情

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

Altium Designer差分走线实战:规则设置与阻抗匹配全流程解析

Altium Designer差分走线实战:规则设置与阻抗匹配全流程解析 做PCB设计这些年差分走线算是高速电路里躲不开的硬骨头。很多刚接触Altium Designer的朋友一听到“差分”两个字就觉得玄乎其实真上手以后你会发现它本质上就是一对等长、等宽、间距恒定的走线难的不是操作而是你对规则和阻抗这层底层的逻辑理不理解。这篇东西就结合我自己的项目经验从规则设置讲到阻抗匹配把完整流程一步步拆开讲清楚。我做过的板子里从PCIe、USB、以太网到HDMI差分对基本覆盖了大部分高速接口。Altium Designer作为主力工具在差分走线这块的功能已经相当成熟尤其AD24之后的版本交互式布线体验和阻抗规则配置都更顺手了。整篇内容不绕弯子直接讲实操就算你是第一次画差分对跟着走也能把流程跑通。1. 差分走线为什么不能随便画先搞懂底层逻辑1.1 差分信号的本质与抗干扰优势差分信号传输说白了就是用两根线上的电压差来表示逻辑状态。发送端同时驱动极性相反的两个信号接收端检测的是两根线的差值。这样做最直接的好处是抗共模干扰比如外部电磁噪声同时耦合到两根线上那差值几乎不变信号的完整性就不会被破坏。再一个差分信号的回流电流路径比较稳定产生的电磁辐射也比单端信号小这对EMC测试帮助很大。从原理上说差分传输依赖的是两根线之间的耦合效应。这个耦合不是副作用而是它性能好的根源。正因如此差分走线才强调等长、等距、对称目的就是保证两根线上的噪声一致、延时一致让接收端采到的差值信号干净、无畸变。这也是为什么差分对不能像普通信号线那样随意拉线的原因。1.2 奇模阻抗、偶模阻抗与差分阻抗的关系刚开始学差分的时候阻抗这个词最容易把人绕晕。简单理解单端走线有单端阻抗差分走线里每个根线单独看有个阻抗叫奇模阻抗两根线一起看又有一个差分阻抗。它们的关系大概是差分阻抗约等于两倍奇模阻抗前提是两根线之间的耦合足够强。这里有个概念很容易混偶模阻抗通常和共模信号有关共模阻抗约等于偶模阻抗的一半。实际设计里我们最关心的是差分阻抗比如USB要求90Ω以太网要求100ΩHDMI要求100Ω这些就是差分对的目标阻抗。在Altium Designer里设置规则的时候你填的“阻抗”值就是基于这个来的。1.3 紧耦合与松耦合的区别和选择差分走线有个设计风格之争就是紧耦合还是松耦合。紧耦合就是两根线离得近线距小耦合强松耦合就是两根线离得远线距大耦合弱。紧耦合的优势是抗干扰能力强对参考平面要求相对低一点缺点是布线时灵活性差容易出现等长困难松耦合的优缺点刚好反过来布线灵活但对参考平面的连续性要求更高。实际上绝大多数量产板子都是紧耦合设计尤其高速接口比如PCIe、USB 3.0、HDMI都建议用紧耦合。松耦合一般只用于速率不太高、布线空间紧张的场景。在Altium Designer中配置规则时线距的设定就直接决定了你是紧耦合还是松耦合。2. 动手之前先做功课叠层与目标阻抗规划2.1 叠层结构对差分阻抗的影响差分阻抗不是拍脑袋定出来的它取决于走线所在层的参考平面、介质厚度、介电常数、线宽、线距等多个因素。其中走线到参考平面的介质厚度影响最大介质越厚阻抗越高线宽越大阻抗越低线距越大差分阻抗越大但奇模阻抗的变化幅度相对小。所以设计叠层的时候就要通盘考虑。常见的四层板叠层一般是顶面信号层、内电地层、内电层、底面信号层差分走线放在表层或底层走带状线或微带线。六层板、八层板走内层带状线的情况更多。每种叠层对应的阻抗计算公式不同结果也会不一样。改叠层不重新算阻抗是你画板验收时被发现“阻抗不对”的最常见原因。2.2 用Polar SI9000快速计算目标线宽线距阻抗计算工具业内用得比较多的是Polar SI9000也有用Saturn PCB Design Toolkit的。前者更专业做高速板的基本人手一套后者带叠层计算和多种传输线模型免费且界面友好。计算时你先选择对应的传输线模型比如表面微带线、内层带状线、或者有阻焊的涂覆微带线然后填入参数介电常数、介质厚度、铜厚、目标阻抗、线距软件就会算出需要的线宽。这里提醒一句助焊层的厚度对表层微带线的阻抗影响挺大的计算时要格外关注。很多板厂的叠层参数和你算的时候不一样最好设计前就找板厂要叠层结构或者让板厂帮你做阻抗计算建议值拿到PCBFab后跟自己的叠层库对一下再回填到Altium Designer规则里。2.3 常见接口的目标阻抗参考值做项目的时候目标阻抗一般由接口协议和芯片手册决定。最常见的几个值USB 2.0 Full/High Speed90Ω差分USB 3.0 / 3.1 / 3.290Ω差分另外还有RX、TX共四对PCIeGen1/2/3/4/585Ω差分以太网10/100/1000M100Ω差分HDMI100Ω差分TMDS时钟和数据对DisplayPort100Ω差分SATA100Ω差分MIPI D-PHY100Ω差分这些值要刻在脑子里拿到新项目先确认接口再去找对应的差分阻抗目标值。规则设置的第一步永远是确定你要“匹配多少欧”。3. Altium Designer规则设置实操核心配置逐项拆解3.1 新建差分对规则线宽、线距怎么填打开PCB面板进入Design Rules或者在PCB界面直接按DR快捷键进入规则设置界面。左边规则树里选Routing Differential Pairs Routing右键新建规则给它起个容易识别的名字比如“DP_100R_USB”。这里主要设置两个关键参数Minimum Width最小线宽、Preferred Width首选线宽、Maximum Width最大线宽以及Min Gap最小线距、Preferred Gap首选线距、Max Gap最大线距。线宽和线距的值主要就是根据前面的阻抗计算出来的。以100Ω差分、JLC7628叠层为例表层微带走线常见的参数是线宽0.15mm、线距0.15mm但这只是参考最终以板厂叠层为准。内层带状线的话线宽通常要更宽一些比如0.2mm甚至0.25mm因为内层介质厚。设置规则的时候别忘了把网络分配进去。在Differential Pairs Editor里把物理网络对比如USB_P和USB_N指定为差分对这样规则才能生效。尤其在AD24里面这个编辑器还支持从原理图导入差分对定义功能上更高效了。3.2 差分对约束规则间距、屏蔽地与区域约束差分规则不仅能限制线宽线距还能设置边界约束和区域约束。如果你要处理BGA内部的差分走线空间紧张线宽线距需要变通可以局部加一个Room规则在Room区域内允许更小的线距但不能小到违反板厂工艺极限。屏蔽地那条线也很关键。很多差分对旁边会要求加一条地线做屏蔽这条地线不要靠得太近一般建议保持两倍以上差分间距否则会影响差分阻抗。另外地线上最好有一些过孔接地形成闭合的屏蔽效果但注意不是每个过孔都需要间距过密会导致参考平面切割。3.3 规则优先级与检查怎么确保设置真正生效规则优先级是很多新手翻车的重灾区。在Altium Designer中同类型规则可以定义多条比如全局一个差分规则BGA区域一个差分规则USB差分对区域一个差分规则约束范围有重叠的话系统按优先级从高到低匹配。右键选择优先级数字越小优先级越高。通常局部规则优先级要高于全局规则否则你设置了半天实际布线用的还是全局规则。设置完规则之后CtrlM检查一下或者用Tools Design Rule Check重点确认Differential Pairs Routing这一项有没有报错。很多人的规则其实没生效就因为没有正确跑DRC或者规则的约束对象没选对网络。在规则设置里要注意Where the First object matches这一项必须正确填上对应的差分对网络。4. 布局阶段就要铺垫好差分对在PCB上的摆放要求4.1 差分对布线区域与接口器件摆放差分对的性能很大程度上在布局阶段就决定了。如果布局时把USB座子放在板边很远的地方、线必须绕一大圈才能连到芯片那走线的时候很难做到等长等距即使勉强拉通信号质量也会打折扣。所以布局时尽量把接口器和控制器放在同一侧缩短差分走线的距离避免跨分割区。另外一个容易忽视的点是差分对两侧不要放高噪声器件比如开关电源电感、晶振、时钟缓冲器。这些器件耦合到差分线上的噪声是共模噪声虽然差分信号能抑制一部分但抑制能力不是无限的现场测试时才发现噪声超标就晚了。我在一个4G模块的设计中吃过这个亏当时为保证天线净空模块放在板子边缘结果天线辐射串扰到了RGB信号线上后来只能加屏蔽罩补救。4.2 过孔与回流路径的规划差分走线换层时一对过孔要尽量靠近对称放置否则过孔引入的残桩和阻抗不连续会破坏时序裕量。常见的做法是差分对的两根线同时打两个过孔过孔间距与走线间距保持一致再在过孔旁边加一个地孔确保回流路径连续但不是所有时候都适合过孔旁边加地孔要看阻抗空间是否允许。更重要的一点是差分走线的正下方不要有分割的参考平面。如果参考平面被电源分割或者有狭缝回流电流就得绕路形成巨大的环路面积差模辐射和串扰都会上升。高速差分线的参考平面一定要完整这是布局阶段就要跟结构、叠层一起确认的问题。5. 差分走线实操从交互式布线到等长处理5.1 交互式差分布线命令与参数设置进入布线模式按快捷键PM再选择Differential Pair Interactive Routing或者直接单击工具栏上的差分布线按钮。布线模式弹出后按Tab键进入属性设置可以设置线宽、过孔尺寸、转角方式45度圆弧还是成角度、目标长度等。Altium Designer的差分布线是支持推挤、绕障和自动等长功能的可以充分利用智能交互式布线。我建议转弯用45度角或圆弧不要用直角。直角会形成阻抗突变在高速电路里影响相当明显。在需要弯曲的地方用ShiftSpace可以切换布线转角模式Alt是切换布线层。实际布线时我习惯把“Interactive Routing”里的“Obstacle Avoidance”设成Push模式这样布线时系统会自动推挤其他走线效率会高很多。5.2 差分对等长走线的实现与长度匹配技巧等长是差分走线的核心难点。当初USB 3.0规范要求TX/RX对内差分走线长度偏差不超过5mil到了PCIe Gen4/5要求更严。先在规则里把差分对的总长度目标值设好然后在布线后期用Interactive Length Tuning工具来微调选中一对走线执行Route Interactive Length Tuning或者快捷键TR进入等长调整模式按Tab键设置目标长度和振幅限制。蛇形线是等长调整的常见手段但有讲究蛇形线的间距一般要大于等于线距的3倍避免相邻线段之间产生额外耦合蛇形线尽量放在走线的末端也就是靠近接收端的地方避免信号反射相互叠加。AD里可以选择锯齿形、圆弧形等蛇形线某专业人士习惯圆弧形对信号质量的影响最小。驱动器设置中的Target于Diff Pair.在扇出布线时如果芯片引脚间距很小BGA内部比较拥挤差分管脚无法在FANOUT阶段就满足线距要求可以在BGA内部稍微缩短一点线距走出BGA区域后再恢复正常的线距要求。这是很多量产项目里的通用做法但你必须在规则里增加相应的区域约束否则DRC会报很多错。5.3 过孔附近如何处理差异差分对过孔附近的处理特别容易忽略。过孔本身有寄生电容和寄生电感对高速信号是一种阻抗不连续但如果只是低速信号影响不大。关键问题是差分对的两个过孔位置要尽量对称避免出现“一个孔离得近、一个孔离得远”的情况。那样会导致两根线的过孔残桩长度不一致传播延时就有偏差等长白做了。我通常会在过孔附近做“泪滴”处理补强金属连接减小机械应力对走线的破坏。泪滴还改善了过孔与走线交接处的阻抗突变虽说不一定能量化它到底降低了多少但在板材胀缩、焊接应力下可靠性确实好了不少。6. 阻抗匹配的实现与端接方案选择6.1 单端阻抗、差分阻抗与端接的关系前面提到阻抗匹配的核心目标是让传输线上的阻抗在各个位置保持一致避免反射。差分信号发送端的输出阻抗和接收端的输入阻抗通常和传输线的特征阻抗并不完全相等中间就需要匹配措施。对于点对点的差分接口有串阻端接、并联端接、RC端接等选择哪种要看芯片手册和信号速率。以PCIe为例发送端的差分阻抗是85Ω传输线也是85Ω接收端通常已经集成了一端接电阻所以PCB设计时只需要保证走线阻抗匹配即可不需要额外端接。但如果芯片手册没有说明内部端接你就要在接口处预留串阻或并联端接的位置。这些电阻放在芯片端还是连接器端也有讲究一般靠接收端放置效果最好。6.2 PCB工艺对阻抗匹配的实际影响板厂的实际蚀刻精度、玻纤编织效应、阻焊厚度都会影响最终的阻抗值。你在软件里算得再准板厂做出来也不一定准。这就是为什么建议设计前就把叠层发给板厂让板厂用他们的工艺参数帮忙计算参考线宽线距。我接过的项目中板厂建议值和软件算出的值往往差5到10欧姆如果你直接按软件算的做最后量出来的阻抗很可能超规格。对表层的差分走线阻焊层的厚度对阻抗影响不小尤其线宽较细的情况。计算时如果软件模型里带了阻焊厚度参数一定要填准确值。温度对介电常数也有影响但这种细微的变化在量产中通常不敏感不用刻意考虑。6.3 实测验证阻抗是否达标投板回来之后的验证阶段阻抗测试是必不可少的环节。板厂会从你的Gerber文件里选择阻抗测试条用TDR时域反射计进行阻抗测量交付时附带测试报告。自己有条件的话也可以用VNA矢量网络分析仪做插入损耗和回波损耗测试但成本高多数工程师没有这个条件。收到板厂的阻抗报告重点关注几个值目标阻抗与实测阻抗的偏差偏差通常在5%到10%以内算合格。如果发现偏差到了15%以上要回头分析是叠层参数和实际不符还是线宽在蚀刻时被削了还是计算模型用错了。有一次我们把表层微带线算成了内层带状线模型回来后实测阻抗低了十几欧姆后来返工才解决。这个教训让我每次做板都对板厂叠层图和计算模型“对三遍”。7. 差分走线的常见坑与排查方法速查7.1 常见设计问题汇总差分走线设计过程中很多问题不是原理性错误而是操作或规则设置上的疏忽。这里整理一个高频问题速查表方便大家遇到问题的时候对照排查。现象可能原因排查要点规则设置了但走线不按规则来差分对没有正确分配网络检查Differential Pairs Editor中的网络对定义只有一根线走另一根不走网络没有配对或走线模式错误确认进入的是Differential Pair Routing模式差分走线阻抗不达标叠层参数与板厂不一致与板厂核对叠层和线宽线距建议值差分对等长调整后DRC报错蛇形线间距太小或振幅超限检查蛇形线间距及规则约束中的最大振幅差分信号眼图很差参考平面分割或回流路径不连续检查差分线下方的平面是否连续过孔处反射严重两过孔不对称或残桩过长调整过孔位置考虑背钻方案7.2 规则设置不生效的排查思路规则设置不生效99%是网络对象匹配问题。打开PCB Rules and Constraints Editor点击差分走线规则查看Full Query确认它是否命中了你的差分对网络。如果规则里的网络填的是“All”它就会和全局规则发生冲突优先级低的那条会被忽略。还有一种情况是规则中设的线宽线距在布线时被系统禁止了比如Minimum Width设定为0.2mm但实际你走0.15mm的线系统会提示违反规则这时你第一反应应该是检查规则值而不是硬着头皮推线。Altium Designer有个很方便的功能在布线过程中按ShiftR可以实时切换忽略规则等模式但这个模式只是暂时的最后DRC照样报错别指望它蒙混过关。7.3 等长调整时的经验技巧等长调整是画差分对最花时间的环节。经验不足时容易来回调来调去效率很低。我的个人习惯是先布好线把所有差分对的物理长度报告导出来找出最长的那个把目标长度设成最长那对减去一个较小的允许误差值比如误差50mil那么目标长度设成最长走线长度再减25mil这样就有足够的空间做蛇形线补偿其他较短的线。蛇形线振幅要均匀锐角、直角不要出现。实际调整的时候放大画面慢慢调整并且时刻关注左下角的长度指示。AD的长度调谐工具里有个漂亮的动态长度表示可以实时看到长度变化。调到目标长度后再用CtrlM跑一遍DRC检查有没有间距报错。7.4 过孔背钻的事后修补方案如果是8层以上多层板信号高速率比如PCIe Gen4以上走线从表层换到内层过孔残桩的影响就会明显放大。残桩相当于一小段短截线会产生阻抗不连续和信号反射。解决办法可以选择背钻把残桩钻掉。背钻会增加制作成本每个背钻孔都会明确标注深度。所以不是所有过孔都需要背钻只对高速差分信号换层的那几个孔做就足够了。如果板厂不支持背钻那布局布线阶段就尽量少换层。8. 设计完成后如何验证确认万无一失8.1 检查清单与DRC配置每完成一次差分走线设计我都会跑一遍完整的设计规则检查并检查一下针对高速差分信号的附加规则。核心检查项包括以下几点。差分对方是否全部完成规则覆盖。等长偏差是否在目标范围内。回流路径是否连续参考平面是否被切割。过孔数量和位置是否对称。阻抗要求是否传递给板厂。阻焊开窗是否处理了差分测试点。DRC设置里重点勾选Differential Pairs和UnRouted Net这两项跑一遍然后把错误定位到具体对象结合报告逐个确认是否是误报。真正的干净板子DRC应该零错误最多也就是个别可忽略的工艺警告。8.2 输出制造文件与发给板厂的配套文档投板之前和板厂沟通的时候别忘了附上一份“阻抗叠层说明”。这份文档里写清楚每层的叠层结构、介质厚度、铜厚以及每条差分线的目标阻抗、线宽线距。很多板厂甚至有专门的阻抗调查问卷务必填写清楚。你在Gerber里设置了“阻抗层”或者在说明里标注“100Ω差分对”板厂就知道该怎么做了。Altium Designer里可以输出制造文件的同时也导出一份钻孔文件、装配图、器件坐标文件和BOM这些一起打包发给板厂能大幅度减少沟通成本。如果你用的是AD24以上版本OutJob功能可以一键输出所有文件非常方便我之前写过一篇关于OutJob快速导出文档的操作这里就不再重复。8.3 常见验收标准参考投板回来后对照板厂测试报告确认每对差分线的阻抗实测值在允许范围内。典型允许偏差为±10%高端要求会更严格。对于眼图测试如果你手头有示波器和专用测试夹具可以实际测一下眼图观察眼高、眼宽和抖动参数。如果眼图质量差先不要急着调布局先看阻抗测试报告多数问题都出在那里。我在实际项目的经验是跟板厂配合得好不好决定了很多隐藏问题的排查效率。提前把叠层参数核对工作做好后面会省下大量返工成本。真正做高速设计的工程师一定是“设计仿真实测”三线并行纸上谈兵在PCB这个领域走不远。差分走线这个东西一旦掌握了规则设置和阻抗匹配的底层原理剩下的就是肌肉记忆。多画几块板子对Altium Designer的操作熟了对叠层阻抗的敏感度有了自然就不觉得难了。希望这篇实战记录能帮你少踩几个坑节省一些调试时间。如果还有什么具体问题欢迎在留言区交流我看到会尽量回复。
返回列表