☰
Altium Designer差分走线全流程:从阻抗计算到等长调节
2026/10/6 7:18:16 网站建设 项目流程

Altium Designer里画差分走线,真正让人头疼的不是把两根线拉通,而是从阻抗计算到等长调节这一整条链路。工作频率一上去,USB、HDMI、千兆以太网、SerDes这些接口都跑差分信号,走线如果只看连通性,板厂那边不会挑你毛病,但产线误码率、EMI摸底测试绝对会教你做人。我最早接触差分走线时也犯过不少低级错误:以为只要把两根线画成一样长就行,结果拿到板子一测,阻抗和计算值差出十来欧。后来才慢慢把叠层、线宽、间距、等长这几个变量串起来,思路才算理清。

这篇文章就把我实测折腾过的完整流程记录下来,从阻抗计算到Altium Designer里的差分对规则、交互式走线、等长调节,再补上生产前的检查经验。内容不追求理论上的面面俱到,只讲实际画板时真正要过的坎,希望对正在跑第一块高速板的你有参考价值。

1. 差分信号在干什么:为什么两根线要绑在一起走

1.1 差分对不等于"两根并行的普通线"

很多入门教程喜欢说,差分信号就是用两条相位相反的线传一个信号。这话没错,但如果你只理解到这个层面,一定会在布线时吃大亏。差分信号真正厉害的地方在于:驱动端分别送出等幅反相信号,接收端用差分放大器取两个输入的差值,这时候叠加在两根线上的一模一样的共模噪声会被直接抵消。

拿我们熟悉的场景来说,普通单端信号是拿某一点的绝对电压去判断0和1,参考电压稍微被地弹干扰一偏,判读就可能出错;而差分信号是拿两根线的相对差值做判断,哪怕地平面有噪声,只要两条线上叠加的是同样的噪声,差值依然不变。这个特性让差分对天生就比单端走线更能扛干扰,也让它成为大多数高速接口的首选。

实际工程里,这个"抗干扰"特性还会延伸到地平面处理上。单端信号遇到参考平面不连续,回流电流只能绕大圈,严重的会产生噪声和辐射;而差分对因为两根线靠得近,一根线的回流可以借助另一根线走掉一部分,对小型平面分割有一定耐受能力。但要特别说明,这个耐受能力是有限的,跨大分割一样会信号质量崩掉,后面我会专门讲参考平面断裂的问题,不要真觉得差分线就能随便跨任何平面。

1.2 奇模阻抗、偶模阻抗和差分阻抗的关系

绕不开的一个概念是阻抗。差分线不是两条彼此无关的50欧姆单端线简单组合起来,因为两条线挨得近,彼此之间会通过电磁场耦合。把特征阻抗的概念套上去算时,一定要把耦合影响算进去。

两条线在差模激励下的阻抗叫奇模阻抗(Zodd),在共模激励下的叫偶模阻抗(Zeven)。差分阻抗Zdiff严格来说是2倍奇模阻抗。如果完全没有耦合,奇模阻抗等于单端特征阻抗Z0,那Zdiff就是2×Z0;但实际因为两条线之间存在耦合,奇模阻抗会被拉低,所以Zdiff通常小于2×Z0。

这句话的工程意义很直接:想做100欧姆差分,并不是把两条50欧姆单端线并排一放就完事。线间距越大,耦合越弱,Zdiff接近2×Z0;线间距越小,耦合越强,Zdiff越低,你就得把线宽加粗来把阻抗拉回目标值。这也是为什么差分线从来都是以"线宽-线距"这个组合来定义的,单看任何一个都没有意义。

1.3 差分布线里必须盯住的三个量

真正布板时,要把三个量同时盯住:单根线的特征阻抗、差分对两根线之间的间距,以及两条线的长度差。单根线阻抗决定基础;间距决定耦合强度,会影响共模噪声和EMI表现;长度差决定接收端收到的两个反相信号相位关系,这就是后面等长调节要做的事。

所以,一个完整的差分走线设计流程,本质上是在目标阻抗约束下,先确定叠层结构和线宽线距,然后在EDA里建立规则、按规则把线走出来,再通过等长调节控制skew,最后回到DFM确认工艺可行性。后面所有章节都是按照这条链路展开的。

2. 算阻抗之前必须摸清的家底:叠层、铜厚与介电常数

2.1 阻抗计算不是算数,是在叠层约束下选择线宽线距

阻抗不是孤立参数,而是由一堆物理结构共同决定的。以表层微带线为例,关键变量有这么几个:线宽、铜厚、介质厚度、介电常数和阻焊层厚度。内层带状线还要考虑上下两层参考平面之间的对称性,模型更复杂,但原则一样:只有基于板厂实际提供的叠层,算出来的线宽线距才可靠。

我做板之前的习惯是,先找PCB工厂要最新的叠层配置,包括层数、板厚、铜厚、PP和芯板厚度及Dk值,然后打开嘉立创阻抗计算神器,选一个匹配的层压结构模型,先算出一组基值,再微调。很多朋友喜欢从别人项目里抄一个"100欧姆差分线宽7mil、间距7mil",拿到另一家板厂做出来偏差很大,原因就是叠层完全不同。阻抗这东西,真不是一套参数走天下。

2.2 用JLC阻抗计算器算一遍100欧姆差分

以嘉立创阻抗计算神器为例,操作流程大概是:选叠层类型,比如4层板常见结构是表层信号/内层地/内层电源/底层信号;然后填外层铜厚(1oz或0.5oz,取决于下单时选的铜厚)、PP介质厚度、成品板厚、介电常数,选"表层差分"或者"边缘耦合微带线"模型,目标阻抗填100欧姆,软件会给出推荐线宽和间距组合。

实际操作中,我会先锁一个合理间距,比如0.127mm(5mil),再让软件反推线宽;如果算出来的线宽低于板厂工艺极限,就把间距调大再算。举个例子,我常用的4层板叠层参数,表层1oz铜,PP厚度约0.1mm,Dk按4.2,阻焊按0.8mil,算100欧姆表层差分,得到的大约是线宽0.15mm上下、间距0.127mm。不同软件和不同叠层差异很大,所以这个数值只能当参考,不能当配方直接抄。

2.3 不同接口的阻抗目标千万别记岔

把常见高速接口的目标阻抗放在一起看,会直观很多。我画过不少板,印象最深的就是有人把PCIe按100欧姆去设计,结果链路眼图一直是红的。放一张常见目标阻抗表,它在FR4常规叠层下完全可以作为初始设计依据:

接口/标准差分阻抗目标常见线距建议备注
USB 2.0 / USB 3.x90欧姆5~8mil差分对内也要做等长
HDMI100欧姆5~8mil时钟与TMDS通道对内等长很关键
PCIe85欧姆5~8mil不要按100欧姆去设计
千兆以太网 1000BASE-T100欧姆6~8mil四对线之间还要尽量匹配
DDR 时钟/数据差分80~100欧姆按控制器要求与单端40~50欧姆配套看

提示:嘉立创阻抗计算器里带了不少叠层模型,选一个和你要做的板子层数、板厚、铜厚最接近的,先算一轮;等拿到板厂确认后的叠层,再回来复核一次,误差会小很多。

3. 把"这是一对差分线"告诉Altium Designer:差分对与规则设置

3.1 原理图阶段就要完成差分对标记

在Altium Designer里建立差分对,强烈推荐从原理图阶段开始。最基础的办法是网络命名:两条相关网络必须用相同的基名加_P和_N后缀。比如CLK_P与CLK_N;USB的信号如果叫D+和D-,建议统一改成USB_DP和USB_DN这种规则。命名不统一,Altium不会自动把它们识别成差分对,后面到PCB里你再手工配,效率低且容易漏。

