首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA实现中的SERDES接口设计和测试

FPGA实现中的SERDES接口设计和测试

近年来,芯片功能的增强和数据吞吐量要求推动了芯片产业从低速率数据并行连接转变到高速串行连接。这个概念被称为SERDES(Serializer-Deserializer),包括在高速差分对上串行地传送数据,而不是用低速的并行总线。一个典型例子是用单个PCI-Express通道取代数据速率达2.112Gbps的传统32位64MHz PCI总线,PCI-Express可达到4Gbps的数据速率,但仅使用了工作在2.5GHz的4条线。简而言之,SERDES协议允许用较少的引脚实现较高的数据速率。

图1给出了在一个复杂FPGA实现中的各种可能的SERDES接口。这个例子展示了一个网络处理器位于系统中心的高性能电路板。SERDES应用用紫色标明,可以用FPGA实现的芯片用黄色标明。

SERDES的类型

有两种基本类型的SERDES接口:源同步(SS)协议和时钟数据恢复(CDR)协议。这两种类型的主要差别是如何实现时钟控制。源同步接口拥有一个伴随传送数据的时钟信号;CDR没有单独的时钟信号,而是把时钟嵌入在数据中。即CDR接收器将相位锁定在数据信号本身以获取时钟。表1概括了这两种接口的基本差别。

表1:源同步和时钟数据恢复SERDES接口的比较。
表1:源同步和时钟数据恢复SERDES接口的比较。

通常CDR协议运行在较高的数据速率和较长的传送距离,因此带来很大的设计挑战。鉴于这个缘故,本文将主要讨论CDR的相关问题。

时钟数据恢复的基础

顾名思义,CDR接收器必须从数据中恢复嵌入的时钟。更准确地说,是从数据信号的交换中获取时钟。

CDR发送器首先串行发送数据,然后将数据转换成8b/10b编码方案。编码处理获得8位数据并将其转换成10位符号。8b/10b编码方式可以在数据线上传送相等数目的0和1,从而减少码间干扰,并提供足够多的数据边沿,以便接收器在收到的数据流上锁定相位。发送器将系统时钟倍频至传送比特率,并以该速率在TX差分对上发送8b/10b数据。

CDR接收器的任务首先是在RX差分位流上锁定相位,然后接收器按照恢复的时钟进行数据位对齐,接着用接收器的参考时钟进行字对齐。最后,将数据进行8b/10b解码,供系统使用。

在CDR系统中,发送和接收系统通常拥有完全独立的系统时钟。这两个时钟在一个特定的变化范围内非常关键,这个范围大约是数百个PPM。

CDR电路与抖动

CDR接口的主要设计挑战是抖动,即实际数据传送位置相对于所期望位置的偏移。总抖动(TJ)由确定性抖动和随机抖动组成。大多数抖动是确定的,其分量包括码间干扰、串扰、占空失真和周期抖动(例如来自开关电源的干扰)。而通常随机抖动是半导体发热问题的副产品,且很难预测。

传送参考时钟、传送PLL、串化器和高速输出缓冲器都对会传送抖动造成影响。对于给定的比特周期或者数据眼,传送抖动通常用单位间隔的百分比或UI(单位间隔)来说明。例如,.2 UI的传送抖动表示抖动由比特周期的20%组成。对于传送抖动而言,UI数值越低越好,因为它们代表较少的抖动。

同样地,CDR接收器将指定在给定比特率时所能容忍的最大抖动量。典型的比特误码率(BET)标准是1e-12。接收抖动仍然用UI来指定。较大的UI表明接收器可以容忍更多的抖动。典型的接收器规格是.8 UI,这意味着80%的比特周期可以是噪声,此时接收器将仍然能够可靠地接收数据。

抖动通常用统计钟形分布来量化,该分布在其定点处有理想的边沿位置。

[此贴子已经被作者于2008-1-22 21:43:35编辑过]

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm

SERDES测试与眼图

