☰
LVDS信号测试全攻略:从差分测量到故障排查
2026/9/28 5:50:55 网站建设 项目流程

1. 为什么LVDS测试总在"波形看着有"和"系统跑不通"之间反复横跳

做硬件调试这些年,LVDS接口是我见过最"骗人"的信号之一。示波器探头往P端一搭,明明能看到方波一样的翻转,但屏幕就是点不亮,或者画面出现雪花、水波纹,再过一会儿又完全正常。这种"波形看着有"和"系统跑不通"之间的矛盾,几乎是每个刚接触LVDS的工程师都会撞上的墙。

问题出在我们对"有信号"的定义太粗糙。LVDS是差分信号,信息不是靠某一条线对地的电平高低来传递的,而是靠差分对两条线之间的电压差来传递。你拿单端探头去量P端,看到的只是共模电压加上一半差分摆幅的叠加,看上去像方波,但这条波形本身并不包含完整的信号质量信息。P端的波形正常,只能说明链路在"有信号"这个层面没断,不能说明接收端能不能从差分信号里稳定恢复出数据。

LVDS接口测试的核心目标,从来不是证明"有信号",而是证明"信号的电气特性落在接收端能正确解调的窗口里"。这个窗口包括差分摆幅、共模电压、边沿速率、抖动、时序关系等一连串参数。任何一个参数越界,接收端都可能判决错误,表现出来就是时好时坏、温度一变就挂、不同批次主板表现不一这类让人抓狂的问题。

所以这篇文章不会只教你怎么把探头搭上去看一条漂亮的波形,而是把LVDS从电气定义到实测判读的完整链路拆开讲一遍,包括我踩过的坑、走过弯路之后总结下来的测试流程,以及如何在波形出现异常时快速倒推根因。如果你正在做FPGA的LVDS接收调试、SoC点LVDS屏、或者处理RGB转LVDS这类转换方案的信号验证,这篇文章应该能帮你省下不少盲目试错的时间。

适合读这篇文章的人,我大致分三类:硬件工程师,需要对LVDS的信号质量做设计验证和故障排查;FPGA或嵌入式软件工程师,负责LVDS管脚约束、接口驱动和点屏调试,经常要跟示波器打交道但未必系统学过差分信号测量;以及刚入行、对高速差分信号测试还比较陌生的测试工程师。无论你是哪一类,我觉得先建立一个观念最重要:LVDS测试的核心不是"测波形好不好看",而是"测接收端能不能可靠工作"。理解了这个,后面所有步骤才有的放矢。

1.1 差分信号的"有信号"和"信号合格"是两码事

LVDS的全称是Low-Voltage Differential Signaling,低电压差分信号,标准定义在ANSI/TIA/EIA-644中。它的本质是:发送端在一个差分对上分别输出极性相反的两个电压,接收端通过比较两条线上的电压差来判决逻辑"1"或"0"。因为两条线受到的共模干扰理论上完全相同,相减之后干扰被抵消,所以LVDS天生具有较强的抗共模噪声能力,同时摆幅低、功耗小、EMI也小,这也是它在LCD屏接口、FPGA高速IO、通信板卡上被大量使用的原因。

但正是这种"靠差值传信息"的工作方式,给测试带来了一个隐蔽的陷阱。拿单端探头量P端或者N端,看到的是以共模电压为中心、上下摆动的信号,这个信号会同时包含共模分量和差分分量。如果共模电压发生漂移,单端波形看起来可能整体平移,但差分信号本身依然正常;反过来,如果差分摆幅变小,单端波形看起来可能只是"矮了一点",很难直观量化。也就是说,单端测量无法准确回答"接收端到底看到了什么"这个问题。

接收端真正看到的是P减N的净值。所以测量LVDS的首要原则是:使用差分探头,测量差分电压波形,而不是盯着单端波形做判断。这个原则我在刚做测试时不太当回事,觉得"反正我两条线都量一下不就知道了",后来发现两条线分开量的波形即使各自正常,差分结果也可能因为两路相位和幅度的细微偏差而不达标,必须直接测差分波形才能反映真实情况。

1.2 LVDS的电气定义:一条差分对究竟该长什么样

