第2章 眼图基础:概念与关键参数

做D-PHY调试,你手里最常用的工具是什么?对我而言,第一个就是眼图。

眼图这东西,说白了就是把一串数字信号,按比特周期叠在一起显示。你看到的那个像眼睛一样的图案,就是信号质量的“体检报告”。我入行头两年,觉得看眼图就是看个热闹,直到有一次项目卡在MIPI DSI的链路稳定性上……嗯,从那以后我每次看眼图都像医生看CT片子。

2.1 眼图到底是什么?

想象一下:你把示波器接在D-PHY的差分数据线上,触发设成数据时钟(DDR模式下可以设成LP→HS跳变沿),然后让示波器无限余辉模式,它会把所有捕获到的bit轨迹重叠在一起。

轨迹重合得越好,眼图就越“睁开”,信号质量就越好。反之,轨迹乱飘,眼睛就闭着——那你的屏大概率闪屏或者丢数据。

核心概念一句话:眼图 = 信号在时间轴上的统计叠加,它同时告诉你电压裕量和时间裕量。

2.2 眼图从哪儿来?

D-PHY的HS模式下,高速时钟和数据都是差分对(Dp/Dn)。示波器接差分探头,设置持续采集,然后按下“眼图模式”按钮——现代示波器基本一键生成。

但我建议你也理解背后的机制,方便手动排查异常。

  1. 以时钟通道为参考,采集数据通道的波形
  2. 将时基设为1~2个UI(Unit Interval,单位间隔)
  3. 用时钟的上升沿(或下降沿)作为触发点,反复叠加
  4. 最终在屏幕上得到一个类似眼睛的图案

这里有个坑:如果你用的是软件串化解码方式(比如通过逻辑分析仪),那生成的是虚拟眼图,精度受采样率限制。我建议始终用示波器直接测物理眼图。

2.3 三大核心参数:眼高、眼宽、抖动

拿到眼图后,看什么?D-PHY规范里最关心的就三个指标。我习惯按优先级排:眼高 → 眼宽 → 抖动。

参数 定义 D-PHY典型要求(HS) 我的个人经验底线
眼高 眼图垂直开口的电压幅度差(单位mV) ≥ 200 mV(差分,@1.2V电源) 低于150 mV就必须查端接和驱动强度
眼宽 眼图水平开口的时间宽度(单位ps) ≥ 0.65 UI(例如1Gbps下≥650 ps) 低于0.5 UI时,大概率有码间干扰或时序漂移
抖动 信号边沿位置相对于理想位置的偏差(单位ps,常分RJ和DJ) 总抖动TJ ≤ 0.35 UI 随机抖动RJ超过0.15 UI,先查电源噪声
我的习惯:先测眼高,再测眼宽。为什么?眼高够大,后面还有机会通过均衡补偿;眼高不够(<180 mV),基本和端接或驱动器有关,要先解决硬件问题。

2.3.1 眼高(Eye Height)

眼高反映的是接收端能“看见”的电压裕量。我遇到过某款手机模组,在产线上眼高只有170 mV,正常通信没问题,但温度一高就闪屏。后来发现是PCB走线阻抗偏大,导致差分幅值衰减。

测量时注意:眼高要在眼图中心区域(最宽处)取上下边沿的幅度差。有些示波器会自动标注Top和Base,直接用就行。

2.3.2 眼宽(Eye Width)

眼宽决定了接收端采样时刻的容差。D-PHY的HS模式下,数据速率越高,UI越小,眼宽压力越大。我举个例子:1.5 Gbps/lane,UI ≈ 666 ps,规范要求眼宽≥0.65 UI ≈ 433 ps。如果你的板子只有380 ps,那量产时温度变化会导致采样错误。

你想想看,眼宽不够通常是因为什么?多半是信号反射或者走线不等长造成的码间干扰(ISI)。

2.3.3 抖动(Jitter)

抖动是边沿的不确定性。常分为两类:

  • 随机抖动(RJ):源于热噪声、散粒噪声,符合高斯分布,不可彻底消除,只能控制幅度
  • 确定性抖动(DJ):源于串扰、SSO、阻抗不连续,有界且可针对性优化

我曾经调试过一个项目,眼图看上去开口很大,但抖动测试总超标。排查了两天,最后发现是电源去耦电容选型不当,导致1 MHz附近的电源纹波调制了时钟相位——这就是典型的周期性抖动(PJ,属于DJ的一种)。

注意:不要只看总抖动TJ,要分开看RJ和DJ。如果RJ正常但DJ很大,往往布板或去耦有问题;如果RJ偏大,先看电源和参考时钟的相位噪声。

2.4 眼图与D-PHY规范的对应关系

D-PHY v2.0+对HS眼图有明确的模板(Mask)要求。举个例子,在1 Gbps速率下,规范的眼图Mask是一个六边形窗口,眼图必须完全落在模板内部。示波器自带模板测试功能,通过就绿,不通过就红。

我自己总结了一个快速定位表:

眼图现象 可能原因 优先排查方向
眼高偏低(<180 mV) 驱动电流不足、端接电阻异常、链路损耗过大 测量差分摆幅、检查终端电阻(100Ω)
眼宽偏窄(<0.5 UI) 码间干扰、走线不等长、近端串扰 检查PCB等长布线、测量S参数
眼图“三眼皮” 码间干扰严重,长0/长1引起 检查预加重或端接匹配
眼图边缘模糊/抖动大 电源噪声、参考时钟抖动 测量电源纹波、更换低抖动时钟源

2.5 眼图参数之间的关系

我再强调一下:这三个参数不是独立的。眼宽变窄往往伴随抖动增加,眼高降低也可能引起误码率上升。实际调试时,我习惯把眼图和BER(误码率)扫图一起看——眼图好看,BER不一定通过;但眼图难看,BER大概率挂。

下面这张图概括了本章的核心知识结构,你可以把它当作调试时的快速导航:

眼图基础知识体系 眼图 眼高 (Eye Height) 眼宽 (Eye Width) 抖动 (Jitter) 随机抖动 RJ 确定性抖动 DJ 常见劣化因素 端接电阻不匹配 走线阻抗不连续 电源噪声 / 参考时钟抖动 眼图调试核心逻辑 量化参数 → 定位根因 → 迭代优化

调试时你就照着这个思路走:先测眼图,看三个参数谁最差,然后对照表格找根因。不要一上来就怀疑芯片或软件——八成问题出在端接、电源或者走线。

2.6 避坑指南:几个容易翻车的地方

  • 注意触发设置:有些示波器默认用上升沿触发,但D-PHY数据是非归零码,长0或长1后边沿稀疏,眼图会变淡。我建议用时钟的边沿触发,或者用数据信号的CDR恢复时钟触发。
  • 注意差分探头带宽:测量2.5 Gbps的DPHY,探头带宽至少3 GHz。我曾经用1.5 GHz探头测1.5 Gbps信号,眼宽测出来偏小,换了探头就好了。
  • 测量位置:在接收端PAD附近测,不要在发射端测。因为我们要看的是接收芯片实际吃到的信号质量。
一个小技巧:如果眼图看起来不错但系统不稳定,可以打开示波器的“颜色渐变”或“持久模式”,观察眼图中心的颜色深度。如果中心厚边缘薄,说明采样裕量足;如果中心颜色均匀,说明噪声大,容易被干扰。