ARTICLE DETAIL

资讯详情

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

嘉立创EDA差分走线全攻略:从阻抗计算到DRC验证

嘉立创EDA差分走线全攻略:从阻抗计算到DRC验证 1. 差分走线到底在解决什么问题很多人第一次接触差分走线是因为板子上出现了USB、HDMI、以太网、PCIe这类接口。单端走线跑低速信号没问题一旦速率上去信号完整性问题就集中爆发了。差分走线不是两根线一起走这么简单它本质上是一套用物理结构对抗电磁干扰和时序抖动的工程方法。1.1 从单端到差分一个必然的演进单端信号用一根线传输参考地作为回流路径。信号速率低的时候地平面完整、回流路径短问题不大。但当信号边沿变陡、频率升高回流电流不再走最短路径而是走最小阻抗路径地平面上的缝隙、过孔、分割就会让回流路径变得不可预测。结果就是辐射增强、串扰加剧、眼图闭合。差分信号用两根线传输一对幅度相等、极性相反的信号。接收端关心的是两根线之间的电压差而不是每根线对地的绝对电压。这个机制带来三个直接好处共模噪声在差分接收端被抵消、对外辐射因为两根线电流方向相反而相互削弱、时序参考点从对地变成两根线的交叉点对地弹不敏感。注意差分走线的核心不是两根线而是两根线之间的耦合关系。如果两根线各走各的间距忽大忽小那它只是两根单端线差分的好处基本拿不到。1.2 嘉立创EDA里差分对的识别逻辑嘉立创EDA专业版对差分对的处理底层依赖的是网络命名规则和用户手动绑定的差分对列表。软件不会自动猜哪两根线是差分对它需要你明确告诉它。常见做法有两种一种是在原理图阶段就用_P/_N、/-、_DP/_DN这类后缀命名导入PCB后软件按规则自动匹配另一种是在PCB编辑器里手动创建差分对把两个网络绑成一对。这里有个容易忽略的点嘉立创EDA的差分对匹配规则是可以在设置里调整的。默认规则不一定覆盖你项目里的命名习惯。比如有些方案用TX0和TX0-有些用USB_DM和USB_DP如果你不提前在规则里配置对应的前后缀软件就识别不出来后面所有差分走线功能都用不了。1.3 差分阻抗为什么是50欧姆的两倍经常有人问单端50欧姆差分是不是100欧姆答案是对于紧耦合差分对差分阻抗确实接近两根单端线阻抗之和所以常见USB 2.0的差分阻抗是90欧姆USB 3.0和HDMI是100欧姆以太网是100欧姆。但这不是简单的50乘2因为两根线之间存在耦合奇模阻抗和偶模阻抗不一样差分阻抗是奇模阻抗的两倍。实际计算时差分阻抗取决于四个参数线宽W、线间距S、介质厚度H、铜厚T。嘉立创EDA内置的阻抗计算工具就是基于这些参数做近似计算。但我要提醒一句软件算出来的值是理论值实际板厂压合后的阻抗会有偏差通常±10%以内算合格。所以关键差分对最好在板厂做阻抗测试或者至少让板厂按你的叠层参数做阻抗模拟。2. 在嘉立创EDA里把差分对真正跑起来知道了原理接下来是实操。嘉立创EDA专业版和标准版在差分走线功能上有差异专业版支持得更完整。下面以专业版为主标准版用户可以参考思路部分功能需要手动替代。2.1 差分对的前置配置命名、绑定与规则第一步永远是在原理图阶段就把命名规范定好。我习惯用_P和_N后缀因为嘉立创EDA默认规则里就包含这一对。如果你用的是别的命名比如和-那就去设计→规则→差分对里把对应的前后缀加进去。导入PCB后打开设计→差分对管理器检查软件识别出来的差分对列表。如果发现某对没被识别可以手动添加。这里有个细节手动添加时两个网络的名称必须和PCB网络列表里完全一致大小写敏感。我见过有人因为原理图里写的是USB_DPPCB里网络名变成了USB_DP_1结果死活绑不上。绑定完成后设置差分对规则。在设计→规则→差分对里可以针对每一对或每一类差分对设置线宽、线间距、最大长度差、目标阻抗。嘉立创EDA允许你按差分对类Differential Pair Class来管理比如把USB 2.0归一类HDMI归另一类规则分开设。参数USB 2.0典型值HDMI典型值以太网典型值差分阻抗90Ω100Ω100Ω单线宽6-8mil5-6mil6mil线间距6-8mil5-6mil6mil最大长度差5mil5mil10mil最大走线长度视协议而定视协议而定视协议而定提示上表是常见参考值实际必须根据你的叠层和板厂工艺调整。嘉立创EDA的阻抗计算器里可以输入叠层参数反推线宽线间距。2.2 差分走线的交互操作与常见卡点配置好规则后在PCB编辑器里选择布线→差分对布线然后点击差分对中的任意一根线软件会自动带着另一根一起走。走线过程中按Tab可以切换线宽线间距按~可以打孔换层。实际操作中最容易卡住的地方有几个第一个是焊盘出口。很多器件的差分焊盘间距很小比如0.5mm pitch的连接器焊盘间距可能只有0.2mm。这时候如果规则里设的线间距是0.15mm软件会提示无法布线。解决办法是在焊盘附近用颈缩neckdown规则允许局部线宽线间距变小出了焊盘区域再恢复到正常值。嘉立创EDA里可以在规则里设置从焊盘出线的例外规则。第二个是过孔换层。差分对换层时两根线要打一对过孔而且过孔要尽量靠近最好对称放置。嘉立创EDA在差分走线模式下会自动打一对过孔但过孔间距取决于你的规则设置。如果过孔离得太远换层处的差分阻抗会突变引起反射。我一般会把差分过孔间距设成和线间距一致或者略小。第三个是长度差补偿。差分对的两根线如果长度不一致 skew会转化为共模噪声降低信号质量。嘉立创EDA提供差分对长度调谐功能可以自动在较短的那根线上绕蛇形线来补偿。但自动补偿有时候绕得很难看占用大量空间。我的经验是先手动走走到末端看长度差如果差得不多比如5mil以内手动加一两个小弯就够了差得多再考虑自动调谐。2.3 走线后的DRC检查与差分对专项验证走完差分线必须跑DRC。嘉立创EDA的DRC里有一类专门针对差分对的检查项包括差分对是否完整布线、长度差是否超标、线间距是否满足规则、过孔数量是否对称等。这里要重点说一个热词里提到的报错[DRC RTSTAT-6] partial route conflicts: 1184 net(s) have a partial conflict。这个报错的意思是有大量网络存在部分布线冲突通常是因为你只走了一部分线或者走线过程中有未连接的端点。对于差分对来说如果只走了P线没走N线或者两根线都走了但末端没连到焊盘就会报这个。处理办法不是盲目地点忽略而是打开DRC报告逐个查看冲突的网络。如果是差分对优先检查两根线是否都完整从源端走到宿端、是否有未连接的飞线、是否有线头悬空。1184个冲突听起来吓人但很多时候是同一类问题批量出现比如某个连接器的所有差分对都只走了一半。3. 阻抗计算从叠层参数到实际线宽差分走线的灵魂是阻抗控制。阻抗不对信号反射、眼图闭合、误码率上升后面怎么调都白搭。嘉立创EDA内置了阻抗计算工具但很多人不知道怎么用或者用了但结果和板厂对不上。3.1 嘉立创EDA阻抗计算器的输入参数怎么填打开工具→阻抗计算器你会看到几个输入项目标阻抗、线宽、线间距、介质厚度、铜厚、介电常数。这些参数里介电常数和介质厚度是最容易填错的。介电常数Dk取决于板材。常见的FR-4板材Dk在4.2到4.6之间但高频板材比如 Rogers 4350BDk只有3.48。如果你用的是嘉立创的普通FR-4Dk填4.3左右比较稳妥。介质厚度不是芯板厚度而是差分线到参考平面之间的介质总厚度包括半固化片和芯板。这个值必须从板厂的叠层结构里拿不能自己猜。铜厚方面嘉立创默认是1oz约35μm但外层铜经过电镀后会变厚实际可能到1.5oz甚至2oz。阻抗计算时如果按1oz算实际阻抗会偏低。我一般会问板厂要成品铜厚参数或者直接按1.5oz估算。填完参数后软件会算出线宽和线间距的组合。但注意软件算的是理论值实际生产时蚀刻会侧蚀导致线宽变窄、阻抗升高。所以通常要把线宽稍微算大一点比如软件算出6mil实际可以设6.5mil留一点余量。3.2 叠层设计对差分阻抗的影响四层板和六层板的差分阻抗控制难度完全不同。四层板通常是Top-GND-PWR-Bottom差分线走在Top层参考GND层。这时候介质厚度就是Top到GND之间的芯板厚度一般比较薄线宽可以做得比较细。六层板常见叠层是Top-GND-SIG-PWR-GND-Bottom差分线可以走在Top或SIG层参考平面选择更多但叠层对称性要求更高。嘉立创EDA六层板做差分时我建议把差分线走在内层SIG层因为内层铜厚均匀、蚀刻偏差小阻抗一致性比外层好。但内层走线需要打过孔换层过孔会引入寄生电容和电感所以过孔要尽量短、尽量少。注意叠层设计不是越复杂越好。有些项目为了省成本用四层板但差分线走在Bottom层参考PWR层而PWR层被分割得七零八落回流路径断裂差分阻抗完全失控。这种情况不如多花点钱用六层板把参考平面做完整。3.3 阻抗测试与板厂沟通的实操经验板厂做阻抗测试通常是用TDR时域反射计测测试 coupon 上的差分线。测试 coupon 是板边附加的一条专门用于阻抗测试的走线和你的差分线同层、同线宽、同间距。如果你在板边没有放测试 coupon板厂可能就不测或者用你的实际走线测但那样可能损坏板子。我的做法是在板边空白区域放一组测试 coupon包含所有需要控制的阻抗类型单端50Ω、差分90Ω、差分100Ω。coupon 的线宽线间距和实际走线一致长度至少5cm。然后在给板厂的说明里写清楚哪些层需要控制阻抗、目标值是多少、测试 coupon 的位置。板厂反馈阻抗测试报告后重点看两个值实测阻抗和目标阻抗的偏差、同一 coupon 上不同位置的阻抗一致性。偏差在±10%以内算合格一致性方面如果同一 coupon 上阻抗波动超过5Ω说明蚀刻不均匀或者叠层有偏差需要和板厂沟通调整。4. 差分走线的进阶技巧与踩坑记录前面讲的是基础操作这一章讲一些只有实际做过板子才会遇到的问题。这些内容在官方文档里通常找不到但每一个都可能让你的板子翻车。4.1 差分对与星型接地的配合热词里有人搜嘉立创eda如何布线星型接地这其实和差分走线有交叉。星型接地的核心思想是每个器件的接地回流路径独立回到电源接地点避免共用回流路径产生地弹。对于差分对来说如果差分接收端的接地参考不稳定共模抑制比会下降。我的做法是差分对下方的参考平面必须完整不能有分割。如果板子上有多个地模拟地、数字地差分对下方的地要和接收端的地保持一致。比如USB差分对从连接器进来连接器的地应该和USB控制器的地是同一块铜皮中间不要用磁珠或0欧电阻隔开。如果非要隔隔离点要放在差分对区域之外。星型接地在差分对上的具体体现是差分对的两根线下方地平面上的回流电流方向相反如果地平面完整回流电流会集中在两根线正下方形成紧耦合。如果地平面被分割回流电流被迫绕路差分阻抗和共模抑制都会变差。4.2 差分过孔的设计细节差分对换层时过孔的设计直接影响信号质量。理想情况下差分过孔应该满足两个过孔对称、间距等于线间距、过孔周围有足够的地过孔提供回流路径。实际设计中我通常会在差分过孔旁边放2到4个地过孔地过孔和差分过孔的距离尽量小比如0.5mm以内。地过孔的作用是给回流电流提供低阻抗路径减少过孔处的阻抗突变。如果空间允许地过孔应该围绕差分过孔呈对称分布。还有一个细节差分过孔的反焊盘anti-pad大小。反焊盘是过孔和参考平面之间的隔离区域反焊盘越大过孔的寄生电容越小但回流路径越长。一般反焊盘直径比过孔焊盘大0.2mm到0.3mm比较合适。嘉立创EDA里可以在过孔属性里设置反焊盘大小或者在规则里统一设置。4.3 长度差补偿的时机与手法长度差补偿不是越早越好。我见过有人在走线一开始就绕蛇形线结果走到后面发现绕多了又要拆掉重来。正确的做法是先把两根线都走到末端测量实际长度差再决定在哪里补偿、补偿多少。补偿的位置也有讲究。蛇形线应该放在差分对的末端或者中间相对空旷的区域不要放在靠近接收端的地方因为蛇形线本身会引入阻抗不连续。如果差分对经过连接器或者过孔补偿点应该放在这些不连续点之后。嘉立创EDA的差分对长度调谐功能可以自动绕蛇形线但自动绕出来的形状有时候太密线间距太小反而引起串扰。我一般会手动调整先让软件绕一个大概然后手动把蛇形线的间距拉大或者改成更平缓的波浪形。4.4 那些年我踩过的差分走线坑第一个坑差分对走线经过电源分割区。有一次做一块四层板差分线走在Top层参考的是内层GND。但内层GND被电源分割成了几块差分线正好跨过分割缝。结果板子回来测试眼图完全闭合。后来把差分线改到不跨分割的区域问题解决。教训是差分线下方参考平面必须完整跨分割是禁忌。第二个坑差分对两根线间距忽大忽小。有一块板子空间紧张差分线在某个区域被迫分开走间距从6mil变成了20mil。当时觉得反正都是差分对应该没事。结果测试时共模噪声明显增大辐射超标。后来把那个区域重新布局让差分线始终保持紧耦合问题才解决。差分对的耦合度直接影响共模抑制间距变化越大共模抑制越差。第三个坑DRC报partial route conflicts没当回事。有一次板子有几百个partial route conflicts我以为是软件误报直接忽略了。结果打样回来发现好几个差分对根本没连通飞线还在。后来才知道partial route conflicts很多时候是真的有未连接的线头。现在我的习惯是DRC报这个错一定逐个检查确认是误报才忽略。第四个坑阻抗计算时介电常数填错。有一次用了高频板材但阻抗计算时Dk还是按FR-4的4.3填的实际板材Dk是3.5。结果算出来的线宽偏细实际阻抗偏高。板厂测试报告显示差分阻抗105Ω目标100Ω偏差5%勉强合格但余量很小。后来改用正确的Dk重新算线宽加粗阻抗就准了。5. 从原理图到打样一个完整差分项目的检查清单做完一块带差分对的板子从原理图到打样中间有很多检查点。我整理了一份自己的检查清单每次打样前过一遍能避开大部分低级错误。5.1 原理图阶段的差分对检查原理图阶段要确认的事情差分对的命名是否规范、是否成对出现、是否连接到了正确的器件引脚。我习惯在原理图里用差分对符号如果有的话或者至少用网络标签明确标注_P和_N。另外差分对的终端电阻是否画了、阻值是否正确、是否靠近接收端这些都要在原理图阶段确认。还有一个容易漏的差分对的ESD保护器件。很多接口需要ESD保护但ESD器件的寄生电容会影响差分阻抗。选型时要看ESD器件的电容值USB 2.0一般要求小于3pFUSB 3.0要求小于0.5pF。如果ESD器件电容太大差分信号会被衰减。5.2 PCB布局阶段的差分对检查布局阶段要确认差分对从源端到宿端的路径是否尽量短、是否避免经过噪声源比如开关电源、晶振、是否避免跨分割。差分对的源端和宿端尽量在同一层减少过孔数量。如果必须换层过孔要对称、要加地过孔。另外差分对的终端电阻要靠近接收端放置电阻到接收端的走线要尽量短。如果终端电阻放在中间差分线会有一段 stubstub会引起反射。我一般把终端电阻放在接收端焊盘旁边走线长度控制在5mm以内。5.3 布线完成后的最终验证布线完成后跑DRC重点看差分对相关的检查项。然后打开3D视图检查差分对下方参考平面是否完整。再用嘉立创EDA的网络长度功能查看每对差分对的P线和N线长度确认长度差在规则范围内。最后导出Gerber之前确认叠层设置和板厂要求一致。如果板厂有阻抗控制要求把阻抗计算参数和测试 coupon 位置一起发给板厂。打样回来后如果条件允许用TDR测一下实际阻抗和仿真值对比积累自己的经验数据。检查阶段检查项常见问题原理图差分对命名命名不规范导致PCB无法识别原理图终端电阻阻值错误或位置不对布局路径长度走线过长导致衰减布局噪声源靠近开关电源或晶振布线参考平面跨分割导致回流断裂布线过孔不对称或缺少地过孔布线长度差超标导致共模噪声打样阻抗测试未放测试coupon或参数错误提示这份清单不是绝对的不同项目有不同的侧重点。但如果你每次打样前都过一遍至少能避开80%的常见问题。差分走线这件事说到底是一个细节决定成败的领域。原理不难理解但实际操作中每一个参数、每一个过孔、每一段走线都会影响最终结果。嘉立创EDA提供了不错的工具支持但工具只是辅助真正决定板子质量的还是设计者对信号完整性的理解和经验积累。我自己的习惯是每做完一块板子把遇到的问题和解决办法记下来下次设计时翻一翻比看任何教程都管用。
返回列表