眼图模拟器 返回
电气·通信

眼图模拟器

高速数字信号品质一目了然地表现为"眼图"的浏览器工具。改变比特率·上升时间·抖动·振幅噪声,数百个单位区间重叠的眼实时开闭,眼开口高度·开口宽度·Q值即刻得知。

参数设置
比特率
Mbps
每秒发送的比特数。UI = 1/比特率
上升/下降时间
ps
边沿跃迁耗费的时间。越慢越从左右削减眼
时序抖动(RMS)
ps
边沿时刻的分散。从左右压扁眼
振幅噪声(RMS)
%
全摆幅的电压杂音。从上下压扁眼
计算结果
眼开口高度 (%)
眼开口宽度 (% of UI)
比特周期 UI (ps)
峰峰值抖动 (ps)
质量系数 Q
眼的判定
眼图 — 单位区间重叠

多个单位区间(UI)重叠的眼。中央开放的区域是眼开口,纵向为振幅裕度,横向为定时裕度。颜色为绿=大开口/橙=窄/红=闭合。

眼开口 vs 时序抖动
眼开口高度 vs 振幅噪声
理论·主要公式

$$\text{UI}=\frac{1}{\text{bit rate}},\qquad Q=\frac{\mu_1-\mu_0}{\sigma_1+\sigma_0}$$

UI 是比特周期(单位区间)。Q 是信号电平分离量除以噪声展开的质量系数,眼开口高度是振幅方向的噪声裕度,眼开口宽度是定时方向的裕度。

$$\text{眼开口高度}=\frac{\min(\text{1电平})-\max(\text{0电平})}{\text{全摆幅}}\times 100\,\%$$

采样时刻重叠的波形中,最低的1和最高的0的差除以全摆幅的值。越大越对振幅噪声坚强的链路。

$$\text{BER}\approx\frac{1}{2}\,\text{erfc}\!\left(\frac{Q}{\sqrt{2}}\right),\qquad J_{pp}\approx 6.6\,\sigma_{\text{jitter}}$$

比特误率 BER 由 Q 值决定,Q≈6 时 10 亿分之一误差,Q≈7 时 1 万亿分之一。峰峰值抖动 J_pp 作为 RMS 抖动的约 6.6 倍估算。

什么是眼图

🙋
"眼图"看起来像眼睛的图案呢。那个是在看什么啊?
🎓
是啊,外观像"眼"所以叫眼图。干的事很简单,把接收的数字波形按1比特周期切一段一段出来,数百片重叠在同一个地方就行。用示波器按比特时钟触发就自动这样了。重叠的结果,中间就会出现一个"眼"一样打开的区域。那个开放的程度,就是信号品质本身。
🙋
打开就好,闭合就不好呗。但为什么单单重叠就能看出品质呢?
🎓
好问题。接收机在比特周期的中间附近判定"现在是1还是0"。重叠几百条波形时,那个判定时刻的1的群和0的群如果分得开,那么波形即使有点乱,也不会误判。眼的"纵向开放"就是那个余量,也就是振幅噪声裕度。左边的振幅噪声滑块往上拉,眼会上下被压,从绿色变橙色再变红色。看得出吧。
🙋
真的,把噪声改到40%,眼完全闭合了。那"横向开放"表示什么呢?
🎓
横向开放是定时的裕度。接收机用时钟在"这儿"采样,但那个时钟会飘,信号边沿本身也会因抖动而分散。眼的横宽要是宽的话,采样位置即使有点偏,也还在安全区。要是窄的话,稍微偏一点就出界了。把抖动滑块拉到 200ps,眼会被左右压扁,横向也跟着闭合。纵向和横向都打开,才叫"好链路"啊。
🙋
还有上升时间的滑块呢。这对眼怎么影响?
🎓
上升时间,是波形从0升到1耗费的时间。这个要是慢的话,波形还没升完下一个比特就来了。前一个比特的"升坡"就会留在下一个判定里,这就叫符号间干扰(ISI)。ISI 会从左右的斜面削掉眼,所以开口宽度变窄。高速链路所以要驱动器快、配线短、损失小,保持上升陡峭。
🙋
最后出来的"Q值"是什么?和眼开口不一样吗?
🎓
Q值,可以想成眼开口用"一个数字"表现出来的东西。信号的1和0离多开,除以噪声的展开的比。Q = (μ1−μ0)/(σ1+σ0) 嘛。重要的是,从Q值能直接算比特误率(BER)。大概 Q≈6 时 10 亿比特里 1 个出错,Q≈7 时 1 万亿比特里 1 个。所以实务里不只是"眼看起来开着",要确认 Q 值超过 6 或 7 才能判合格。

常见问题

