纯数字的CDR电路
eeskill 2021-11-23

本方案是以CME最新的低功耗系列FPGA的HR03为平台,实现8/10b的SerDes接口,包括SERDES收发单元,通过完全数字化的方法实现SERDES的CDR(Clock Data Recovery,时钟数据恢复),完成100~200Mhz的板间SERDES单通道通信,该SERDES接口方案具有成本低、灵活性高、研发周期短等特点。

1 硬件接口:

硬件的接口如上图所示,主要包括发送与接收模块。

发送模块包括8b/10b编码器,并串转换器,锁相环(PLL)频率合成器和发送器,接收模块包括 8b/10b解码器,Comma 检测器,串并转换器,时钟数据恢复器(CDR)和接收器。

8b/10b编码器用于将从上层协议芯片发送过来的字节信号映射成直流平衡的 10 位8b/10b 编码,并串转换用于将 10 位编码结果串行化,并串转换所需的高速、低抖动时钟由锁相环提供,发送器用于将 CMOS 电平的高速串行码流转换成抗噪声能力较强的差分信号,经背板连接或光纤信道发送到接收机。

在接收端,接收器将接收到的低摆幅差分信号还原为 CMOS 电平的串行信号,CDR 从串行信号中抽取时钟信息,完成对串行数据的最佳采样,串并转换利用 CDR 恢复的时钟,将串行信号转换成 10 位的并行数据,Comma 检测器检测特殊的 Comma 字符,调整字边界,字边界正确的并行数据经过 8b/10b 解码,还原为字节信号,传送到上层协议芯片,完成整个信息传输过程。

实际的设计中,CDR部分是由纯逻辑电路完成的,为设计的核心的部分,下面将介绍数字CDR在HR03的实现方案。

2 数字CDR:

CDR模块作用是从数据中恢复嵌入的时钟,然后接收器按照恢复的时钟进行数据位对齐并通过comma进行字对齐。最后,将数据进行8b/10b解码,供系统使用。

本方案采用同频多相的时钟采样方法,具体实现过程利用PLL产生4个时钟频率相同,相位相差90度的时钟,分别为clk0、clk90、clk180、clk270,这四个时钟输出完全同步,利用4个时钟对数据进行采样,以获得4倍过采样的效果,具体的实现过程如下图所示:

在数据时钟恢复时,将到来的数据分别输入到四个触发器,分别用4个不同的相位进行采样,要注意保证从输入引脚到四个触发器的延迟基本一致。

第一列触发器的触发分别由时钟CLK0、CLK90、CLK180、CLK270的上升沿触发,按照这样的方式来触发就可以得到四个数据采样点。这样就将原始时钟周期分成了四个单独的90度的区域,如果系统时钟为200MHz,上图所示的电路就相当于产生了800MHz 的采样速率。

仅通过一阶的触发器,输出的采样数据存在亚稳态的问题,因此需对采样点作进一步的处理。这里可将四个采样点通过进一步的触发,除掉亚稳态的问题,从而使采样点移到下一个相同的时钟域。通常,亚稳态的去除要经过两三级的处理,这就使得在有效数据输出前会有数位无效的数据,在数据采样的第一个阶段,电路检测数据线上数据的传输。当检测到有数据传输时,对传输数据的有效性进行确认。确认数据有效后,输出高电平来指示采样点有数据传输。

因为最终有四个输出,所以需要一个复用器来选择数据。发送数据与采样时钟的对应关系如上图所示,其对应关系分为4种情况,每种情况下对应一个最佳的采样时钟,系统通过对数据边沿位置信息的判断,来确定哪路时钟为最佳采样时钟,并利用复用器从选定的时钟域中选择数据位,例如检测电路确定从时钟域A中采样的数据有效,那么将时钟域A中采样的数据通过输出端输出。

3 结束语:

通过对纯数字电路的CDR电路,在没有硬核的支持下,完成了FPGA上SERDES的接口设计,并通过实验的传输测试,在HR03的FPGA上,可完成100~200Mbps的数据传输。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
热门推荐
  • 相关技术文库
  • FPGA
  • 可编程
  • PLC
  • verilog
  • FPGA的四点入门必备基础

    掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性。掌握了FPGA设计,单板硬件设计就非常容易(不是系统设计),特

    01-20
  • 6种FPGA开发外设基本模块电路

    FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

    01-20
  • D触发器是什么样子?

    FPGA的设计基础是数字电路,因此很多同学会认为我们要先学好数字电路之后,才学习FPGA。但是,数字电路教材的内容很多.例如:JK触发器、RS触发器、真值表、卡

    01-19
  • 采用FPGA来实现SVPWM调制算法

    1. 为什么要使用FPGA实现在全控型电力电子开关器件出现以后,为了改善交流电动机变压变频调速系统的性能,科技工作者在20世纪80年代开发出了应用脉宽调制

    01-19
  • 一些更常见的FPGA知识

    FPGA代表现场可编程门阵列,它是一种半导体逻辑芯片,可编程成几乎任何类型的系统或数字电路,类似于PLD。PLD仅限于数百个门,但FPGA支持数千个门。FPGA

    01-17
  • 如何分配FPGA引脚

    现在的FPGA正变得越来越复杂。向引脚分配信号的任务曾经很简单,现在也变得相当繁复。下面这些用于向多用途引脚指配信号的指导方针有助于设计师根据从最多到最少的约束

    01-17
  • MCS51单片机与FPGA/CPLD的总线接口逻辑电路

    长期以来,单片机以其性能价格比高、体积小、功能灵活、可靠性高、易于人机对话和良好的数据处理能力等方面所具有的独特优点,被广泛应用于各个领域。但受其内部资源的限制

    2021-12-31
  • 压控晶振同步频率控制系统结构及工作原理

    引言高精度时间基准已经成为通信、电力、工业控制等领域的基础保障平台之一。时统设备通常采用晶体振荡器作为频率标准,但都由于晶振老化和温度变化等原因导致其频率长期稳

    2021-12-17
  • 多芯片相位对齐的串行收发器纠偏方法

    这里介绍一种利用MMCM实现多芯片相位对齐的串行收发器纠偏方法:1) 利用图1所示电路实现多芯片间的全局时钟相位对齐。该电路通过单板上的low Skew时钟分配

    2021-12-17
  • 在FPGA体系结构能够实现的并行运算

    通信和多媒体应用的发展,如互联网通信、安全无线通信以及消费娱乐设备,都在驱动着对能够有效实现复数运算和信号处理算法的高性能设备的需求。这些应用中需要一些典型的D

    2021-12-14
  • 采用乒乓操作通过缓存降低数据采样率

    在高速的AD转换中,FPGA以其高速的处理能力,并行的运行结构,丰富的IO资源,往往承担者不可替代的作用。下面给出一个实际的设计方案。AD芯片的时钟为25M,F

    2021-12-14
下载排行榜
更多
广告
X
广告