0引言时钟数据恢复电路是高速收发器的核心模块,而高速收发器是通信系统中的关键部分。随着光纤在通信中的应用,信道可以承载的通信速率已经可以达到GHz,从而使得接收端的接收速率成为限制通信速率的主要瓶颈。因此高速时钟数据恢复电路的研究是目前通信领域的研究热点。目前时钟数据恢复电路主要是模拟IC和数字IC,其频率已经可以达到几十GHz。而由于FPGA器件的可编程性、低成本、短的设计周期以及越来越大的容量和速度,在数字领域的应用逐渐有替代数字IC的趋势,已经广泛作为数字系统的控制核心。但利用中低端FPGA还没有可以达到100MHz以上的时钟数据恢复电路。由于上面的原因,许多利用FPGA实现的高速通信系统中必须使用额外的专用时钟数据恢复IC,这样不仅增加了成本,而且裸露在外的高速PCB布线使还会带来串扰、信号完整性等非常严重的问题。如果可以在中低端FPGA上实现高速时钟数据恢复电路,则可降低成本且提高整个电路系统的性能。目前利用FPGA实现时钟恢复电路的方法,基本都是首先利用FPGA内部的锁相环产生N*f的高频时钟,然后再根据输入信号控制对高速时钟的分频,从而产生与输入信号同步的时钟信号[1~3],其中N决定了恢复时钟信号的相位精度,通常N等于8。因此如果输入信号的频率为100MHz,则系统的工作频率就必须达到800MHz,对于中低端FPGA,如此高的工作频率显然无法承受。虽然高端FPGA可以达到GHz的工作频率,但其高昂的价格不适合用于普通用户。而其它基于中低端FPGA实现高速时钟恢复电路的方法,要么需要外部VCO模块[4],要么只能恢复数据而无法得到同步的时钟信号[5]。针对这种情况,本文提出了一种利用AlteraFPGA中的锁相环及Logiclock等技术,实现高速时钟恢复电路的方法。电路是在Altera的EP2C5T144C6芯片上实现的,用于数字光端机的接收端从100路2.048MHz压缩视频码流合成的串行码流中正取100路视频码流,其工作频率为204.8MHz,通过硬证电路可以正确工作。1时钟恢复电路原理及环路结构时钟恢复电路的目的是从输入的数据流中,提与其同步的时钟信号。时钟信号不可能凭空产生,该电路本身必须有一个时钟信号产生机制,除此之必须有一个判断控制机制--能够判断并且调整该时号与输入数据之间的相位关系,使其同步。传统的基于FPGA的时钟恢复电路的结构如图1所如前所述,这种结构的电路用中低端FPGA,工作频可能达到100MHz以上。本文采用的方法是利用锁相生不同相位的时钟信号,然后再根据控制信号控制时钟在这些时钟之间进行切换,从而使时钟与输入同步。具体结构如图2所示。下面详细介绍各个模块作原理及电路实现。图1基于高频时钟分频的时钟恢复电路结构图图2基于时钟切换的时钟恢复电路结构图2模块电路设计电路由三个模块构成,鉴相器模块和计数器模块通过判断时钟信号和输入信号的相位关系,产生相位调整的控制信号,时钟调整模块根据送来的控制信号对输出时钟进行相位调整。2.1超前滞后鉴相器图3超前滞后鉴相器电路鉴相器使用可以识别输入信号连0和连1的超前滞后鉴相器[6],具体电路如图3所示。利用四个D触发器对输入信号Din采样产生s1、s2、s3三个信号,如果s2=s3s1,则表示时钟超前,up-down为高电平;如果s1=s2s3,则表示时钟滞后,up-down为低电平;当输入信号连0或连1时s1=s2=s3,valid为低电平,此时up-down无效。这两个信号都必须用时钟信号进行同步产生,否则电路可能由于s1、s2、s3的延迟差而进入一种死锁状态。这种鉴