2. SATA物理层测试规范

做SATA认证测试,物理层是第一道关。说白了,信号如果在物理层就掉了链子,上层协议分析得再漂亮也没用。我接触过的很多项目,最后卡在认证测试里的,十有八九都是物理层眼图没过。

这一章我们重点聊聊SATA物理层测试规范里的两个核心东西:信号完整性要求和眼图模板。嗯,先给你个整体认知,后面咱们再拆开讲。

2.1 信号完整性基础

信号完整性,英文叫Signal Integrity,简称SI。在SATA这种高速串行总线里,SI就是一切的基础。你想想看,6Gbps甚至更高速率的信号,在PCB上跑几英寸,稍微有点反射、串扰或者损耗,波形就变形了。接收端一旦误判,整个链路就崩了。

SATA-IO对物理层的信号完整性有一套明确的规范。主要包括以下几条:

  • 差分电压摆幅:发射端差分输出电压需要在400~600mV之间(Gen1/2/3都一样)。太低了接收端可能认不到,太高了又容易产生EMI问题。我遇到过一块板子,差分电压到了700mV,结果EMI测试直接废掉。
  • 上升/下降时间:规范要求20%~80%的上升/下降时间在50~150ps之间。太快会有过冲,太慢又影响时序预算。
  • 抖动:总抖动(TJ)和确定性抖动(DJ)都有上限。Gen3(6Gbps)下,总抖动要求小于0.35UI,也就是约58ps。
  • 共模电压:平均共模电压需在0±50mV范围内。这个参数经常被忽略,但一旦偏了,接收端的共模抑制能力就可能失效。

重点:SATA物理层规范里,所有电气参数都是在测试点(TP)处测量的。测试点通常定义在主机端或设备端的连接器出口处。别拿芯片引脚上的波形来对标规范,那不是一回事。

2.2 眼图模板——信号质量的"生死线"

眼图,是测高速串行信号最直观的工具。把很多bit的波形叠加在一起,就形成了像眼睛一样的图案。规范给了一个“眼图模板”,其实就是一块禁止信号进入的区域。如果测量到的眼图侵犯了模板区域,那不好意思,这项测试就不合格。

眼图模板长什么样?

不同速率对应的模板形状略有差异,但核心原理一样:在眼图的水平和垂直方向各画一个禁入区域(称为Mask)。Gen1(1.5Gbps)的Mask比较宽松,Gen3(6Gbps)就严苛多了。我习惯把模板想象成一个马路中间的隔离带——信号波形就是车,不能压上隔离带。

下面这个表格列出了Gen3眼图模板的关键尺寸(单位:UI 和 mV):

参数最小值典型值最大值备注
眼高(Eye Height)240 mV——差分电压,窗口中心处
眼宽(Eye Width)0.4 UI——时间轴上,模板宽度
Mask高度(内眼)—100 mV—模板内部菱形区域高度
Mask宽度(内眼)—0.15 UI—模板内部菱形区域宽度

小技巧:在实际测试中,不要只看眼图是否“完全睁开”。有时候眼图勉强过了模板,但眼高只有250mV,margin只有10mV。这种板子在批量生产或者温度变化时很容易fail。我一般要求设计留出20%的裕量,眼高至少做到300mV以上。

2.3 眼图测量方法与常见陷阱

测眼图,你得用高速示波器,带宽至少是信号速率的三倍。对于Gen3,示波器带宽建议≥20GHz。采样率也要够,否则波形细节抓不住。

  1. 连接测试夹具:SATA-IO有标准测试夹具,用来引出信号。不要自己随便焊根线,那会彻底改变信号路径。
  2. 设置触发:一般用时钟恢复(CDR)触发,或者用SATA SSC扩频时钟的参考时钟触发。我见过有人直接用上升沿触发,结果眼图一直在抖,测试结果完全不对。
  3. 采集足够多的bit:至少采集100万个UI,才能比较准确地统计抖动和眼图闭合程度。
  4. 应用眼图模板:示波器软件里加载模板文件,自动判断是否违规。
  5. 判断结果:任何bit的波形点落在模板区域内,就算Fail。

避坑指南:我曾经碰到过一个案例,眼图死活不过,模板被顶起了一个小尖角。后来排查半天,发现是测试夹具上的SMA转接头接触不良,导致信号反射。换了个高质量转接头,眼图立马合格。所以,测试环境的物理连接一定要检查到位,别一上来就去调设计。

2.4 本章知识体系总览

下面这张SVG图,把本章的核心逻辑串起来了。从测试规范出发,到信号完整性三大指标,再到眼图模板的测量与判断,最后指向一个结论:物理层测试通过的标准。你可以看着这张图,自己复述一遍流程。

SATA物理层测试知识体系 SATA物理层测试知识体系 SATA物理层测试规范 信号完整性要求 眼图模板定义 测量方法与判断 差分电压/上升时间 抖动/共模电压 眼高/眼宽/模板内侧 采样/夹具/模板判断 Fail/Pass判定 测试通过标准:所有参数均符合规范 眼图不触碰模板区域,且电气参数在限值内

2.5 实战中的几点体会

最后,跟你分享几个我个人总结的小经验:

  • 眼图测试前,先确认时钟恢复环路的带宽设置是否正确。SATA推荐使用锁相环带宽为信号速率的1/1667(比如Gen3用3.6MHz)。带宽设大了,测出来的眼图会偏乐观;设小了,又会偏悲观。
  • PCB走线阻抗要严格控制。SATA要求差分阻抗85Ω±15%。我见过不少板子,因为走线阻抗偏到100Ω,导致眼图闭合严重。这个在设计阶段就要仿真确认。
  • 别忽视SSC(扩频时钟)的影响。SATA Gen3要求扩频调制深度为5000ppm(0.5%)。扩频会让眼图在水平方向略有展宽,测量时示波器必须能正确跟踪SSC。有些便宜示波器没有SSC追踪能力,测出来的眼图全是错的。