原创 云计算硬件平台的测试文章连载(7)- PCIE3.0简介

2016-5-16 09:05 2101 17 17 分类: 测试测量 文集: 高速总线

      PCI-E标准自从推出以来,1代和2代标准已经在PC和Server上逐渐普及,用于满足高速显卡、高速存储设备对于高速数据传输的要求。出于支持更高总线数据吞吐率的目的,PCI-SIG组织在2010年制定了PCI-E 3.0,即PCI-E 3代的规范,数据速率达到8Gbps。目前,PCI-E 3.0已经在Server和PC上广泛应用,而下一代PCIE4.0的推出也是指日可待。

 

      那么PCI-E 3.0总线究竟有什么特点?对于其测试有什么特殊的地方呢?我们这里就来探讨一下。

 

      制定PCI-E 3代规范的目的主要是要在现有的廉价的FR4板材和接插件的基础上提供比PCI-E 2代高一倍的有效数据传输速率,同时保持和原有1代、2代设备的兼容。别看这是个简单的目的,但实现起来可不容易。

 

      我们知道,PCI-E  2代在每对差分线上的数据传输速率是5Gbps,相对于1代数据速率的两倍;而PCI-E 3代要相对于2代把速率也提高一倍,理所当然的是把数据传输速率提高到10Gbps。但是就是这个10Gbps带来了很大的问题,因为PC和Server上出于成本的考虑,普遍使用便宜的FR4的PCB板材以及廉价的接插件,如果不更换板材和接插件,很难保证10Gbps的信号还能在原来的信号路径上可靠地传输很远的距离(典型距离是15~30cm)。因此PCI-SIG最终决定把PCI-E 3代的数据传输速率定在8Gbps。但是8Gbps比着2代的5Gbps并没有高一倍,所以PCI-E协会决定在3代标准中把在1代和2代中使用的8b/10b编码去掉。

 

      我们知道,在PCI-E 1代和2代中为了保证数据的传输密度、直流平衡以及内嵌时钟的目的,会把8bit数据会编码成10bit数据传输。因此,5Gbps的实际有效数据传输速率是5Gbps×8b/10b=4Gbps。这样,如果在PCI-E 3代中如果不使用8b/10b编码,其有效数据传输速率就能比 2代的4Gbps提高1倍。但是这样问题又来了,数据如果不经编码传输很难保证数据传输密度和直流平衡,接收端的时钟恢复电路也很容易失锁。为了解决这个问题,PCI-E 3代里面采用了扰码的方法,即数据传输前先和一个多项式进行异或,这样传输链路上的数据就看起来就比较有随机性,到了接收端再用相同的多项式把数据恢复出来。

 

      通过上述方法,PCI-E 3代就可以用8Gbps的传输速率实现比2代的5Gbps高1倍的数据传输速率。实际应用中PCI-E 3代的总线上也仍然有数据编码,不过采用的是128b/130b的编码,编码效率很高,由此损失的总线有效带宽比8b/10b编码小多了。

 

PCI-E 3.0 发送及接收端的变化

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

 

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

 001.jpg

 

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

 

       那做了这些工作就够了吗?经过实验发现,仅仅在发送端对信号高频进行补偿还是不够,于是PCI-E 3代标准中又规定在接收端(RX端)还要对信号做均衡(Equalization),从而对线路的损耗进行进一步的补偿。均衡电路的实现难度较大,以前主要用在通信设备的背板或长电缆传输的场合,现在也逐渐开始在计算机领域应用,比如USB3.0中和SATA 6G中也采用了均衡技术。下图是PCI-E 3.0里对均衡器的频响特性的要求。我们可以看到均衡器的强弱也有很多档可选,在Link Training阶段TX和RX端会协商出一个最佳的组合(参考资料:PCI Express® Base Specification 3.0)。

002.jpg

 

 

      经过各种信号处理技术的结合以及大量的实验,PCI-E 3.0总算初步实现了在现有的FR4板材和接插件的基础上提供比PCI-E 2代高一倍的有效数据传输速率。但我们同时也看到,PCI-E 3代的芯片会变得更加复杂,系统设计的难度也也更大。如何保证PCI-E 3代总线工作的可靠性和很好的兼容性,就成为设计和测试人员面临的严峻挑战。

文章评论0条评论)

登录后参与讨论
我要评论
0
17
关闭 站长推荐上一条 /2 下一条