眼图参数详解:眼高、眼宽、抖动、眼图幅度对称性

做SerDes调试这些年,我见过太多同学对着一堆眼图数据发愁。明明测出了很漂亮的眼图,但就是不知道应该先看哪个参数。说实话,眼图的几个核心参数——眼高、眼宽、抖动、幅度对称性——它们就像人的五官,单独看都不错,但得整体配合才能判断「这张脸」到底正不正常。

今天我就把这几个参数掰开揉碎了讲清楚。你想想看,懂了它们,你就能在信号质量诊断时直接定位到根因,而不是瞎猜。

核心提醒: 眼图参数不是孤立看的。眼高和眼宽是「硬指标」,决定了能不能正确采样;抖动是「软杀手」,处理不好会悄悄吃掉眼宽;幅度对称性则是「信号完整性的镜子」,能反映阻抗失配和编码问题。
眼图参数评估知识体系 眼图参数 眼高 (Eye Height) 眼宽 (Eye Width) 抖动 (Jitter) 眼图幅度对称性 (Amplitude Symmetry) 评估原则:先看眼高眼宽是否满足阈值 → 分析抖动成分 → 检查对称性辅助诊断

3.1 眼高(Eye Height)—— 信号幅度的安全余量

眼高,说白了就是眼睛上下张开的幅度。它代表接收端能分辨「0」和「1」的电压差值。值越大,抗噪声能力越强。我在项目中遇到过一块板子,眼高只有80 mV,但规范要求100 mV以上。查了半天发现是电源纹波太大,导致信号衰减严重。

眼高的计算方式有很多种,最常用的是取眼图中心位置(即采样点)的垂直开度。如果你用示波器看,通常有一个「Eye Height」自动测量项。但我个人习惯手动确认一下:把游标放在上下两个轨迹最密集区域的内侧边缘,读数差值就是眼高。

经验之谈: 眼高受通道损耗影响很大。PCB走线每增加1英寸,在10 Gbps时眼高可能下降 10%~15%。所以设计阶段一定要做好预加重或CTLE补偿。

眼高常见问题与排查思路:

  • 整体偏低: 检查发送端幅度设置、电源电压、AC耦合电容是否太小。
  • 顶部或底部有倾斜: 可能是码间干扰或驱动器非线性,需要看均衡器效果。
  • 上下不对称: 跟幅度对称性有关,等下会细说。

我记得有一次客户反馈眼高测量值与仿真值差30%。我们以为是模型不准,最后发现是示波器带宽设置成了20 GHz,而信号速率为25 Gbps,导致高频分量被过度衰减。你想想看,测量工具本身没选对,眼高自然不对。

3.2 眼宽(Eye Width)—— 采样点的时序窗口

眼宽测量的是眼图在水平方向上的张开宽度,单位是时间(ps)。它决定了接收端能以多大的时序容限去采样数据。眼宽越大,对时钟抖动的容忍度越高。

实际测量时,眼宽通常定义为在眼图垂直中点(50%幅度位置)处,左右两个交叉点的水平距离。或者更严谨一点:在特定误码率(比如10⁻¹²)下的水平开度。

我刚开始做高速设计时,以为眼宽只要大于0.5 UI(单位间隔)就行。后来吃过亏——在PCIe Gen4项目中,眼宽还有0.45 UI,但系统跑压测就报错。为什么?因为接收端的CDR(时钟数据恢复)本身就有固有抖动,再加上电源噪声,有效裕量就被吃掉了。所以我的建议是:眼宽至少留0.3 UI的裕量。

信号速率UI (单位间隔)建议最小眼宽(10⁻¹² BER)
1 Gbps1000 ps≥ 600 ps
10 Gbps100 ps≥ 60 ps
25 Gbps40 ps≥ 24 ps
56 Gbps (PAM4)~17.86 ps≥ 10 ps
注意: 眼宽太小(比如低于0.3 UI)时,即使眼高正常,系统也很难稳定工作。因为时钟抖动和码间干扰会进一步压缩本来就小的窗口。

3.3 抖动(Jitter)—— 信号时序的隐形杀手

抖动是我最头疼的参数之一。它不像眼高眼宽那么直观,但危害很大。抖动分为两大类:随机抖动(RJ)和确定性抖动(DJ)。

  • 随机抖动: 源于热噪声、散粒噪声等,服从高斯分布,无法完全消除。
  • 确定性抖动: 包括周期性抖动(PJ)、数据依赖抖动(DDJ)、占空比失真(DCD)等,有明确的根因。

我曾经处理过一个案例:芯片回片后眼图抖动大到眼图几乎闭合。用频谱分析发现有一个 130 kHz 的周期性抖动分量。最后定位到是板上DC-DC的开关频率正好耦合到信号线上。解决办法很简单:调整DC-DC频率,或者在电源路径上加磁珠。你看,找到根因,问题就不难解决。

抖动分离的常用方法有两种:

  1. 双狄拉克法(Dual-Dirac): 从浴盆曲线中提取两类抖动的均方根值。
  2. 频谱分析法: 对时钟或数据的相位噪声做FFT,识别离散频点。
// 伪代码:抖动分离思路(简化版)
input: 抖动量数组 jitter_samples[]
1. 计算全部抖动的均方根 RMS_total
2. 做FFT,标记超过 -20 dBc 的离散谱线 -> 周期性抖动(PJ)
3. 剩余宽带成分视为随机抖动(RJ)
4. 总抖动 Tj = DJ + 14 * RJ (基于 BER=10⁻¹²)

嗯,这里要注意:实际工程中往往需要测试 10⁶ ~ 10¹² 个比特才能得到准确的抖动数据。所以示波器的采集深度很重要。我个人最少会保证 500k 个UI以上,低于这个数测出来的抖动可能不准。

3.4 眼图幅度对称性—— 信号完整性的镜子

幅度对称性反映的是眼图垂直方向是否平衡。一个理想的NRZ眼图,上下应该完全对称;如果不称,意味着发送端或通道存在非线性、偏置漂移或编码问题。

常见的度量方式有两种:

参数定义理想值
Eye Crossing%交叉点相对眼图总幅度的百分比50% (NRZ)
Amplitude Imbalance上下半眼高之比1:1

我记得有一次调试一款12.5 Gbps 的串行器,眼图总是上大下小。测了交叉点到了65%。排查后发现是发送端输出级的共模电压偏高了大约50 mV。调低共模后,交叉点回到了51%,眼高也增大了10%。

诊断思路: 如果交叉点 > 55% 或 < 45%,优先检查差分对的DC共模电平、输出驱动器的平衡性,以及PCB上是否有不对称的过孔或换层。

幅度对称性尤其在PAM4信号中更为敏感。因为PAM4有3个眼,如果一个眼不对称,会导致错误的电平判决。我在做50 Gbps PAM4项目时,就是因为一个通道的驱动端匹配电阻不对称,导致中间眼高比上下眼小了25%。后来换了精度0.5%的电阻就解决了。

好了,关于眼图参数的核心内容就是这些。你实际碰到问题时,不妨按这个顺序排错:先看眼高满不满足阈值,再看眼宽是不是被抖动咬掉了,然后用频谱找抖动的离散成分,最后量一下对称性做辅助判断。这个方法我用了很多年,基本上没有失手过。