要判断信号是否合格,首先得知道规格书上的标准到底要求什么。LVDS的直流电气参数,常用到的有这几个:

  • 差分输出电压VOD:也就是P减N的电压差幅度,典型值约350mV,允许范围通常在250mV到450mV之间。
  • 输出共模电压VOS:P和N两条线电压的平均值,也就是差分信号围绕的中心电平,典型值1.2V,允许范围通常在1.125V到1.375V之间。
  • 差分阻抗:传输线差分阻抗要求100Ω,并且在接收端需要跨接一个100Ω终端电阻。
  • 逻辑判决阈值:接收端的差分输入阈值一般在±100mV以内,也就是说只要差分电压的绝对值超过约100mV,接收端就认为逻辑有效。

这几个值放在一起,可以画出一个非常直观的"健康窗口":差分信号以约1.2V为中心,摆幅范围至少250mV、建议能到350mV左右,边沿干净、没有大的过冲,交叉点大致在共模电平附近。只要实测值落在这个范围内,接收端大概率能稳定工作。

我见过不少人因为不熟悉这些参数,把单端波形的1.2V当成了"信号电压",或者把差分波形幅度只有200mV的问题忽略掉,等到产品批量生产时才暴露出温度漂移下的偶发花屏。这类问题在产品设计阶段其实是很好发现的,前提是测试前先花十分钟把这些参数查清楚、写进测试记录表里,而不是上来就盲测。

2. 测试准备阶段的四件事:参数核对、通道映射、设备选型、探点选择

LVDS测试翻车,很多时候不是测的手法不对,而是准备阶段就埋了雷。我见过最典型的例子:一个人拿示波器量了半天,发现波形幅度特别小,后来发现探头地线夹接触不良,等效在信号上串了个电感,测出来的全是假象。所以正式开始测试之前,我会强制自己做四件事,缺一不可。

2.1 先把规格书上的电气参数抄到测试记录表里

看起来像是废话,但这一步真的能救命。LVDS发送端芯片不同,输出摆幅的实际范围可能不同;接收端芯片不同,允许的输入阈值和共模范围也可能不同。比如某些桥接芯片支持可编程摆幅,默认档位和最高档位之间的差值足以影响一个长走线链路的裕量。你如果只看原理图不看规格书,可能根本不知道这颗芯片还有摆幅配置寄存器。

建议在测试开始前,把以下几项从发送端和接收端规格书里摘出来,做成一张表放在手边:

参数发送端规格接收端要求实测值判定
差分输出摆幅 VOD250-450mV最小±100mV判决待测
输出共模 VOS1.125-1.375V输入共模范围待测
上升/下降时间典型0.5-1.5ns最大限制待测
通道间偏移典型400ps建立保持时间预算待测
数据速率 / 像素时钟与分辨率相关与分辨率相关待测

这张表最好能打印出来或者放在测试工位旁边。实测过程中每测一项就填一项,最后判定时一眼就能看出裕量够不够,比对着示波器屏幕凭感觉判断靠谱得多。

2.2 通道映射与极性核对:一个人就能查出来的低级错误

LVDS接口通常包含多对差分线,比如常见的4通道数据加1通道时钟(4-lane data + 1-lane clock)配置,或者单通道配置,以及RGB转LVDS中的"3路RGB转LVDS"这种方案。不管哪种,原理图上都会标注类似D0P/D0N、D1P/D1N、CLKP/CLKN这样的网络名。测试前一定要对照发送端和接收端的引脚定义,确认两条线的映射关系一致、极性没有接反。

极性接反是个特别尴尬的问题。因为LVDS P/N接反时,差分信号依然存在,只是逻辑反相,示波器上看起来依然有波形,幅度也正常,但屏幕上显示的内容会完全不对,或者干脆黑屏。这种问题用示波器从波形角度很难一眼看出来,需要在测试前通过原理图审查排除掉。

我自己的习惯是:测试前先用万用表蜂鸣档打一下PCB上从连接器到接收端之间的连通性,确认P网络对P网络、N网络对N网络,同时对地阻值正常。这一步看着笨,但能在五分钟内排除掉一大批初级错误,比上电后拿示波器瞎猜效率高得多。

2.3 示波器与探头的选型底线

