第二章:眼图参数详解——眼高、眼宽、抖动、占空比失真、Q因子

各位工程师朋友,大家好。今天我们来聊聊眼图里那几个最核心的参数。说实话,我刚入行那会儿,看眼图就是看个“眼睛睁没睁开”,后来被老工程师骂过几次,才明白每个参数背后都有故事。

眼图不是一张好看的图,它是信号的“心电图”。你想想看,一个信号好不好,眼图能告诉你一切。我个人习惯,拿到眼图先看五个参数:眼高、眼宽、抖动、占空比失真、Q因子。一个一个来。

2.1 眼高(Eye Height)

眼高,说白了就是信号“1”和“0”之间的电压差。单位通常是mV。这个值越大,接收端越容易判断对错。

我在项目中遇到过一件事:一块板子,眼高只有80mV,接收端老是误码。查了半天,发现是电源纹波太大,把信号幅度压下去了。后来加了去耦电容,眼高恢复到200mV,问题解决。

重要经验:眼高低于100mV时,建议检查电源完整性和驱动能力。别急着调均衡,先看供电。

眼高的计算公式很简单:

Eye Height = V_high_min - V_low_max

其中V_high_min是所有“1”电平的最小值,V_low_max是所有“0”电平的最大值。嗯,这里要注意,不是平均值,是最小和最大。

2.2 眼宽(Eye Width)

眼宽,就是眼睛在水平方向上的开口大小。单位是ps或UI。一个UI就是1个比特的时间宽度。比如10Gbps的信号,1UI = 100ps。

眼宽反映了信号的时序裕量。你想想看,如果眼宽只有0.3UI,那接收端的采样时钟稍微偏一点,就采到错误数据了。

数据速率 1UI宽度 建议最小眼宽
1 Gbps 1000 ps ≥ 600 ps
10 Gbps 100 ps ≥ 60 ps
25 Gbps 40 ps ≥ 24 ps

我曾经调试过一个25Gbps的链路,眼宽只有18ps,怎么调都上不去。后来发现是PCB走线有stub,产生了反射。去掉stub后,眼宽到了30ps。所以啊,眼宽小了,先看通道有没有不连续的地方。

2.3 抖动(Jitter)

抖动,是信号边沿在时间上的不确定性。说白了,就是信号该来的时候没来,或者来早了。抖动的单位是ps。

抖动分两类:

  • 随机抖动(RJ):由热噪声、散粒噪声等引起,服从高斯分布。没法完全消除,只能控制。
  • 确定性抖动(DJ):由串扰、反射、电源噪声等引起。这个可以优化。

我的调试习惯:先看总抖动(TJ),如果超标,再用抖动分解工具看RJ和DJ的比例。如果DJ占比大,说明有明确的干扰源,值得花时间去找。如果RJ占比大,那可能是芯片本身的问题,换方案吧。

抖动的测量方法:

// 伪代码示意
TJ = 峰峰值抖动,通常取BER=1e-12时的值
RJ = 高斯拟合后的标准差 σ
DJ = TJ - 2 * 14.069 * σ  // 14.069对应1e-12的Q因子

我记得有一次,一个项目抖动总是超标,RJ和DJ都正常,但TJ就是大。后来发现是示波器的时钟恢复环路设置不对。嗯,测量工具本身也会引入误差,这个坑我踩过。

2.4 占空比失真(DCD)

占空比失真,就是信号高电平时间和低电平时间不一样。理想情况下,50%占空比的信号,高和低应该各占一半。但实际中,由于驱动器的上升沿和下降沿不对称,或者阈值电平偏移,会导致占空比偏离50%。

DCD对高速信号的影响很大。你想想看,如果占空比变成了55%/45%,那接收端的时钟恢复电路就会产生固定的相位偏移,导致误码。

注意:DCD通常表现为眼图在垂直方向上的“错位”。如果你看到眼图的交叉点不在中间,那大概率是DCD问题。

我曾经调试过一个PCIe Gen4的链路,眼图交叉点上移了10%。查了半天,发现是TX端的一个电容焊错了容值,导致AC耦合时间常数不对。换回正确容值后,交叉点回到50%。

DCD的测量方法:

DCD = |T_high - T_low| / (T_high + T_low) * 100%
其中T_high是平均高电平时间,T_low是平均低电平时间

2.5 Q因子(Quality Factor)

Q因子,是衡量眼图质量的一个综合指标。它把眼高和噪声结合起来,单位是dB或者无量纲。Q因子越大,信号质量越好。

Q因子的定义:

Q = (μ1 - μ0) / (σ1 + σ0)
其中μ1和μ0分别是“1”和“0”电平的平均值
σ1和σ0分别是“1”和“0”电平的标准差

Q因子和误码率(BER)有直接关系。Q因子每增加1,BER大约降低一个数量级。比如Q=7时,BER约1e-12;Q=8时,BER约1e-15。

实用经验:对于大多数高速SerDes链路,Q因子大于7(约17dB)是比较安全的。如果Q因子低于6,建议仔细排查链路问题。

我个人习惯,在调试时先看Q因子。如果Q因子低,再看是眼高小还是噪声大。眼高小就查驱动和电源,噪声大就查串扰和地弹。

2.6 五个参数的关系

这五个参数不是孤立的。我画了一张图,帮你理清它们的关系:

眼图质量 眼高 眼宽 抖动 占空比失真 Q因子 五个参数共同决定眼图质量,Q因子是综合指标

从这张图你能看出来:眼高和眼宽是基础,抖动和占空比失真是干扰,Q因子是综合评判。调试的时候,我建议先看Q因子,再根据Q因子低的原因,去查具体是哪个参数出了问题。

调试口诀:眼高低了查电源,眼宽小了查通道,抖动大了查干扰,DCD大了查驱动,Q因子低了逐个查。

好了,这一章的内容就到这里。眼图参数是SerDes调试的基础,把这些参数吃透了,后面讲均衡、预加重、时钟恢复的时候,你就能理解为什么要有那些技术了。


公众号:蓝海资料掘金营,微信deep3321