串行数据一致性测试的若干技术要点
扫描二维码
随时随地手机看文章
引言
在信号传输领域占统治地位的高速串行系统速度正不断翻新:USB3.0的5Gbps数率比起USB2.0的480Mbps而言提升了10倍,PCI Express总线在几年之内也从最初的2.5Gbps扩展到8Gbps,数据存储领域的SATA和SAS也已经进化到第三代6Gbps,还有DDR内存总线、以太网、HDMI、DisplayPort等等均无一例外的提升速度至更高水平。推动串行数据率不断攀升的动力来自于互联网时代的生存法则:快鱼吃掉慢鱼,而非大鱼吃小鱼。
行业的发展和技术的进步离不开标准的制定,为保证各厂家制造的产品能满足互操作性,即能相互兼容,各行业组织为此都制定了一套测试规范,要求厂家生产的产品必须通过测试后方能上市销售,这就是一致性测试(Compliance Testing),比如USB-IF负责制定USB2.0和USB3.0的一致性测试规范,PCI-SIG负责PCI Express G1 /G2/ G3一致性测试标准。尽管各种串行协议的具体内容千差万别,但一致性测试的框架和思路都是类似的,涉及到的共性问题都包括测试仪器的选择,标准测试报文的生成、测试夹具的使用、如何判断测试项目合格,乃至最终测试报告的生成。
对于5Gbps速率以下的信号而言,由于setup time和hold time的窗口margin较大,一般只需考虑发送端测试即可,而对于5Gbps速率以上超高速信号,由于本身margin就较小,再加上高频分量在信道传输时衰减相对更大,到接收端时出现误码的概率也就增大很多。发送端能通过一致性测试,送出的信号质量也很好,并不表示接收端就一定不会出现误码。为了应对这么高数据率的挑战,新一代串行协议比如USB3、SATA3都规定接收端容限测试已不再是可选项,而是必测项目。串行信号速率提高之后带来的另外一类问题是电缆、探头、测试夹具或背板(可统称为信道channel)的影响已不可忽略,需要有某种方法来补偿信道对信号的衰减效应,这也体现在下一代串行协议的一致性测试规程中。
发送端测试
对Transmitter测试主要由示波器或专门的串行数据分析仪SDA实现,高保真还原信号需要能采集到5次谐波分量,对应的示波器带宽最低要求为数据率的2.5倍,比如USB3.0测试要求示波器带宽为12.5GHz以上,SATA 6G要求15GHz带宽以上,而做较低速的PCI E G1就不需要这么高带宽,6GHz带宽即足够。力科公司的SDA 8Zi是新一代更高速串行信号发送端测试的最佳平台,因为它能提供从4GHz到30GHz带宽范围,最高80GS/s采 样率,完全能应对当前最快速串行信号的带宽需要。各种协议的发送端测试项目不尽相同,但大都可分为三类:时序特性、电气特性和时钟特性。时序测试从单个样 本来说就是建立时间和保持时间的测定,从大样本的统计角度来说,就是眼图模板和抖动分析。一致性规范都会定义某个参数的合格范围,比如下图1所示为百兆以太网峰值差分输入幅度,测试标准为2.2伏至2.8伏之间,实测值为2.52V,符合标准要求,所以是合格的。
损耗和反射,背板、电缆对信号幅度的衰减和对相位的畸变,否则眼图和抖动分析结果与实际情况差之千里。在USB3.0的发送端眼图中,测量的是待测试信号经过参考测试信道后TP1点的眼图和抖动。如下图2中的Reference test channel即为参考测试信道,在规范中定义了long channel、short channel和3米电缆三种参考测试信道。如果使用long channel或者较长电缆,信号到达接收端时衰减比较大,眼图已经闭合,USB3.0芯片接收端使用了CTLE均衡器对信号进行均衡后,信号眼图的质量将大大改善,对应的测试仪器要求能仿真分析出CTLE均衡器处理后信号的眼图和抖动。
上图是力科Eye Doctor II软件对USB3.0 Tx波形运用CTLE均衡后的结果,左边的眼图是靠近TX近端测量到的眼图;中间的眼图是通过兼容性信道(参考测试信道)后测量的眼图,可见眼图的张开程度较小,抖动较大;右边的眼图是仿真CTLE均衡后的眼图,可见眼高和抖动都得到改善。信号越高,越需要对信号进行均衡处理。基于此,USB3.0、SATA III、PCI-E G2都规定一致性测试必须包含均衡仿真功能。而力科Eye Doctor II软件提供CTLE、FFE 、DFE三种最流行的均衡算法,能全面满足下一代串行信号的发送端测试需求。
接收端容限测试
很多工程师认为在靠近接收端测量眼图或抖动就是Receiver测试,这是个误解,造成这种误解的原因主要是在过去接收机测试在板级的硬件研发中不是必测项目。接收机测试的准确定义为:Recevier能够容忍的不产生误码的输入信号最大抖动值。下图为接收机测试的示意图。所需的仪器包括误码率测试仪(简称BERT),BERT通常包括码型发生器(Pattern Generator)和误码检测器(Error Detector)两部分。在接收机测试时,码型发生器输出特定码型的、带有大量抖动和噪声的信号到PUT的RX,DUT接收到后通过时钟与数据恢复电路(简称CDR)、判别电路和解码得到1和0组合的比特流,然后环回到输出寄存器,从PUT的TX缓冲器发送出去,PUT的TX连接到了BERT的误码检测器,误码检测器中的CDR、判别电路处理后解码得到1与0组 合的数据比特流,然后与码型发生器输出的特定码型数据对比,如果两者完全吻合则没有误码,否则,记录下误码的数量和接收到的码流的比特总数,前者除以后者 即误码率,同时记录接收到误码时码型发生器输出信号的抖动值。修改码型发生器输出信号的随机抖动、固有抖动、信号幅度等参数,可以快速评估PUT的接收机对抖动的容限性能。
在接收机容限测试中,需要处理因SKP码型带来的误码率计算错误问题。通常为了补偿链路两端频率偏差,发送端在数据流中每354个symbol要插入两个SKP(即K28.1码),接收端需要能识别和删除SKP,这是USB3.0、SATAIII 或PCI Express G3等新型协议才具有的特点,而传统的BERT因为不能识别SKP码,会将正确码流误认为误码。力科的误码率分析仪PeRT3由于具有协议层通信能力,可以智能的添加和删除SKP后,再来计算是否有误码,所以是业界唯一一款能真正进行接收端容限测试的误码率分析仪。
生成标准测试报文
几乎所有的串行数据一致性测试规程都要求DUT能发出标准的测试序列,而且每一个测试项目对应的测试报文都不尽相同。通常芯片厂家都会提供相应的软件程序控制芯片进入测试模式,产生特定的测试报文。比如Intel的LanConfig软件适用于所有Intel的网卡芯片,工程师可以通过该软件修改网卡芯片寄存器使其进入百兆测试模式或千兆Mode 1,2,3,4模式中的一种。再比如USB-IF提供的HSElectricalTestTool发包程序(可从www.usb.org下载),可以针对Host或Device的不同测试项目发出不同的测试报文。相比其他协议,USB3.0标准报文是最复杂的。在USB3.0规范中定义CP0-CP8九种测试码型。在TX测试中,需要用到CP0/CP1/CP7/CP8四种码型:CP0用于眼图与抖动、共模电压测量;CP1用于SSC展频测量、随机抖动测量;CP7用于去加重测量;CP8用于差分电压幅度测量。对于测试工程师而言,如果没有厂家提供的发包程序,很难让DUT发出不同的测试码型,而力科的PeRT3则可以很好解决这个问题,因为其具有协议层通信能力,会发出Ping.LFPS命令到DUT,DUT每接收到1个Ping.LFPS后,输出的码型就切换一次,从CP1到CP2,CP2到CP3, 直到CP8后再切换回CP0,不具有协议层通信能力的信号源是很难进行USB3.0、SATAIII、PCIe G3等下一代高速数据的一致性测试的。
结语
串行数据率在提升到5Gbps以上后,需要有全新的一致性测试思路和手段,仅仅在发送端做眼图和测试已经不够,还需要引入接收机抖动容限测试、均衡仿真等,同时还必须支持与DUT链路层通信的能力以生成复杂的标准测试码型。力科PeRT3是业界唯一具有链路/协议层会话能力的误码率分析仪,与高性能的串行数据分析仪SDA 8Zi配合使用,可以为最新串行协议USB3.0、SATA III、SAS III、PCI Express G3等提供完整的端到端一致性测试解决方案。