一、差分信号概述
什么是差分信号?
差分信号,说白了就是用两根线来传一个信号。
你可能会问:一根线不是也能传信号吗?没错,单端信号确实可以。但差分信号的做法是:发送端同时输出两个电压,一个正相,一个反相。接收端只看这两根线之间的电压差,而不是看它们对地的电压。
举个例子。假设我要传一个"1"出去。单端信号的做法是:信号线拉到3.3V,地线保持0V。差分信号的做法是:正相线拉到3.3V,反相线拉到0V,接收端看到的是3.3V的差值。
传"0"的时候呢?正相线拉到0V,反相线拉到3.3V,差值就是-3.3V。
我刚开始接触差分信号时,总觉得这有点浪费——明明一根线能搞定的事,干嘛要用两根?后来在项目中吃过几次亏,才明白这个设计的精妙之处。
核心要点:差分信号不依赖地参考,只看两根线之间的电压差。这是它抗干扰能力强的根本原因。
差分信号与单端信号的对比
咱们来做个对比,这样更直观。
| 对比项 | 单端信号 | 差分信号 |
|---|---|---|
| 信号线数量 | 1根信号线 + 1根地线 | 2根信号线(互为参考) |
| 抗干扰能力 | 较弱,易受地弹和共模噪声影响 | 强,共模噪声被抵消 |
| EMI辐射 | 较大 | 较小,因为两线电流方向相反 |
| 电压摆幅 | 通常较大(如3.3V、5V) | 可以很小(如LVDS仅350mV) |
| 功耗 | 相对较高 | 低摆幅下功耗更低 |
| 布线复杂度 | 简单 | 需要等长、等距布线 |
| 适用场景 | 低速、短距离、成本敏感 | 高速、长距离、抗干扰要求高 |
这张表里,我最想强调的就是抗干扰能力这一行。为什么差分信号抗干扰强?
想象一下,两根线走在一起,外面来了一个噪声。这个噪声会同时耦合到两根线上——正相线上加了一点噪声,反相线上也加了一点噪声。接收端看的是两线的差值,噪声被减掉了。这就是共模抑制。
我曾经在一个项目中,单端信号在1米长的线缆上已经面目全非了。换成差分传输后,同样的距离,信号质量好得让我不敢相信。嗯,从那以后我对差分信号就格外重视了。
差分信号的应用场景
差分信号不是万能的,但在某些场景下,它几乎是唯一的选择。
1. 高速串行总线
USB、PCIe、SATA、以太网……这些你天天打交道的接口,内部全是差分信号。为什么?因为速率上去了,单端信号根本扛不住。
我记得有一次调试PCIe Gen3的链路,眼图一直不过。排查了半天,发现是差分对内的两根线长度差了5mil。你可能觉得5mil不算什么,但在8Gbps的速率下,这点偏差已经足够让信号质量恶化了。
2. 长距离传输
RS-485、CAN总线、LVDS这些,都是差分传输的典型代表。几十米甚至上千米的传输距离,单端信号早就被噪声淹没了,差分信号还能稳稳地传。
3. 时钟分配
高速时钟信号,我建议优先考虑差分。比如LVDS时钟、LVPECL时钟。为什么?因为时钟对噪声最敏感,一点点抖动都会导致时序问题。
个人建议:如果你的系统中有超过100MHz的时钟,或者传输距离超过10cm,优先考虑差分方案。别问我怎么知道的——我踩过这个坑。
4. 模拟信号传输
高精度ADC的前端,经常用差分信号来传输模拟量。这样可以有效抑制共模干扰,提高信噪比。
差分信号的核心逻辑
说了这么多,咱们用一张图来总结一下差分信号的核心逻辑。
注意:差分信号虽好,但不是随便拉两根线就能用的。等长、等距、阻抗控制,这三个条件缺一不可。我曾经见过一个团队,为了省事,差分对的两根线走了不同层,结果信号质量一塌糊涂。
好了,这一章的内容就到这里。差分信号的核心思想其实很简单:用两根线换一份可靠性。在高速数字设计的今天,这个交换越来越值得。