《pcie-30简介与信号和协议测试方法》由会员分享,可在线阅读,更多相关《pcie-30简介与信号和协议测试方法(16页珍藏版)》请在金锄头文库上搜索。
1、PCIE 3.0 简介及信号和协议测试方法简介及信号和协议测试方法 安捷伦科技(中国)有限公司:李凯 一、前言 PCI Express(简称 PCIE)总线是 PCI 总线的串行版本,其采用多对高速串行的 差分信号进行高速传输,每对差分线上的信号速率可以是 1 代的 2.5Gbps、2 代的 5Gbps 以及现在正逐渐开始应用的 3 代 8Gbps。 PCIE 标准是由 PCI-SIG 组织制定,自从推出以来,1 代和 2 代标准已经在 PC 和 Server 上逐渐普及,用于支持高速显卡以及其它接口卡对于高速数据传输的要求。 出于支持更高总线数据吞吐率的目的,PCI-SIG 组织在 2010
2、 年制定了 PCIE 3.0,即 PCIE 3 代的规范。目前,PCIE 3.0 已经开始出现在一些高端的 Server 上,而在普通 PC 上的应用也是指日可待。 那么 PCIE 3.0 总线究竟有什么特点?对于其测试有什么特殊的地方呢?我们这 里就来探讨一下。 二、PCIE 3.0 简介 1、信号速率的变化 首先我们看一下制定 PCIE 3 代规范的目的,其目的主要是要在现有的 FR4 板 材和接插件的基础上提供比 PCIE 2 代高一倍的有效数据传输速率,同时保持和原 有 1 代、2 代设备的兼容。别看这是个简单的目的,但实现起来可不容易。 我们知道,PCIE 2 代在每对差分线上的数据
3、传输速率是 5Gbps,相对于 1 代提 高了 1 倍;而 3 代要相对于 2 代把速率也提高一倍,理所当然的是把数据传输速 率提高到 10Gbps。但是就是这个 10Gbps 把 PCI-SIG 给难住了,因为 PC 和 Server 上出于成本的考虑,普遍使用便宜的 FR4 的 PCB 板材以及廉价的接插件,无论采 用什么技术都很难保证 10Gbps 的信号还能在原来的信号路径上可靠地传输很远的 距离(典型距离是 1530cm)。因此 PCI-SIG 最终决定把 PCIE 3 代的数据传输速率 定在 8Gbps。但是 8Gbps 比着 2 代的 5Gbps 并没有高一倍,所以 PCI-SI
4、G 决定在 3 代标准中把在 1 代和 2 代中使用的 8b/10b 编码去掉。我们知道,在 PCIE 1 代和 2 代中为了保证数据的传输密度、直流平衡以及内嵌时钟的目的,每 8bit 数据会编 码成 10bit 数据传输。因此,5Gbps 的实际有效数据传输速率是 5Gbps8b/10b 4Gbps。这样,如果在 PCIE 3 代中不使用 8b/10b 编码,其有效数据传输速率就能 比着 2 代的 4Gbps 提高 1 倍。但是这样问题又来了,数据如果不经编码传输很难 保证数据传输密度和直流平衡,接收端的时钟恢复电路也很容易失锁,于是 PCIE 3 代里面采用了扰码的方法,即数据传输前先和
5、一个多项式进行异或,这样传输链路 上的数据就看起来比较有随机性,到了接收端再用相同的多项式把数据恢复出来。 通过上述方法,PCIE 3 代可以用 8Gbps 的传输速率实现比 2 代的 5Gbps 高 1 倍的数 据传输速率。 2、发送端的变化 但是问题远没有结束,即使数据速率只有 8Gbps,要在原有的廉价 PCB 和接插 件上实现可靠传输也还要解决一些新的问题。其中最大的问题是信号的损耗,FR4 板材对信号高频成分有很大衰减,而信号速率越高,其高频成分越多,所以衰减也 就更厉害。下图是不同速率的信号经过 10 英寸的 FR4 板材的 PCB 传输以后信号的 眼图,我们可以看到 8Gbps
6、的信号在接收端基本上看不到眼图了,更不要说进行 有效的数据接收。 为了解决这个问题,在 PCIE 的 1 代和 2 代中使用了去加重(De-emphasis)技 术,即信号的发射端(TX)在发送信号时对跳变 bit(代表信号中的高频成分)加 大幅度发送,这样可以部分补偿一下传输线路对高频成分的衰减,从而得到比较好 的眼图。 PCIE 1 代中采用了3.5db 的去加重,PCIE 2 代中采用了3.5db 和6db 的去 加重, 而对于 3 代来说,由于信号速率更高,需要采用更加复杂的 2 阶去加重技 术。即除了跳变 bit 增大幅度发送(De-emphasis)以外,在跳变 bit 的前 1
7、个 bit 也要增大幅度发送,这个增大的幅度通常叫做 Preshoot。 为了应对复杂的链路环境,PCIE 3 代中规定了共 11 种不同的 Preshoot 和 De- emphasis 的组合(Preset),实际应用中 Tx 和 Rx 端可以在 Link Training 阶段协商 出一个最优的 Preset 值。 3、接收端的变化 那做了这些工作就够了吗?经过实验发现,仅仅在发送端对信号高频进行补偿 还是不够,如是 PCIE 3 代标准中又规定在接收端(RX 端)还要对信号做均衡 (Equalization)。所谓均衡,就是在 RX 端的接收芯片内部增加一个均衡电路,这 个均衡电路可以
8、抬高接收到的信号中的高频分量,从而对线路的损耗进行进一步的 补偿。均衡电路的实现难度较大,以前主要用在通信设备的背板或长电缆传输的场 合,现在也逐渐开始在计算机领域应用,比如 USB3.0 中也采用了均衡技术。下图 是 PCIE 3.0 里对均衡器的频响特性的要求。我们可以看到均衡器的强弱也有很多档 可选,在 Link Training 阶段 TX 和 RX 端会协商出一个最佳的组合。 我们看到,经过种种努力,PCIE 3.0 总算初步实现了其初衷,即在现有的 FR4 板材和接插件的基础上提供比 PCIE 2 代高一倍的有效数据传输速率。但我们同时 也看到,PCIE 3 代的芯片会变得更加复杂
9、,系统设计的难度也也更大。如何保证 PCIE 3 代总线工作的可靠性和很好的兼容性,就成为设计和测试人员面临的严峻挑 战。 三、PCIE 3.0 的测试 首先要说明的一点是,由于 PCIE 3 代目前只颁布了 Base 的规范(即芯片规 范),但 CEM 规范(即主板和插卡的规范)和测试规范还没有正式发布,所以下 面介绍的方法是基于目前的通用做法,以后随着规范的正式发布,具体测试方法可 能还有变化。 1、发送端的信号质量测试 对于发送端的测试,主要是用宽带示波器捕获其发出的信号并验证其信号质量 满足规范要求。按照目前 Base 规范中的要求,PCIE 3.0 的测试需要至少 12GHz 带 宽
10、的示波器,并配合上相应的测试夹具和测试软件。 由于 PCIE 3 代的信号经过传输以后信号幅度都已经衰减得很小(典型值是 100mV 左右),为了保证足够的测量精度,除了示波器的带宽要足够以外,还需 要示波器有很低的底噪声才能保证测量的准确性和测量重复性。Agilent 公司的 90000X 系列示波器除了能够提供最高到 32GHz 的硬件带宽以外,还具有业内最低 的底噪声指标以及高达 2G 的存储深度,可以充分满足 PCIE 3 代测试的要求,下面 是 Agilent 的 90000X 示波器的一些主要指标。 测试中首先使用 PCI-SIG 提供的 PCIE 3 的夹具把被测信号引出(PCI
11、E 3 代的夹 具和 PCIE 2 代一样分为 CBB 板和 CLB 板,CBB 板用于插卡的测试,CLB 板用于主板 的测试),然后通过测试夹具上的切换开关控制 DUT 输出 PCIE 3 代的一致性测试 码型。需要注意的一点是由于 PCIE 3 代信号如前所述共有 11 种 Preset 值,测试过 程中应明确当前测试的是哪一种 Preset 值,做信号质量测试常用的有 Preset7、 Preset8、Preset1、Preset0。下图是 PCIE 3 代的 CBB 板及一致性测试码型。 另外,PCIE 3 代测试很重要的一点是要做信号的的 Embed,Embed 即是在测试 过程中加
12、入芯片封装对信号的影响,这个芯片封装的模型是 PCI-SIG 以 S 参数文件 的形式提供的,测试过程中需要示波器能把这个 S 参数文件的影响加到被测波形上。 同时,测试过程中示波器是用 2 个通道分别连接信号的正负端,要得到最后的差 分波形需要示波器对 2 个通道的波形做相减运算。如果波形相减和 S 参数嵌入的工 作都由示波器软件计算,会大大影响测试速度。Agilent 公司的 90000A/90000X 示 波器内部都有硬件的通道相减及 S 参数运算功能,可以大大提高测试的速度和效率。 对测试数据做分析得方法有 2 种:一种是使用 PCI-SIG 提供的 Sigtest 软件做手 动分析,
13、一种是使用 Agilent 公司提供的 N5393C PCIE 3.0 自动一致性测试。Sigtest 软件是的算法由 PCI-SIG 提供,但是需要用户手动捕获数据进行后分析。Sigtest 可 以进行信号的眼图、模板、抖动的测试。下图是用 Sigtest 的测试结果。 由于 Sigtest 需要用户手动捕获数据,对于不熟练的测试人员容易可能由于设 置不对造成测试结果的不一致,而且其测试项目有限,没有覆盖全部的信号要求。 所以针对 PCIE3 的测试 Agilent 还提供了 N5393C 的自动化测试软件。这个软件以图 形化的界面指导用户完成设置、 连接和测试过程,除了提供 Swing、P
14、reset、 Common Mode 等更多测试项目以外,还可以自动进行示波器测量参数设置以及自 动生成报告,提高了测试的效率和可重复性。除此以外,这个软件在测试过程中还 会对被测件发出的码型和速率进行检查,以确认测试使用的是规范要求的正确码型。 下图是 N5393C 软件的设置和生成的测试报告。 以下是 PCIE3.0 信号测试推荐使用的仪器: DSA91304A/DSAX91604A 高带宽实时示波器: 用于高速 PCIE3.0 的信号测试 N5393C PCIE3 测试软件: 快速进行 PCIE3.0 的信号一致性测试 N5465A 去嵌入软件:用于封装和链路参数的嵌入和去嵌入 CLB3
15、/CBB3 PCIE3.0 测试夹具: 用于连接被测设备,从 PCI-SIG 购买 其它:SMP-SMA 电缆、SMP 负载等 2、接收端的接收容限测试 在 PCIE 1.0 和 2.0 的时代,接收端测试不是必须的,通常只要保证发送端的信 号质量基本就能保证系统的正常工作。但是对于 PCIE3.0 来说,由于速率更高,发 送端发出的信号经过长线传输后信号质量总是不会太好,所以接收端使用了复杂的 均衡技术来提升接收端的接收能力。由于接收端更加复杂而且其均衡的有效性会显 著影响链路传输的可靠性,因此在 PCIE3.0 时代,接收端的测试变成了必测的项目。 所谓接收端测试,就是要验证接收端对于恶劣
16、信号的容忍能力。这就涉及到 2 个问题,一个是这个恶劣信号怎么定义,另一个是怎么判断被测系统能够容忍这样 的恶劣信号。 首先来看一下这个恶劣信号的定义,这不是一个随便的差信号就可以,这个信 号的恶劣程度有精确定义才能保证测量的重复性。这个恶劣信号通常叫做 Stress Eye,即压力眼图,实际上是借鉴了 10G 以太网的叫法。这个 Stress Eye 实际上是 用高性能的误码仪先产生一个纯净的带预加重和 Preshoot 的 8Gbps 的信号,然后 在这个信号上叠加上精确控制的随机抖动(RJ)、周期抖动(SJ)、差模和共模噪 声以及码间干扰(ISI)。为了确定每个成分的大小都符合规范的要求,所以测试之 前需要先用示波器对测试信号进行校准,确定产生的是规范要求的 Stress Eye。下 图产生 Stress Eye 和信号校准的一个原理图。 另一个问题是如何判断被测系统能够容忍这样的恶劣信号。这就需要被测系统 工作在环回模式,即把其从 RX 端收到的数据再通过 TX 端发送出来送回误码仪, 误码仪通过比较误码来判断数据是否被正确接收,测试中要求误码率小于 1E-12。