CN112994684A - 一种时钟数据恢复电路和串行数据传输方法 - Google Patents
一种时钟数据恢复电路和串行数据传输方法 Download PDFInfo
- Publication number
- CN112994684A CN112994684A CN202110165248.3A CN202110165248A CN112994684A CN 112994684 A CN112994684 A CN 112994684A CN 202110165248 A CN202110165248 A CN 202110165248A CN 112994684 A CN112994684 A CN 112994684A
- Authority
- CN
- China
- Prior art keywords
- data
- sampling
- recovery data
- clock
- recovery
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 247
- 230000005540 biological transmission Effects 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000005070 sampling Methods 0.000 claims abstract description 222
- 238000003708 edge detection Methods 0.000 claims abstract description 39
- 239000003550 marker Substances 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims description 42
- 230000003111 delayed effect Effects 0.000 claims description 18
- 230000000295 complement effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000007704 transition Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
Abstract
本发明公开了一种时钟数据恢复电路和串行数据传输方法,涉及电子技术领域。一具体实施方式包括:采样时钟,频率高于采样时钟的略快时钟;过采样电路,用于使用采样时钟对串行输入数据进行采样,得到采样数据;边沿检测和采样点判决电路,用于基于采样时钟从采样数据中找出粗恢复数据;为粗恢复数据添加重复标记位和丢失标记位;近空FIFO,用于基于采样时钟将无重复标记位的粗恢复数据写入;基于略快时钟依次读取写入的粗恢复数据,将无丢失标记位的粗恢复数据作为当前拍恢复数据,将有丢失标记位的粗恢复数据作为下一拍恢复数据。该实施方式既能够接收超长甚至是无限长度的数据又不需要要超大FIFO,避免造成数据恢复错误。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种全数字可综合的时钟数据恢复电路和串行数据传输方法。
背景技术
在有线数据传输中,内嵌时钟串行数据传输技术有越来越多的应用,现在主流的数据和音视频传输标准如USB(通用串行总线)、PCI-E(通用的总线规格)、HDMI(高清多媒体接口)、和DisplayPort(显示接口)都要求使用该技术,该技术的核心是时钟数据恢复电路,因为单独的时钟信号没有被传输,需要用该电路从数据信号中恢复出来。
时钟数据恢复电路的实现可以分为模拟方案、数字模拟混合方案和全数字方案。其中全数字方案有锁定时间快、稳定性好、可以方便的在不同制造工艺间移植的优点。随着半导体制造工艺和EDA(电子设计自动化)工具的进步,全数字时钟数据恢复电路的面积缩小、速度变快的优势也提升得更显著。
论文《A Single-Data-Bit Blind Oversampling Data-Recovery Circuit withan Add-Drop FIFO for USB2.0 High-Speed Interface》提供了一种针对USB2.0高速协议的时钟数据恢复电路结构。该论文采用五倍的过采样电路和一个二十五级深度的添加-丢弃FIFO。之所以用二十五级深度,是因为USB2.0高速协议规定的最大频率偏差是正负500ppm(百万分之一),且最长的USB2.0数据包是8225比特。USB2.0高速协议规定发完一个包后,总线进入电气空闲状态,时钟数据恢复电路可以复位以等待下一个包。
在很多其他协议中,并不像USB2.0高速那样规定发送完一个包后总线进入电气空闲状态。比如USB3.0和PCI-E协议都允许连续发多个包,只有当长时间没有包、需要进入低功耗模式时才进入电气空闲状态。而音视频传输协议如HDMI和DisplayPort都是连续数据流,可以视为是无限长度的数据包。论文《A Single-Data-Bit Blind Oversampling Data-Recovery Circuit with an Add-Drop FIFO for USB2.0 High-Speed Interface》的方案如应用在这类协议中,FIFO必然会溢出,造成数据恢复错误。
发明内容
本发明要解决的技术问题在于,在USB3.0、PCI-E、HDMI和DisplayPort协议下传输数据时,FIFO必然会溢出,造成数据恢复错误。针对现有技术中的缺陷,提供一种时钟数据恢复电路和串行数据传输方法。
为了解决上述技术问题,本发明提供了一种时钟数据恢复电路,包括:
采样时钟,所述采样时钟是频率为数据率三倍及三倍以上的高频时钟、或与数据率同频的多相位时钟;
略快时钟,所述略快时钟的频率高于采样时钟的频率,且高于协议规定的数据率最大值;
过采样电路,用于使用所述采样时钟对串行输入数据进行采样,得到采样数据;
边沿检测和采样点判决电路,用于基于所述采样时钟从所述采样数据中找出粗恢复数据;以及,在当前的所述粗恢复数据是上一个所述粗恢复数据的重复时,为当前的所述粗恢复数据添加重复标记位;在上一个所述粗恢复数据丢失时,为当前的所述粗恢复数据添加丢失标记位;
近空FIFO,用于基于所述采样时钟将无重复标记位的所述粗恢复数据写入;基于所述略快时钟依次读取写入的所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据。
可选地,所述过采样电路还用于,将所述采样数据以并行多比特数据的形式传给所述边沿检测和采样点判决电路。
可选地,所述边沿检测和采样点判决电路包括边沿检测子模块、采样点选择子模块和错误检测子模块,其中:
所述边沿检测子模块用于,基于所述采样时钟搜索当前周期的所述采样数据和上一周期的所述采样数据的最后一个比特位,找出出现跳变的两个比特位,将生成的检测结果传给所述采样点选择子模块和错误检测子模块;
所述采样点选择子模块用于,在当前周期的所述采样数据前半段出现跳变时选择往后推迟半周期的采样点、或在当前周期的所述采样数据后半段出现跳变时选择往前选择半周期的采样点,基于所述采样点确定粗恢复数据;
所述错误检测子模块用于,在上一周期的所述粗恢复数据的采样点是往后推迟、当前周期的所述粗恢复数据的采样点是向前选择时,为当前周期的所述粗恢复数据添加重复标记位;在上一周期的所述粗恢复数据的采样点是向前选择、当前周期的所述粗恢复数据的采样点是往后推迟时,为当前周期的所述粗恢复数据添加丢失标记位。
可选地,所述近空FIFO包括写逻辑、异步FIFO和读逻辑,其中:
所述写逻辑用于基于所述采样时钟读取所述粗恢复数据,将无重复标记位的所述粗恢复数据写入异步FIFO;
所述异步FIFO用于在自身的每一级存储一个所述粗恢复数据、或一个所述粗恢复数据及所述丢失标记位;
所述读逻辑用于,在所述异步FIFO为非空时,基于所述略快时钟从所述异步FIFO中依次读取所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据;在所述异步FIFO为空时,停止读操作,将向后输出的使能信号置0或根据使能信号产生门控时钟。
可选地,还包括补充单元,用于:
根据整体恢复数据的所述丢失标记位从所述采样数据提取丢失数据,将所述丢失数据插入所述整体恢复数据。
为了解决上述技术问题,本发明还提供了一种串行数据传输方法,包括:
步骤1、利用过采样电路使用采样时钟对串行输入数据进行采样,得到采样数据;
步骤2、利用边沿检测和采样点判决电路基于所述采样时钟从所述采样数据中找出粗恢复数据;以及,在当前的所述粗恢复数据是上一个所述粗恢复数据的重复时,为当前的所述粗恢复数据添加重复标记位;在上一个所述粗恢复数据丢失时,为当前的所述粗恢复数据添加丢失标记位;
步骤3、基于所述采样时钟将无重复标记位的所述粗恢复数据写入近空FIFO;
步骤4、基于略快时钟从所述近空FIFO中依次读取所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据;
其中,所述采样时钟是频率为数据率三倍及三倍以上的高频时钟或与数据率同频的多相位时钟;所述略快时钟的频率高于采样时钟的频率,且高于协议规定的数据率最大值。
可选地,步骤1还包括:
将所述采样数据以并行多比特数据的形式传给边沿检测和采样点判决电路。
可选地,所述边沿检测和采样点判决电路包括边沿检测子模块、采样点选择子模块和错误检测子模块,以及
步骤2具体包括:
利用所述边沿检测子模块对当前周期的所述采样数据和上一周期的所述采样数据的最后一个比特位基于所述采样时钟进行搜索,找出出现跳变的两个比特位以生成的检测结果;
将所述检测结果传给所述采样点选择子模块和所述错误检测子模块;
利用所述采样点选择子模块基于所述检测结果和所述采样时钟选择采样点,并基于所述采样点确定粗恢复数据;其中,在当前周期的所述采样数据前半段出现跳变时,选择往后推迟半周期的采样点;或,在当前周期的所述采样数据后半段出现跳变时,选择往前选择半周期的采样点;
利用所述错误检测子模块基于所述检测结果和所述采样时钟为所述粗恢复数据添加重复标记位或丢失标记位;其中,在上一周期的所述粗恢复数据的采样点是往后推迟、当前周期的所述粗恢复数据的采样点是向前选择时,为当前周期的所述粗恢复数据添加重复标记位;在上一周期的所述粗恢复数据的采样点是向前选择、当前周期的所述粗恢复数据的采样点是往后推迟时,为当前周期的所述粗恢复数据添加丢失标记位。
可选地,所述近空FIFO包括写逻辑、异步FIFO和读逻辑,以及
步骤3具体包括:
利用所述写逻辑基于所述采样时钟读取所述粗恢复数据,并将无重复标记位的所述粗恢复数据写入异步FIFO;其中,所述异步FIFO的每一级存储一个所述粗恢复数据、或一个所述粗恢复数据及所述丢失标记位;
步骤4具体包括:
在所述异步FIFO为非空时,利用所述读逻辑基于所述略快时钟从所述异步FIFO中依次读取所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据;
在所述异步FIFO为空时,停止读操作,并将向后输出的使能信号置0或根据使能信号产生门控时钟。
可选地,步骤4之后还包括:
根据整体恢复数据的所述丢失标记位从所述采样数据提取丢失数据,并将所述丢失数据插入所述整体恢复数据。
实施本发明的一种时钟数据恢复电路和串行数据传输方法,具有以下有益效果:通过使用异步FIFO和略快读时钟,避免了处理超长甚至是无限长数据时的FIFO溢出问题。本发明通过在写逻辑处抛弃重复数据的方式,节省了硬件存储单元的位宽。
附图说明
图1是本发明实施例的一种时钟数据恢复电路的示意图;
图2是本发明实施例的一种串行数据传输方法的示意图;
图3是一种可参考的边沿检测和采样点判决电路的逻辑框图;
图4是一种可参考的采样点选择规则示意图一;
图5是一种可参考的采样点选择规则示意图二;
图6是一种可参考的错误检测例图一;
图7是一种可参考的错误检测例图二;
图8是一种可参考的近空FIFO的逻辑框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是,提出一种既能够接收超长甚至是无限长度的数据,又不需要要超大FIFO的时钟数据恢复电路。
如图1所示,本发明实施例提供了一种时钟数据恢复电路,包括采样时钟、略快时钟、过采样电路、边沿检测和采样点判决电路和近空FIFO。
在该时钟数据恢复电路中,采样时钟是频率为数据率三倍及三倍以上的高频时钟或与数据率同频的多相位时钟。略快时钟的频率高于采样时钟的频率,且高于协议规定的数据率最大值。其中,数据率是指数据传输速率。
串行信号即串行输入数据,过采样电路能够使用采样时钟对串行输入数据进行采样,得到采样数据,即过采样电路一般以数据率三倍及三倍以上的频率对输入的串行信号做采样,其结果(即采样数据)可以选择并行多比特数据的形式传给边沿检测和采样点判决电路,例如以三到六位并行输出到边沿检测和采样点判决电路。
边沿检测和采样点判决电路能够基于采样时钟从采样数据中找出粗恢复数据。对于找出的粗恢复数据,如果当前的粗恢复数据是上一个粗恢复数据的重复,则为当前的粗恢复数据添加重复标记位;如果上一个粗恢复数据丢失,则为当前的粗恢复数据添加丢失标记位。需要说明的是,上一个粗恢复数据是指当前的粗恢复数据之前的一个数据。
近空FIFO能够基于采样时钟将无重复标记位的粗恢复数据写入;基于略快时钟依次读取写入的粗恢复数据,将无丢失标记位的粗恢复数据作为当前拍恢复数据,将有丢失标记位的粗恢复数据作为下一拍恢复数据。
在该时钟数据恢复电路中,近空FIFO的写操作是由采样时钟驱动,近空FIFO的读操作是由一个略快时钟驱动,也即近空FIFO输出数据的速度比定入数据的速度更快,这样避免了处理超长甚至是无限长数据时的FIFO溢出问题,同时近空FIFO会一直处于接近于空的状态,可以减小FIFO的长度,节省硬件资源,还缩短了数据恢复的延迟。
作为一种优选的实施方式,所述边沿检测和采样点判决电路可以包括边沿检测子模块、采样点选择子模块和错误检测子模块。
对于过采样电路传过来的采样数据,边沿检测子模块能够基于采样时钟搜索当前周期的采样数据和上一周期的采样数据的最后一个比特位,找出出现跳变的两个比特位,将生成的检测结果传给采样点选择子模块和错误检测子模块。其中,曼彻斯特编码从高电平到低电平是0,从低电平到高电平是1,这种高电平与低电平之间的变化就是跳变。检测结果中包括哪两个比特之间出现了0到1或1到0的跳变,以此为基准找出需要提取数据的位置。
对于过采样电路传过来的采样数据,采样点选择子模块能够找出采样点并确定粗恢复数据。具体地,如果当前周期的采样数据前半段出现跳变,则选择往后推迟半周期的采样点;如果当前周期的采样数据后半段出现跳变,则选择往前选择半周期的采样点;基于采样点确定粗恢复数据。
由于发送端和接收端会有频率偏差和抖动,其恢复出的数据会有重复和丢失的比特,因此通过错误检测子模块对粗恢复数据进行检查。具体地,错误检测子模块对采样点进行判断,如果上一周期的粗恢复数据的采样点是往后推迟、当前周期的粗恢复数据的采样点是向前选择,则表示上一周期的粗恢复数据与当前周期的粗恢复数据相同,错误检测子模块为当前周期的粗恢复数据添加重复标记位;如果上一周期的粗恢复数据的采样点是向前选择、当前周期的粗恢复数据的采样点是往后推迟,则表示上一周期的粗恢复数据丢失了,错误检测子模块为当前周期的粗恢复数据添加丢失标记位。
作为一种优选的实施方式,近空FIFO可以包括写逻辑、异步FIFO和读逻辑。
写逻辑能够基于采样时钟读取粗恢复数据,对于无重复标记位的粗恢复数据,通过写逻辑将其写入异步FIFO。
异步FIFO在自身的每一级存储一个粗恢复数据、或一个粗恢复数据及丢失标记位。异步FIFO的每一级最多可以存两个数,一个是数据本身(即粗恢复数据),另一个是丢失标记位。另外,由于本地采样频率和远端发送频率有一定偏差,且数据传输中会带有一定抖动,异步FIFO能够平衡带宽偏差和抵消抖动的后果。
读逻辑用于输出恢复出的恢复数据。在异步FIFO为非空时,基于略快时钟从异步FIFO中依次读取粗恢复数据,将其中的无丢失标记位的粗恢复数据作为当前拍恢复数据,将其中的有丢失标记位的粗恢复数据作为下一拍恢复数据。其中,有丢失标记位的粗恢复数据表示其前一拍有数据丢失,需要在整体恢复数据留出一拍,因此有丢失标记位的粗恢复数据要作为下一拍恢复数据。在异步FIFO为空时,停止读操作,将向后输出的使能信号置0或根据使能信号产生门控时钟。异步FIFO为空时无数据输出,此时,可以通过将使能信号置0或根据使能信号产生门控时钟,通知下一级。
由于存在丢失的数据,整体恢复数据存在缺失,因此,在该时钟数据恢复电路中,还可以进一步设置补充单元。该补充单元能够根据整体恢复数据的丢失标记位从采样数据提取丢失数据,将丢失数据插入整体恢复数据。其中,整体恢复数据是指读逻辑输出的所有当前拍恢复数据和下一拍恢复数据的整体,也即需要恢复出的数据。
如图2所示,本发明实施例还提供了一种时钟数据恢复电路,主要包括以下步骤:
步骤1、利用过采样电路使用采样时钟对串行输入数据进行采样,得到采样数据。
采样时钟可以是频率为数据率三倍及三倍以上的高频时钟,或者是与数据率同频的多相位时钟。过采样电路能够以数据率三倍及三倍以上的频率对输入的数据做采样。
本步骤得到的采样数据,可以选择并行多比特数据的形式传给边沿检测和采样点判决电路。在本发明实施例中,步骤1还可以包括:将采样数据以并行多比特数据的形式传给边沿检测和采样点判决电路。
步骤2、利用边沿检测和采样点判决电路基于采样时钟从采样数据中找出粗恢复数据;以及,在当前的粗恢复数据是上一个粗恢复数据的重复时,为当前的粗恢复数据添加重复标记位;在上一个粗恢复数据丢失时,为当前的粗恢复数据添加丢失标记位。
粗恢复数据是指期望恢复出的一比特数据。
在本发明实施例中,步骤2可以采用以下方式实现:利用边沿检测子模块对当前周期的采样数据和上一周期的采样数据的最后一个比特位基于采样时钟进行搜索,找出出现跳变的两个比特位以生成的检测结果;将检测结果传给采样点选择子模块和错误检测子模块;利用采样点选择子模块基于检测结果和采样时钟选择采样点,并基于采样点确定粗恢复数据;利用错误检测子模块基于检测结果和采样时钟为粗恢复数据添加重复标记位或丢失标记位。
在选择采样点时,在当前周期的采样数据前半段出现跳变时,选择往后推迟半周期的采样点;或,在当前周期的采样数据后半段出现跳变时,选择往前选择半周期的采样点。
在错误检测子模块进行检测时,在上一周期的粗恢复数据的采样点是往后推迟、当前周期的粗恢复数据的采样点是向前选择时,为当前周期的粗恢复数据添加重复标记位;在上一周期的粗恢复数据的采样点是向前选择、当前周期的粗恢复数据的采样点是往后推迟时,为当前周期的粗恢复数据添加丢失标记位。
步骤3、基于采样时钟将无重复标记位的粗恢复数据写入近空FIFO。
重复标记位表示当前的粗恢复数据是上一个粗恢复数据的重复,不需要写入近空FIFO以节省存储单元。
在本发明实施例中,步骤3可以采用以下方式实现:利用写逻辑基于采样时钟读取粗恢复数据,并将无重复标记位的粗恢复数据写入异步FIFO。
异步FIFO的每一级存储一个粗恢复数据、或一个粗恢复数据及丢失标记位。其中,该异步FIFO的每一级最多可以存两个数:一个是粗恢复数据本身,另一个是丢失标记位。
步骤4、基于略快时钟从近空FIFO中依次读取粗恢复数据,将无丢失标记位的粗恢复数据作为当前拍恢复数据,将有丢失标记位的粗恢复数据作为下一拍恢复数据。
略快时钟的频率高于采样时钟的频率,产且高于协议规定的数据率最大值。
在本发明实施例中,步骤4可以采用以下方式实现:在异步FIFO为非空时,利用读逻辑基于略快时钟从异步FIFO中依次读取粗恢复数据,将无丢失标记位的粗恢复数据作为当前拍恢复数据,将有丢失标记位的粗恢复数据作为下一拍恢复数据;在异步FIFO为空时,停止读操作,并将向后输出的使能信号置0或根据使能信号产生门控时钟。
需要注意的是,使能信号可以和当前拍恢复数据或下一拍恢复数据一起并行传给后级,也可以用于产生门控时钟。
在本发明实施例中,步骤4之后还可以实施以下步骤:根据整体恢复数据的丢失标记位从采样数据提取丢失数据,并将丢失数据插入整体恢复数据。
在应用本发明时,本发明实施例的时钟数据恢复电路可以包含两个时钟域(采样时钟和略快时钟)和三个大模块(过采样电路、边沿检测和采样点判决电路、近空FIFO),其中:
串行输入数据首先经过过采样电路采样。采样时钟可以是数据率的三倍及三倍以上的高频时钟,也可以是数据率的同频多相位时钟。采样出来的结果(即采样数据)以并行多比特数据的形式传给边沿检测和采样点判决电路。
边沿检测和采样点判决电路接收前级传过来的并行多比特数据,找出期望恢复出的一比特数据(即粗恢复数据)。因为发送端和接收端会有频率偏差和抖动,其恢复出的数据会有重复和丢失的比特。如果当前比特数据是上个比特数据的重复,则当前比特数据不会被写入近空FIFO;如果发现当前比特数据之前丢失了一个比特数据,则当前比特数据和丢失标记位同时被写入近空FIFO。
近空FIFO有一个写口(即写逻辑)、一个读口(即读逻辑)和一个异步FIFO。写口由采样时钟驱动,读口由略快时钟驱动。略快时钟的意思是它的频率比采样时钟快,且高于协议规定的数据率最大值。因为近空FIFO的读频率比写频率快,所以异步FIFO会一直处于接近于空的状态。该异步FIFO的每一级最多存两个数:一个是数据本身,另一个是丢失标记位。
近空FIFO的读逻辑有两个任务:一是根据丢失标记位选择是否暂停读操作并插入丢失的数据;二是根据FIFO是否为空产生使能信号给后一级。
从近空FIFO输出的恢复数据和使能信号就是恢复出的数据和时钟。其中,使能信号可以和数据一起并行传给后级,也可以用于产生门控时钟。
通过以上示例,本发明实施例中使用近空FIFO来处理超长甚至无限长数据,使得用全数字时钟数据恢复电路可以应用于USB3.0、PCI-E、HDMI和DisplayPort等标准。同时,本发明实施例中的近空FIFO不存储带有重复标记位的数据,且长时间保持在接近于空的状态,可以缩短存储长度,节省硬件资源并缩短了数据恢复的延迟。进一步地,即使在处理有限长度数据包如USB2.0时,本发明实施例的技术方案更加节省资源,对USB2.0数据包,现有方案至少需要3比特乘25级深度的FIFO,而本发明实施例中留够充足裕量也仅需要2比特乘8级深度的FIFO。
图3是边沿检测和采样点判决电路的结构示意图。对于过采样电路来的并行数据(即采样数据),边沿检测和采样点判决电路通过多路选择的方式确定恢复出的粗略数据(即粗恢复数据),边沿检测子模块会搜索当前周期的并行数据和上一周期的最后一个比特数据,来找到哪两个比特之间出现了0到1或1到0的跳变。其检测结果传给采样点选择子模块和错误检测子模块。
接下来参见图4和5,以每周期5相位时钟为例来说明采样点选择规则,其原则是:如在本周期的前半段出现跳变,则选择往后推迟半周期的采样点;如在本周期的后半段出现跳变,则选择往前半周期的采样点;如在本周期没有出现跳变,则维持上个周期选择的采样点。需要注意的是,由于时钟频率偏差和抖动,实际可能会在上述三种情况中跳动。
在图4中,Multi-phase Clocks(多相位时钟)这一行的右边五条线中P[0]、P[1]、P[2]、P[3]和P[4]表示当前周期5个相位的时钟进行采样的时间点,P’[0]代表上一周期的最后一个采样时间点;Sampled Data(采样数据)这一行的D’[0]、D[0]、D[1]、D[2]、D[3]和D[4]表示与P’[0]、P[0]、P[1]、P[2]、P[3]和P[4]对应的采样数据;Sampling Window(采样窗口)对应的是一次采样的数据,SW1则表示采样窗口1,SW2则表示采样窗口2,SW3则表示采样窗口3,SW4则表示采样窗口4;Input transition interval(输入跳变间隔)这一行分别是Case1(情况1)、Case2(情况2)、Case3(情况3)、Case4(情况4)和Case5(情况5)对应的通过跳变的点表示的时间间隔;Selected Sampling clock(选定的采样时钟)和SelectedSampled data(选定的采样数据)两行分别是Case1、Case2、Case3、Case4和Case5对应的采样时间点和采样数据。
在图5中,Serial Input data(串行输入数据)在SW1、SW2、SW3和SW4,发生跳变的时间间隔分别是P[0]-P[4]、P[0]-P[4]、无跳变和P[4]-P[3],均在本周期的前半段或无跳变,则都选择向后半周期的采样点,分别是P[2]、P[2]、P[2]和P[1],对应的采样数据分别是D[2]、D[2]、D[2]和D[1]。注意SW3无跳变,所以维持SW2选择的采样点和采样数据,即P[2]和D[2]。
需要注意的是,在图4和5的示例中,一个周期包括P[0]、P[1]、P[2]、P[3]和P[4],无法准确算出半周期,此种情况则约算,即往前约半周期或向后约半周期。
错误检测子模块能够根据上一周期的情况和本周期的情况,产生重复标记位或丢失标记位。当上一周期是往后推迟而本周期是向前选择时,判定为出现了重复比特,例如图6,Serial Input data(串行输入数据)的Data(粗恢复数据)2为重复。当上一周期是向前选择而本周期是往后推迟时,判定为出现了丢失比特,例如图7,Serial Input data(串行输入数据)的Data(粗恢复数据)2为丢失。注意判断Data2丢失的先决条件是Data2和Data3之间出现了跳变,这为通过Data3和丢失标记位恢复Data2创造了条件。此外,图6和7中的其它说明可以参考图4和5,此处不再赘述。
图8是近空FIFO的结构图。本发明实施例中的存储单元是异步FIFO,且让异步FIFO的读时钟略快于采样时钟。这样该异步FIFO会经常处于读空的状态。写逻辑看到带有重复标记位的粗恢复数据时,并不把当前数据写入异步FIFO,此情况下写使能置0,因为该数据是上一个数据的重复,在写逻辑处将其丢弃以节省存储单元;写逻辑看到带有丢失标记位的粗恢复数据时,将丢失标记位与粗恢复数据一同写入异步FIFO。读逻辑看到空标记(即异步FIFO为空)时,读使能置0停止读操作,且把向后输出的使能信号置0;看到带有丢失标记位的粗恢复数据时,把粗恢复数据反相插入当前拍,并停止下一拍的读操作,把粗恢复数据延迟作为下一拍的恢复数据。
综上所述,本发明实施例提供的一种时钟数据恢复电路和串行数据传输方法,至少具有以下有益效果:
通过使用异步FIFO和略快读时钟,避免了处理超长甚至是无限长数据时的FIFO溢出问题。本发明通过在写逻辑处抛弃重复数据的方式,节省了硬件存储单元的位宽。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种时钟数据恢复电路,其特征在于,包括:
采样时钟,所述采样时钟是频率为数据率三倍及三倍以上的高频时钟、或与数据率同频的多相位时钟;
略快时钟,所述略快时钟的频率高于采样时钟的频率,且高于协议规定的数据率最大值;
过采样电路,用于使用所述采样时钟对串行输入数据进行采样,得到采样数据;
边沿检测和采样点判决电路,用于基于所述采样时钟从所述采样数据中找出粗恢复数据;以及,在当前的所述粗恢复数据是上一个所述粗恢复数据的重复时,为当前的所述粗恢复数据添加重复标记位;在上一个所述粗恢复数据丢失时,为当前的所述粗恢复数据添加丢失标记位;
近空FIFO,用于基于所述采样时钟将无重复标记位的所述粗恢复数据写入;基于所述略快时钟依次读取写入的所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据。
2.根据权利要求1所述的时钟数据恢复电路,其特征在于,所述过采样电路还用于,将所述采样数据以并行多比特数据的形式传给所述边沿检测和采样点判决电路。
3.根据权利要求1所述的时钟数据恢复电路,其特征在于,所述边沿检测和采样点判决电路包括边沿检测子模块、采样点选择子模块和错误检测子模块,其中:
所述边沿检测子模块用于,基于所述采样时钟搜索当前周期的所述采样数据和上一周期的所述采样数据的最后一个比特位,找出出现跳变的两个比特位,将生成的检测结果传给所述采样点选择子模块和错误检测子模块;
所述采样点选择子模块用于,在当前周期的所述采样数据前半段出现跳变时选择往后推迟半周期的采样点、或在当前周期的所述采样数据后半段出现跳变时选择往前选择半周期的采样点,基于所述采样点确定粗恢复数据;
所述错误检测子模块用于,在上一周期的所述粗恢复数据的采样点是往后推迟、当前周期的所述粗恢复数据的采样点是向前选择时,为当前周期的所述粗恢复数据添加重复标记位;在上一周期的所述粗恢复数据的采样点是向前选择、当前周期的所述粗恢复数据的采样点是往后推迟时,为当前周期的所述粗恢复数据添加丢失标记位。
4.根据权利要求1所述的时钟数据恢复电路,其特征在于,所述近空FIFO包括写逻辑、异步FIFO和读逻辑,其中:
所述写逻辑用于基于所述采样时钟读取所述粗恢复数据,将无重复标记位的所述粗恢复数据写入异步FIFO;
所述异步FIFO用于在自身的每一级存储一个所述粗恢复数据、或一个所述粗恢复数据及所述丢失标记位;
所述读逻辑用于,在所述异步FIFO为非空时,基于所述略快时钟从所述异步FIFO中依次读取所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据;在所述异步FIFO为空时,停止读操作,将向后输出的使能信号置0或根据使能信号产生门控时钟。
5.根据权利要求1所述的时钟数据恢复电路,其特征在于,还包括补充单元,用于:
根据整体恢复数据的所述丢失标记位从所述采样数据提取丢失数据,将所述丢失数据插入所述整体恢复数据。
6.一种串行数据传输方法,其特征在于,包括:
步骤1、利用过采样电路使用采样时钟对串行输入数据进行采样,得到采样数据;
步骤2、利用边沿检测和采样点判决电路基于所述采样时钟从所述采样数据中找出粗恢复数据;以及,在当前的所述粗恢复数据是上一个所述粗恢复数据的重复时,为当前的所述粗恢复数据添加重复标记位;在上一个所述粗恢复数据丢失时,为当前的所述粗恢复数据添加丢失标记位;
步骤3、基于所述采样时钟将无重复标记位的所述粗恢复数据写入近空FIFO;
步骤4、基于略快时钟从所述近空FIFO中依次读取所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据;
其中,所述采样时钟是频率为数据率三倍及三倍以上的高频时钟或与数据率同频的多相位时钟;所述略快时钟的频率高于采样时钟的频率,且高于协议规定的数据率最大值。
7.根据权利要求6所述的方法,其特征在于,步骤1还包括:
将所述采样数据以并行多比特数据的形式传给边沿检测和采样点判决电路。
8.根据权利要求6所述的方法,其特征在于,所述边沿检测和采样点判决电路包括边沿检测子模块、采样点选择子模块和错误检测子模块,以及
步骤2具体包括:
利用所述边沿检测子模块对当前周期的所述采样数据和上一周期的所述采样数据的最后一个比特位基于所述采样时钟进行搜索,找出出现跳变的两个比特位以生成的检测结果;
将所述检测结果传给所述采样点选择子模块和所述错误检测子模块;
利用所述采样点选择子模块基于所述检测结果和所述采样时钟选择采样点,并基于所述采样点确定粗恢复数据;其中,在当前周期的所述采样数据前半段出现跳变时,选择往后推迟半周期的采样点;或,在当前周期的所述采样数据后半段出现跳变时,选择往前选择半周期的采样点;
利用所述错误检测子模块基于所述检测结果和所述采样时钟为所述粗恢复数据添加重复标记位或丢失标记位;其中,在上一周期的所述粗恢复数据的采样点是往后推迟、当前周期的所述粗恢复数据的采样点是向前选择时,为当前周期的所述粗恢复数据添加重复标记位;在上一周期的所述粗恢复数据的采样点是向前选择、当前周期的所述粗恢复数据的采样点是往后推迟时,为当前周期的所述粗恢复数据添加丢失标记位。
9.根据权利要求6所述的方法,其特征在于,所述近空FIFO包括写逻辑、异步FIFO和读逻辑,以及
步骤3具体包括:
利用所述写逻辑基于所述采样时钟读取所述粗恢复数据,并将无重复标记位的所述粗恢复数据写入异步FIFO;其中,所述异步FIFO的每一级存储一个所述粗恢复数据、或一个所述粗恢复数据及所述丢失标记位;
步骤4具体包括:
在所述异步FIFO为非空时,利用所述读逻辑基于所述略快时钟从所述异步FIFO中依次读取所述粗恢复数据,将无丢失标记位的所述粗恢复数据作为当前拍恢复数据,将有丢失标记位的所述粗恢复数据作为下一拍恢复数据;
在所述异步FIFO为空时,停止读操作,并将向后输出的使能信号置0或根据使能信号产生门控时钟。
10.根据权利要求6所述的方法,其特征在于,步骤4之后还包括:
根据整体恢复数据的所述丢失标记位从所述采样数据提取丢失数据,并将所述丢失数据插入所述整体恢复数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165248.3A CN112994684B (zh) | 2021-02-06 | 2021-02-06 | 一种时钟数据恢复电路和串行数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165248.3A CN112994684B (zh) | 2021-02-06 | 2021-02-06 | 一种时钟数据恢复电路和串行数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112994684A true CN112994684A (zh) | 2021-06-18 |
CN112994684B CN112994684B (zh) | 2023-10-27 |
Family
ID=76348583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110165248.3A Active CN112994684B (zh) | 2021-02-06 | 2021-02-06 | 一种时钟数据恢复电路和串行数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112994684B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061534A (zh) * | 2022-05-09 | 2022-09-16 | 厉雷刚 | 无时钟异步电路、数据同步输出的方法、设备及介质 |
CN113886315B (zh) * | 2021-09-23 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种时钟数据恢复系统、芯片及时钟数据恢复方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050220240A1 (en) * | 2004-04-06 | 2005-10-06 | Paul Lesso | Clock synchroniser and clock and data recovery apparatus and method |
CN102510328A (zh) * | 2011-12-29 | 2012-06-20 | 成都三零嘉微电子有限公司 | 一种高速并行接口电路 |
CN103475362A (zh) * | 2013-09-29 | 2013-12-25 | 灿芯半导体(上海)有限公司 | 基于过采样的无需时钟恢复的数据恢复电路 |
CN203691378U (zh) * | 2013-09-29 | 2014-07-02 | 灿芯半导体(上海)有限公司 | 基于过采样的无需时钟恢复的数据恢复电路 |
CN107329915A (zh) * | 2017-05-31 | 2017-11-07 | 烽火通信科技股份有限公司 | 通过高速SerDes接口恢复低速数据的方法及系统 |
CN108063616A (zh) * | 2018-01-24 | 2018-05-22 | 上海先基半导体科技有限公司 | 一种基于过采样的非同源时钟数据恢复系统 |
CN110768662A (zh) * | 2018-07-22 | 2020-02-07 | 硅谷介入有限公司 | 异步数据恢复 |
CN110954925A (zh) * | 2019-12-16 | 2020-04-03 | 深圳市儒科电子有限公司 | 一种北斗抗欺骗式干扰的方法及gnss授时型接收装置 |
-
2021
- 2021-02-06 CN CN202110165248.3A patent/CN112994684B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050220240A1 (en) * | 2004-04-06 | 2005-10-06 | Paul Lesso | Clock synchroniser and clock and data recovery apparatus and method |
CN102510328A (zh) * | 2011-12-29 | 2012-06-20 | 成都三零嘉微电子有限公司 | 一种高速并行接口电路 |
CN103475362A (zh) * | 2013-09-29 | 2013-12-25 | 灿芯半导体(上海)有限公司 | 基于过采样的无需时钟恢复的数据恢复电路 |
CN203691378U (zh) * | 2013-09-29 | 2014-07-02 | 灿芯半导体(上海)有限公司 | 基于过采样的无需时钟恢复的数据恢复电路 |
CN107329915A (zh) * | 2017-05-31 | 2017-11-07 | 烽火通信科技股份有限公司 | 通过高速SerDes接口恢复低速数据的方法及系统 |
CN108063616A (zh) * | 2018-01-24 | 2018-05-22 | 上海先基半导体科技有限公司 | 一种基于过采样的非同源时钟数据恢复系统 |
CN110768662A (zh) * | 2018-07-22 | 2020-02-07 | 硅谷介入有限公司 | 异步数据恢复 |
CN110954925A (zh) * | 2019-12-16 | 2020-04-03 | 深圳市儒科电子有限公司 | 一种北斗抗欺骗式干扰的方法及gnss授时型接收装置 |
Non-Patent Citations (2)
Title |
---|
YANG LEI;LIN HU;ZHENG LIAOMO;YUE DONGFENG;GAO TIANRONG;WANG FENG;: "Real-time Synchronization Method Based on Dual Ring Fieldbus in CNC System", CHINESE JOURNAL OF MECHANICAL ENGINEERING, no. 01, pages 264 - 269 * |
钟山;付家伟;王晓茹;: "高性能同步相量测量装置守时钟研制", 电力系统自动化, no. 01, pages 211 - 217 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886315B (zh) * | 2021-09-23 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种时钟数据恢复系统、芯片及时钟数据恢复方法 |
CN115061534A (zh) * | 2022-05-09 | 2022-09-16 | 厉雷刚 | 无时钟异步电路、数据同步输出的方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112994684B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112994684B (zh) | 一种时钟数据恢复电路和串行数据传输方法 | |
US5412698A (en) | Adaptive data separator | |
US8233567B2 (en) | Method and apparatus for data recovery | |
KR101165661B1 (ko) | 디지털 송신 링크에서의 데이터 수신 방법 및 장치 | |
US7801257B2 (en) | Adaptive reception techniques for over-sampled receivers | |
US8838822B2 (en) | Media converter and a system for mutually converting a packet-based data stream into a serial data stream | |
CN109450610B (zh) | 一种通道相位对齐电路及方法 | |
CN101194419A (zh) | 用于时钟恢复的模式相关相位检测器 | |
US20020027964A1 (en) | Data recovery apparatus and method for minimizing errors due to clock skew | |
US7986252B1 (en) | System and method for removing glitches from a bit stream | |
US6549595B1 (en) | High-speed serial data communication system | |
US6907096B1 (en) | Data recovery method and apparatus | |
CN1194429A (zh) | 数据解码装置 | |
US8483320B2 (en) | Data recovery apparatus and method by using over-sampling | |
US6868134B2 (en) | Method and apparatus for recovering a clock signal from an asynchronous data signal | |
US8000429B2 (en) | Jitter correction method and circuit | |
CN1602008A (zh) | 简化的从高速编码数据的数据恢复 | |
EP1919121B1 (en) | Determining oversampled data to be included in unit intervals | |
CN113037667B (zh) | 一种基于fpga的数据信号恢复方法 | |
EP0356487A1 (en) | Data bit detector for fiber optic system | |
US7321647B2 (en) | Clock extracting circuit and clock extracting method | |
US20090257537A1 (en) | Data recovery circuit of semiconductor memory apparatus that minimizes jitter during data transmission | |
TW567668B (en) | Data recovery system and method thereof | |
JP3157029B2 (ja) | データ受信装置 | |
JP3378831B2 (ja) | ビット同期回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |