4、高速信号布线:阻抗控制基础、差分对布线规则、等长布线技巧

高速信号布线,说白了就是跟时间赛跑。信号跑得快了,稍微有点不规矩,反射、串扰、时序错乱全来了。我刚开始做高速板的时候,总觉得只要线能通就行,结果板子回来,眼图一塌糊涂。嗯,从那以后,我对阻抗控制、差分对、等长布线这三件事,再也不敢马虎了。

4.1 阻抗控制基础

先说说阻抗控制。很多人觉得阻抗是个玄学,其实不是。它就是一个传输线的固有属性,由线宽、线距、介质厚度、介电常数共同决定。

为什么一定要控制阻抗?

信号在传输线上跑,如果沿途的阻抗不连续,就会发生反射。反射回来的信号叠加在原信号上,轻则振铃,重则逻辑误判。我见过一个项目,DDR3 数据线没控阻抗,结果读写数据偶尔出错,查了三天才找到原因。

常见单端阻抗目标值:

信号类型 目标阻抗 典型应用
单端信号 50Ω ±10% 时钟、数据线、射频
USB 2.0 45Ω ±15% 差分对,但单端参考
HDMI 50Ω ±15% 单端参考,差分100Ω

阻抗控制的关键参数:

  • 线宽(W): 线越宽,阻抗越低。但太宽会占空间,太窄工艺做不了。
  • 介质厚度(H): 信号层到参考层的距离。距离越大,阻抗越高。我习惯先定介质厚度,再反推线宽。
  • 介电常数(Er): FR4 一般在 4.2~4.5 之间,高频板材更低。这个值厂家会提供,别自己猜。
  • 铜厚(T): 铜越厚,阻抗越低。1oz 和 0.5oz 差别不小。
我的习惯: 画板之前,先跟板厂要一份叠层结构和阻抗计算表。把线宽、线距填进去,让厂家帮你算一遍。别自己闷头算,算错了板子就废了。

4.2 差分对布线规则

差分对,说白了就是两根线一起走,一个正一个负,信号靠差值传输。抗干扰能力强,EMI 也小。LVDS、USB、HDMI、以太网,全是差分对。

差分对的核心要求:

  • 等长: 两根线长度尽量一致,保证信号同时到达接收端。
  • 等距: 两根线间距恒定,保证差分阻抗稳定。
  • 对称: 走线环境对称,拐弯、过孔都要一起走。

差分阻抗怎么算?

差分阻抗不是简单的单端阻抗乘以2。它跟线间距(S)有很大关系。间距越小,耦合越强,差分阻抗越低。我常用的公式是:

Zdiff ≈ 2 * Z0 * (1 - 0.48 * e^(-0.96 * S/H))

其中 Z0 是单端阻抗,S 是线间距,H 是介质厚度。当然,实际设计还是用 Polar SI9000 或板厂工具算更准。

差分对布线避坑指南:

  • 不要分开走: 两根线必须紧贴,中间不要穿其他信号。我曾经见过有人把差分对中间穿了一根电源线,结果阻抗直接崩了。
  • 拐弯要一致: 拐弯处两根线一起拐,不要一根直走一根拐。拐角用圆弧或45度,别用直角。
  • 过孔要成对: 换层时,两个过孔尽量靠近,且对称放置。过孔本身会引入阻抗不连续,能少用就少用。
  • 避免 stub: 差分对末端不要留短截线,直接接到接收端引脚。
注意: 差分对不是越近越好。间距太近,加工时容易短路,而且阻抗会偏低。一般间距取 2~3 倍线宽比较合适。具体看板厂能力。

4.3 等长布线技巧

等长布线,说白了就是让一组信号线长度尽量一致。DDR 数据线、时钟线、差分对,都需要等长。为什么?因为信号速度是固定的,长度不同,到达时间就不同。时序一乱,系统就崩。

等长布线的核心原则:

  • 先走直,再绕弯: 先把所有线走直,最短的那根就是基准。其他线在允许区域内绕弯补长。
  • 绕弯用蛇形线: 蛇形线间距至少 3 倍线宽,避免耦合。我习惯用 45 度拐弯,不用圆弧,因为圆弧在 Allegro 里不好调。
  • 分组等长: DDR 数据线按字节分组,每组内等长,组间可以差一点。时钟线单独等长,精度要求最高。

等长误差要求:

信号类型 等长误差 说明
DDR3 数据线 ±50mil 同字节组内
DDR3 时钟线 ±20mil 与数据线匹配
USB 3.0 差分对 ±5mil 对内等长
HDMI 差分对 ±10mil 对内等长

绕弯技巧:

  • 不要绕太密: 蛇形线间距太小,信号会互相串扰。我一般设间距 ≥ 3W。
  • 绕弯区域要平整: 不要在 BGA 下方或过孔密集区绕弯,那里空间紧张,容易出问题。
  • 用工具自动绕: Allegro 的 Auto-Interactive Delay Tune 很好用,但参数要设对。我习惯设目标长度、绕弯幅度、间距,然后手动微调。
避坑指南: 我曾经在一个 DDR4 项目中,数据线等长都做到了 ±30mil,但忽略了时钟线和数据线的相对长度。结果时钟比数据长了 200mil,读写时序直接不满足。后来我把时钟线也绕到跟数据线差不多长,问题才解决。记住,等长不是只对内等长,关键信号之间也要考虑相对长度。

4.4 总结与建议

高速信号布线,说白了就是三个字:控阻抗、保差分、做等长。你想想看,信号在板子上跑,就像人在高速公路上开车。路况不好(阻抗不连续),车就会颠簸(反射)。车道不对称(差分不等长),车就会跑偏(共模噪声)。路程不一样(等长没做好),车就会迟到(时序违例)。

我个人习惯,每次画完高速信号,都会用仿真工具跑一遍眼图。眼图张得开,心里才踏实。如果眼图闭合了,别慌,回头检查阻抗、差分、等长这三项,90% 的问题都能找到。

嗯,今天就聊到这儿。下一章我们讲讲电源完整性,那又是另一个坑了。