第二章 眼图基础概念
眼图这东西,说白了就是把一串数字信号在示波器上反复叠加,最后你看到的那个类似眼睛的图案。
我第一次看到眼图是刚入行那会儿,师傅指着屏幕说:“你把这玩意儿调圆了,链路基本就稳了。”我当时一脸懵——一个波形图而已,跟眼睛有什么关系?后来才明白,眼图是高速链路的“体检报告”,它把时序、噪声、幅度这些看不见的东西全暴露在眼前。
2.1 眼图是怎么形成的?
想象一根数据线上的比特流,01010101……不停跳变。我们用示波器抓长段时间,把所有比特波形重叠到一起。每个比特在屏幕同一位置画一次,Z轴亮度叠加。最后你看到的,就是一条条轨迹交织出的“眼睛”。
- 横轴:时间,一个UI(单位间隔)的宽度
- 纵轴:电压,对应逻辑0和1的幅度
- 亮度:波形经过频率,越亮说明该位置越常出现
小诀窍:眼图一定要看“开口”大小。开口越大,链路越健康。我在项目里习惯先看眼图,再谈调优——这比看任何仿真报告都直观。
2.2 眼图参数详解
一个好眼图,得有四个指标同时达标:眼高、眼宽、抖动和眼幅。我按实战中关注度排序,给你列个表。
| 参数 | 定义 | 我的关注点 |
|---|---|---|
| 眼高 (Eye Height) | 眼图垂直开口的电压差值 | 低于200mV就要警惕,尤其UFS4.0 |
| 眼宽 (Eye Width) | 眼图水平开口的时间宽度 | 通常要求≥0.4 UI,太窄会误码 |
| 抖动 (Jitter) | 过零点的时间偏差 | 随机+确定性,我习惯分开测 |
| 眼幅 (Eye Amplitude) | 逻辑1与0的电压差 | 低了说明驱动弱,高了可能反射 |
重点笔记:眼高和眼宽是UFS PHY合规测试的硬性指标。MIPI联盟规定UFS4.0的Rx端眼高不低于140mV、眼宽不低于0.35 UI。你想想,差一个0.01 UI可能就不过——别问我怎么知道的,我吃过亏。
2.3 抖动的分类与影响
抖动是眼图杀手,没有之一。为什么?因为抖动压缩了眼宽,让判决器在错误的时间采样。我把它分成两类:
2.3.1 随机抖动 (RJ)
热噪声引起,高斯分布,没有边界。你没法完全消除,只能靠带宽限制。我在项目中见过RJ偏大的情况,往往是因为电源噪声耦合到了时钟上。
2.3.2 确定性抖动 (DJ)
有根源的抖动,可测可优化。常见类型:
- 数据相关抖动 (DDJ) —— 码间串扰引起。特别长的0或1之后,电平爬不到位,下一个跳变就晚了。
- 占空比失真 (DCD) —— 时钟占空比不是50%。我遇到过一根差分线长度不匹配,直接导致DCD超标。
- 周期性抖动 (PJ) —— 某个频率的干扰源,比如开关电源的纹波。
避坑指南:我曾经调试一块UFS 3.0板子,眼图开口偏左,怎么调CTLE都没用。后来发现是DCD引起的——TX的时钟buffer焊接不良,占空比漂到42%。换了个芯片就好了。所以,眼图不好先别急着动均衡,查查时钟。
2.4 眼图分析的“三个层次”
看眼图不能只看一张图。我习惯按以下步骤递进:
- 肉眼观察开口 —— 两秒内判断有没有明显塌陷、不对称、双线。
- 测量四个参数 —— 用示波器或BERT扫出眼高、眼宽、抖动、眼幅。对比spec。
- 分析抖动分解 —— 把总抖(TJ)拆成RJ和DJ,定位问题源头。
很多时候,到第二步就能判定合规。但调优时,必须走到第三步。
2.5 眼图与误码率的关系
眼图本质上是一个概率统计图。开口越小,误码率(BER)越高。UFS链路通常要求BER≤1e-12。什么意思?十亿个比特里最多只能错一个。
眼图的翼形部分,其实是RS(接收端灵敏度)的体现。如果能消掉部分抖动,眼宽增加,BER自然下降。嗯,这也是CTLE和DFE的作用所在——它们就是帮眼睛睁开。