SERDES的FPGA实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
芯片功能的增加和数据吞吐量的要求,促使芯片行业从较低数据率的并行连接,转向较高速度的串行连接。SERDES(Serializer-Dese rializer,)是经高速差分对,而不是经较低速度的并行总线传输串行化的数据。一个实例是用单个PCI-Express通道,替代传统的32位、64MHz PCI总线(可达到2.112Gb/s),仅用4条线(运行在2.5GHz),可达到4Gb/s 总数据率。简言之,SERDES协议允许用较少的引脚数传输较高的数据率。
典型的SERDES的FPGA实现
图1给出在复杂的FPGA实现中各种可能的SERDES接口,包括数据通路(芯片到芯片,SPI 4.2,PCI-Express,SGM11)、背板(GbE/GSM11,PCI Express/AS,专用)接口、存储器接口(DDR1/ⅡSDRAM,QDRⅡSRAM)。可由FPGA实现的芯片包括存储器控制器、帧调节器/MAC、DSP协处理器、控制板接口和背板驱动器。
SERDES接口有两类:源同步(SS)接口和时钟数据恢复(CDR)接口。这两类接口的基本差别是如何实现同步。源同步接口有一个伴随传输数据的分离时钟信号。CDR没有分离的时钟信号,代之以嵌入在数据开关转换中的时钟。这就是说,CDR接收机将锁相数据信号本身来得到时钟。表1给出这两类接口的基本差别。CDR接口通常运行在较高的速度和较长的距离,因而会带来较大的设计问题。基于此原因,本文主要集中在CDR方面。
图1 典型的SERDES应用
时钟数据恢复
时钟数据恢复(CDR)接收机必须恢复来自数据的嵌入式时钟。更确切地说,时钟起源于数据信令的开关转换。CDR发送到串行化数据开始,然后,变换数据为8b/10b(或类似的编码方法)。编码取8位数据,并变换此数据为10位符号。8b/10b编码在
数据线上提供一个相等“0”和“1”传输。这会减弱符号间干扰,并提供足够的数据沿,使接收机锁相在输入数据流。发送器将增加系统时钟到发送位率,并以此位率发送8b/10b数据到TX差分对。
CDR接收器的工作从在RX差分位流上锁相开始。然后,接收器在每个恢复时钟位校准数据。下一步,数据在接收器的参考时钟校准字。最后,数据是8b/10b译码,准备用于系统。在CDR系统中,发送和接收系统,通常具有独立的系统时钟。两个时钟都处在特定的变化要求内,这是关键。此阈值是几百PPM(百万分率)量级。
CDR接口的主要设计问题是抖动。抖动是实际数据传输布局的相对理想状况。总抖动(TJ)是由确定性抖动和随机抖动组成。大部分抖动是确定性的,其分量包括符号间干扰、占空比失真和同期抖动(即来自开关电源的干扰)。随机抖动往往是半导体热问题的副产物,而难断定。发送参考时钟、发送PLL、串行器和高速输出缓冲器,都对发送抖动有贡献。发送抖动通常标定为给定位周期或数据眼图的单位间隔(UI)百分比。例如,抖动.2UI表示抖动为位周期20%。对于发送抖动,U1数越小越好,这表明抖动较小。
表1 源同步和时钟数据恢复
同样,CDR接收器标定在给定的位率所允许的最大抖动值。典型的误码率标准是1e-12(每1e 12位一个误差)。接收抖动也标定为U1。U1越大,表明接收机可以允许更大抖动。典型接收机指标是.8U1,这意味着位周期的80%可以是噪声,而接收机仍然能够可靠地接收数据。抖动通常用统计bell分布量化表示。
SERDES测试和眼图
由于抖动是SERDES系统中的主要解决的问题,所以,抖动也是测试测量的一个焦点。测量抖动是用高性能示波器连接SERDES 信号,观测“数据眼图”。对于给定差分对r的眼图是很多状态过渡的重叠。取样窗口足够的宽,能保证包含图中的两个交叉点。这种合成图看起来象一个眼睛,此图提供信号质量和抖动的直观目测方法。总之,眼睛打开越宽,信号越好。
图2示出在示波器上看到的典型眼图。在此眼图中,V量测对1.2V总电压摆幅(从逻辑O到逻辑1)的眼打开的高度。有3个宽度(或时间)测量:U1量测全位周期,H量测共模电压下全打开,T量测最小和最大解扣电压间的宽度。H、T和V值越大,表明眼睛越宽、因而,信号越好,抖动越小。
图2 数据眼图
抖动测量装置
为了检测发送抖动,由误码率测试器(GERT)产生测试图形,并送到评估板的SERDES接收端口。同样,时钟产生器连接到评估板的SERDES时钟。把FPGA配置为内部环回被测信道。这样,被接收的测试图形在TX引脚发送。示波器连接到TX SERDES 连接器,这样可以分析发送抖动眼图。所有评估板SERDES连接都用50? SMA连接。图3示出这种配置。
用FPGA SERDES接收端口处的施感抖动和监控环回SERDES输出的误码,来测量接收抖动容限。连接抖动产生器到BERT 图形产生器(见图3)。BERT产生器送一个伪随时机图形序列到评估板的SERDES SMA输入。这种配置可使工程师在控制状态下,引入抖动到SERDES RX端口。配置FPGA用于环回,SERDES TX端口连接BERT上的误码检测器端口,工程师引入抖动,并观察FPGA所产生的误码率(BER)。当BER超出技术要求时,就可知道已超出抖动容限阈值。对于FPGA,此数值就等于或大于特定的接收抖动容限。
图3 抖动测试设备配置
背板性能测量
通过一个背板配置驱动FPGA的TX信号,可以测量FPGA的SERDES链路发送特性,并可以分析背板输出的眼图。此装置首先用BERT图形产生器,把PRBS位流馈入FPGA评估板的SMA RX端口。用环回配置的TPGA,PRBS将呈现在评估板TX 端口,并驱动馈入背板的同轴缆线。系统要求决定测试参量,如PRBS图形选择,背板和FPGA评估板线长、用轴缆线长度、预矫和均衡设置、工作温度和Vcc。
图4示出用Lattice SC FPGA,此测试装置采样的9个眼图。每个眼图下面的数字是测量的眼高(由图2测量V)。注意,增加预矫可改善每个位率下的眼图。预矫是发生在缆线和背板中信号衰减的SERDES发送器补偿。这种Lattice SC FPGA,所需的眼高度是85mV,所以,16%预矫,在3.8Gb/s取晴图仅仅是取样,这不能满足要求。
图4 在不同SERDES数据率增加预加重
结语
本文给出了SERDES接口的FPGA实现方法在选择FPGA时,应该考虑可能的信道数、信道的配置灵活性、接口速度、SERDES IP、传输性能指标和电气性能要求。FPGA产品和SERDES的速度和市场占有率正在增大。了解它们的能力和所遇到的问题,设计人员可以增加其产品的可靠性功能,以及加快上市时间