LVDS的速率并不算特别高,常见液晶屏的LVDS时钟频率在几十MHz到一百多MHz,数据速率大概是时钟的3.5倍或7倍,对应每通道数据率大概在几百Mbps以内。但"不算特别高"不等于随便一台示波器都能测好。测量高速边沿信号时,示波器的带宽决定了你看到的上升沿是真实边沿还是被示波器"磨圆"的假边沿。

估算带宽可以采用一个经验公式:所需带宽 ≈ 0.35 / 信号上升时间。假设一个LVDS信号的上升时间是500ps,那么需要的示波器带宽大约是700MHz,用500MHz的示波器测出来的边沿速率会偏慢,导致误判。我自己的经验是,测LVDS至少用1GHz带宽、采样率不低于5GSa/s的示波器,如果是2.5GSa/s采样率配合1GHz带宽,对于常见的LVDS屏信号也够用,但条件允许时往上加总是更安心。

探头方面,有源差分探头是必须的,带宽至少要跟示波器匹配。无源探头、单端探头在这类测量里都不合适,原因前面说过,单端探头看不到差分信号的真实全貌;无源差分探头则可能因为共模抑制能力不足,把共模噪声带进测量结果。

另外还有一个很容易踩的坑:探头前端尽量直接接触测试点,不要用长地线夹。差分探头一般配有焊入式探头尖,在高频测量中尽量使用这种连接方式,接延长线或者钩子都会引入额外电感,让波形产生虚假的振铃和过冲。

2.4 测量位置的选择:别在错误的节点得出正确结论

LVDS链路上不同的测试点,波形会有明显差异。放在发送端芯片引脚附近测,看到的是接近理想方波的信号;放在接收端引脚附近测,看到的是经过走线损耗、过孔反射、串扰之后的信号。这两个位置的波形都是"真实的",但代表的意义完全不同。

如果是做设计验证,我建议重点测接收端引脚处的波形,因为接收端判决的是这个地方的电压;如果是为了定位链路中的哪个环节引入了失真,可以在发送端、走线中点、接收端多处测试,对比波形变化来判断问题出在PCB走线还是连接器接触不良。还有一种情况是测终端电阻之前和之后,100Ω终端电阻跨接在差分对两端,如果焊接到位,测电阻两端的波形才是最接近接收端实际看到的样子。

我见过工程师拿着探头在连接器公头处测,波形很漂亮,但板子就是点不亮,原因是连接器母座到接收端芯片之间的走线有严重阻抗不连续,信号在末端反射得一塌糊涂。测点选择错了,测量结果再漂亮也没有意义。

3. 直流参数实测:共模电压、差分摆幅和端接状态的判定

准备做完,可以开始上电实测了。LVDS测试通常先做直流参数测量,再做交流波形分析,这个顺序最好不要颠倒。直流参数是"地基",地基歪了,上面的波形质量再好也白搭。

3.1 共模电压的测量方法与漂移判断

共模电压VOS是差分对两条线电压的平均值。用差分探头直接看差分波形时,示波器通常可以直接显示"共模分量",但很多人不太会调这个功能。更简单可靠的方法是:把示波器两个通道分别接到P和N,利用示波器的数学功能算(A+B)/2,得到的就是共模电压的实时波形。测量的结果应该稳定在1.2V附近,允许范围是1.125V到1.375V。

共模电压正常与否很重要,因为它决定了接收端输入级偏置是否合适。共模电压偏低或偏高,可能导致接收端输入级进入非线性区,表现为信号裕量下降、误码率升高,尤其在温度变化时更明显。

我在实际测试中遇到过共模电压从1.2V慢慢漂到1.5V的情况,波形幅度、边沿都正常,但屏幕偶发抖动。排查后发现是发送端芯片的某个供电引脚去耦电容虚焊,导致芯片内部驱动级偏置不稳。这类问题如果只看差分波形很难发现,因为差分电压本身不受共模漂移影响,必须借助共模测量才能暴露出来。

3.2 差分摆幅为什么必须落在250mV到450mV

差分摆幅VOD是LVDS信号最核心的指标,它直接决定了接收端的判决裕量。测量方法用差分探头连接P和N,测差分波形的峰峰值,结果应该在250mV到450mV之间,以300多mV最为常见。

