本科优秀毕业论文(时钟数据恢复)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
摘要
本论文主要提供了一种实用的方式从数据流中恢复时钟,并以此时钟来恢复出原始数据,并且设计产生系统自检所需的信号。
本设计基于如今已经非常成熟的FPGA技术,采用一种非常新颖的方法成功实现了从数据流中同步恢复出时钟,并且采用纯数字电路的方法,利用EDA平台设计出了恢复原始数据的译码电路,此外,本设计还实现了系统自检;设计从实际应用的角度出发,旨在解决现实生活中的车载电子设备的通信问题,切合实际,同时,对现有的时钟同步数据恢复的方法进行学习与改进。
论文涵盖了模拟电路设计,数字电路设计,硬件编程,调试,软件仿真,逻辑综合各个方面,具有很大的现实意义。
关键词:时钟数据恢复,FPGA,锁相环,状态机
I
ABSTRACT
ABSTRACT
This paper aims at providing a practical method to recovery the clock transformed by the data stream, through which it can decode the original data stream and it can create the self-checking signal needed by the system.
My design succeeds to recovery the clock through the data stream based on the technology of mature FPGA and I achieve to design the decoding circuit by digital circuit on the platform of EDA. The research is from the practical point of view, aiming to solve communication problems in real life in-vehicle electronic devices. Also, we learn and improve on existing methods of clock and data recovery. The design contains analogy circuit design, digital circuit design, hardware programming, debug, simulation and logical synthesis and so on.
Key Words: Clock and Data Recovery, FPGA, PLL, State Machine
II
目录
第1章引言 (1)
1.1数据恢复的同步设计和系统自检的概况和发展现状 (1)
1.1.1时钟数据同步恢复电路的简介 (1)
1.1.2系统自检的简介 (2)
1.1.3时钟数据恢复电路的发展趋势 (2)
1.2时钟数据恢复电路以及系统自检的必要性和挑战 (3)
1.3本课题的研究目的和研究内容 (4)
1.3.1研究目的 (4)
1.3.2研究内容 (5)
1.3.3论文的结构安排 (6)
第2章传统的时钟数据恢复电路 (7)
2.1概述 (7)
2.2传统的时钟数据恢复电路的方法 (8)
2.2.1前馈相位跟踪型CDR (8)
2.2.2反馈相位跟踪型CDR (11)
第3章基于FPGA的时钟数据恢复电路 (16)
3.1设计任务概述 (16)
3.2各模块电路设计 (16)
3.2.1毛刺消除电路的设计 (16)
3.2.2时钟恢复电路的设计 (18)
3.2.3译码电路的设计 (24)
3.2.3.1有限状态机的介绍 (25)
3.2.3.2序列检测器的设计 (26)
3.2.3.3时钟数据恢复电路 (29)
第4章系统自检的设计以及电路中各个时钟的设计 (31)
III
4.1系统自检的设计 (31)
4.1.1自检信号序列发生器的设计 (31)
4.2时钟数据恢复电路中的时钟 (34)
4.2.1时钟数据恢复电路系统的总体电路图 (34)
4.3锁相环技术 (35)
4.3.1锁相环简介 (35)
4.3.1.1鉴相器 (36)
4.3.1.2环路滤波器 (36)
4.3.1.3压控振荡器 (37)
4.3.2锁相环倍频获得所需时钟信号 (37)
第5章结束语 (40)
参考文献 (41)
致谢 (42)
外文资料原文 (43)
外文资料翻译 (53)
IV
第1章引言
第1章引言
在高速串行数据通信中,为了节省开销,一般只传送数据信号而不传送与数据信号同步的时钟信号。
这样,在接收端为了保证数据处理的同步,时钟等时序信息必须从数据中提取出来,继而利用该时钟对数据进行“重定时”来消除传输过程中积累的抖动,这一时钟提取和数据重定时的过程一般称为“时钟数据恢复”(CDR, Clock and Data Recovery)。
高速CDR电路是高速数字通信中一个不可或缺的关键模块,种类繁多。
传统的CDR电路包括时钟恢复(CR,Clock Recovery)电路和数据恢复(DR,Data Recovery)电路两部分,而数据恢复又可以细分为时钟数据相位调整(相位对准,phase alignment)电路[1]和数据采样判决电路。
根据数据恢复(或数据采样)时,本地时钟与数据之间的相位关系及其实现方式的不同,CDR的结构大体可以被分为三类:前馈(feed forward)相位跟踪型,反馈(feedback)相位跟踪型,以及(无相位跟踪)盲过采样(blind—oversampling)型[2]。
为了保证电路正常工作和及时发现系统故障,电路设计中大多数要设计自检电路,自检电路包括对器件工作状态,环境补偿,保护元件是否失效,修正参数等等,单片机电路还包括程序是正常执行,初始参数的自动设置,有LED显示的还要检测是否断笔,以及配合人工通过显示确定系统状态等。
系统运行过程中,各模块、各通信链路等都需要定时或根据主控制器要求进行自检。
1.1数据恢复的同步设计和系统自检的概况和发展现状
1.1.1时钟数据同步恢复电路的简介
数据时钟恢复电路的用途变得越来越广泛。
从无线通信到有线通信,从光接收机到硬盘的读写,都需要数据时钟恢复电路才能进行正常的数据传输和通信。
尤其是串行通信,由于数据时钟恢复电路具有节约连线资源、对信号的幅度要求小、信号之间的串扰小和传输速率高等优点,在诸如以太网、光通信和硬盘数据传输等系统中得到广泛的应用。
随着现代通信的飞速发展,用来衡量通信系统的重要
1
电子科技大学学士学位论文
指标——传输速率,已经迈向数十吉(G)的数量级[2]。
传输速率的不断提高给终端设计带来更大的挑战,尤其使接收机终端中的关键单元——数据时钟恢复电路的设计变得越来越具有挑战性。
数据通信系统中,由于发射端电子器件的噪声、传输路径中的衰减和干扰等因素,接收端接收到的数据包含大量噪声,必须设法从这些带噪数据中提取有用的数据。
数据时钟恢复电路就是一种从带噪声数据中提取时钟信号、进而恢复出有用数据的电路。
因此,数据时钟恢复电路的性能直接影响到整个系统的质量。
超高速时钟数据恢复电路也有报道。
数据率的提高,意味着每一位数据的持续时间的降低,1Gbps的数据率相当于每一位数据的持续时间只有一个纳秒(ns),这对电路的性能以及对时钟的抖动的优化提出了更高的要求。
时钟恢复电路的结构主要针对的是2.5Gbps以上的串行信号[3],在长距离通信中,由于数据的位宽时间很短,码间干扰显著,抖动相对可观,电路主要以锁相环结构为主;而在许多短距离接口电路中,要求锁定时间很短,抖动容忍范围宽,开环结构依然有着广泛的应用。
1.1.2系统自检的简介
对于完整的系统电路来说,都应该具有自检电路,随着时间的推移,系统在运行过程中难免会出现一些问题,比如在实际应用中,主机发出信号从机负责接受并且提取数据和时钟,为了保证电路正常工作和及时发现系统故障,必须要有系统自检电路的设计,包括对器件工作状态,环境保护,修正参数等。
对计算机而言,系统自检也称为POST(Power On Self Test),打开电脑,主板加电开始从BIOS引导硬件自检到BIOS选择启动项硬盘还是光驱,寻找引导文件,包括关键部位测试和非关键部位测试,加电,cpu、rom、BIOS,system clock、DMA、64k RAM、显卡。
如果有问题称为核心故障。
同理,对于任和硬件电路,都应该具有自检电路,保证其工作在正常环境中,一旦系统出现状况,就会发出故障信号,通知维修。
1.1.3时钟数据恢复电路的发展趋势
时钟数据恢复电路从出现至今已经经历了多次变革,其改进的主要方面是CDR 电路结构的优化,促使CDR电路结构变化的因素主要包括工艺的变化,以及由于
2
第1章引言
工艺水平的影响导致的电路速度和电源电压的变化,面积和功耗的影响等。
从上世纪九十年代至今,CMOS工艺水平经历了0.9um、0.6um、0.35um、0.25um、0.18um 直到90nm、65nm甚至45nm[5],可谓突飞猛进。
CDR的发展趋势:
(1)各种基本CDR相互借鉴融合。
(2)多速率及连续速率变化。
一方面可以增加CDR的通用性,另一方面,可以适应有多速率或宽范围连续速率要求的场合。
(3)数字化。
对越来越多的CDR模块的数字化,可以增加电路的可靠性,可移植型,以及减小芯片面积,提高电路的集成度(如LF,CP的数字化)。
(4)亚速率化。
通过工作在亚速率,PFD/VCO等都可以工作在较低速率,功耗可以降低,最高CDR数据率可以得到提升,PFD也往往具有分接功能。
当然亚速率往往是以增加对VCO多相位的需求为代价的,这也将大大增加电路设计的复杂度,比如较严格的时钟相位差要求等。
(5)微波化。
主要在工作速率很高的场合,如采用分布式VCO产生多相位时钟,采用微带线作为延时单元等。
(6)并行化。
满足越来越多的短距离并行I/O的需求。
1.2时钟数据恢复电路以及系统自检的必要性和挑战
如果接收端不进行时钟同步,而是使用自己本地的时钟,则足够长的时间后接收到的数据总会出现不可预知的重复或丢失,导致接收错误。
因此发端必须将与数据速率相关的时钟信号传输给接收端,时钟信号可以走单独的信号线,也可以用一定的方式隐含在数据信号中。
接收端对此时钟信号进行同步,从而能够“不多也不少”地从接收的数据波形中恢复数据。
另外传输过程中,数据信号多少会发生一定的畸变,时钟同步的另外一个作用是保证接收端在波形畸变最少的时刻恢复数据,减少出错概率。
随着集成电路性能不断提高和网络技术的日益发展,数据处理量和交换量越来越大,人们要求数据传输的速率越来越快,对通信带宽的要求也越来越高,数据带宽已经成为限制电路整体性能的瓶颈。
传输率的持续提高对物理层收发芯片的设计提出了更高的要求,对超高速集成电路设计工程师提供了新的机遇和挑战。
超高速时钟数据恢复电路的提高也是CDR的发展方向。
3
电子科技大学学士学位论文
为了克服传输介质和接收端的非理想因素,在高速数据传输时,必须利用时钟数据恢复电路从接收数据中恢复出同步时钟进行重新采样,得到重新建立的数据信号,图1-1显示了时钟数据恢复电路的作用。
如图所示,时钟数据恢复电路位于信号输入端,输入信号进入时钟恢复电路后提取出最佳的采样时钟,然后再用来同步输入的数据。
时钟数据恢复电路本质是一种自适应的电路,在原理上可以用反馈或者直接前反馈实现。
然而,由于数据一般是经过天线发射,接收端调制解调后得到数据流,在此过程中,由于受到前端的影响导致数据信号宽度不一致,传输距离越远可能造成数据宽度畸变越大,并且由于接受到的数据信号必然含有大量毛刺,因此在进行时钟数据恢复时,如果数据宽度畸变厉害,数据流和毛刺难以区别,会产生极大地误差。
图1-1CDR电路在数据重定时过程中的作用[6]
更加严重的是,由于传统方法采用锁相环直接对数据进行时钟恢复,锁相环很多时候会无法锁定输出,在无法锁定输出期间,输出则为不定态。
因此最终的时钟非常不规范,译码出来的数据误差也会比较大。
1.3本课题的研究目的和研究内容
1.3.1研究目的
串行数据是由一连串的‘0’和‘1’组成,但是有多少个‘0’和多少个‘1’会连续出现?在数据接收端如何进行判断?是串行数据接收时遇到的重要问题。
4
第1章引言
解决这个问题的常用方法是从接收数据中恢复数据同步时钟,然后用恢复的时钟读取数据。
数据通信中基带通信一般分为两种方式,即并行数据通信和串行数据通信。
时钟数据恢复(CDR) 电路是同步光纤通信系统中的核心部件。
当数据流在光纤中传输时,并没有附带时钟,光纤数据接收端需要通过CDR从接收到的含有较大干扰和抖动的数字信号中提取接收位同步时钟,并用这个时钟对该数据信号重新采样,恢复出具有规范波形的原数据信号。
串行数据传输广泛地应用于计算机和工业领域。
为减少传输电缆,一般不进行专门的串行时钟传输,而把时钟嵌入数据信号中一起传输,则在数据接收端须进行时钟数据恢复(Clock Data Recovery,CDR)。
由于标准数据流受到前端影响导致数据信号宽度不一致,需要设计硬件电路恢复出原始数据并且同步时钟,同时设计自检电路,通过毕业设计提高硬件设计能力和EDA开发能力。
1.3.2研究内容
(1)对CDR电路工作原理进行了研究,主要是对锁相环(PLL)的研究,包括其内部的鉴相器(PD),压控振荡器(VCO),低通滤波器(LPF)等[7]。
掌握锁相环的倍频原理。
(2)对信号前端的处理,由于信号在传播的过程中受到各种干扰,导致接收到的信号的波形必然不是标准的方波,并且含有较多的毛刺,因此必须设法消除信号中的毛刺并且将其变为较理想的数字信号。
(3)对verilog硬件编程语言的研究,由于打算时钟同步数据恢复的大部分用EDA实现,因此必须要学习verilog编程语言,重点是序列检测器和序列发生器的verilog的学习,整个过程由编程,调试,软件仿真,逻辑综合组成。
(4)在实际应用中,主机发出信号从机负责接收并且提取数据和时钟,为了保证电路正常工作和及时发现系统故障,必须要有系统自检电路的设计,系统运行过程中,各模块、各通信链路等都需要定时或根据主控制器要求进行自检。
(5)利用QuartusII软件调用Modelsim对时钟数据恢复以及自检电路进行功能与时序仿真,验证设计的正确性,同时根据仿真结果检验电路中可能存在的一系列问题,探索改进方法。
(6)和传统的时钟数据恢复电路作比较。
5
电子科技大学学士学位论文
1.3.3论文的结构安排
本论文对时钟数据恢复电路和系统自检的设计进行了系统的总结,主要包括原理介绍,硬件编程,调试,软件仿真,逻辑综合(包括RTL级别电路综合与门级电路综合)。
论文的结构安排如下:
(1)第一章介绍了论文研究的背景和意义,以及论文的主要工作。
(2)第二章对传统时钟数据恢复电路的介绍。
本章重点介绍锁相环的结构和原理,包括其内部的鉴相器(PD),压控振荡器(VCO),低通滤波器(LPF)等。
研究锁相环的动态特性。
利用锁相环进行时钟数据恢复的传统的方法的优点与缺点,提出一种新颖的电路,并且在EDA平台上进行仿真,验证本设计的正确性。
(3)第三章主要讲述了基于FPGA的时钟数据恢复电路的设计。
(4)第四章设计了系统自检,并且讲述了利用FPGA内锁相环得到设计过程中所需要的各个时钟的方法。
(5)第五章是论文的总结工作,列出了论文工作取得的成绩,并指出论文工作的不足以及后续工作的工作方向。
6
第2章传统的时钟数据恢复电路
2.1概述
在高速串行数据通信中,为了节省开销,一般只传送数据信号而不传送与数据信号同步的时钟信号。
这样,在接收端为了保证数据处理的同步,时钟等时序信息必须从数据中提取出来,继而利用该时钟对数据进行“重定时”来消除传输过程中积累的抖动,这一时钟提取和数据重定时的过程一即CDR,CDR电路包括时钟恢复(CR,Clock Recovery)电路和数据恢复(DR,Data Recovery)电路两部分。
为了实现数据重定时,需要进行两项工作:时钟恢复和数据判决。
如图1-1所示,时钟恢复电路对数据进行检测并且产生与数据同步的时钟信号,由该时钟驱动D触发器(D FlipFlop,DFF)对数据进行重定时;也就是说,DFF对含有噪声的数据进行采样,产生抖动减小的输出。
因此,有时候也把图1-1中的D触发器称为“判决电路”。
注意,接收到的数据的过零点受到噪声和干扰的抖动而失真,然而在寄存器的输出处变得和恢复出来的时钟一样干净这种对数据时序的误差的消除就是数据重定时的本质[7]。
图1-1所示电路产生时钟必须满足四个重要的条件:
(1)输入信号在进入DFF判决之前,必须对首先对信号进行整形处理,以获得较为理想的数字信号。
(2)时钟的频率必须与数据的速率一致:比如,数据速率为10Gbps,即每个数据宽度为100ps,那么时钟频率就应该为10GHZ,周期为100ps。
(3)时钟与数据必须有一个确定的相位关系,从而保证对数据在最佳采样点进行采样。
如图1-1所示的波形,时钟的上升沿与每个数据脉冲的中心对齐,这样采样的位置距离相邻的前、后数据跳变沿最远,相对于抖动和其他的时序不确定而言就是提供了最大的裕度。
(4)由于时钟的抖动是数据抖动的主要来源,因此时钟的抖动必须尽量小,才能实现时钟数据恢复的功能。
7
8
2.2 传统的时钟数据恢复电路的方法
高速CDR 电路是高速数字通信中一个不可或缺的关键模块,种类繁多。
根据数据恢复(或数据采样)时,本地时钟与数据之间的相位关系及其实现方式的不同,CDR 的结构大体可以被分为三类:前馈(feed -forward )相位跟踪型,反馈(feedback )相位跟踪型,以及(无相位跟踪)盲过采样(blind —oversampling )型
2.2.1 前馈相位跟踪型CDR
前馈相位跟踪型CDR 中,(采样判决时)本地时钟和输入数据之间的相位关系,是通过时钟信息的不断前馈校准跟踪及电路和版图设计阶段精细的时延匹配设计来保证的。
根据时钟产生及同步方式的不同,无相位反馈跟踪型CDR ,又可以大体被分为四个基本类型:基于开环滤波器型,基于窄带PLL 滤波器型,基于注入振荡器(injection -locked oscillator -based )型,以及基于门控振荡(gated oscillator -based )型。
由于非归零码(NRZ, Not Return to Zero )信号中缺少与其比特速率相同的频谱分量,所以任何CDR 电路都不可能完全通过线性技术直接从NRZ 数据流中直接提取出所需要的时钟信号。
如图2-1所示,滤波器型CDR 的时钟产生电路主要有两部分组成,即边沿检测(edge detection )电路和频率提取(frequency extraction )电路。
图2-1 滤波器型CDR 结构[8]
边沿检测电路,也叫预处理电路(preprocessor),通过一种非线性变换,从NRZ 数据流的频率分量中产生出一个与其比特率相同的所需要的频谱分量。
它可以由微分电路和全波整形电路组合实现,或由时延线和异或门组合实现。
当然,如果在发送端,与NRZ数据一起,同时发送了时钟信号,则边沿检测电路是完全没必要存在的。
频率提取电路,则一般是通过高Q值带通滤波电路,从含有期望频率的嘈杂信号中,提取出所需的频谱分量,而尽可能的滤除其它杂散的频率分量。
这里的高Q值带通选择电路一般至少应该具备以下两个特点:足够高的频率选择特性;输出时钟与输入时钟保持相对稳定的、一致的相位关系。
满足这两个条件的大抵存在三种典型基本电路:第一种是各种在片(on-chip)或片外(off-chip)的有源或无源滤波器,特别是诸如LC、SAW(surface acoustic wave,声表面波)或介质腔等片外高Q值无源滤波器。
第二种是由窄宽的PLL等效的滤波器。
第三种是由注入锁定振荡器等效的自适应滤波器。
由这三种不同的滤波器电路,分别构成了上述的前三种CDR类型。
图2-2基于振荡器型CDR结构[8]
这三种类型的CDR都是从滤波(或频域)的角度来分析问题的,从非线性变化后的嘈杂信号中,抑制掉不需要的频率分量,提取出所需的时钟信号。
同时,还存在另外一种CDR电路,它更多地是从时域信号着眼,直接利用数据转换中所蕴涵的时钟信息。
这就是基于门控振荡器型的CDR。
这种CDR由两种基本类型,如图2-3所示(图中GVCO、PFD、CP、LF及/M分别表示门控VCO、鉴频鉴相器、电荷泵、环路滤波器以及分频器)。
I型门控CDR由两个相同的门控VCO(参考时钟环中的GVCO没有算在内),受输入数据控制交替振荡,两个VCO的输出合并产生时钟信号。
而II型门控CDR仅有一个门控VCO,但它另外需要一个较严格的
9
边沿检测电路。
I型门控CDR一般用在速率不很高的场合,越来越多的倾向于II 型门控CDR。
图2-3基于门控振荡器CDR结构型[8]
图2-2为基于注入振荡器型的CDR结构(图中InJVCO表示注入VCO),与图2-3比较可以看出,两者结构很相似。
区别在于后者对边沿检测要求更精确,要求边沿脉冲为UI/2左右。
所以,在某种程度上,可以将门控II型CDR视为注入振荡器型CDR的一个特例——注入强度足够大且注入脉宽为UI/2。
这几种CDR都含有具有选频作用的谐振单元。
滤波器由于Q值有限,或者说没有足够的能量补充机制,所以不能够像振荡器那样,无需注入信号能量便可一直自由振荡下去,输出周期性时钟信号。
它必须在输入时钟信号的周期性冲击下,才可以产生时钟输出;当输入信号消失后,输出时钟也会逐渐消失(持续时间与Q 值成正比)。
如果滤波器的Q值无穷大,则它可能将如同注入锁定振荡器一样,无需注入信号能量便可以源源不断地产生时钟输出。
对于注入锁定振荡器,注入的周期性信号只是用来对振荡器的输出时钟的频率和相位进行牵引,使之与注入时钟保持同步。
PLL中的VCO则是根据VCO产生的时钟与输入时钟进行比较,不
10
断地通过调谐自己的振荡频率来实现输出时钟相位的增减,从而完成时钟的同步。
门控振荡器则是通过由数据不断地控制振荡器的关闭和启动,来把数据中嵌入的时钟信息,注入到输出时钟信号中,使振荡器输出时钟与输入时钟保持同步。
前馈技术,在理想情况下,只能保证它所产生的时钟与注入时钟(嵌入在数据中的时钟)是同步的—相同的频率和确定的相差。
但是数据与前馈技术所产生的时钟之间的最优相差(用来进行数据恢复)往往是通过额外的时延匹配电路来实现的。
然而,由于时钟通路和数据通路所经历的功能模块,往往差异很大,不容易实现比较完美的匹配。
所以,当数据速率较高时,为了预防过大的匹配偏差,如图2-1所示,往往需要在时钟或数据通路中加一段时延线,便于在后期(测试或应用)进行手动相位调节。
—这其实也是限制前馈技术在高速率环境下应用的一个重要原因。
在这四种CDR技术中,基于开环滤波器型CDR由于集成度等问题,已经基本退出历史舞台;基于窄带PLL滤波器型CDR由于其结构繁杂(需要预处理器等)、相位对齐不完美等诸多问题,也逐渐为基于伪随机码PD的PLL型CDR所替代。
而其它两种CDR 技术,则在突发模式数据传输中,越来越焕发出活力,成为研究的焦点。
2.2.2 反馈相位跟踪型CDR
反馈相位跟踪型CDR中,(采样判决时)本地时钟和输入数据之间的相位关系,是通过鉴相器(PD)实时地监控本地时钟与数据之间的相对相位的变化,并实时地反馈给控制电路进行相位校准来完成的。
这里的鉴相器,一般都是直接作用于NRZ 数据的,基于采样的(过采样率一般为2或3)。
且大多数这类PD中都包含了数据采样判决功能,所以一般不需要额外的数据采样判决电路。
反馈相位跟踪型CDR,不但可以实时校准数据和时钟自身产生的相位误差,而且可以实时校准PVT变化所引入的相位误差。
根据时钟产生及相位调整方式的不同,这种类型的CDR,又可以被分为三种基本类型:基于PLL型,基于DLL 型以及基于相位插值(PL,Phase Interpolation)/相位选择(PS,Phase Selection)型。
基于PLL型CDR。
如图2-4所示,与前馈基于窄带PLL型CDR,在结构上的最大区别在于,前者用一个可以直接作用于NRZ数据的PD取代了后者的边沿检测电路及作用于周期信号的PD。
或者说,前者中PLL几乎完成了CDR的所有功能,而后者中PLL,则仅仅完成了时钟信号的提取功能。
11。