销售电话:010-62952090

产品搜索

详细新闻

    Misenbo开放实验室:PCIE 和以太网一致性测试服务

    阅读次数:1886  发布时间:2019/7/4 18:22:28

    摘要:PCI  Express(简称PCIE)总线是PCI总线的串行版本,其采用多对高速串行的差分信号进行高速传输,每对差分线上的信号速率可以是1代的2.5Gbps、2代的5Gpbs以及3代的8gpbs。今天,Misenbo开放实验室主要讨论的是关于PCIE 3代的测试解决方案。

    一、 PCIE1、2代   VS   PCIE 3代
    1)信号速率的变化
    PCIE 3代在现有的FR4板材和接插件的基础上提供比PCIE 2代高一倍的有限数据传输速率,同时保持和原有1代、2代设备的兼容。PCIE 3代采用了扰码的方法,即数据传输前线和一个多项式进行异或,这样传输链路上的数据就看起来比较有随机性,到了接受端再用相同的多项式把数据恢复出来。所以,PCIE 3代可以用8Gpbs的传输速率实现比2代的5Gpbs高1倍的数据传输速率。

    2)发送端的变化
    即使数据速率只有8Gbps,要在原有的廉价PCB和接插件上实现可靠传输的的问题是信号的损耗,FR4板材对信号高频成分有很大衰减,而信号速率越高,其高频成分越多,所以衰减也就更厉害。下图是不同速率的信号经过10英寸的FR4板材的PCB传输以后信号的眼图,我们可以看到,8Gbps的信号在接收端基本上看不到眼图了,更不要说进行有效的数据接收。
     

    不同速率信号经过10英寸的FR4板材的PCB传输以后信号的眼图

     


    为了解决这个问题,在PCIE的1代和2代中使用的去加重(De-emphasis)技术,即信号的发射端(TX)在发送信号时对跳变bit(代表信号中的高频成分)加大幅度的发送,这样可以部分补偿一下传输线路对高频成分的衰减,从而得到比较好的眼图。而对于3代来说,由于信号速率更高,需要采用更加复杂的去加重技术,因此除了跳变bit比非跳变bit幅度增大发送以外,在跳变bit的前1个bit也要增大幅度发送,这个增大的幅度通常叫做Preshoot。

    PCI-E 3代中采用的预加重技术对波形的影响


     

    为了应对复杂的链路环境,PCI-E3代中规定了共11种不同的Preshoot和De-emphasis的组合,每种组合叫做一个Preset,实际应用中Tx和Rx端可以在Link Training阶段根据接收端收到的信号质量协商出一个*优的Preset值。下图是11种Preset的组合,比如P4代表没有任何预加重,P7代表*厉害的预加重。

     

    二、 PCI-E 3.0发送端信号质量测试
    对于发送端的测试,主要是用宽带示波器捕获其发出的信号并验证其信号质量满足规范要求。按照目前规范中的要求,PCI-E 3.0的一致性测试需要至少13GHz带宽的示波器,并配合上相应的测试夹具和测试软件。之所以PCI-E 3.0测试需要的示波器带宽相对于PCI-E 2.0来说变化不大,是因为信号的上升时间基本没变,不过如果是出于调试的目的,一般建议使用16GHz或以上带宽的示波器进行测试。

    由于PCI-E 3代的信号经过传输以后信号幅度都已经衰减得很小(典型值是100mV左右),为了保证足够的测量精度,除了示波器的带宽要足够以外,还需要示波器有很低的底噪声才能保证测量的准确性和测量重复性。

    PCI-E 3.0 发送端信号质量测试方法

     

    在PCIE3.0的测试中,首先使用PCI-E协会提供的PCI-E 3代的夹具把被测信号引出(PCI-E3代的夹具和PCI-E 2代一样分为CBB板和CLB板,CBB板用于插卡的测试,CLB板用于主板的测试),然后通过测试夹具上的切换开关控制DUT输出PCI-E 3代的一致性测试码型。在切换板上的按键开关时,正常的PCI-E 3代的被测件依次会输出2.5Gbps、5Gbps -3dB、5Gbps -6dB、8Gbps P0、8Gbps P1、8Gbps P2、8Gbps P3、8Gbps P4、8Gbps P5、8Gbps P6、8Gbps P7、8Gbps P8、8Gbps P9、8Gbps P10的码型。需要注意的一点是,由于PCI-E 3代信号如前所述共有11种Preset值,测试过程中应明确当前测试的是哪一种Preset值,做信号质量测试常用的有Preset7、Preset8、Preset1、Preset0等。

    另外,由于PCI-E 3代的标准里在接收芯片侧使用了信号均衡技术,而且均衡器对于*终信号质量做了改善调整。为了把传输通道对信号的恶化以及均衡器对信号的改善效果都考虑进去,PCI-E 3代的测试里很重要的一点是其发送端眼图、抖动等测试的参考点是在接收端。也就是说,即使我们是在发送端进行测试,在进行眼图、抖动等测试时也不是直接测试发送端的波形,而是需要把传输通道对信号的恶化的影响以及均衡器对信号的改善影响都考虑进去。下图比较直观地显示出了在不同位置信号质量的情况。

    PCI-e 3.0信号在传输过程中的信号质量的变化

     

    为了模拟出传输通道和芯片封装对信号的影响,测试中需要做传输通道参数的嵌入操作,即Embed。这个传输通道的模型是PCI-E协会以S参数文件的形式提供的,测试过程中需要示波器能把这个S参数文件的影响加到被测波形上。同时,测试过程中示波器是用两个通道分别连接信号的正负端,要得到*后的差分波形需要示波器对两个通道的波形做相减运算。

    对测试数据做分析的方法有2种:一种是使用PCI-SIG提供的Sigtest软件做手动分析;一种是使用示波器的自动测试软件。

    因此,简单来说, PCI-E3.0的信号测试相对于PCI-E2.0来说硬件设备的变化不大,基本使用13GHz或16GHz带宽的示波器就可以,但是测试软件对于测试数据的处理变得更加复杂了。数据分析时除了要嵌入传输通道和芯片封装的线路模型以外,还要把均衡器对信号的改善也考虑进去,PCI-E协会提供的Sigtest软件可以为PCI-E3.0的测试提供很好的帮助。

    此外,由于PCI-E总线上要测试的数据Lane的数量很多,为了提高测试效率,可以把示波器配合相应的微波开关矩阵使用,微波开关矩阵可以在自动测试软件的控制下根据需要进行信号的切换。

    PCI-E测试中配合开关矩阵使用

     

    三、 PCI-E3.0接受端容限测试
    对于PCI-E3.0来说,接收端的测试是必测的项目。因为PCI-E3.0速率更高,发送端发出的信号经过长线传输后信号质量总是不会太好,接收端更加复杂而且其均衡的有效性会显著影响链路传输的可靠性,所以接收端使用了复杂的均衡技术来提升接收端的接收能力。

    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-E3.0要求的压力眼图需要调整很多参数,比如需要调整输出信号的幅度、预加重、差模噪声、随机抖动、周期抖动等以满足眼高、眼宽和抖动的要求。而且各个调整参数之间也会相互制约,比如调整信号的幅度时,除了会影响眼高也会影响到眼宽,因此各个参数的调整需要反复进行以得到一个*优化的组合。以下是眼高和眼宽达的参数要求:

     

    设置被测件进入环回模式有两种方式,一种是借助于误码仪本身的Training序列,另一种是借助于芯片厂商提供的工具(比如Intel公司的ITP工具)。传统的误码仪不具有对于PCIE协议理解的功能,只能盲发训练序列,缺点是没有经过正常的预加重和均衡的协商,这就可能造成不能把被测件设置成正确的状态。而很多新的CPU平台要求误码仪和被测件进行有效的预加重和均衡的沟通,然后再进行环回,这就要求误码仪能够识别对端返回的训练序列并做相应的调整。

     

    当被测件进入环回模式并且误码仪发出压力眼图的信号后,被测系统会把其从RX端收到的数据再通过TX端发送出来送回误码仪,误码仪通过比较误码来判断数据是否被正确接收,测试通过的标准是要求误码率小于1E-12。

    四、 PCI-E3.0的协议分析
    完成信号质量的测试仅仅是保证了PCI-E物理层的可靠工作,整个系统的可靠工作还离不开上层协议的支持。由于PCI-E 3.0是全新的标准,为了帮助用户更进一步分析和定位由于上层协议造成的问题,还需要用到协议分析仪。

    传输层数据解码窗口

     

    进行LTSSM分析,对每一个状态机的子状态都有指示和统计

     

    总线性能统计分析

     

    要针对高速的PCI-E3.0信号做正确的协议分析,可靠的探头连接必不可少。由于PCI-E3.0的信号经过PCB传输后信号质量恶化很大,因此PCI-E3.0的接收芯片内部有均衡电路来保证信号的可靠接收。而对于协议分析仪的探头来说也存在同样的问题,即如果不做均衡可能就无法可靠捕获总线上的信号。因此针对PCI-E3.0的协议测试,还需要带均衡功能的探头。

    计算机应用和嵌入式应用的两种探头

     

    PCI-E 3.0 的协议一致性和可靠性测试

    很多时候仅仅被动地做总线上的协议捕获和分析并不能全面验证系统在各种未知条件下可能出现的问题,因为实际的测试环境能够模拟出来的条件都是有限的。为了进行更全面的测试,还可以使用相应的协议训练器。所谓训练器,就是可以人为设定要发送的PCI-E数据包的内容来主动和被测件进行协议交互以更全面验证系统功能的仪器。 

     



    快速进行链路协商测试

     

    很多时候仅仅被动地做总线上的协议捕获和分析并不能全面验证系统在各种未知条件下可能出现的问题,因为实际的测试环境能够模拟出来的条件都是有限的。为了进行更全面的测试, 还需要一台协议训练器,可以根据用户的需要编程模拟各种错误条件。

     

     

     

     

      


版权所有 Copyright(C)2011-2012 北京淼森波信息技术有限公司 电话:010-62952090 传真: 技术支持:阿仪网总访问量:1302767ICP备案号:京ICP备18033584号-1

客服团队

  • 在线咨询

QQ在线客服

  • 01062952090

6

阿仪网推荐收藏该企业网站