摆幅偏低的问题在于:接收端的差分判决阈值通常在±100mV以内,如果发送端摆幅只有180mV,再扣掉传输损耗和噪声,接收端的有效裕量可能只剩几十mV,噪声一大就可能误判。摆幅偏高的危害是增大EMI,同时可能让接收端输入级饱和,导致波形顶部变平、边沿变慢。所以在判读摆幅时,不要只满足于"在范围内",还要看它离边界还有多少裕量。比如实测320mV,上下各有约70mV到130mV的余量,这在量产中是相对健康的水平。

需要留意的是,某些发送端芯片提供了摆幅调节功能。比如有些FPGA的LVDS输出IO可以配置驱动强度,有些桥接芯片有控制寄存器。实测摆幅偏低时,先不要急着怀疑PCB走线,翻翻芯片手册看默认驱动强度是不是设在了最低档。

3.3 用万用表和LCR表检查端接与PCB阻抗

LVDS的传输线要求100Ω差分阻抗,接收端通常也集成或需要外接一个100Ω终端电阻。端接电阻的问题在低频测试中几乎不会暴露,但在LVDS这种边沿很陡的信号下,阻抗不匹配会直接导致反射和振铃。

测端接状态有一个前提:必须在断电状态下测。带电测电阻不仅危险,读数也完全没有意义。用万用表的电阻档,测量差分对P和N两点之间的电阻,如果接收端集成终端电阻且已上电,正常应该测不到100Ω(芯片内部电路影响);如果外接终端电阻,测得值应该接近100Ω。对于FPGA这类支持内部终端(DIFF_TERM)的器件,如果内部终端使能,断电后测得P和N之间通常能看到约100Ω。

PCB走线差分阻抗的验证,严格来说需要用TDR(时域反射计)来做,一般实验室未必有这个设备。退而求其次,可以用LCR表在低频下测量走线的特征阻抗做个粗略参考,但只能作为辅助判断。我自己的习惯是:优先相信PCB厂给出的叠层和阻抗设计报告,然后在测试中用波形上的过冲、振铃幅度来反向验证阻抗是否合理。如果波形振铃明显,多半是阻抗不连续,这时候再决定是否用TDR进一步验证。

4. 交流波形分析:从单端假象到差分眼图的一整套判读流程

直流参数没问题后,才开始真正的"波形分析"环节。这一节我会按测试顺序,从最基础的波形观察,到眼图判读,逐步展开。

4.1 先看单端再切差分:两种视角各自能发现什么

虽然我前面多次强调差分测量才是王道,但实际测试中,我仍然会先花几十秒看看单端波形。单端波形能提供一些差分波形不容易直接反映的信息,比如共模电平位置、P/N两条线的幅度是否对称。

具体操作:把示波器两个通道用差分探头改成两个单端探头(或者直接用两个同轴电缆),分别接P和N,触发源选时钟通道,观察两条线的波形。正常情况下,P和N应该围绕约1.2V的共模电平对称摆动,幅度约为差分摆幅的一半。如果发现P和N的摆幅不对称,或者交叉点不在共模电平附近,说明驱动级可能有异常,或两条线的走线不对称导致损耗不同。

如果单端波形观察正常,再把探头切回差分模式,看差分波形。差分波形应当清晰、边沿陡峭、幅度在300mV上下,交叉点稳定。这里有一个经验值可以分享:差分波形如果出现"中间厚两边薄"的双线重叠现象,说明抖动偏大,这时候需要做余辉叠加或者眼图测量来进一步量化。

4.2 眼图、交叉点和边沿速率:接收端真正在意的三个量

眼图实际上是大量比特周期的波形叠加,可以用示波器的"眼图模式"或者"余辉模式"获得。LVDS信号因为速率不是特别高,用普通示波器配合余辉模式做一个持续几秒的叠加,就能得到一个比较直观的眼图。

判读眼图,重点看三个量。

眼高:对应差分信号的幅度裕量,眼图开口越大、越清晰,说明幅度裕量越充足。测试时关注的是最小眼高,它考虑了所有码型下的摆幅下降。实际中以"实测眼高是否显著大于接收端阈值"为准,一般希望至少留出2倍以上的裕量。

眼宽:对应时间上的裕量,即数据稳定持续的时间窗口。眼宽越宽,接收端在这个时间窗口内采到正确数据的概率越高。抖动、串扰都会侵蚀眼宽。

