眼图基础:什么是眼图、眼图参数解读

做信号完整性这么多年,我见过太多工程师一上来就调CTLE/DFE,结果眼图还是不达标。为什么?因为他们连最基本的眼图都没吃透。今天咱就从头捋一遍——眼图到底是个啥,那些参数怎么读,哪些坑不能踩。

什么是眼图?

眼图不是一张真的“眼睛”图片。它是把一串数字信号重复叠加到同一个时间窗口,显示出来的波形堆叠图。说白了,就是把很多个bit的波形叠在一起看。如果信号质量好,这些波形会聚拢成一个“眼睛”的形状;如果信号差,眼睛就闭上了。

我记得刚入行那会儿,老板扔给我一个10Gbps的SerDes眼图,问我“这眼图能过吗?”我盯着那团模糊的影子看了半天,只能说“呃…好像不太大?”后来才明白,眼图的形状直接告诉你通道损耗有多大、噪声有多高、时序偏差有多严重。

核心概念:眼图 = 数字信号的“心电图”。波形越清晰、眼睛睁得越大,信号质量越好。

眼图基本结构示意图 眼高 (Eye Height) 眼宽 (Eye Width) 抖动 交叉点 眼图 = 多比特波形叠加 → 开口越大,信号裕量越大

眼图参数解读

眼图上有几个关键参数,你必须在示波器上能一眼找到。我习惯把它们分成三类:幅度类、时间类、综合类。

参数 类别 定义 常见合格目标
眼高 幅度 眼图垂直开口的高度,代表信号电压裕量 ≥ 100 mV(取决于标准)
眼宽 时间 眼图水平开口的宽度,代表时序裕量 ≥ 0.6 UI
抖动 (Jitter) 时间 信号边沿的随机/确定性时间偏差 RMS ≤ 0.05 UI
交叉点 (Crossing Point) 时间 上升沿与下降沿交叉的位置,反映占空比 50% ± 5%
BER 等值线 综合 不同误码率下的眼图收缩轮廓 由系统要求决定

眼高——你能吃多少噪声

眼高就是眼睛里上下黑区之间的垂直距离。值越大,说明信号能够容忍的噪声就越多。我在某个25Gbps的项目里遇到过一种情况:眼高只有45mV,但规格要求100mV。查了半天,发现是VCO供电纹波太大。你想想看,如果眼高太小,随便一点串扰就能把逻辑电平翻转。

一个小经验:测量眼高时,不要只看最大值。取眼图中央10%区域内的平均高度更可靠。因为眼图的边缘往往被噪声展宽了。

眼宽——你有多少容错时间

眼宽是水平方向眼睛睁开的长度,单位通常用UI(一个bit的时间宽度)。比如10Gbps信号,1UI = 100ps。如果眼宽只有0.4UI,那采样点就只剩40ps的裕量。一旦时钟抖动或者温度飘移,数据就采错了。

曾经有一块PCIE Gen4的板子,眼宽只有0.35UI。我一开始以为是PCB走线太长,后来发现是端接电阻焊错了位置。换回来之后眼宽直接翻倍到0.7UI。所以别上来就调均衡器,先看硬件。

抖动——信号时序的“心电图异常”

抖动是所有工程师的噩梦。它分成两大类:

  • 随机抖动 (RJ) – 热噪声、散粒噪声引起,呈高斯分布,无法根治只能容忍
  • 确定性抖动 (DJ) – 由串扰、ISI、电源噪声引起,有固定模式

怎么区分?你可以在示波器上把TIE(时间间隔误差)的直方图拉出来。高斯分布的是RJ,有多个峰的是DJ。我记得有次一个客户的眼图抖动很大,直方图出现了三个峰,一看就是邻近信号跨分割区耦合过来的。

避坑提醒:千万不要只盯着峰峰值看抖动。我曾吃过亏——一个抖动峰峰值0.15UI的通道,实际BER怎么测试都过不了1e-12。后来发现RMS抖动只有10ps,但DJ中有个低频分量把眼图周期性收窄。所以一定要分解RJ和DJ再做判断。

眼图与误码率 (BER) 的关系

眼图的终极目的不是让眼睛看起来漂亮,而是保证误码率达标。眼高、眼宽、抖动三个参数综合决定了BER。业界常用“浴盆曲线”(Bathtub Curve)来描述这个关系——横轴是采样点位置,纵轴是BER。

  • 眼图中央的BER最低,向两侧急剧升高
  • 眼高低于某个阈值时,BER会触发比特错误
  • 抖动越大,浴盆曲线的“斜坡”越平缓,合格眼宽就越小

所以,你调CTLE和DFE的本质,就是在牺牲一部分幅度(高频增益带来的噪声放大)来换取眼宽(消除ISI)——这就是联合调参的博弈。后面我们会花大量篇幅讲这个。