由于抖动是SERDES系统中的一个主要挑战,因此它也是测试和测量的关键所在。通过把高性能的示波器连接到SERDES信号来测量抖动,并观察“数据眼图”(或眼图)。对于一个给定的差分对,眼图仅仅是由多个状态转换的波形图叠加而成。采样窗应足够宽,能够包含图中的两个交叉点。最终得到的画面就象一个眼睛,它提供了信号质量和抖动的直观形象。通常眼睛张得越开,信号就越好。

图2是一个在示波器上显示的典型眼图。图中,用V度量眼睛张开的高度,该值与1.2V的总电压摆幅(从逻辑0到逻辑1)相对。有三个宽度(或者时间)度量值:UI度量整个比特率周期,H度量在共模电压下的张开度,T度量最小跳变电压和最大跳变电压下的宽度。较大的H、T和V值代表眼睛较宽,这说明信号较好、抖动较小。

图2:一个数据眼图示例。
图2:一个数据眼图示例。

抖动测量设置

为检测传送抖动,用误码率测试器(BERT)产生测试图形,并送入评估板的SERDES接收端口。同样地,将时钟产生器连接到评估板的SERDES时钟。在测试中,FPGA被配置成内部环回这个通道,因此接收到的测试图形通过TX引脚传送。将示波器连接到TX SERDES连接器,这样就可以对传送抖动眼图进行分析。所有的评估板SERDES连接都采用的是50欧姆SMA连接器。整体结构如图3所示。

通过在FPGA SERDES接收端口引入抖动,并监控环回SERDES输出的比特误差来测量接收抖动容限。如图3所示,首先将抖动发生器连接到BERT图形产生器。然后BERT产生器将伪随机图形序列(PRBS)发送到评估板的SERDES SMA输入。这种配置允许工程师以一种受控的方式将抖动引入到SERDES RX端口。FPGA被配置成环回,SERDES TX端口连接到BERT的比特误差检测端口。然后工程师就可以引入抖动并观察由FPGA产生的比特误码率(BER)。当BER超出规定时,工程师就知道已经超过抖动容限域值。这个数值应该等于或大于针对FPGA所指定的接收抖动容限。

高速背板性能测量

通过背板配置驱动FPGA的TX信号,工程师可以测量FPGA的背板SERDES链路传输特性,然后分析背板输出的眼图。首先使用BERT图形产生器把PRBS位流馈送入FPGA评估板的SMA RX端口。通过把FPGA配置成环回,PRBS将出现在评估板的TX端口,并将被驱动至同轴电缆,馈入诸如XAUI Z-Pack HM-Zd的背板。然后背板将位流馈送入连接到示波器的另一长度的同轴电缆。系统要求规定了测试参数,例如PRBS图形选择、背板和FPGA评估板的走线长度、同轴电缆的长度、预加重和均衡设置、工作电压以及VCC。

图4展示了采用LatticeSC FPGA的测试设备采样到的9个眼图。每个眼图下的数值是测量到的眼睛高度(图2中的V度量)。注意增加预加重在每个比特率上改善了眼图。预加重是SERDES发送器针对电缆和背板中信号衰减的补偿。LatticeSC要求的眼睛高度是85mV,因此在3.8Gbps下16%的预加重是唯一不满足要求的采样。

图4:采用LatticeSC FPGA的测试设备采样到的9个眼图。
图4:采用LatticeSC FPGA的测试设备采样到的9个眼图。

本文小结

值得一提的是,SERDES接口为FPGA产品的选择过程增加了一个参数。当选择FPGA时工程师应该考虑可能的信道数目、信道的配置灵活性、接口速度、SERDES IP(即PCS)、传输规范和电气要求。

FPGA产品和SERDES接口的速度和市场规模都在增长。通过理解两者功能和挑战,设计团队可以提升产品的可靠性和功能,并加快产品上市时间。

[此贴子已经被作者于2008-1-22 21:44:08编辑过]

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
返回列表