交叉点:差分信号的交叉点应该在50%幅度附近,也就是大约1.2V共模电平处。交叉点偏移会导致占空比失真,接收端时钟恢复难度增加,这在某些接收方案中可能表现为偶发误码。

边沿速率方面,测量差分波形的上升时间(20%-80%)和下降时间。边沿太慢,眼图开口变小,信号在高低电平之间过渡的时间过长;边沿太快,高频分量变大,EMI和串扰风险上升。规格书上一般会给参考区间,比如0.5-1.5ns,实测应尽量落在这个范围内。我在测某些FPGA LVDS输出时遇到过边沿只有300ps的情况,虽然信号质量看起来"很漂亮",但外围PCB布线稍微长一点,近端串扰就明显变大。后来把IO驱动强度调低了一档,边沿放到约700ps,整体EMI和串扰反而更可控了。

4.3 抖动分析在LVDS测试中的分寸感

抖动是个容易被过度关注,也容易被忽视的指标。对于LVDS这类源同步接口,数据信号和时钟信号从同一个发送端芯片出来,经过大致相同的路径到达接收端,接收端用时钟边沿去采样数据。如果数据信号和时钟信号之间的相对抖动过大,采样点可能偏移到数据不稳定区,导致建立保持时间不够。

示波器测量抖动时,可以看抖动的时间参数,比如Tj(总抖动)和Rj/Dj(随机抖动/确定性抖动)。在LVDS测试中,我不建议一上来就死磕复杂的抖动分解,先看一个更直接的量:时钟和数据的相对延时。如果相对延时在长时间内稳定,小幅度的随机抖动通常不是主要矛盾;如果相对延时本身会漂移,或者周期性摆动的幅度较大,就需要进一步追踪干扰源。

4.4 波形判读的操作流程

总结成一套可以固定下来的流程,每次测LVDS都按这个顺序来:

  1. 确认差分探头连接正确,P对应P,N对应N,地线连接可靠。
  2. 先用单端模式观察P/N波形,记录共模电平、对称性和交叉点位置。
  3. 切到差分模式,测量峰值幅度,与规格书对比。
  4. 打开余辉模式或眼图模式,观察眼图开口、眼高、眼宽和交叉点。
  5. 测量上升/下降时间、通道间偏移和数据-时钟相对延时。
  6. 记录数据,填写测试记录表。

这套流程做完,一次测量的信息量基本就足够了。很多时候屏幕上不亮,走到第4步就能看出问题;如果走完6步都没发现明显异常,那问题往往不在信号质量,而在协议配置、初始化时序或软件配置层面,这时候该换个排查方向,别在波形上死磕。

5. 时序测量:建立保持时间与跨通道偏移的实测手法

LVDS虽然是高速接口,但它是源同步接口,也就是说数据和时钟一起从发送端发出,接收端用同一个时钟边沿采样数据。这里的时序关系相比并行总线要简单一些,但依然有几个关键测量点值得专门讲一下。

5.1 源同步接口的时序核心:数据跟着时钟走

在LVDS链路中,发送端会在每个时钟周期内串行发出多位数据。接收端内部用时钟边沿去采样每个数据位。由于时钟和数据来自同一发送端,走线路径类似,传输延迟基本一致,所以接收端靠的是"时钟边沿和数据位的相对位置"来正确采样,而不是靠绝对时间来对齐。

这意味着测试的关键不是"数据是什么时候到的",而是"数据相对于时钟的建立时间和保持时间是否满足接收端要求"。建立时间是指数据在时钟有效边沿到来之前必须保持稳定的最短时间;保持时间是指时钟有效边沿之后数据必须继续保持稳定的最短时间。如果数据在时钟边沿附近变化,采样结果就不可靠。

5.2 建立保持时间的实测步骤

测量建立保持时间,需要同时观察时钟通道和数据通道。示波器用时钟通道触发,把数据通道叠加显示。由于是高速串行数据,数据通道上的波形是多位数据的叠加,看起来像是多个比特位的连续波形。

