3. SATA 电气特性参数:眼图、抖动、电压摆幅归纳总结

做 SATA 链路兼容性测试,绕不开三个硬指标:眼图、抖动、电压摆幅。说白了,这仨参数直接决定了你的信号能不能从发送端干净地传到接收端。我刚开始接触 SATA 测试时,光看眼图就觉得“哇,好漂亮,肯定没问题”,结果板子一上电就掉盘。嗯,从那以后我再也不敢只看一只眼了。

3.1 眼图 — 信号质量的“心电图”

眼图是用示波器对高速数字信号做无限余辉叠加形成的。你可以把它想象成信号的“心电图”——每个比特周期内的电压轨迹叠加在一起,中间的空白区域就像一个睁开的眼睛。为什么叫眼图?你想想看,波形垂直张开的部分像眼皮,水平张开的部分像眼角。眼睛睁得越大,信号质量越好。

我个人的习惯是:先看眼图是否“开口”。如果眼图完全闭合,那基本可以断定链路存在严重问题,比如阻抗失配、串扰过大或驱动能力不足。但即使眼睛是张开的,还需要量几个关键参数。

眼图关键参数速查:

  • 眼高(Eye Height): 垂直方向的开眼幅度,单位 mV。SATA Gen3 要求 ≥ 240mV。
  • 眼宽(Eye Width): 水平方向的开眼时间,单位 ps。SATA Gen3 要求 ≥ 0.35 UI(约 100ps)。
  • 眼交叉比(Crossing Percentage): 差分信号正负交叉点占幅值的百分比,理想 50%,允许 ±15%。
  • 掩模违规(Mask Violation): 波形是否撞到模板的禁入区域。一旦出现红色标记,就说明眼图不通过。

我在项目中遇到过一台样机的 SATA 链路在 Gen3 下老是丢包。跑眼图测试一看,眼高只有 180mV,明显偏低。排查下来是发送端预加重没开够。后来把预加重从 -3dB 调到 -6dB,眼高直接升到 280mV,问题解决。

小技巧: 实际测试时,尽量在链路末端(比如连接器后方、接收端封装引脚附近)采样。远端眼图才是接收芯片真正看到的信号。

3.2 抖动 — 信号时序的“不稳定性”

如果说眼图看的是“电压”和“时间”的二维轮廓,那抖动就是专门盯着时间轴看。抖动是指信号跳变沿的实际位置偏离理想位置的偏差。说白了,就是该跳的时候没跳准,要么早要么晚。接收端的时钟恢复电路能容忍一定抖动,但超过阈值就会采样错误。

我曾经在一个 SATA 兼容性测试中吃过抖动的亏。当时眼图看起来 OK,眼高眼宽都在范围内,但跑压力测试就是随机性出错。后来用示波器测了抖动分离,才发现随机抖动(RJ)不大,但确定性抖动(DJ)中的周期性抖动(PJ)超标了。原因是一颗 DC-DC 的开关噪声通过电源耦合到了串行器上。加了一颗 LC 滤波后,PJ 从 8ps 降到了 3ps。

抖动一般分离成这样几类:

抖动类型英文缩写来源典型值(Gen3)
总抖动TJ所有抖动综合≤ 0.35 UI @1e-12 BER
确定性抖动DJ串扰、电源噪声、ISI≤ 0.15 UI
随机抖动RJ(均方根)热噪声、闪烁噪声≤ 2 ps RMS
周期性抖动PJ开关电源、时钟串扰≤ 5 ps peak
数据相关抖动DDJ码间干扰可通过均衡补偿

注意: TJ 是衡量链路误码率(BER)的最直接指标。SATA 规范要求 BER ≤ 1e-12,对应的 TJ 限值约为 0.35 UI。如果 TJ 超标,即便眼图看起来还行,长期可靠性也会出问题。

3.3 电压摆幅 — 驱动能力的“体检报告”

电压摆幅指差分信号正负端之间的幅度。SATA 是差分传输,常用 VTX-DIFF 表示。摆幅太大,功耗高且 EMI 超标;摆幅太小,信噪比不够,接收端容易判错。标准要求 Gen3 下发送端差分摆幅在 400~600 mV 之间。

除了差分摆幅,还要关注两个参数:

  • 共模电压(VCM): 正负端电压的平均值,SATA 要求 0~100 mV(相对于 GND)。共模偏高可能损坏接收端输入结构。
  • 去加重后的摆幅变化: 有些设计预加重太猛,导致连续同码的摆幅掉得厉害。这会加大接收端均衡器的负担。

我建议测试时把示波器的测量统计打开,至少抓 10 万个 UI 去取平均。摆幅的峰峰值和均值都要看。有一次我在客户现场发现一块板子的摆幅只有 350mV,但单个波形看起来也挺好。后来查是因为端接电阻焊错了一颗,从 100Ω 变成了 50Ω,导致驱动电流衰减。换了电阻后摆幅回到 480mV。

量测要点: 用差分探头时别忘了做去嵌(De-embed)校准,把探头的负载效应反算出来。否则测出的摆幅会比实际小 10%~20%。

3.4 三个参数的内在关系与归纳

眼图、抖动、摆幅不是孤立的,它们互相影响。摆幅越大,信噪比越高,眼图越“胖”;但摆幅太大会加剧码间干扰(ISI),反过来增加抖动。抖动中的 DDJ 成分会压缩眼宽,而高频抖动会让眼边模糊。所以做兼容性测试时,我通常按这个顺序排查:

  1. 先看摆幅: 是否在 400~600 mV 范围内?不对就查发送端驱动、端接和电源。
  2. 再看抖动: 分离出 DJ/RJ,看看是结构性问题(串扰/电源)还是随机噪声。
  3. 最后看眼图: 打开掩模模板,确认眼高、眼宽、交叉比全部 pass。

下面这张图总结了三个参数的测试要点和关系——你拿去当速查卡用:

SATA 电气特性参数关系图 眼图 眼高 / 眼宽 / 交叉比 抖动 TJ / DJ / RJ / PJ / DDJ 电压摆幅 差分摆幅 / 共模电压 预加重 / 均衡 阻抗匹配 / 端接 电源噪声 / 串扰 码间干扰 / PLL 抖动 驱动电流 / 端接电阻 PCB 损耗 / 温度 测试流程速记 ① 验证摆幅是否在规范范围 → ② 抖动分离找根因 ③ 眼图掩模测试最终确认 → 三者必须同时达标才可信

一句话归纳: SATA 电气特性测试本质就是 眼图验证 + 抖动分解 + 摆幅确认。先摆幅确保信噪比,再抖动保证时序余量,最后眼图综合验收。三个参数少查一个,都可能漏掉潜在风险。