第二章 差分信号与差分对介绍

你有没有想过——为什么高速信号很少用一根线走到底?

我刚开始做硬件那会儿,看到原理图上成对的走线,心里也犯过嘀咕。明明一根线能传的东西,干嘛非要绕两倍的路?后来吃过几次亏才明白:差分信号不是"多此一举",而是高速设计里绕不开的基石。今天咱们就把这块基石彻底啃透。

本章核心:搞懂差分信号的定义、它到底好在哪里、差分对长什么样。这些是后续用TDR做长度匹配判定的理论底子,底子不牢,后面全白搭。

2.1 从单端到差分——换个思路看信号

先说说我们最熟悉的单端信号。一根信号线,一个地平面,电平高低代表0和1。简单、直接、省线,对吧?但问题也出在这里:它太"依赖"地了。

地平面不是理想的。数字电路一翻转,地弹噪声就窜上来。信号频率越高,地回路上的压降越明显。我在项目中遇到过一块四层板,DDR时钟线走单端,结果地平面有0.3V的噪声,直接把时序吃掉了。那感觉,就像你跟人说话,背景噪音比你的声音还大。

那差分信号怎么解决的?它用了两根线——P(正)和N(负)——来传一个信号。P和N幅度相同、极性相反。接收端只看两者的差值:Vdiff = VP − VN。

说白了,地弹噪声同时耦合到P和N上,差值一减,噪声就抵消了。嗯,这就是差分信号最朴素、也最厉害的地方。

对比项 单端信号 差分信号
信号线数量 1根 + 地 2根(P/N)
参考平面 地平面 互为参考
抗共模噪声 弱 强
EMI辐射 较高 低
电压摆幅 通常3.3V/1.8V 可低至350mV
最大速率 受限于地噪声 可达数十Gbps

小经验:并不是所有场合都适合用差分。低频模拟或者纯数字控制线,单端完全够用。我一般只在高频(>100MHz)或对噪声敏感的接口上才转差分,省成本也省布线空间。

2.2 差分信号到底好在哪?

上面提到了抗共模噪声,这只是开胃菜。差分信号还有几个硬核优势,我一个个说。

2.2.1 抗共模噪声——天生的免疫系统

任何外部噪声——电源抖动、地弹、电磁耦合——只要同时等量地出现在P和N上,就被差分接收端当成"共模成分"直接减掉。你想想看,这等于给信号装了个天然的共模滤波器,不花一分钱。

2.2.2 电磁辐射低——两根线的"互相救赎"

P和N电流方向相反,产生的电磁场在远场区域相互抵消。我测过同一个时钟信号在单端和差分两种走法下的辐射值:单端在300MHz处有12dB的超标尖峰,改成差分后直接降到限值以下。PCB厂的人看了都说省了屏蔽罩的钱。

2.2.3 低电压摆幅——又快又省

差分信号不需要大幅度的电压跳变。LVDS的典型摆幅才350mV,PCIe Gen5更是低到200mV左右。摆幅小,意味着充放电时间短、功耗低、信号边沿陡。这也是为什么差分能轻松做到几十Gbps的速率。

2.2.4 时序裕量更充裕

接收端通过比较P和N的交叉点来判断跳变时刻,而不是靠一个固定的阈值电平。这个交叉点对工艺、温度、电压的漂移不敏感。说白了,时序窗口更稳了。我做DDR5仿真的对比数据可以佐证:同一条走线,差分方案的建立/保持时间窗口比单端宽了约25%。

注意:差分信号的优势是有前提的——P和N必须严格对称。一旦两根线的长度、阻抗、耦合出现偏差,上面说的那些好处就会打折扣。严重时比单端还差。嗯,这就是我们这门课要解决的问题。

2.3 差分对的基本结构

差分信号需要用差分对来承载。差分对不是随便拉两根平行线就完事。它有三根"柱子":等长、阻抗控制、耦合方式。

2.3.1 等长走线——长度匹配是命门

P和N必须等长。为什么?因为不等长会导致信号到达接收端的时间错开,共模噪声无法抵消,还产生共模分量。这个共模分量反过来又会变成EMI辐射源。