更实用的做法是:用示波器的"数据时钟"模式,把一个数据通道作为串行数据源,把对端的时钟作为恢复时钟,让示波器直接解码并显示每个数据位的眼图位置。普通示波器可能不具备这种协议解码能力,那么退而求其次,用余辉模式观察数据跳变沿相对于时钟边沿的时间分布范围,估算建立和保持时间的裕量。

以经验来看,常见的LVDS发送端芯片给出的数据-时钟相对偏移约在几百ps量级,远小于一个数据位宽度(比如数据率400Mbps时位宽2.5ns),所以正常情况下建立保持时间裕量是充足的。如果实测发现数据沿距时钟边沿很近,甚至出现重叠,第一反应应该是检查通道映射有没有接错,或者时钟和数据在PCB布线长度上存在严重不匹配。

5.3 跨通道偏移:四个通道之间藏着看不见的时差

多通道LVDS往往包含多个数据通道,比如4通道配置下,并行数据被分到4个差分对上串行传输。理想情况下,所有通道的信号延迟应该一致,但实际PCB布线不可能做到绝对等长,芯片内部各路输出也存在细微差异,这些叠加起来就是通道间偏移。

通道间偏移过大,会导致接收端恢复并行数据时各通道位置错位。这种错位在示波器上看起来是"每个通道波形都正常,但放在一个时间坐标下互相有错位"。测量方法不复杂:示波器同时显示多个数据通道波形,把时钟通道作为触发,量每个通道边沿相对于触发点的延时差,最大的差值就是通道间偏移。

很多LVDS接收端芯片规格书中会给出允许的最大通道间偏移值,比如DS90CR285给出的典型值是400ps。如果实测偏移在数百ps以内,通常问题不大;如果达到1ns以上,即使每通道信号质量很好,接收端也可能出现采样错误。处理通道偏移的办法主要是PCB等长布线,在驱动端或接收端调整相应通道的延时也是FPGA方案中常用的手段。

6. 异常波形对照:过冲、振铃、摆幅不足、共模漂移的根因路径

做测试,最重要的能力不是"测出正常波形",而是"看到异常波形能快速定位根因"。把实际项目中常见的异常现象和排查路径整理成一张对照表,每次遇到类似问题可以按图索骥。

异常现象可能原因排查手段
波形过冲/振铃明显阻抗不连续、走线过长、过孔过多、缺少终端匹配检查100Ω端接是否到位;查看PCB走线阻抗报告;用TDR定位不连续点
差分摆幅偏低驱动强度设置过低、走线损耗大、接收端并联过多负载检查发送端寄存器配置;对比发送端和接收端波形;减小走线长度或增加线宽
摆幅偏高驱动强度设置过高调低驱动档位;检查是否有反射叠加
共模电压漂移发送端去耦不良、参考电源异常、驱动级偏置异常检查发送端供电纹波、去耦电容;测共模波形看是否随温度漂移
边沿过慢负载电容过大、驱动能力不足、线缆过长检查接收端输入电容;测量上升时间;考虑使用驱动增强模式
边沿过快驱动设置过强,或缺少串阻调低驱动强度;必要时增加串联电阻或展频措施
数据-时钟相对偏移漂移供电不稳定、温度变化、PCB局部发热监测供电电压和温度;检查时钟和数据走线是否分离
眼图闭合抖动叠加、串扰、损耗、接地噪声分别测电源噪声和相邻通道串扰;检查参考地平面完整性
单端波形不对称差分P/N走线不对称、驱动级故障对比P/N走线长度;更换发送端芯片验证
低温/高温环境出现偶发花屏温度导致驱动摆幅或阈值漂移做高低温循环测试;检查摆幅和共模温度系数

6.1 过冲与振铃:阻抗链路的"回声"

过冲和振铃的本质是信号在阻抗不连续点的反射。可以把信号想象成水波,遇到障碍物会被弹回来,弹回来的波和原来的波叠加,就形成了过冲和振铃。

LVDS链路中常见的阻抗不连续点包括:连接器、过孔、走线宽度变化、接收端引脚处的寄生电容、以及缺失的终端电阻。排查时先确认终端电阻是不是真的跨接在接收端的差分对上,很多贴片电阻有虚焊情况;确认PCB走线从发送端到接收端全程有没有换层,换层时的过孔有没有做阻抗优化;最后在波形上看看过冲出现在波形的哪个位置,如果出现在接收端且前半段正常,大概率是末端阻抗失配。

