3. 眼图测量原理归纳总结

眼图,说白了就是示波器把一串数字信号的每个比特周期叠在一起,形成像眼睛一样的图案。我刚开始接触高速信号时,觉得眼图看起来挺玄乎,其实它就是信号质量的“快照”。你想想看,一个信号从发送端出来,经过PCB走线、连接器、线缆,到接收端,中间会有衰减、反射、串扰,最终体现在眼图上就是眼睛睁得大不大、干不干净。

核心洞察:眼图测量的本质,是用统计的方法评估信号在“最坏情况”下的表现。它把上百万个比特的波形叠加,暴露那些偶发的失真和抖动。

3.1 眼图是怎么形成的

先讲原理。我们把示波器的时基设为UI(Unit Interval)宽度,比如USB 3.0的速率是5 Gbps,一个UI就是200 ps。示波器持续采集数据,并触发在第一个跳变沿,然后持续叠加之后的波形。只要信号有重复的模式(比如PRBS伪随机码),每个比特的起始位置对齐,后面的波形就会叠在一起。

我曾在项目中遇到过一个情况:示波器的触发设置不对,导致眼图怎么也合不上,后来发现是触发源选错了,应该从时钟恢复CDR的输出取触发。嗯,这里要注意:眼图叠加的前提取决于稳定的触发,否则眼图会“糊”成一团。

3.2 眼图里到底看什么

眼图的关键参数就那么几个,记住它们,你就能判断信号质量好坏。

参数 含义 USB 3.0典型要求
眼高(Eye Height) 眼睛垂直开口幅度,反映电压噪声裕量 ≥ 200 mV(差分)
眼宽(Eye Width) 眼睛水平开口宽度,反映时间抖动裕量 ≥ 0.7 UI(即≥ 140 ps)
抖动(Jitter) 信号边沿的随机偏移,分Rj和Dj 总抖动≤ 0.3 UI
上升/下降时间 20%~80%边沿斜率 ≤ 100 ps
眼图模板裕量 信号是否完全避开模板区域 模板内无波形侵入

实际测量中,我建议先看眼图的“三叉点”——就是眼图波形交叉的地方。抖动大的信号,交叉点会很粗;噪声大的信号,眼图头顶很厚。我习惯先肉眼扫一遍眼图轮廓,再拿模板去套。

实用技巧:示波器里可以打开“直方图”功能,把眼图中央的电压分布拉出来,直接读出均值和标准差,比手工量准得多。

3.3 眼图测量三要素:时钟、触发、采样率

  1. 时钟恢复(CDR):USB 3.0信号是嵌入式时钟,示波器必须用CDR锁相环恢复时钟,才能让眼图稳定叠加。我见过有人直接用外时钟触发,结果眼图抖动更大——因为外时钟和信号的相位关系没对准。
  2. 触发源:一般用CDR恢复的时钟作为触发,或者用数据信号的第一个跃变沿。注意触发条件要设为“边沿触发”,阈值设在信号中间电平。
  3. 采样率:带宽是首要,USB 3.0信号建议用≥13 GHz带宽的示波器(5 Gbps基波3次谐波够到15 GHz)。采样率至少20 GS/s,不然眼图边缘会锯齿状,测量误差大。

曾经踩过的坑:我曾经在给客户做合规测试时,用的示波器带宽只有8 GHz,测量出的眼高比实际低了0.3 dB。后来换了16 GHz的机器,才通过模板测试。所以——示波器带宽不要算到刚刚好,留一倍的余量。

3.4 眼图测量的标准流程