除了命名,还可以在原理图菜单Place -> Differential Pair放置一个差分对指示符,把它放到两条相邻网络上。这样编译工程时,Altium会明确知道这两条网络是一对。我的习惯是两个手段一起上:命名规则作为兜底,指示符让原理图更直观、也方便后世接手的人一眼看懂。编译通过后,把工程更新到PCB,打开Differential Pairs Editor就能看到自动生成的差分对列表。

3.2 PCB里手动建差分对和差分规则

如果你是从旧PCB改过来的项目,或者原理图阶段没建差分对标记,在PCB阶段也能补救。打开PCB面板,在下拉列表里选Differential Pairs Editor,右键添加新的差分对,手动填正网络和负网络。不过每次手动添加都容易漏,还是建议回到原理图把命名和指示符补上。

差分对建好后,必须设置对应的布线规则。路径是Design -> Rules -> Routing -> Differential Pairs Routing。在这里可以针对差分类或单个差分对设置:Preferred Width是目标线宽,Preferred Gap是目标间距;Minimum和Maximum分别对应线宽、间距、阻抗的上下限。下面还有Max Unmatched Length和Target Length,前者是最大允许不匹配长度,后者是等长调节时的重要基准。

3.3 规则不生效的常见原因和排查方法

我踩过最大的坑是规则怎么都不生效,差分线不走目标线宽,DRC检查却全绿。最终发现是规则优先级问题。Altium的规则系统是按优先级匹配的,如果你建了全局Width规则,又单独建了一个针对某差分类的Differential Pairs Routing规则,后者优先级若低于全局规则,全局规则会先命中,差分线自然不按你想的样子走。

解决思路很固定:

  • 给差分对建专门类:在Differential Pairs Editor里右键选择Create Class from Selected Differential Pairs;
  • 规则范围写清楚:在Where The Object Matches里选择All Differential Pairs,或者具体选到某几个差分类;
  • 调整规则优先级:在Rules面板里把差分布线规则上移,让它优先于普通Width规则。

还有一个小细节:如果新建的差分规则范围是"All Differential Pairs",但某个差分网络没有出现在差分对编辑器里,它就不会被这条规则覆盖。排查的时候先确认Differential Pairs Editor里列表完整,再谈规则。

4. 交互式差分走线实操:从推挤绕障到换层过孔

4.1 布局阶段就要给差分对留出"路权"

在按下交互式布线快捷键前,先花十分钟处理布局。差分信号一般在设计里比较敏感,布局阶段要把器件摆放成"驱动到接收的路径短、少转弯、少换层、远离时钟芯片和电源模块"的样子。特别要远离开关电源的电感、MOS管区,这种高di/dt的区域,差分线再小心也容易被耦合进噪声。

我给自己的习惯是:先把所有BGA或连接器的高速引脚位置定下来,规划出差分对的大致走廊,再安排其它器件。这样后面走线会比较顺,不用靠蛇形绕线去弥补布局差距。等长工具再强,也填不了布局留下的大坑。

4.2 交互式差分对布线的基本手感

在Altium Designer中,交互式差分对走线快捷键是PID,也就是Place -> Interactive Differential Pair Routing。选中差分对的一个焊盘,工具会自动进入成对走线状态,两根线一起动作,遇到障碍物可以做推挤。按Tab键可以临时修改线宽和间距。

几个高频操作我再啰嗦一遍:

  • 拐角模式:走线过程中Shift+空格循环切换45度、圆弧模式。圆弧拐角在高速差分中更平滑,但关键还是拐角处不要让间距突变,否则会出现局部阻抗尖峰;
  • 线宽切换:Shift+W能调出常用线宽列表,规则没设置好时可以临时选,但最终还是要回规则里改标准值;
  • 中断再续:走一半按Esc退出,再点另一根线的端点继续,Altium会自动补全。