实际处理上,优先保证100Ω终端正确,然后检查走线阻抗,必要时在发送端串联一个22Ω或33Ω电阻来降低Q值。这个串阻值需要根据实测微调,我从33Ω开始试,逐步减小到刚好消除明显过冲为止。

6.2 摆幅不足:驱动能力、走线损耗与端接的三角关系

摆幅不足可以分摊到三个因素上:发送端驱动能力不足、走线损耗过大、接收端等效负载过重。

驱动能力方面,FPGA的LVDS输出通常有多个电流档位,默认档位未必是最合适的档位。某些FPGA的IO驱动强度可配置为2mA、4mA、6mA等,对应到LVDS差分输出电压也会不同。实测摆幅偏低时,先查驱动强度配置。

走线损耗方面,高频信号在PCB上的损耗随频率上升而增加,如果走线太长或者使用了损耗较大的板材,接收端的摆幅会明显低于发送端。对比发送端和接收端两处波形,如果发送端摆幅正常而接收端偏低,基本可以判断是走线损耗或中途存在阻抗问题。

接收端等效负载方面,如果一个发送端接了多个接收端,或者PCB上并联了额外的测试点、保护器件,都会拉低实际摆幅。测量时要注意这些因素对负载的影响。

6.3 共模电压漂移:一个容易被忽略的直流病根

共模电压漂移是个隐蔽问题,因为差分波形看起来一切正常。但共模漂移会影响接收端输入级的静态工作点,导致接收灵敏度下降。

排查共模漂移,用示波器测(A+B)/2波形,观察它是稳定在1.2V附近,还是随着数据图案、温度、供电电压在变化。如果共模波形上叠加了明显的纹波,检查发送端供电、去耦电容和参考地;如果共模电压整体偏高或偏低,检查发送端的偏置电阻和驱动级配置。

还有一个容易忽略的点:測量时探头自身会引入一定负载,对共模电压有微弱影响。有源差分探头输入阻抗一般在几十kΩ到几百kΩ,影响不大;但如果用无源探头或者接了长地线,测量结果可能会偏离真实值。

6.4 眼图闭合的常见组合原因

眼图闭合往往是多个因素叠加的结果,很少是单一因素。排查建议采用排除法:

先看电源。发送端和接收端供电纹波过大,会导致输出边沿抖动,表现为眼图水平方向的"毛边"。用示波器测电源引脚上的纹波,峰值最好控制在几十mV以内。

再看串扰。如果LVDS走线旁边的其他高速线或者单端信号线切换频繁,可能通过寄生电容在LVDS差分对上耦合噪声,表现为眼图垂直方向的"雾化"。观察旁边信号线的活动频率和眼图噪声频率是否相关。

最后看地。参考地平面不完整,回流路径受阻,会引起地弹和噪声,同样会让眼图质量恶化。

按"电源→串扰→地"的顺序排查,大多数眼图问题都能找到根源。如果这三个方向都正常,就要考虑芯片本身的抖动特性,比如PLL配置是否合理,或者发送端参考时钟质量是否达标。

7. 两个实际案例:FPGA误码定位与RK3566点屏排查

理论讲再多,不如案例来得直接。分享两个我实际做过的LVDS测试案例,都是真实项目里遇到的问题,处理思路比最终结论更有参考价值。

7.1 FPGA的LVDS接收测试:从波形正常到误码率异常

某个项目需要在FPGA上接收来自远端板卡的LVDS数据,速率约490Mbps每通道,4通道配置。第一轮调试时,用示波器在接收端测波形,眼图清晰、摆幅约340mV、共模1.2V,怎么看都正常。但FPGA内部用PRBS校验逻辑跑误码率,发现大约每秒钟会出现几个误码,规律性不强。

这个案例的排查走了不少弯路。一开始怀疑FPGA管脚约束有问题,检查了IOSTANDARD、DIFF_TERM、逻辑电平设置,全部正常。又怀疑时钟恢复逻辑有bug,但用ILA抓内部信号看,数据路径的采样结果确实偶尔会错位。