我曾经吃过一次大亏:一块SATA 6Gbps的背板,差分对长度差了180mils,大概4.5mm。测试时眼图闭合得像荷包蛋,TDR一看,共模反射严重。后来把长度差修到20mils以内,眼图一下就睁开了。那次之后,我再也不信"差不多就行"这种鬼话。

长度匹配的典型要求:

  • LVDS:±100mils以内
  • USB 3.0:±50mils以内
  • PCIe Gen4/5:±20mils以内
  • HDMI 2.1:±15mils以内

我个人的习惯:在设计阶段就留好绕线空间,用的蛇形线补偿长度差。注意蛇形的间距至少要3倍线宽,否则耦合太强反而坏事。

2.3.2 阻抗控制——差分阻抗要管住

差分对的两根线各自有对地的单端阻抗,但作为差分对使用时,我们更关心差分阻抗Zdiff。它和单端阻抗Z0、耦合系数k的关系是:

Zdiff = 2 × Z0 × (1 - k)

主流差分接口的Zdiff标准值一般在90~100Ω。板厂通过调整线宽、线距、介质厚度来达到目标值。

下面这个简单的Python函数,可以在设计初期快速估算差分阻抗:

def estimate_diff_imp(single_end_imp, coupling_coeff):
    """
    估算差分阻抗
    :param single_end_imp: 单端阻抗(Ω)
    :param coupling_coeff: 耦合系数(0~1)
    :return: 差分阻抗(Ω)
    """
    zdiff = 2 * single_end_imp * (1 - coupling_coeff)
    return round(zdiff, 1)

# 示例:单端50Ω,耦合系数0.2
print(estimate_diff_imp(50, 0.2))  # 输出 80.0
print(estimate_diff_imp(50, 0.1))  # 输出 90.0

2.3.3 耦合方式——边缘耦合 vs 宽边耦合

耦合方式 结构 优点 缺点 常用场景
边缘耦合 两根线在同一层并排走 工艺简单,调试方便 占用面积大 PCB表层走线
宽边耦合 两根线在相邻上下层 耦合强,面积小 过孔多,层间对准要求高 高密度互连(HDI)

2.4 差分对的关键参数速览

做TDR检测时,你会反复跟这几个参数打交道。提前混个脸熟:

  • 差分阻抗Zdiff:目标值通常90Ω或100Ω,TDR可以直接测量。
  • 时延差Skew:P和N的传播时延之差,直接反映长度匹配程度。我们的课程核心就是怎么用TDR精准测这个值。
  • 耦合系数k:影响阻抗和EMC,TDR共模测试可以反推。
  • 共模阻抗Zcm:P和N对地的并联阻抗,反映共模回流路径质量。

避坑指南:我曾经见过一个项目,差分阻抗TDR测出来是98Ω,完全OK。但眼图就是打不开。后来才发现P和N的时延差了30ps,换算成长度差大约6mm。所以,阻抗合格不代表长度匹配合格。两个指标必须分开管控。

2.5 常见差分接口标准一览

下面这个表,覆盖了目前主流的差分接口标准。做TDR检测时,这些参数就是你的"靶子":

接口标准 差分阻抗(Ω) 典型摆幅(mV) 最大速率 长度匹配要求(典型)
LVDS 100 ±350 3.125 Gbps ±100 mils
USB 2.0 90 400 480 Mbps ±200 mils
USB 3.0 90 400 5 Gbps ±50 mils
HDMI 2.1 100 400 48 Gbps ±15 mils
PCIe Gen5 100 200 32 GT/s ±20 mils
SATA 3.0 100 400 6 Gbps ±30 mils

一句话总结本章:差分信号用两根对称的线解决了单端信号的噪声瓶颈;差分对的核心是等长、阻抗、耦合;而我们这门课要做的,就是用TDR这把"尺子"精准测出长度匹配的好坏。这张知识框架图,帮你把本章内容串起来:

差分信号与差分对知识框架 信号传输方式 单端信号 一根线 + 地参考 差分信号 两根线互为参考 差分对结构 等长 · 阻抗控制 · 耦合 四大核心优势 抗噪声 · 低EMI · 低摆幅 · 高裕量 差分对长度匹配 → TDR检测的核心关注点