我走差分时有个习惯,就是让两根线尽量精确保持在规则里的Preferred Gap上。不要一段3mil一段8mil,间距忽大忽小在TDR测试里就会变成好多个阻抗探头,每一个都是一次反射。

4.3 换层与差分过孔:三个原则

有时候差分对被迫换层,比如BGA内层出线只能换到表层继续走。这时候注意三个原则:

  • 成对过孔尽量挨着放,过孔间距和差分线线距保持一致,维持信号回流路径的连贯性;
  • 过孔旁边加一个地过孔,给回流电流提供连续的路径,减少换层引入的回路突变;
  • 换层后的参考平面要确认是和原来一致的、干净的平面,别换到一块被反复切割的电源平面上。

差分过孔本身也是一个阻抗不连续点。频率特别高的信号,我还会考虑via stub的影响,必要时跟板厂沟通背钻加工。这是一笔额外成本,但高频链路上值得。

5. 等长调节不是随便绕蛇:长度匹配工具与节奏

5.1 等长到底在消除什么

差分对等长,直接目的是减小两条线到达接收端的相位差。内部skew如果太大,接收端差分放大器看到的是两个有相位错位的反相信号,共模抑制能力下降,眼图变差、误码率上升。不同协议对skew的容忍度还不一样,有些高速SerDes要求对内长度差控制在几个mil,而同组多对线之间也可能有整体匹配要求。

所以等长调节从来不只是"两条线一样长就行",还包括组内不同对之间的匹配。Altium里既可以对当前差分对做两线间的长度匹配,也可以通过Class的目标长度实现整组匹配。设计文档里如果写着"全部差分对内等长±5mil",那你还要确认这个±5mil是单对内部的要求,还是组内所有对的要求,两者工作量差很多。

5.2 使用Length Tuning工具:怎么设目标、怎么绕出来

先走完整个差分对的主线,不用刻意做等长,然后调用Interactive Diff Pair Length Tuning,快捷键是UCT。点击任意一条差分线,按Tab弹出设置面板,需要重点确认几个参数:

  • Target Length:目标长度。我一般先看所有相关差分对里最短的那一对是走多长,以它为目标;或者按工程要求的最大不匹配长度反推一个安全值;
  • Style:绕线形式,常见有蛇形和波浪等;
  • Amplitude:绕线振幅,至少大于等于3倍线宽,否则绕线段的耦合会失控;
  • Pitch:相邻拐弯的间距,同样要留足空间,避免绕线区域自己给自己制造过近耦合。

设置好后,沿走线方向拖动鼠标,工具会用实时长度显示当前绕了多少。等到长度刚好到达Target Length,松开鼠标,绕线形状就落到PCB上。绕过头了也不用慌,快捷键Shift+U可以撤销整段绕线,重新再来。

5.3 绕线三个容易被忽略的细节

第一,绕线段间距如果小于参考平面到走线层介质厚度的3倍,就是常说的3H,这段区域的差分阻抗会明显下降。等长是调到了,眼图反而变差。宁可让绕线铺得宽松一些,也别追求密集的蛇形显得"很专业"。

第二,绕线尽量放在接收端附近。源端是信号刚出口最完整的地方,在那里加蛇形等于人为制造阻抗不连续;接收端附近加绕线,对信号波形的影响相对小。这也是很多验证报告里能看到的,靠近源端加蛇形往往会在TDR曲线上多出一个明显的凹陷。

第三,尽量让两条线一起做蛇形绕线。如果只绕其中长出来的那根去追短的那根,某一段会变成近似单端并行走线,耦合断裂,就会出现局部奇模阻抗变化。Altium的差分tune工具默认成对工作,前提是你在操作时确实选中了差分对,而不是只点了其中一条net。

提示:如果目标长度怎么绕都不够,说明布局时给差分对留的路径太短。与其把蛇形绕得非常密集,不如回布局阶段把器件稍微拉开一点,给走线留出合法的绕线空间。