我总结了五步法,照着做一般不会漏掉关键点。

  • 第一步:设置带宽和采样率。如果示波器有专门的USB 3.0信号分析软件,直接用预设。没有的话,手动设带宽≥12 GHz,采样率≥20 GS/s,记录长度≥100M点。
  • 第二步:调触发电平。触发电平设到信号摆幅的50%,边沿类型选上升沿(或者下降沿,看习惯)。
  • 第三步:开启CDR。选USB 3.0速率5 Gbps,CDR模式选“PLL locked”,环路带宽推荐10 MHz(波特率的1/500)。
  • 第四步:叠加眼图。示波器一般会自动把采集的波形对齐到UI,按“Eye/Mask”按钮就能看到眼图。如果开的是持续累加模式,放个几秒让眼图稳定。
  • 第五步:测量参数并套模板。先用自动测量功能读出眼高、眼宽、抖动、上升时间。再加载USB 3.0的模板文件(.msk或.tpl格式),检查有没有区域变红——变红就是不通过。

这里插一句:套模板时如果眼图刚好蹭到模板边缘,我建议重新测一次,换一段数据再测。有时候信号里偶尔有一次跳变抖动大,但统计占比很低,可以忽略;但如果连续出现,就要考虑阻抗不匹配或电源噪声了。

3.5 眼图测量背后的数学逻辑

说白了,眼图是高速信号质量的全息投影。它是从“时域”到“统计域”的一次转换。每条波形的电压-时间轨迹,被切割成UI长度的小段,然后所有小段通过触发对齐叠加。每个电压位置出现的概率不同,最终形成灰度或彩色分布。

为什么USB-IF规范这么强调眼图?因为它能综合看到:

  • 信道损耗导致的幅度压缩(眼高下降)
  • 反射造成的过冲和回沟(眼图轮廓里出现毛刺)
  • 抖动破坏的定时裕量(眼宽缩小)
  • 串扰噪声(眼图背景有雾状亮点)

我让你记住一句话:眼图是结果,不是原因。发现眼图闭合,要反推是哪个环节造成的。是DC偏置没对准?还是PCB走线跨分割层?又或者是SATA连接器插得不紧?

个人经验:我在调试一个4层板上的USB 3.0时,眼图眼高总是比预期低20 mV。后来用TDR一测,发现差分阻抗在连接器处跌到80 Ω。换了阻抗匹配更好的连接器,眼高立刻恢复。所以眼图测量配合时域反射计(TDR)使用,如虎添翼。

下面这张SVG图总结了眼图测量的核心逻辑——从信号输入到参数输出,再到分析决策。

眼图测量核心逻辑 高速数字信号 示波器 + CDR 波形叠加成眼图 测量参数 眼高/眼宽/抖动 USB 3.0 模板 通过/失败判定 + 问题定位建议 提示 测量前务必校准电缆和探头 差分探头去嵌后误差<5%

图中从信号输入到眼图叠加,再到参数测量和模板比对,最终判定是否通过。我在实际项目中经常把“分析决策”这一步做得更细:如果眼高不够,先查差分摆幅和阻抗连续性;如果眼宽不够,重点看时钟恢复是否稳定;如果模板内有侵入,先排除共模噪声干扰。

3.6 关于抖动的一个提醒

眼图里的抖动,其实分为随机抖动(Rj)和确定性抖动(Dj)。前者由热噪声、闪烁噪声等随机因素产生,服从高斯分布;后者由码间干扰、串扰、时钟调制等确定性因素造成,呈有界分布。示波器会用“Tailfit”算法把Rj和Dj分离出来。

我记得有一次分析眼图很窄,打开抖动分离一看,Dj占了85%,主要是码间干扰。最后定位到PCB走线损耗过大,加了一级redriver就解决了。

注意事项:眼图测量不要只测一次,要采集至少100万个UI以上的数据,否则小概率噪声事件可能没被覆盖。示波器的“无限余辉”模式很适合长时间观测。

好了,眼图测量的原理就梳理到这里。你只要记住眼图的形成、关键参数、测量步骤和常见坑点,上手测USB 3.0信号就不会慌了。当然,纸上得来终觉浅,有机会还是亲自拿示波器拧几个菜板,你会发现很多课本上没写的东西。