第4章 差分信号与差分阻抗:奇模/偶模阻抗、差分对设计要点
差分信号这东西,刚入行时总觉得它很神秘。两根线走在一起,信号反着来,怎么就比单端抗干扰了?
其实核心就一句话:差分对靠的是两根线之间的耦合,而阻抗控制就是管好这种耦合的“劲”。
我最早在DDR3的板子上吃过亏,差分对没走好,眼图闭了,眼图睁开只有一半。后来才发现,根本原因是奇模阻抗和偶模阻抗没分开算。今天我们就把它彻底掰扯清楚。
4.1 差模与共模:一对信号的两个面孔
一个差分对里,两根线同时传输信号。驱动端在T+上送正相,T−上送反相。在接收端,减法器把两者相减。这样,外部噪声会同时叠加到两根线上,一减就没了——这就是差分信号抗干扰的秘密。
但问题来了:差分对上的信号,其实可以分解成两种模式。
- 差模(Differential Mode):Vdiff = VT+ − VT−。这是我们想要的有用信号。
- 共模(Common Mode):Vcomm = (VT+ + VT−) / 2。这是噪声或失衡带来的无用成分。
如果你问我,为什么差分对要严格控制对称性?因为一旦两根线不对称,差模会部分转化成共模,共模电流涌向参考平面,EMI就冒出来了。我曾经有块板子,USB 2.0差分对一端绕了等长,另一端没绕等长,结果眼图惨不忍睹,USB设备死活枚举不上。
核心概念:奇模阻抗 Zodd 是单根线在差模激励下的特性阻抗;偶模阻抗 Zeven 是单根线在共模激励下的特性阻抗。差分阻抗 Zdiff = 2 × Zodd。
4.2 奇模阻抗与偶模阻抗
差分对的两根线之间有耦合(边缘场会相互影响)。我们把耦合的效应量化成两个参数:
| 参数 | 定义 | 计算公式(近似) |
|---|---|---|
| Zodd | 一线对地阻抗(另一线反相激励) | Zodd = Z0 × √(1 − 0.48×e−0.96×s/h) |
| Zeven | 一线对地阻抗(另一线同相激励) | Zeven = Z0 × √(1 + 0.48×e−0.96×s/h) |
| Zdiff | 差分管脚间看到的阻抗 | Zdiff = 2 × Zodd |
你看,s是线间距,h是介质厚度。s越小,耦合越强,Zodd就越低,Zeven越高。差值越拉越大。
我建议新手记住一条:差分对设计,实际上是在单端50Ω阻抗的基础上,通过调整线宽w和间距s,把Zdiff做到100Ω(USB/PCIe/SATA常用),或者90Ω(DDR差分时钟)。
技巧:在Polar Si9000或Saturn PCB Toolkit里算差分阻抗时,先设置单端目标50Ω,再把s从3倍线宽往下调,观察Zdiff的变化。你会发现,s设成2倍线宽时,Zdiff通常能刚好落在100Ω附近。
4.3 差分对设计要点
这部分是实战干货,我踩过的坑都列在下面。
- 线宽与间距必须一起算:别只盯着线宽。同样的介质厚度,s小了,Zdiff就降;s大了,Zdiff回升。需要反复迭代。
- 等长,但不等宽:等长是为了让两路信号延迟一致。但不等宽会破坏差模/共模转换。所以,等长绕线时,也尽量保持线宽一致。
- 参考平面要连续:差分对下方如果被分割(比如跨过电源轨分割槽),回流路径会断裂,共模噪声剧增。我见过一块板子在DDR差分时钟底下切了个槽,结果系统跑着跑着就死机。
- 远离其他走线:差分对与其它走线之间保持至少3倍线宽的间距,否则耦合串扰会把共模转成差模。
- 组内等长,组间等长看情况:对于多lane的接口(比如PCIe x4),每组差分对内要等长,组与组之间的长度差控制在±5 mil以内一般够用。
4.4 典型差分阻抗目标值速查
| 接口类型 | Zdiff 目标 | 常用叠层 | 线宽/线距参考 |
|---|---|---|---|
| USB 2.0 | 90 Ω ± 15% | 4层板,L2参考 | 5 mil / 9 mil |
| USB 3.0 / 3.1 | 90 Ω ± 10% | 6层板,L3参考 | 4.5 mil / 8 mil |
| PCIe Gen3/4 | 85 Ω ± 10% | 8层板,L4参考 | 4 mil / 7 mil |
| SATA 3.0 | 100 Ω ± 15% | 6层板,L2参考 | 5.5 mil / 10 mil |
| HDMI 2.0 | 100 Ω ± 10% | 6层板,L3参考 | 5 mil / 9 mil |
| DDR3/DDR4 差分时钟 | 100 Ω ± 10% | 4层板,L2参考 | 5 mil / 9 mil |
⚠ 注意:以上线宽/线距是基于0.5 oz铜厚、0.2 mm介质厚度的估算值。实际必须根据板厂提供的介质常数和你的叠层结构重新计算。我曾经在图省事,直接套用了上板的参数,结果新板厂介质厚度偏差了10%,阻抗跑偏到115 Ω,差点打回来重做。
4.5 差分对对参考平面的回流路径
差分对的回流电流,其实并不完全在参考平面上。当两根线耦合足够强时,大部分回流会通过互电容和互电感,直接从一根线感应到另一根线。所以差分对不一定非要完整的参考平面——这也是为什么有些高速信号可以跨分割走,但实际工程中我绝不敢这么做。
为什么会这样?因为即使差分对自身的回流占大头,参考平面仍然会承载共模回流。一旦参考平面不连续,共模阻抗突变,噪声就会辐射出去。
实践建议:差分对下方不要有缝隙。如果必须跨分割,至少要在跨分割处放置一个缝合电容(pF级)。千万别信“差分对不需要参考平面”的传言。
下面这张图,把差分阻抗设计的整个逻辑串了起来:
画这个图的时候,我特意把“验证手段”放到了最下面。很多人画完板就丢给板厂,也不要求TDR阻抗报告——结果板子回来一测,阻抗差了10%。
技巧:下单时向板厂明确要求“阻抗测试条”。每条差分对长度至少10 cm,板厂会单独做测试条并附上阻抗实测值。拿回来验证一下,心里才有底。
4.6 实际案例:USB 2.0差分对纠偏
说一个我自己的教训。某次设计一块4层工业控制板,USB差分对走线走在了顶层,参考平面是L2地层。第一次算阻抗时,用了8 mil线宽,12 mil间距,叠层h=4 mil(L1-L2介质)。但板厂反馈实际介质厚度是4.5 mil,我一算,Zdiff变成了87 Ω,虽然还在90±15%范围内,但余量很小。
我后来改成了7.5 mil线宽、10 mil间距,Zdiff回升到91 Ω。关键是要和板厂的介质厚度保持沟通,别自己闷头算。
记住:差分阻抗设计的本质,是用线宽和间距这两把“旋钮”,把Zodd调到你想要的值。每次改版前,先拿板厂的叠层表重算一遍。
⚠ 警告:千万不要在差分对内插入过孔(via)来走等长!过孔的阻抗突变会严重劣化眼图。如果一定要绕线等长,用蛇形走线,且蛇形间距要>3倍线宽。