后来回到波形上重新找线索。这一次我在示波器上同时显示了4个数据通道,用同一个时钟通道触发,结果发现一个问题:第2通道的边沿比第1通道晚了大约700ps,第3、4通道与第1通道基本对齐,只有第2通道明显偏晚。700ps对于490Mbps(位宽约2ns)来说,占到了接近1/3位宽,虽然每通道单独看都是"信号质量正常",但接收端把4路并行数据合并时,采样时序裕量被明显压缩了。

排查原因,发现PCB布局时第2通道的走线比其他三个通道多绕了一段,长度差大约差出接近140mil(按6mil/ps估算,延时差约700ps)。处理方式很简单:走线等长调整,或者如果改板周期长,在FPGA内部给第2通道增加一个可调延迟原语做补偿。我们当时赶时间,先在FPGA内部用IODELAY把第2通道的采样延时调整了约600ps,误码率立刻降到0。值得注意的是,这个补偿是"在FPGA内部调整采样时钟相对数据的相位",而不是修改发送端逻辑,效果上等价于拉平了跨通道偏移。

这个案例给我的教训是:仅看单一通道的波形质量远远不够,多通道LVDS必须同时检查通道间偏移,有条件最好用带有"多通道眼图"分析功能的高端示波器,把所有通道叠加到同一个时间轴上对比。

7.2 RK3566点LVDS不亮:从设备树到波形一步步翻案

另一个案例是用RK3566的LVDS接口点一块工业屏,现象是上电后背光亮,但屏幕一直白屏,完全没有图像。

按照"软件优先还是硬件优先"的顺序,我一般会先确认内核有没有正确初始化LVDS控制器。在RK3566平台上,和LVDS相关的设备树节点大致包含LVDS控制器、面板节点和对应的路由关系。检查了设备树里LVDS节点状态、面板时序参数和data-mapping配置,看起来都正常,内核日志里也显示LVDS相关初始化成功。

这时候才拿示波器去测屏端连接器上的波形。结果发现一个很有意思的现象:时钟通道有波形,幅度约340mV,正常;第1、3、4通道有波形,也正常;唯独第2通道没有任何波形。单独看第2通道的输出,示波器屏幕上一条直线。当时第一反应是LVDS驱动器第2通道坏了,但换了一块板仍然一样。后来去查发送端芯片的寄存器配置,发现LVDS输出使能寄存器里某个数据通道被意外关闭了。

检查代码发现,初始化流程里有一段根据分辨率动态配置通道数的逻辑,它把通道数从4改成了3,导致第4条数据通道被关闭。而屏幕白屏的原因正是:屏的行场同步信息和部分像素数据被分配到第4通道上传输,这条通道被关掉之后,显示器完全无法解析图像流。

修复其实很简单,把配置改成固定4通道输出,问题消失。但排查过程却花了整整大半天,教训在于:发现问题后先确认软件配置状态,再动示波器,能少走不少弯路。

7.3 排查链路的通用顺序:先软件后硬件,先供电后信号

从上面两个案例能总结出一套通用的LVDS问题排查顺序,按照这个顺序来,不确定因素会逐层收敛:

  1. 确认软件的初始化链路:控制器是否使能、通道数配置、数据映射格式、时钟频率是否与屏规格匹配。
  2. 确认供电:发送端和接收端的供电电压、去耦电容、功耗是否在规格内。
  3. 确认静态连通性:用万用表测试差分对连通性、终端电阻、电源和地是否短路或开路。
  4. 上电测直流参数:共模电压、差分摆幅是否达标。
  5. 测交流波形:差分波形、眼图、通道间偏移、数据-时钟相对时序。
  6. 如果信号正常,回到软件配置层面排查协议格式、初始化时序、复位时序等问题。

这套顺序看起来简单,但每一步都有讲究。关键是不要跳步骤,不要因为"波形看起来正常"就跳过对软件配置的检查,也不要因为"日志显示初始化成功"就跳过对信号的实测。LVDS点屏问题往往是软件和硬件问题交织在一起,只有用完整链路排查法才能稳定收敛到根因。

我在实际调试中还有个习惯:每次排查问题都记录时间线和波形截图,不仅方便自己复盘,也能作为跨部门协作时的证据。特别是像RK3566点LVDS这类涉及硬件、驱动、内核多处协同的场景,一个完整清晰的实测记录能节省大量沟通成本。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询