1. 眼图基础概念归纳总结
做信号完整性这么多年,眼图是我最依赖的工具之一。别的指标你可能是从数据表里看来的,但眼图是实实在在「长在示波器屏幕上的」。它把数字信号的所有位信息叠在一起,让你一眼就能判断这个链路能不能干活。我记得第一次看到USB 3.0的5Gbps眼图时,那种心跳的感觉——嗯,信号质量好不好,全写在那对眼睛里了。
1.1 什么是眼图
眼图(Eye Diagram),简单说就是数字信号的「心电图」。你用示波器把很长一段数据随机采样,然后把所有比特周期重叠显示,就会得到一个类似眼睛形状的图形。为什么是眼睛?因为两个波形之间留出的空白区域,正好像一只睁开的眼睛。眼睛睁得越大,信号质量就越好。
核心理解:眼图不是测一个比特,而是测几百万个比特的统计叠加。它反映的是信号在传输过程中的幅度、时序和噪声的综合表现。
我这几年调过的USB 3.0板卡,少说也有二十多块。每次拿到新板子,我第一件事就是上示波器看眼图,而不是跑误码率。为什么?因为眼图能告诉你问题出在哪——是反射、串扰、抖动还是驱动不足。跑误码率只知道有错,但不知道错在哪儿。
1.2 眼图是怎么形成的
形成过程其实不复杂:示波器内部有个时钟恢复电路(CDR),它从数据流中提取出与发送端同步的时钟。然后以这个时钟为基准,把每个UI(Unit Interval,一个比特周期)内的波形截取下来,依次重叠到屏幕上。叠的次数足够多,眼图就出来了。
我习惯用一个公式来描述眼图形成:
Eye(x,t) = Σ bit[n] 在 (t mod UI) 时刻的电压值
其中 n 从 0 到 N-1,N 为采样的比特总数
这个过程里,时钟恢复的质量直接决定了眼图的可信度。我在项目里遇到过因CDR带宽设置不对,导致眼图看起来很好但实际误码率很高的怪事。那之后我每次调眼图都会先检查CDR锁定是否稳定。
注意:如果示波器的时钟恢复参数(比如PLL带宽、抖动传递函数)和接收端不匹配,你看到的眼图可能是假的。我曾经在某个方案上花了三天找问题,最后发现是示波器的CDR环宽设错了。
下面这张图概括了眼图形成的关键节点和参数。我用它作为每次培训的开场。
1.3 眼图的关键参数
拿到眼图后,我通常先看四个东西:眼高、眼宽、抖动和占空比失真。下面这个表是我整理出来的常用判断基准,USB 3.0的规范也大致沿用这些定义。
| 参数 | 定义 | USB 3.0典型要求 | 个人经验指标 |
|---|---|---|---|
| 眼高 | 眼图张开的最大垂直幅度 | ≥ 100 mV | 低于120 mV就尽快查原因 |
| 眼宽 | 眼图交叉点之间的水平宽度 | ≥ 0.5 UI | 小于0.55 UI我就要排查抖动了 |
| 抖动 (RJ + DJ) | 跳变沿的偏移,分为随机和确定性 | 总抖动 < 0.15 UI | 抖动里如果DJ占比大,多半是反射或串扰 |
| 占空比失真 | 高电平和低电平宽度差异 | < 5% | 超过3%我就会怀疑驱动器不对称 |
小技巧:我习惯先看眼高和眼宽。如果这两个都OK,再往下分析抖动。相反,如果眼高明显偏低,也别急着调驱动强度——先看看是不是通道损耗太大,或者端接有问题。我做培训时经常说:「先看形态,再看数字」。
1.4 眼图与USB 3.0信号质量
USB 3.0工作在5Gbps,信号上升时间不到30ps。这个速度下,PCB走线上的反射、过孔阻抗不连续、连接器损耗都会直接反映在眼图上。你想想看,一个5Gbps的数据流,一个UI只有200ps。眼图如果张不开,数据采样点就会踩到错误电平上。
我经历过最典型的一次:客户反馈某款Type-C接口的固态硬盘跑USB 3.0会掉盘。我焊了一根SMA线到差分对焊盘上,看到眼图闭合得像个哑铃——眼高只有80mV,眼宽不到0.4UI。顺着链路查,发现连接器厂商偷偷换了一款廉价端子,差损多了2dB。换回原厂端子后眼图立刻张开。所以说,眼图就是判决证据。
1.5 实测中的常见陷阱
说了这么多好的,也得说说坑。下面这几个问题,我建议你第一次测眼图时就记住。
- 触发源不对:不要用外触发,尽量用CDR自带的恢复时钟。我见过有人用10MHz参考时钟触发,结果眼图里全是时钟谐波假象。
- 抖动分析前先确认波形稳定:如果示波器屏幕上波形在漂,说明时钟恢复没锁定。这时候看到的所有抖动都是假的。稳定后再测打。
- 不要只看一条通道:差分信号必须同时看+和-两条通道,然后做数学运算得到差分眼图。只看一端容易忽略共模噪声。
- 伪眼图:当信号速率低于示波器带宽的1/3时,示波器本身可能会产生伪影。我吃过这个亏,一块2.5Gbps的板子用2GHz示波器测,眼图看起来很好,实际上都是假象。
警告:别迷信「自动测量」功能。我建议每次拿到眼图,先用目视检查一下轨迹的对称性、交叉点电平的一致性。自动测量值只能作为参考,它背后的算法可能因为波形异常而算出离谱的数字。有一次自动测量告诉我眼宽0.7 UI,但明显看到眼图左半部分被压扁了——那其实是预加重没调好。
1.6 小结
眼图是信号质量的「体检报告」。它不告诉你具体哪个器件坏了,但它能告诉你哪个方向出了问题。我这些年积累的经验是:眼高不够,先查损耗;眼宽不足,先查抖动;交叉点偏移,先查占空比。当然,还有一句话永远不会过时——多测几个点,多换几个模板,多拷打一阵子。毕竟眼图这东西,给足时间才能说话。