FPGA实现中的SERDES接口设计和测试
扫描二维码
随时随地手机看文章
图1给出了在一个复杂FPGA实现中的各种可能的SERDES接口。这个例子展示了一个网络处理器位于系统中心的高性能电路板。SERDES应用用紫色标明,可以用FPGA实现的芯片用黄色标明。
图1:典型的FPGA应用。 |
SERDES的类型
有两种基本类型的SERDES接口:源同步(SS)协议和时钟数据恢复(CDR)协议。这两种类型的主要差别是如何实现时钟控制。源同步接口拥有一个伴随传送数据的时钟信号;CDR没有单独的时钟信号,而是把时钟嵌入在数据中。即CDR接收器将相位锁定在数据信号本身以获取时钟。表1概括了这两种接口的基本差别。
表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%的比特周期可以是噪声,此时接收器将仍然能够可靠地接收数据。
抖动通常用统计钟形分布来量化,该分布在其定点处有理想的边沿位置。
SERDES测试与眼图
由于抖动是SERDES系统中的一个主要挑战,因此它也是测试和测量的关键所在。通过把高性能的示波器连接到SERDES信号来测量抖动,并观察“数据眼图”(或眼图)。对于一个给定的差分对,眼图仅仅是由多个状态转换的波形图叠加而成。采样窗应足够宽,能够包含图中的两个交叉点。最终得到的画面就象一个眼睛,它提供了信号质量和抖动的直观形象。通常眼睛张得越开,信号就越好。
图2是一个在示波器上显示的典型眼图。图中,用V度量眼睛张开的高度,该值与1.2V的总电压摆幅(从逻辑0到逻辑1)相对。有三个宽度(或者时间)度量值:UI度量整个比特率周期,H度量在共模电压下的张开度,T度量最小跳变电压和最大跳变电压下的宽度。较大的H、T和V值代表眼睛较宽,这说明信号较好、抖动较小。
图2:一个数据眼图示例。 |
抖动测量设置
为检测传送抖动,用误码率测试器(BERT)产生测试图形,并送入评估板的SERDES接收端口。同样地,将时钟产生器连接到评估板的SERDES时钟。在测试中,FPGA被配置成内部环回这个通道,因此接收到的测试图形通过TX引脚传送。将示波器连接到TX SERDES连接器,这样就可以对传送抖动眼图进行分析。所有的评估板SERDES连接都采用的是50欧姆SMA连接器。整体结构如图3所示。
图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个眼图。 |
本文小结
值得一提的是,SERDES接口为FPGA产品的选择过程增加了一个参数。当选择FPGA时工程师应该考虑可能的信道数目、信道的配置灵活性、接口速度、SERDES IP(即PCS)、传输规范和电气要求。
FPGA产品和SERDES接口的速度和市场规模都在增长。通过理解两者功能和挑战,设计团队可以提升产品的可靠性和功能,并加快产品上市时间。