LVDS通信系统:发送器、接收器、传输线

LVDS 通信,说白了就是用一对差分线传高速信号。你想想看,一根线传正信号,另一根传反信号,接收端一减,噪声就抵消了。这个方案成本低、功耗小、速率高,所以FPGA和高速ADC之间、显示屏和控制器之间,到处都能看到它的影子。

我记得十年前调试一个相机视频链路,LVDS 眼图怎么都张不开。折腾了两天,最后发现是发送器输出共模电压漂了。从那以后,我养成了一个习惯——先测共模,再看差模。今天咱们就把发送器、接收器、传输线三个核心器件拆开来讲。

LVDS通信系统结构图 LVDS 发送器 3.5mA 电流源 内部 100Ω 未端接 LVDS 接收器 高阻抗输入 阈值 ±100mV 差分传输线 100Ω 特征阻抗 终端匹配电阻 100Ω 跨接收端差分对 靠近接收器引脚放置 核心链路:电流源 → 差分线 → 终端电阻 → 比较器

发送器:一个电流源撑起整个链路

LVDS 发送器本质上就是一个恒流源加四个开关管。电流通常定在 3.5mA,方向由输入数据控制:正电平把电流导向正线,低电平把电流导向负线。这个电流在接收端的 100Ω 终端电阻上产生 ±350mV 的差分电压。信号幅值就这么简单——3.5mA × 100Ω = 350mV。

我在项目里见过有人为了省功耗,把电流降到 2.5mA。结果链路长了十几厘米,眼图完全塌了。为什么?因为电缆插损会把 250mV 再削掉一截,接收器根本捉不到干净信号。我建议别动电流源,除非你做过精确的链路预算。

参数最小值典型值最大值单位
输出差分电压250350450mV
输出共模电压1.1251.21.375V
输出阻抗(单端)—50—Ω
上升/下降时间—0.30.5ns
💡 调试小绝招:用示波器直流耦合测两个单端对地电压,手动算出共模 = (V+ + V-)/2。如果共模超过 1.4V 或低于 1.1V,发送器电源或基准可能有问题,先查供电去耦。

接收器:只认差值,不认值

接收器核心是一个高速比较器,专门比较两个输入端的电压差。只要 |V+ - V-| > 100mV,输出就翻转。这意味着共模噪声只要两个线上幅度一致,就被无情地拒绝了。你想想看,这有多爽——电源轨上 200mV 的纹波,到了接收器输入端就成了共模,完全不影响数据。

不过有个坑:接收器的输入阻抗非常高,通常大于 100kΩ。如果没接终端电阻,那根传输线就变成了开路状态,信号反射会把你眼睛闪瞎。我曾经见过一个同事把终端电阻焊在了发送器这边,导致信号来回弹了三四个来回才稳定,误码率直接飙到 10-3。正确位置只有一个——接收器差分输入端紧边上。

⚠️ 终端电阻位置:越靠近接收器引脚越好,走线超过 5mm 就可能产生振铃。如果接收器是片内集成终端(比如某些 FPGA 的 LVDS 输入),务必确认已经使能,并检查 IBIS 模型里的终端电阻值是否等于 100Ω。

传输线:把电信号变成电磁波

LVDS 走线必须当作传输线来设计。PCB 上常见的微带线或带状线,只要差分阻抗控制在 100Ω ±10%,就能保证信号完整性。为什么是 100Ω?因为发送器输出阻抗单端 50Ω,差分就是 100Ω,搭配 100Ω 终端电阻刚好阻抗匹配,没有反射。

计算阻抗的公式你肯定查得到,但我更喜欢用 Polar SI9000 或 Altium 的层叠管理器直接算。关键在于:线宽、线距、介质厚度三个变量。举个例子,FR4 四层板,内层 1.6mm 厚,外层铜厚 1oz,想做到 100Ω 差分阻抗,线宽大约 6~7 mil,线距 6~8 mil。不放心的话,我习惯打一个 30mm 长的测试条,让板厂做 TDR 检测,回来后自己再测一遍。

三个不能违反的布板规则:
  1. 差分对内部两根线必须等长——长度差每 1cm 大约产生 67ps 的时序偏移。100ps 的偏移足以吃掉 1GHz 信号的 40% 眼宽。
  2. 差分对之间与其他信号保持 3W 间距——W 是线宽。3 倍间距能把串扰压到 -40dB 以下。
  3. 全程避免过孔——如果一个差分对不得不过孔,请在两个过孔旁边各加一个地孔,提供电流回路。

系统联调:三个环节一个都不能弱

我曾经帮一个车载摄像头项目做 EMI 整改。发送器输出共模 1.18V,接收器输入共模 1.25V,差了 70mV。按理说 LVDS 接收器能容忍 ±1V 共模范围,但那条线长了 50cm,共模差变成了线缆共模电压偏移。结果就是接收器输出抖动超过 300ps。最后在接收端加了共模扼流圈,把差值控制在 30mV 以内,问题解决。

这个案例告诉我们:发送器、接收器、传输线,三个环节是串联的。发送器信号质量不好,再好的传输线也救不了;传输线阻抗不连续,再强的接收器也会误码;接收器终端不对,前面所有努力白费。所以做设计时,我建议你先把这三个器件的直流特性测一遍——共模、差分幅度、终端电阻,然后用 TDR 看传输线阻抗是否均匀。这三步走完,90% 的物理层问题都暴露了。

💡 仿真工具推荐:HyperLynx 或 Cadence SigXplorer 可以快速搭 LVDS 链路仿真。把发送器 IBIS 模型、传输线 S 参数、接收器 IBIS 模型放进一个图里,跑一下眼图,几分钟就能预判链路余量。这个习惯我一直保持,每次换 PCB 层叠都会跑一遍。