资讯动态

AD20差分对布线全流程:从原理图定义到等长调整与DRC检查

发布时间:2026/10/8 15:20:25 来源:尧图企业网站定制
AD20差分对怎么走很多工程师画完原理图一到PCB阶段就在这儿卡壳。差分信号在USB、HDMI、PCIe、以太网这些接口里到处都是规则设置不对、等长调不好板子做回来高速通信就是一手的眼图问题。AD20的差分对布线工具链其实挺成熟但操作入口藏得比较深加上新版界面和旧教程对不上新手容易一头雾水。这篇文章我会从原理图端怎么定义差分网络开始讲到PCB里如何配置规则、交互式走线、等长补偿再到DRC检查和常见坑位排查。只要你用的AD2021、22版本操作几乎一样跟着一步步来至少能把一对差分线规规矩矩地走出来并且能通过等长检查和DRC验证。内容偏实操适合刚接触高速PCB设计、或者一直用auto-interactive但没搞懂底层逻辑的朋友。1. 为什么说差分对走线是高速板设计的硬门槛1.1 差分信号的三大核心优势差分信号就是用两根等长、等幅、相位相反的信号线来传输一份数据。接收端比较的是两根线的电压差而不是对地电压。这个特性带来了三个非常实际的好处。第一抗共模干扰能力强。外界噪声通常同时耦合到两根线上形成共模分量由于接收端只看差值这部分噪声会被抵消掉。所以你在地平面不那么完整、电磁环境比较复杂的板子上用差分传输明显比单端走线稳。第二对外电磁辐射更小。两根线相位相反它们在空间中的电场会相互抵消对外界的电磁干扰EMI被有效抑制。产品过EMC测试的时候差分接口往往比单端接口省心不少。第三支持更低的电压摆幅。差分信号不需要很大的电压跳变就能被正确识别因此可以跑很高的速率比如USB 3.x、PCIe、10G以太网都是靠差分信号把频率推到GHz级别。1.2 差分走线必须盯住的两个核心指标单纯把两根线画得一样长还不够工程师真正要控制的是两个维度的事情。一是对内等长也就是同一对差分信号里P和N两根线之间的长度差。这个偏差会造成相位差导致接收端的差分电压摆幅下降、时序偏移。对内等长的容忍度取决于信号速率和协议要求比如USB 2.0高速模式下一般要求5mil以内千兆以太网的MDI差分对通常也按5mil控制PCIe则要求更严某些版本甚至要求2mil以内。二是对间等长也就是一组差分总线中不同差分对之间的长度差。比如PCIe的一整条链路包含多对差分信号对间长度差异过大会造成SKEW偏斜影响并行数据的时序裕量。具体数值同样看协议有的要求5mil有的放宽到10mil甚至几十mil。很多新手只知道喊等长却不清楚到底等的是哪一级的长度这是设计评审时最容易暴露的问题。在AD20里这两个指标分别对应两套工具差分对布线时的长度显示以及Interactive Diff Pair Length Tuning的长度调节功能。下面我会逐个拆解。2. 动手前先备好地基原理图端差分对的正确定义方式2.1 差分网络命名规则与识别设置AD20识别差分对最省事的办法是靠网络名后缀。默认情况下一对差分信号如果命名为TXP和TXN、RXP和RXN、DP和DN这类成对后缀AD20在把原理图同步到PCB时会自动弹窗询问是否将其识别为差分对。具体命名有两种风格。一种是使用_N和_P结尾例如ETH_TXP、ETH_TXN另一种是使用_P和_N之外的组合例如_DP和_DN。AD20默认认识的是_P和_N这一组但你可以自己在设置里改。检查的方法是打开Project面板右键工程名选择Project Options切到Options选项卡在Net Identifier Scope下面有一栏Net Naming双击进入可以看到两组后缀输入框默认是_P和_N。如果你公司内部习惯用_P和_N以外的后缀在这里改一下就能被识别。注意原理图同步到PCB的这个自动识别弹窗只在确保已经勾选了Project Options中Generate Diff Pair directives类选项或者同步时选择了Detect Diff Pairs才会出现。如果没弹窗不一定是没识别到也可能只是识别完了没提示。2.2 在原理图里显式设置差分对属性命名规范没问题的大多数网络自动识别就够用了。但有些网络名不规则或者你希望更稳妥地控制差分对关系建议直接在原理图上放一个差分对指示符Differential Pair Directive强制指定。具体操作打开原理图库找到Differential Pair Directive符号一般在Miscellaneous Devices.IntLib里名字叫DifferentialPair放置到差分信号线上。放置后双击属性可以设置名称、极性以及是否用于生成PCB布线规则。不过从实际项目来看我一般不会在原理图阶段放太多这种指示符。原因有二一是放置位置不对时容易覆盖到邻近网络二是同步时偶尔会生成重复的差分对定义。更好的做法是原理图用规范命名PCB端统一管理差分对Class和规则这样逻辑更清晰。2.3 同步到PCB后如何确认差分对已经正确导入原理图更新到PCB后打开PCB面板右下角Panels - PCB或者快捷键L调出面板控制在面板顶部的下拉框里选择Differential Pairs Editor这时候你能看到当前板子上所有已经识别出的差分对列表。这里有个关键点如果你发现某个差分网络没有出现在列表里不要急着手动添加先检查网络名后缀是否匹配再检查Project Options里的后缀设置。大部分识别不了的案例根因都是命名不匹配。如果确实有特殊网络需要手动配对可以在Differential Pairs Editor面板里点击Add手动选择Positive Net和Negative NetAD20会自动把它加入板级差分对管理。手动添加的差分对也能正常参与交互式走线和等长调节不影响功能。3. PCB编辑器中差分对规则的配置与参数推导3.1 打开差分对规则面板的两种路径差分对走线必须要有规则约束否则AD20默认不会给你一对一起走的交互式布线能力。打开规则编辑器的路径有两个菜单栏Design - Rules或者快捷键DR。进入PCB Rules and Constraints Editor后在左侧树形结构里找到Routing - Differential Pairs Routing。默认情况下这里只有一个全局规则适用所有差分网络。但实际项目里USB和PCIe的差分要求往往不一样所以我们需要针对不同的差分对Class建立多条规则。3.2 线宽、线距、阻抗怎么定Differential Pairs Routing规则里有几个关键参数需要理解清楚Min Width、Preferred Width、Max Width以及Min Gap、Preferred Gap、Max Gap。这里的Width指的是差分对中每根线的线宽Gap指的是同一对信号线之间的边到边距离。为什么同时要有线宽和线距因为差分阻抗是由线宽、线距、参考平面距离共同决定的。线宽越宽、离参考平面越近阻抗越低线距越大耦合越弱阻抗越偏高但线距太大又容易失去差分耦合的意义。以最常见的100欧姆差分阻抗为例。假设四层板L2是完整的地平面表层L1走微带线介质厚度约0.1mm到0.15mm4mil到6mil那么常见的设计组合是线宽5mil到6mil、线距5mil到6mil。如果是内层带状线参考平面上下都有介质厚度一样的话线宽可能需要更细一点同时线距也可以稍微拉开。但这里我要强调一下这些数值只是经验起点不是标准答案。真正靠谱的做法是用阻抗计算工具比如Polar Si9000、Saturn PCB Toolkit结合你的叠层参数去算。把介电常数、介质厚度、铜厚、绿油厚度输入进去微调线宽线距直到目标阻抗落在100欧姆正负10%的范围。实操提示在AD20里不需要在规则里直接写阻抗值也没地方写阻抗是靠叠层和线宽线距保障的。规则里只填几何参数即可。3.3 差分对Class与规则绑定技巧在PCB中按快捷键DC打开Object Class Explorer在Differential Pair Class下可以新建一个Class比如命名为PCIe_Diff或者USB_Diff。然后在Class Members里把对应的差分对网络选中加入。Class建好之后回到Differential Pairs Routing规则界面。在Where The First object matches区域里选择Custom Query然后输入InDifferentialPairClass(PCIe_Diff)接着把这个Class规则拖到优先级更高的位置AD20会自动按顺序匹配越靠前的规则优先。这样设置之后属于PCIe_Diff这一类别的差分对就走自己专属的线宽线距规则其他差分对还走默认规则。同类操作也可以用InNetClass、InComponent等方式做更细粒度的控制但实战中按Class管理最清晰。还要单拎出来说的是差分对跟其他网络的间距规则。差分对内部有Gap但差分对和别的信号之间还要有安全间距。方法是在Routing - Clearance里新建一条规则Query同样用InDifferentialPairClass(xxx)把约束的间距加大。比如差分对跟普通单端信号之间至少留3倍线宽常见做法避免串扰。这一点在跑完DRC后如果报间距错误九成是这条规则没建。4. 实操AD20差分对走线的完整流程4.1 第一步布线前的网络标识确认规则配好之后先别急着拉线。在PCB界面里按快捷键PD走差分对的默认快捷键光标会变成十字这时候AD20会提示你选择要布线的差分对网络。如果你发现按下快捷键没有任何反应或者只能逐根走线八成是差分对没有被正确识别或者规则没生效。确认差分对是否有效可以用一个很直观的方法在PCB面板下拉框里选择Differential Pairs Editor查看列表里每一对的Length值是否正常。如果长度为0或者显示--说明网络还没被分配到对应的差分对。另外在布线时AD20默认会带出两根线一起走如果你看到只有一根线跟随鼠标建议先停下来检查规则而不是硬着头皮继续画。4.2 第二步交互式差分对布线的快捷键与模式切换正常状态下按下快捷键P再按D就会进入交互式差分对布线模式。此时你鼠标点击任意一个差分网络的焊盘AD20会自动把该对的两根线一起拉出来。配合ShiftW可以快速切换预设线宽如果规则里没有设置也可以直接按Tab在属性面板里改。AD20的布线转角模式可以用ShiftSpace循环切换45度转折、90度转折、任意角度、圆弧转角。高速差分走线一般建议用45度或者圆弧不建议用90度直角。圆弧走线在射频类板子上更常见但对大多数数字差分信号来说45度已经够用。还有一个非常实用的小技巧在交互式布线过程中按数字键2可以切换走线到内层如果有内层布线区域的话按数字键3可以切换到另一面的表层。这样可以在不打断交互状态的情况下完成换层。换层的位置要注意最好在差分对两侧同步打过孔而且过孔附近要放地过孔做回流路径否则参考平面切换会造成阻抗突变。线拉完之后双击或按Esc退出布线。此时如果发现某一段走线需要调整直接点击该段网络按住走线拖动或者用ShiftR循环选择障碍物规避模式。4.3 第三步走线调整与等长补偿Length Tuning差分对走线只是第一步真正决定信号质量的往往是后面的等长调整。AD20里差分对等长调整的快捷键是先进入交互式布线模式PD选中要调整的差分对然后按TR或者在菜单Route - Interactive Length Tuning里选择Differential Pairs Length Tuning。进入等长调整模式后AD20会在线上自动生成锯齿状蛇形的调整结构鼠标移动可以控制锯齿的振幅和周期。屏幕左上角会实时显示当前长度和目标长度的差值这个显示数值请务必盯紧。目标长度默认来自你之前走完的其他差分对或者来自你在Net Class里设置的长度的值。如果点击进入等长调整模式后发现没有生成锯齿可能是光标悬停位置不对建议先把鼠标放在需要拉长的那段走线中间再按快捷键。实战中我习惯从靠近连接器的那一端开始调整这样后续如果还需要微调可以继续向远端延展。5. 在AD20中用好自动长度调整功能5.1 自动调整的两种触发方式AD20差分对的自动长度调整功能其实就是我们上面说的Interactive Length Tuning但它有一个更智能的进阶用法先选中多个差分对再统一进行等长调整。操作路径是先在PCB界面按住Shift批量选中你需要在同一组里等长的差分对走线然后运行Route - Interactive Length Tuning。这样调整时AD20会把你选中的这些对都纳入等长参考屏幕上的长度目标会优先对齐到最长的那个网络或者你在Preferences里设定的参考目标。第二种触发方式是利用右侧Properties面板里的Length选项。选中某一对差分线后Properties面板会显示当前长度和匹配目标长度。在目标长度栏可以直接输入你期望的数值然后AD20会提示你还需要补多长的蛇形线再用长度调节工具补齐效率比纯靠眼睛拉高很多。5.2 蛇形线参数设置的尺寸感蛇形线不是拉得越多越好它会影响信号质量。振幅太大、间距太密会引入额外的串扰和延时偏差。我的经验是锯齿的振幅不要超过信号间距的3倍相邻锯齿之间的间距至少保持3倍线宽这是在工程实践里比较稳妥的取值范围。等长补偿时应优先在什么位置做我建议尽量放在连接器出口处或者远离接收端的位置。原因是接收端附近的阻抗均匀性更重要蛇形线这种结构先天就是阻抗不均匀的在接收端附近堆太多锯齿眼图上升沿容易变差。调整完成后别忘了做一次DRC确认蛇形线没有跟其他铜皮、焊盘、过孔发生间距冲突。如果DRC报错多半是锯齿间距设得太小把间距参数调大一点重新拉一次就好。6. 常见问题与排查技巧实录6.1 差分对无法识别或无法添加怎么办最典型的表现是PD之后走不了成对线或者Differential Pairs Editor里找不到某个差分网络。按照我排查的顺序来第一检查网络命名后缀。回到原理图确认一对信号的命名确实带_P和_N或者其他你配置的后缀并且大小写一致。AD20对大小写敏感ETH_TXP和ETH_TXN是能认出来的但ETH_TXP和ETH_txn肯定不行。第二检查Project Options里的后缀配置。如果公司内部习惯用_DP/_DN而AD20默认只认_P/_N那你需要在Project Options里把后缀改成_DP/_DN然后再同步一次原理图。第三检查PCB的差分对列表。如果网络存在但未被识别手动在Differential Pairs Editor里Add把正负网络选进去。注意这里选网络时要用网络名下拉框不是点击原理图或PCB上的引脚。手动添加是万不得已时的兜底方案能用自动识别解决的别老用这个。6.2 DRC报错与间距不足的处理跑完DRC最常见的报错是Clearance Constraint Violation也就是间距不够。遇到这种情况先别急着改走线先看DRC消息里引用了哪条规则。如果你针对差分对Class单独建了Clearance规则大概率问题出在差分对网络和旁边的单端信号、地铜皮之间的间距小于你设置的阈值。把这个阈值加大或者替这条间距规则补充需要排除的网络范围都能消掉错误。还有一种情况是报Solder Mask Expansion Error这通常跟过孔、焊盘的阻焊开窗有关。差分对过孔间距太近时阻焊桥会变窄甚至消失工厂加工就会报警。解决方法是把过孔之间的中心距拉开保证阻焊桥宽度大于4mil制板厂要求不同一般参考厂家工艺能力表。6.3 走线中心点不显示的小问题有很多人问我我布完线走线上没有中心点没法选中走线怎么破这个问题其实很简单AD20默认显示的走线高亮效果跟版本设置有关在View - Board Insight - Display Options里把Highlighting和Objects to Display中的Net Name、Center等选项勾上即可。如果只是想选中走线操作其实不一定非要点中心点。按Tab键进入选中模式后鼠标点击走线的任何位置都能选中该段或者直接在PCB面板里按网络名过滤后框选更大范围效率更高。另一个常见问题是走线显示正常但点击时老是选中的是旁边的铺铜而不是走线。这是优先级的问题。在Preferences - PCB Editor - Interactive Routing里把走线Track的优先级调高一点或者按Shift空格切换循环选择对象也能救急。6.4 参考平面不连续与铜皮挖空的影响热词里有ad20中pcb板铜皮挖空这本质上是参考平面处理的问题。差分对下方的参考平面如果有大面积挖空回流路径会被打断导致阻抗飙升和EMI问题。如果因为结构原因必须在差分对下方挖空我的建议是挖空区域的长度尽量短并且挖空区域两侧要打一排地过孔做缝合把参考平面绕行路径缩到最短。对于表层走差分线穿过连接器下方的挖空区在连接器内层地引脚旁边放置地过孔效果会明显改善。还有一个跟热词altium里面加guard ring相关的小经验在高灵敏度模拟区域或者射频区域可以在差分对两侧加一圈接地Guard Ring地环配合过孔墙把干扰挡在外面。AD20里画Guard Ring没有专门的工具我一般手动画一圈接地走线再配合过孔阵列实现屏蔽效果很好。一些心得写在最后差分对走线这件事说穿了就是规则先行、等长收尾八个字。规则配对了AD20才能让两根线并肩走等长调好了实测眼图才能过关。我前几年做一块PCIe板子的时候因为偷懒没在原理图端规范命名到了PCB阶段手动补了四五个差分对结果其中一个漏掉了板子回来高速链路直接跑不通后来返工才排查出来是差分对定义缺失。从那以后我在原理图出图前一定会用Tools - Convert - Detect Differential Pairs预先检查一遍。还有一个小建议如果你们公司有多个人在维护同一块板子最好把差分对Class的命名规范和等长目标长度写进Layout Check List同步给团队其他人。这样即使是新人接手也不容易出现这板子我看不懂的情况。AD20的差分对工具学到能熟练用其实只要集中半天时间把你手上最常接触的那几个接口各走一对差分线基本就摸透了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