热度 331
2016-6-15 08:17
1545 次阅读|
0 个评论
在PCI-E 1.0和2.0的时代,接收端测试不是必须的,通常只要保证发送端的信号质量基本就能保证系统的正常工作。但是对于PCI-E 3.0来说,由于速率更高,发送端发出的信号经过长线传输后信号质量总是不会太好,所以接收端使用了复杂的均衡技术来提升接收端的接收能力。由于接收端更加复杂而且其均衡的有效性会显著影响链路传输的可靠性,因此在PCI-E 3.0时代,接收端的测试变成了必测的项目。 Keysight的M8020A是高性能的串行误码仪,其单路可以产生16.2Gbps的高速数据流,固有抖动只有300fs(RMS),同时其内部集成时钟恢复电路、预加重模块、噪声注入、参考时钟倍频、信号均衡电路等,非常适合PCIE3.0接收测试这种速率高同时对信号质量又有很好要求的场合。除此以外,M8020A支持到16.2Gbps信号的8阶的预加重,可以充分满足未来PCIE4.0的接收测试的要求。下图是用 M8020A进行PCI-E 3.0接收测试一个示意图。 所谓接收端测试,就是要验证接收端对于恶劣信号的容忍能力。这就涉及到两个问题,一个是这个恶劣信号怎么定义,另一个是怎么判断被测系统能够容忍这样的恶劣信号。 首先来看一下这个恶劣信号的定义,这不是一个随便的差信号就可以,这个信号的恶劣程度有精确定义才能保证测量的重复性。这个恶劣信号通常叫做Stress Eye,即压力眼图,实际上是借鉴了光通信里的叫法。这个Stress Eye实际上是用高性能的误码仪先产生一个纯净的带预加重和Preshoot的8Gbps的信号,然后在这个信号上叠加上精确控制的随机抖动(RJ)、周期抖动(SJ)、差模和共模噪声以及码间干扰(ISI)。为了确定每个成分的大小都符合规范的要求,所以测试之前需要先用示波器对误码仪输出的信号进行校准,确定产生的是规范要求的Stress Eye。其中信号的RJ、SJ、共模噪声等都可以由误码仪产生,而ISI抖动是由PCI-E协会提供的CLB3或CBB3夹具产生,其夹具上会模拟典型的主板或者插卡的PCB走线对信号的影响。 为了方便接收测试,CLB3和CBB3夹具相对于前一代夹具做了一些电路的改动,主要是考虑了接收测试的情况。比如为了切换测试码型,在PCI-E 2.0的CLB2夹具上,从主板发过来的RefClk是直接环回到主板的Lane0的接收端,不能断开;而在PCI-E3.0的CLB3的夹具上,由于要考虑到可能还会对主板Lane0的接收端进行测试,因此这个连接是通过SMP的跳线完成的。另外在CBB3的夹具上,增加了专门的Riser板以模拟服务器等应用场合的走线对信号的影响。下图是对PCI-E 3.0的主板进行测试前进行Stress Eye校准的一个连接图。 要精确产生PCI-E3.0要求的压力眼图需要调整很多参数,比如需要调整输出信号的幅度、预加重、差模噪声、随机抖动、周期抖动等以满足眼高、眼宽和抖动的要求。而且各个调整参数之间也会相互制约,比如调整信号的幅度时除了会影响眼高也会影响到眼宽,因此各个参数的调整需要反复进行以得到一个最优化的组合。校准中会调PCI-SIG的Sigtest软件对信号进行通道模型嵌入和均衡,并计算最后的眼高和眼宽。如果没有达到要求,会在误码仪中进一步调整注入的随机抖动和差模噪声的大小,直到眼高和眼宽达到以下参数要求。 校准时,信号的参数分析和调整需要反复进行,人工操作非常耗时耗力。为了解决这个问题,Keysight公司在业内最早推出了N5990A的针对PCI-E3.0接收容限的自动测试软件,这个软件可以提供设置和连接向导、控制误码仪和示波器完成自动校准、发出训练码型把被测件设置成环回状态并自动进行环回回来数据的误码率统计。 设置被测件进入环回模式有两种方式,一种是借助于误码仪本身的Training序列,另一种是借助于芯片厂商提供的工具(比如Intel公司的ITP工具)。传统的误码仪不具有对于PCIE协议理解的功能,只能盲发训练序列,缺点是没有经过正常的预加重和均衡的协商,这就可能造成不能把被测件设置成正确的状态。而很多新的CPU平台要求误码仪和被测件进行有效的预加重和均衡的沟通,然后再进行环回,这就要求误码仪能够识别对端返回的训练序列并做相应的调整。M8020A平台集成了Link协商的功能,能够真正和被测件进行训练序列的沟通,可以有效地把被测件设置成正确的环回状态。 当被测件进入环回模式并且误码仪发出压力眼图的信号后,被测系统会把其从RX端收到的数据再通过TX端发送出来送回误码仪,误码仪通过比较误码来判断数据是否被正确接收,测试通过的标准是要求误码率小于1E-12。