眼图(眼模式)是将接收的数字波形按1比特周期(单位区间 UI)切出,数百到数千个重叠绘制的图形。用示波器按比特时钟触发,连续单位区间在屏幕上重叠,中央会出现"眼(Eye)"一样的开放区域。眼打得开说明信号品质好,眼闭合说明接收机会产生比特误差。高速数字链路健全性一目了然的最重要信号完整性工具。
眼开口高度是眼中心纵向的开放,是采样时刻最低的"1"和最高的"0"的电压差。这是振幅方向的余量(噪声裕度),接收机在把1误判为0之前能容忍的振幅噪声量。眼开口宽度是眼的横向开放,由零点穿越时刻的分散求得,以UI的比例表示。这是定时方向的余量,采样时钟即使偏移多少也能正确判定。
Q值是信号电平的分离量除以噪声的展开的无量纲量,定义为 Q ≈ (μ1−μ0)/(σ1+σ0)。μ1·μ0 是1电平·0电平的平均,σ1·σ0 分别是各自噪声的标准差。Q值与比特误率(BER)直接相关,假设高斯噪声则 BER ≈ 0.5·erfc(Q/√2)。Q≈6 对应 BER≈10⁻⁹,Q≈7 对应 BER≈10⁻¹²。一般高速链路认证以Q值6~7以上为目标。
导致眼闭合的因素主要有三个。第一,上升时间慢会产生符号间干扰(ISI),波形未完全跃迁就移至下一比特,眼被左右削切。第二,振幅噪声(热噪声·串扰·电源变动)将眼上下压扁,降低开口高度。第三,定时抖动使边沿时刻分散,眼被左右压扁,降低开口宽度。眼完全闭合时接收机必然产生比特误差。

现实应用

高速串行链路认证:USB、PCI Express、Ethernet(10G/25G/100G)、SATA、HDMI、DisplayPort 等高速接口,每个规格都规定了眼图的掩膜(模板)。接收眼不触及掩膜、满足规定的眼开口高度·开口宽度就是互联接合格条件。合规测试时用专用示波器获取数百万比特的眼,判定规格适合。

DDR 存储器接口验证:DDR4/DDR5 等高速并行存储器中,数据信号(DQ)与选通信号(DQS)的定时关系用眼图评估。眼开口宽度与建立时间/保持时间的余量直接相关,开口不足就发生读写错误。基板设计时通过配线长度对齐、终端优化来最大化眼。

光通信系统品质管理:光纤通信中,接收光信号转换为电气后的眼图可评估发送器品质和传输路劣化。Q值和眼开口反映光信噪比(OSNR)和分散影响。波长分散和模分散大时眼闭合,分散补偿的效果也能从眼确认。

与信号完整性分析(CAE)的联动:将基板和配线的传输特性(S参数)导入电路模拟器,可计算通过通道后的眼图。掌握本工具这样的简易模型"上升和抖动多少会导致眼闭合"的感觉,有助于理解用 IBIS-AMI 模型的详细链路模拟结果。

常见误解和注意事项

首先常见的误解是,"眼看起来开着就合格"。用示波器重叠数千比特的眼看起来虽然开着,那也只是"观测范围内开着"。要保证比特误率 10⁻¹²,需要 1 万亿比特级观测,实际上不可能。所以实务中用 Q值和统计外推(BER 等高线、浴缸曲线)来估算含极端比特的眼。少数波形看起来开的眼和规格要求的眼是两码事,要有这个意识。

其次,"抖动都一样"的思维定式。本工具把抖动作为单一的 RMS 值处理,峰峰值用约 6.6 倍估算。这对随机抖动(热噪声源而言出现高斯分布的成分)是妥当的,但实际抖动还含有确定论抖动(确定论抖动=ISI、占空比失真、周期抖动等,有上限的成分)。确定论抖动的峰峰值与观测比特数无关固定,随机抖动观测得越多越显示得大。不分离两者评估,会看错必要的抖动预算。

最后,"只看眼开口高度,轻视开口宽度"的陷阱。振幅够足,定时裕度不够链路就会失败。特别是近期高速链路配线损失导致上升变钝和 ISI 占主导,纵向眼先于横向闭合很常见。再者 PAM4 等多值调制一个信号叠多个眼,各眼的高度只有 2 值(NRZ)的三分之一。调制方式不同眼的看法本身就不一样,需要注意。

使用指南

  1. 设置比特率范围(brRange)。PCIe 5.0 时选 32 GT/s,USB 3.1 时选 10 Gbps
  2. 以 ps 单位指定上升时间和下降时间(rtRange)。DDR5 存储器目标是 200ps 以下
  3. 以 UI(单位区间)的 % 输入抖动(jtRange)。一般设备 3~8% pp
  4. 以 mV 单位设置噪声功率(npRange),执行模拟
  5. 实时波形确认眼开口宽度·高度,以 Q值 7 以上为目标进行品质判定

具体计算示例

PCIe 5.0 系统(32 GT/s)设想:比特周期 UI=31.25ps,上升时间=180ps,抖动 6% pp=1.875ps,噪声 30mV 时,眼开口高度约 65%,眼开口宽度约 45% of UI。Q 值达到 8.2,判为"合格",链路品质充分。反之把抖动增到 8%,Q 值下降 6.1,裕度不足需改善。

实务注意事项