5.4 等长结果怎么验收

等长做完,不能光靠肉眼。选中一对差分线,用Reports或距离测量看两条线长度差。更标准的方式是打开Differential Pairs Editor,看Unmatched Length列,Altium会实时显示每对内部的长度差,DRC也会按规则里的Max Unmatched Length报错。

DRC通过不等于万事大吉,我还会用约束管理器看实际延迟。等长最终关心的是传输延迟,而不只是CAD软件里量出来的一把尺子长度。铜箔粗化、走线拐角、过孔寄生,都会引入额外延迟,只是这些影响很难在普通工程阶段建模,所以只能靠"长度差控制得更严"来留余量。

如果设计里有十几对差分线,比如DDR或PCIe,建议设置好差分类的目标长度,然后依次tune,让所有对的长度落在同一个窗口内。过程很耗时,但高速采样窗口就那么大,少一点skew就多一点裕量。

6. 出板之前的DFM与阻抗一致性检查

6.1 DRC别只开间距和线宽

很多人以为DRC就是查间距、线宽、短路,实际上针对差分对,必须在Design Rule Checker里确认Differential Pairs Routing规则被纳入检查。特别是Max Unmatched Length和阻抗范围这两项,如果没勾上,等长就算做到位了,DRC也不会有任何反馈。

另外要检查差分对和普通网络之间的安全间距。高速差分希望和相邻走线拉开距离,但过大的Clearance有时反而会把差分对挤到窄通道里,让等长非常难做。我的做法是给差分对Class单独设置一个合理的Clearance,让它既能隔离干扰,又有足够空间伸展绕线。

6.2 参考平面断裂:DRC不管,人眼要管

参考平面对差分信号的重要性怎么强调都不为过。DRC不会告诉你差分对下方正好跨过一条电源分割带,这个得人眼配合工具去查。Altium里可以把GND或电源层的高亮打开,或者直接用Board Planning Mode查看平面层的分割线,再把差分对整体高亮出来,沿着布线路径过一遍,确认没有跨分割。

如果真的躲不开跨分割,补救方案是:在分割带两边加缝合电容,通常0.1uF和100pF组合,给回流电流一个高频通道。但这是补救,不是方案,最好的处理还是在布局和平面规划阶段就把高速差分对的活动范围锁定在完整平面区域。

6.3 给板厂的信息要写清楚

最终出Gerber之前,在工作备注里列清楚需要控制阻抗的网络和差分对,以及目标值和公差。比如"CONN_HDMI_TX0_P/N:100欧姆差分,±10%",板厂在CAM和试产时才会重点照顾这些区域。再有条件,就在板边加一组阻抗测试条,也就是coupon,和板子同批压合,成品后做TDR衰减或阻抗测试。

我做完板之后习惯把嘉立创阻抗计算器的截图也发给板厂,让他们确认叠层参数是否有偏差。板厂给的最终叠层如果和你计算用的参数不一样,他们通常会在EQ单上指出来;及时对一遍,比板子回来了再返工省太多时间。

最后聊点习惯

从第一次画差分线到现在,我最深的体会是:差分走线的难点不在某个单一操作,而在整个链条的连贯性。叠层参数算错,后面线宽线距再怎么调都是补窟窿;差分对规则没建对,走线再顺也白搭;等长调完不检查skew,上板测试该挂还是挂。建议每次开始新板子之前,先把关键高速接口的目标阻抗、对内等长要求、组内等长要求整理成一页需求表,再从原理图往下做。这套流程跑顺了,后面每一步其实都不神秘。最后分享一个小技巧:出Gerber前把所有差分对用一种颜色高亮,顺着信号路径用肉眼整体走一遍,经常能发现比DRC更明显的问题——毕竟DRC只会告诉你规则满了没有,不会告诉你这段线看起来顺不顺眼。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询