眼图参数定义:眼高、眼宽、抖动、上升时间、下降时间

眼图这玩意儿,说白了就是高速信号的“心电图”。它的形状、开口大小,直接告诉你信号质量行不行。我刚开始接触HS400的时候,觉得眼图就是看个“眼睛”睁得大不大。后来被折腾了几次才明白,每个参数都有它的脾气。

这一章咱们把眼图的核心参数掰开揉碎了聊。眼高、眼宽、抖动、上升时间、下降时间——你只要搞懂这五个,就抓住了信号完整性的命门。

眼高(Eye Height)

眼高,就是眼图垂直方向上的开口幅度。它反映的是接收端能分辨“0”和“1”的电压裕量。简单说,眼高越大,抗噪声能力越强,误码率越低。

我习惯用示波器的直方图功能测量眼高。取眼图中央20%~80%的水平区域,做垂直方向上的统计平均值。举个例子,HS400的信号标准是3.3V,实测眼高只有400mV,这信号基本就废了。

关键公式: 眼高 = Vtop - Vbottom(单位mV),Vtop和Vbottom分别是“1”和“0”电平的稳定电压。

有一次我在项目里测一块FPGA的HS400输出,眼高从500mV掉到300mV。排查了很久,原来是电源纹波太大,把电平拖到了地上。你想想看,电源不干净,眼高第一个遭殃。

眼宽(Eye Width)

眼宽是眼图水平方向上的开口大小。它代表接收端能正确采样数据的时间窗口。单位通常是皮秒(ps)。眼宽小了,时钟抖动一碰就误码。

眼宽怎么测?在眼图中央20%~80%的垂直区域内,统计水平方向上的时间分布,取6σ。这里的σ是随机抖动的均方根值——别怕,后面会细讲。

我个人经验:眼宽不能小于0.4个UI(Unit Interval)。HS400的速率是400Mbps,UI=2.5ns,那眼宽至少得有1ns。低于这个数,你的板子基本就得返工了。

抖动(Jitter)

抖动是信号边沿在时间轴上的随机偏离。它分两类:

  • 随机抖动(RJ):由热噪声、散粒噪声等产生,服从高斯分布。它没法彻底消除,只能通过设计控制幅度。
  • 确定性抖动(DJ):由串扰、码间干扰、电源噪声引起,有明确的规律。比如周期抖动、数据相关抖动(DDJ)。

总抖动(TJ) = DJ + 2 × A × RJ(A是误码率对应的峰峰值因子,常见用14.069配合10−12误码率)。

避坑指南: 我曾经犯过一个错误——把所有抖动都当成随机抖动去优化,结果白忙了三天。后来用示波器的抖动分解功能一查,发现80%是串扰引起的确定性抖动。改了布线,眼图立刻打开。

上升时间 / 下降时间(Rise Time / Fall Time)

上升时间指信号从20%幅度到80%幅度所需的时间;下降时间反之。它俩直接决定了眼图的梯形过渡带有多宽。

你可能会问:过渡带宽了会怎样?过渡带会吃掉部分眼宽。而且如果上升时间和下降时间不对称,眼图就会上下歪斜,产生占空比失真。

我的建议:上升/下降时间控制在0.2~0.35个UI之间。拿HS400来说(UI=2.5ns),Rise Time最好在500ps~875ps。太快了会过冲,太慢了眼宽不够。

参数定义典型HS400指标主要敏感因素
眼高垂直开口幅度≥ 450 mV电源噪声、阻抗匹配
眼宽水平开口时间窗口≥ 800 ps抖动、码间干扰
抖动(TJ)边沿时间偏移≤ 150 ps串扰、时钟相位噪声
上升时间20%→80%跳变时间500~875 ps驱动能力、负载电容
下降时间80%→20%跳变时间500~875 ps同上
注意: 上升时间和下降时间不对称会引入额外抖动,严重时产生数据相关的占空比失真。实测中两者相差不宜超过30%。
眼图核心参数标注 眼高 电压幅度 眼宽 时间窗口 上升 时间 20%→80% 下降 时间 80%→20% 抖动 边沿偏移 五个参数共同决定眼图质量:眼高越大、眼宽越宽、抖动越小、上升/下降时间越匹配,误码率越低

参数之间的“你推我搡”

实际调试中,这些参数不是孤立的。举个例子:你费劲把上升时间缩短了,但下降时间没跟着变,结果占空比失真变大,眼宽反而缩小了。我遇到过这种事——调了一个通宵,最后发现是输出驱动器的上拉和下拉强度不匹配。

还有个常见组合:电源噪声大 → 眼高降低 → 抖动增加 → 眼宽收窄。你只盯着一个参数修,永远找不到根因。我的做法是:先拿长伪随机码测全参数,然后做百毫秒级的累加图,看哪些参数在同一时间点异常。

实用技巧: 调试阶段,我建议按“电源质量 → 阻抗连续性 → 串扰消除 → 时钟抖动”的顺序排查。每步都回去看一眼眼图的五个参数,谁变好了谁没变,心里就有数了。

好了,这一章就到这里。记住这五个数字,它们就是你的“眼图体检报告单”。下次测HS400,别只盯着“眼睛”好不好看,把参数一个一个拉出来过一遍,毛病就藏不住了。