近年来,芯片功能的增强和数据吞吐量要求推动了芯片产业从低速率数据并行连接转变到高速串行连接。这个概念被称为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接口的比较。 |
通常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编辑过] |