接收端电气特性测试:接收灵敏度与抖动容限
接收端测试,说白了就是验证你的SATA设备能不能正确理解对方发过来的信号。我在SATA认证实验室里蹲了三年,发现最容易被卡住的就是这章的内容——很多人把精力都花在发送端,结果接收端一测就垮。
记得有一次,一个硬盘厂商送测的样品,发送端眼图漂亮得跟教科书一样,可一测接收灵敏度,死活过不了。最后查出来,是接收端时钟恢复环路带宽设错了。你想想看,发得好不代表收得好,这是两码事。
接收灵敏度测试
接收灵敏度,说白了就是你的设备在信号差到啥程度时还能正常工作。
SATA-IO对这个指标有明确要求。我们来看看不同代的规格:
| 参数 | SATA 1.5Gbps | SATA 3Gbps | SATA 6Gbps |
|---|---|---|---|
| 最小接收眼高 | 200 mV | 240 mV | 275 mV |
| 最小接收眼宽 | 0.45 UI | 0.40 UI | 0.35 UI |
| 最大总抖动 | 0.35 UI | 0.40 UI | 0.45 UI |
| 测试码型 | JTPAT | JTPAT | JTPAT |
测试的时候,我们会用一台精密的误码仪来发送特定的测试码型。我个人习惯先跑一个基准误码率,然后再逐步衰减信号,找到那个误码率开始飙升的临界点。
具体测试步骤,我一般按这个流程走:
- 先确认测试链路校准过了。链路损耗每差1dB,结果能差出10个dB的灵敏度。
- 用码型发生器输出JTPAT测试码型,速率设到标称值。
- 逐渐减小信号幅度,同时观察DUT的误码率。
- 找到误码率达到1E-12时的信号幅度,这就是接收灵敏度。
- 在这个幅度下,再跑至少30秒,确认误码率稳定。
抖动容限测试
抖动容限,这个名字听着挺唬人。其实说白了,就是看你的设备在信号抖来抖去的时候,还能不能保持清醒。
我见过太多设备,在理想信号下跑得好好的,可一旦注入点抖动就全线崩溃。为什么会这样?因为真实场景下的信号不可能那么干净。线缆、连接器、PCB走线,每样东西都在往信号里加抖动。
测试抖动容限,我们常用的方法是注入正弦抖动:
抖动容限的测试频率点是有讲究的:
| 抖动频率范围 | 典型振幅 | 主要关注点 |
|---|---|---|
| 50 kHz – 500 kHz | 0.15 UI | 时钟恢复环路跟踪能力 |
| 500 kHz – 5 MHz | 0.10 UI | CDR中间区域响应 |
| 5 MHz – 20 MHz | 0.05 UI | 高频抖动抑制能力 |
我个人习惯是先从低频开始扫,一路扫到高频。每个频率点至少停留3秒,用误码率说话。
测试中的几个关键点
这里有几个我踩过的坑,跟大家分享下:
- 码型选择很重要。 JTPAT是标准码型,但别忘了跑一些特定序列。我之前就用一个长连0的序列,抓到了某个设备CDR的锁定问题。
- 校准链路长度。 测试夹具和线缆会引入额外的损耗和抖动。我的做法是先做一次直连测试,得到基线数据,再去算DUT的真实表现。
- 温度和电压。 SATA-IO要求在Extreme条件下也达标。我习惯先做常温,再拉高温和低温,最后压电压。这样能最快暴露问题。
- SSC的影响。 别忘了SATA是支持展频时钟的。我曾经处理过一个案例,设备在非SSC模式下好好的,一开SSC就疯狂报错。
总结一下接收端测试的核心逻辑:
整个接收端测试可以看成一道防线。第一道是灵敏度,保证信号幅度够;第二道是抖动容限,保证信号质量够。两道防线都过了,你的设备才算真正可靠。
下面这张图,是我自己整理的接收端电气特性测试流程。你可以看看,整个测试的脉络其实很清晰:
这张图的逻辑其实很简单。从信号源出发,经过链路校准和抖动/衰减注入,再到DUT,最后看误码率。每一步都不能跳,跳了测出来的数据就是错的。
嗯,接收端测试的内容差不多就这些了。核心就两件事:灵敏度够不够、抖动扛不扛得住。把这两件事做扎实了,SATA认证的接收端部分基本就稳了。