第4章:物理层电气测试——发送端眼图(含预加重与去加重)

眼图测试,说白了就是看信号的眼睛健不健康。在PCIe Gen5的物理层电气测试里,发送端眼图是绕不开的关键项。我入行那会儿,前辈就告诉我一句话:眼图过不了,合规测试就甭想了。这么多年下来,我深以为然。

4.1 眼图到底在看什么?

大家可能觉得眼图就是一堆波形叠在一起,看个形状就行。其实没那么简单。眼图反映的是信号在单位间隔(UI)内的质量,包括上升沿、下降沿、过冲、抖动等等。尤其是Gen5,速率已经跑到32GT/s,信号的开眼难度比上一代大了不止一个量级。

我这里有个习惯,初次搭建测试环境时,一定先扫一遍原始波形。为什么呢?如果原始波形就有问题,那你后续的测试结果基本是废的。我在项目中遇到过好几次,工程师上来就跑眼图软件,结果误判严重。说实话,基础工作做扎实,后面才省心。

核心指标:眼高(Eye Height)、眼宽(Eye Width)、总抖动(TJ)、确定性抖动(DJ)——这四个是最基本,也是必须记录在报告里的参数。

4.2 测试环境怎么搭?

眼图测试的环境并不复杂,但很讲究。我建议你把下面几样设备备齐:

  • 实时示波器:带宽至少要26GHz,否则测Gen5基本白搭。我个人习惯用Keysight或Tektronix的高带宽型号,采样率最好能到80GSa/s以上。
  • 差分探头:频率响应要匹配。别以为普通探头能应付,高频段阻抗不匹配,眼图直接变形。
  • 测试夹具:必须符合PCIe规范中的指定损耗模型。好多人用山寨夹具,结果眼图死活测不过。
  • 测试码型:Gen5合规测试通常要求特定的PRBS或SSP码型,别随便抓个码型就跑。
避坑指南:我曾经因为探头接地线太长导致眼图开度惨不忍睹。后来才发现,高频信号地回路太长,引入的噪声直接掩盖了真实信号。老老实实换短地线,问题才解决。

4.3 预加重与去加重:为什么需要它们?

不少刚接触高速信号的同学会问:为什么非要加预加重或去加重?讲到底,都是介电损耗惹的祸。高频信号经过PCB走线和连接器后,高频分量衰减得比低频快得多。接收端如果不做任何补偿,眼图基本闭上。

你的测试芯片或参考时钟源不一定直接输出标准幅值。这个时候,需要在发送端对信号作“预失真”。

技术 原理简述 适用场景
预加重 发送端把第一个bit的摆幅调大,后面相继bit再降回去 低频通道损耗大时常用
去加重 发送端保持第一个bit幅值正常,后续连续相同bit的幅值降低 高频通道损耗大时更有效
两者差异 预加重更注意第一个bit,去加重更侧重降低后续同值bit 视实际通道S参数选择

记得我刚接触PCIe Gen4的时候,预加重和去加重搞混了,结果参考电压设反了,眼图掩体全部失败。你想想看,这对偶发性问题的排查有多头疼。现在做Gen5,我一般都会先跑一遍TX EQ的训练流程,看看芯片自己报出来的预加重系数到底是多少。

注意:预加重不是越重越好。过大的预加重会导致过冲,甚至打坏接收端输入级。建议实测时从0dB起步,逐步增大,同时观察眼图高度和抖动变化。做到信号刚刚好合格即可。

4.4 测试步骤:怎么动手测?

说实话,眼图测试流程大同小异。但Gen5的速率高,每一步都不可以马虎。我常用的流程如下:

  1. 连接测试链路:用标准测试夹具把DUT差分输出接入示波器。注意要等长连接,不等长等于增加非对称抖动。
  2. 设定触发与采集:用参考时钟或恢复时钟作为触发源。捕获至少100万个UI的波形,确保统计准确性。
  3. 运行眼图软件:示波器自带的眼图分析工具,设定好标准掩体。记得选择PCIe Gen5的Base或者CEM掩体。
  4. 调整预加重/去加重系数:如果眼图未通过,用调试命令修改TX EQ设置。每改一次,重新抓一次眼图。
  5. 记录关键参数:眼高、眼宽、TJ、DJ、预加重系数。别只看是否通过掩体,这些参数能帮你定位问题。
实操技巧:我习惯把示波器设为“无限余辉”模式,再放大波形边界。这样不仅能看到眼睛形态,还能发现间歇性抖动导致的眼缘“毛刺”。这个小动作帮我发现过不少虚焊和阻抗不连续的问题。

4.5 眼图测试流程图示

下面的流程图总结了我刚才说的几个核心环节,你可以用它来核对测试步骤。

PCIe Gen5 发送端眼图测试流程 发送端眼图测试流程 1. 搭建测试环境 2. 捕获波形数据 3. 运行眼图分析 是否通过掩体? (眼高/眼宽 >= 规范值) 未通过 调整EQ系数 返回到步骤2 通过 通过合规 关键输出:眼高、眼宽、TJ、DJ、预加重/去加重系数

4.6 常见问题与解决思路

做多了你会发现,眼图不过的问题原因往往并不复杂,但排查需要耐心。我列几个典型的:

  • 眼高不够:多半是预加重不够或通道损耗太大。可以先试调高预加重系数,如果还没起色,就要回头检查测试夹具或者PCB走线了。
  • 眼宽不足:这跟抖动关系比较大。我遇到过一种情况,时钟恢复PLL带宽没设对,导致眼图左右晃动厉害。重新配置CDR参数后,问题就解决了。
  • 掩体边缘出现毛刺:多半是电源噪声耦合或参考时钟抖动。换个电源滤波方案,或者检查时钟源的相位噪声,通常能有改善。
提醒:千万不要轻易调整DUT的TX驱动强度来“骗”过眼图测试。强行拉大驱动电流可能会带来新的EMI问题,而且在实际系统互联中反而不稳定。合规测试的意义在于真实体现信号质量,而不是让波形“看起来好看”。

好了,眼图这部分的核心内容我基本都讲到了。记住一点:眼图测试不是终点,它只是帮你确认你的信号准备好通过后续复杂链路去通信了。做多了,你自然会有感觉。动手去测一次,比看十遍文档都有用。