CN101369883B - 数据恢复电路和方法 - Google Patents
数据恢复电路和方法 Download PDFInfo
- Publication number
- CN101369883B CN101369883B CN2007100450304A CN200710045030A CN101369883B CN 101369883 B CN101369883 B CN 101369883B CN 2007100450304 A CN2007100450304 A CN 2007100450304A CN 200710045030 A CN200710045030 A CN 200710045030A CN 101369883 B CN101369883 B CN 101369883B
- Authority
- CN
- China
- Prior art keywords
- data
- group
- biased
- sampling
- parallel
- 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.)
- Active
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种数据恢复电路,包括过采样电路,用于对输入的串行数据进行n倍的过采样,并输出n组并行数据;数据选择电路,用于获取所述过采样电路输出的n组并行数据,分别将各组并行数据与预设的补偿数据进行比较,补偿各组并行数据的位偏移和获得各组数据的匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据。本发明还公开了一种数据恢复方法,应用所述数据恢复电路和方法可以缩短数据恢复的处理时间,并能够恢复准确且稳定的数据。
Description
技术领域
本发明涉及数据传输技术,特别是涉及串行数据转换并行数据的数据恢复电路和方法。
背景技术
数字视频接口(DVI,Digital Visual Interface)或高分辨率多媒体接口(HDMI,High-Definition Multimedia Interface)已广泛应用于数字视频信号的传送。图9是用DVI电缆90连接视频卡91与显示控制器92的示意图,视频卡91由视频控制器911、编码器912和DVI连接器913构成,显示控制器92由DVI连接器921、解码器922以及板接口923构成。在视频卡91与显示控制器92之间的传送的映像信号包括RGB3路串行数据信号和1路系统时钟信号。
通过DVI传送的系统时钟信号相对于串行数据信号会发生时钟偏移(skew)的问题,这主要是由于传送系统时钟信号的导线与传送串行数据信号的导线在材质、长度、密度等方面的不同而引起的。时钟偏移的问题会使显示控制器92的DVI连接器913在接收串行数据时不能采样到正确的数据。
为了解决时钟偏移的问题,日本特许3112688号公报中公开了一种数据恢复技术,即对3倍过采样的串行数据经过多数裁决判定进行同步和数据的判定,应用该技术的数据恢复装置具有复杂的电路结构,并且无法解决时钟自身跳动的问题。
因此,针对上述的技术问题,专利号为7190739的美国专利又提出了一种串行数据的恢复电路及恢复方法,如图10所示,将接收的串行数据D进行3倍过采样操作,将被过采样的数据分成3个边组,即边a(a0~a9)、边b(b0~b9)、边c(c0~c9),检测出各个边组的数据相对于DVI协议所约定的在特定时间内传送的特定数据的移位数,对多个系统时钟的各个边组的移位数进行统计处理,选择移位数变化最小的边组进行数据采样。
但是,上述方法在选择采样组时采用的是正确数累计方法,但采样到的多组数据有可能两组(或以上)同时都正确,则无法进行区分。而且需要经过足够多的系统时钟才能得到处理结果,也就是说数据恢复的处理时间较长。特别是在HDMI应用中,在传送图像的同时需要传送语音及其他数据,协议规定的处理时间从DVI的128个系统时间缩短为12个系统时间;则上述方法将无法选择最佳组,所选择的采样组进行数据采样的边可能靠近数据的边缘,例如图10所示的边a和边c,此时数据的处于不稳定状态(即发生跳动),那么采样到的数据就可能会不稳定或是不准确。
发明内容
本发明解决的问题是,提供一种数据恢复电路和方法,以缩短数据恢复的处理时间。
为解决上述问题,本发明提供一种数据恢复电路,包括:
过采样电路,用于对输入的串行数据进行n倍的过采样,并输出产生n组并行数据,其中,n是自然数;
数据选择电路,用于获取所述过采样电路输出的n组并行数据,分别将各组并行数据与预设的补偿数据进行比较,补偿各组并行数据的位偏移和获得匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据。
根据本发明较佳实施例,所述数据选择电路输出的与匹配信息对应的一组位偏移补偿后的并行数据是采样时钟相对于数据的偏移在一位内时,由对应于数据处于稳定状态的采样时钟采样得到的。
所述的数据选择电路包括:n个位偏移补偿电路,分别用于获取所述过采样电路输出的两个系统时钟的一组数据,并将获取的数据中的一部分连续的数据构成的数据列与预设的补偿数据进行比较,补偿该组并行数据的位偏移并输出位偏移值和比较结果;选择控制电路,用于确定与n个位偏移补偿电路输出的n组位偏移值和比较结果对应的匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据。
所述的位偏移补偿电路包括:寄存器,用于储存过采样电路产生的两个系统时钟的数据;比较器,用于将寄存器储存的第一个系统时钟的数据构成的数据列、相对于第一个系统时钟的数据具有位偏移的数据构成的数据列分别与预设的补偿数据进行比较,并输出位偏移值和比较结果;多路选择器,用于选择与位偏移值对应的数据列作为位偏移补偿后的并行数据输出。
所述选择控制电路包括:输入部分,用于输入所述n个位偏移补偿电路输出的n组位偏移补偿后的并行数据、位偏移值和比较结果,其中,n组位偏移值和比较结果用于确定对应的n组的匹配结果;输出部分,用于输出与n组的匹配结果组成的匹配信息对应的一组补偿后的并行数据。
所述过采样电路包括:n个串并转换电路,用于获取n组采样时钟对输入的串行数据进行采样所得的数据,并输出n组并行数据。
所述串并转换电路包括:m个寄存器,用于分别储存对串行数据进行采样所得的一位数据,其中m为一个系统时钟传送的串行数据的位数。
对应于上述的数据恢复电路,本发明还提供一种数据恢复方法,包括下述步骤:
对输入的串行数据进行n倍的过采样,并输出n组并行数据,其中,n是自然数;
获取过采样后输出的n组并行数据,分别将各组并行数据与预设的补偿数据进行比较,补偿各组并行数据的位偏移和获得匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据。
根据本发明的较佳实施例,所述与匹配信息对应的一组位偏移补偿后的并行数据是采样时钟相对于数据的偏移在一位内时,由对应于数据处于稳定状态的采样时钟采样得到的。
所述获取所述过采样后输出的n组并行数据是指获取并储存所述过采样后产生的两个系统时钟的n组数据。
所述将各组并行数据与预设的补偿数据进行比较是指将储存的各组数据中的第一个系统时钟的数据构成的数据列、相对于第一个系统时钟的数据具有位偏移的数据构成的数据列分别与预设的补偿数据进行比较并输出位偏移值和比较结果。
所述补偿各组并行数据的位偏移是指选择与位偏移值对应的数据列作为位偏移补偿后的并行数据输出。
所述获得匹配信息是指确定与所述n组位偏移值和比较结果对应的n组的匹配结果。
所述输出与所述匹配信息对应的一组位偏移补偿后的并行数据是指输出与n组的匹配结果组成的匹配信息对应的一组补偿后的并行数据。
所述输出位偏移值和比较结果包括:
若有数据列与预设的补偿数据相同,则输出比较结果为1,位偏移值为该数据列相对于第一个系统时钟的数据偏移的位数;
若没有数据列与预设的补偿数据相同,则输出比较结果为0,位偏移值维持不变。
所述确定与所述n组位偏移值和比较结果对应的匹配信息包括:
若其中一组的比较结果为0,则该组的匹配结果为0;
若第一组的比较结果为0,其余各组的比较结果均为1且位偏移值相同,则其余各组的匹配结果均为1;
若第一组的比较结果为1,则第一组的匹配结果为1;
若第一组的比较结果为1,则比较结果为1且位偏移值与第一组的位偏移值相同的组的匹配结果为1;
若第一组的比较结果为1,则比较结果为1且位偏移值与第一组的位偏移值相差1的组的匹配结果为-1;
若各组的比较结果和位偏移值不属于上述的情况,则各组的匹配结果维持不变;
所述的匹配信息包括n组的匹配结果。
与现有技术相比,上述技术方案主要采用预设的补偿数据对过采样的数据进行位偏移补偿并获得匹配信息,再直接选择与所述匹配信息对应的一组位偏移补偿后的数据输出,以此补偿传输过程中产生的数据-时钟偏移,因此,相较于现有技术中需要经过多个系统时钟才能确定选择的数据来说,上述技术方案缩短了数据恢复的处理时间。
另外,上述选择的与所述匹配信息对应的一组位偏移补偿后的数据是采样时钟相对于数据的偏移在一位内时,由对应于数据处于稳定状态的采样时钟采样得到的数据(如在数据的中间位置进行采样),因此最后恢复的数据是稳定且准确的。
附图说明
图1是本发明实施例的数据恢复电路的电路框图;
图2是图1中所示的过采样电路的电路框图;
图3是图2中所示的串并行转换电路的电路框图;
图4是图2所示的串行数据与采样时钟的时序图;
图5是图4所示的采样时钟发生偏移的示例图;
图6是图1中所示的数据选择电路的电路框图;
图7是图6中所示的位偏移补偿电路的电路框图;
图8是本发明实施例的数据恢复方法的流程图;
图9是用DVI电缆连接视频卡与显示控制器的示意图;
图10是现有的串行数据与采样时钟的时序图。
具体实施方式
本发明实施例先采用预设的补偿数据对过采样的数据进行位偏移补偿并获得匹配信息,再选择与所述匹配信息对应的一组位偏移补偿后的数据输出,其中与所述匹配信息对应的一组位偏移补偿后的数据是根据采样时钟相对于数据的偏移、因时钟偏移而采样得到的数据以及数据处于稳定状态归纳得到的。
下面结合附图和较佳实施例对具体实施方式做详细的说明。本实施例的数据恢复电路(Data Recovery Circuit),应用于DVI或HDMI的接收系统中,将输入的串行数据恢复成准确的并行数据传输,本实施例以DVI的数据恢复电路为例进行说明。如图1所示,所述的数据恢复电路包括过采样电路1和数据选择电路2。
过采样电路1,用于对输入的串行数据D进行n倍的过采样,并输出n组并行数据,其中,n是自然数。
数据选择电路2,用于获取过采样电路1输出的n组并行数据,分别将各组并行数据与预设的补偿数据进行比较,补偿各组并行数据的位偏移和获得匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据。
下面对过采样电路1和数据选择电路2进行详细说明。
过采样电路1接收串行数据信号和系统时钟信号,1个系统时钟对应传送m位数据,在接收串行数据时将1个系统时钟分成m个采样时钟以对m位数据进行采样(即1位数据对应于1个采样时钟),由于通过DVI传送的系统时钟相对于串行数据会发生时钟偏移的问题(即传输过程中产生的数据-时钟偏移),目前业界通常会采用n倍的过采样方法获取数据,即将1个采样时钟进行n分频分成n个采样时钟,对1位数据进行n次的采样。过采样的倍数与数据传输速度和电路设计能力有关,也可以由业界标准来确定。本实施例是以1个系统时钟传送10位串行数据D,并对1位串行数据D进行4倍的过采样,以产生4组10位的并行数据Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0]为例进行说明。
请参考图2和图3,图2是图1中所示的过采样电路的电路框图,所述的过采样电路1包括4个串并行转换电路10、11、12、13,其中,串并行转换电路10的电路结构如图3所示,其包括10个寄存器100,用于储存对连续输入的10位串行数据D进行采样所得的数据,采样时钟分别是a0~a9,由此得到1组10位的并行数据Da[9:0]。串并行转换电路11、12、13的电路结构与串并行转换电路10的结构相同,但采样时钟不同,分别是b0~b9,c0~c9,d0~d9,由此得到另外3组10位的并行数据Db[9:0]、Dc[9:0]、Dd[9:0]。在系统时钟CK相对于串行数据D没有发生偏移的情况下,输入的串行数据D、系统时钟CK与采样时钟的时序关系如图4所示,数据D0分别在a0、b0、c0、d0被采样得到数据Da0、Db0、Dc0、Dd0,数据D1分别在a1、a1、c1、d1被采样得到数据Da1、Da1、Dc1、Dd1,以此类推,连续输入的10位串行数据D0~D9被采样得到并行数据Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0]输出。
由于系统时钟CK相对于串行数据D会发生偏移,因此采样时钟a0~a9、b0~b9、c0~c9、d0~d9相对于串行数据D会发生偏移,图5列出了图4所示的采样时钟发生偏移的几种情况,以D0采样为例,各种情况采样所得的数据如表1所示,其中x表示不确定的数据。
表1
Da0 | Db0 | Dc0 | Dd0 | |
情况00 | x | D0 | D0 | D0 |
情况01 | D0 | D0 | D0 | D0 |
情况02 | D0 | D0 | D0 | x |
情况03 | D0 | D0 | D0 | D1 |
情况04 | D0 | D0 | x | D1 |
情况05 | D0 | D0 | D1 | D1 |
情况06 | D0 | x | D1 | D1 |
情况07 | D0 | D1 | D1 | D1 |
情况10 | x | D1 | D1 | D1 |
情况01至07的采样时钟相对于情况00的采样时钟的偏移在1个数据位内(称此为采样时钟的位内偏移);情况10的采样时钟相对于情况00的采样时钟偏移了1个数据位(称此为采样时钟的位偏移)。
传送的数据在数据的边缘容易发生跳动,而在数据的中间(如图5所示的虚线部分)不会跳动,即在数据的中间进行采样可以得到最稳定的数据,因此,设定在情况00至07时选择的数据如表2所示,即各种情况在数据处于稳定状态时进行采样。
表2
选择的数据 | |
情况00 | Dc0 |
情况01 | Dc0 |
情况02 | Db0 |
情况03 | Db0 |
情况04 | Da0 |
情况05 | Da0 |
情况06 | Dd0 |
情况07 | Dd0 |
选择的数据并非以表2所示的为限,采样时钟在图5所示的虚线内采样所得的数据都可以作为选择的数据,例如,情况01也可以选择Db0。
根据表1可以列出过采样电路1在采样时钟偏移的所有情况下采样所得的并行数据Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0]如表3所示。
表3
Da[9:0] | Db[9:0] | Dc[9:0] | Dd[9:0] | |
情况00 | xxxxxxxxxx | D[9:0] | D[9:0] | D[9:0] |
情况01 | D[9:0] | D[9:0] | D[9:0] | D[9:0] |
情况02 | D[9:0] | D[9:0] | D[9:0] | xxxxxxxxxx |
情况03 | D[9:0] | D[9:0] | D[9:0] | D[10:1] |
情况04 | D[9:0] | D[9:0] | xxxxxxxxxx | D[10:1] |
情况05 | D[9:0] | D[9:0] | D[10:1] | D[10:1] |
情况06 | D[9:0] | xxxxxxxxxx | D[10:1] | D[10:1] |
情况07 | D[9:0] | D[10:1] | D[10:1] | D[10:1] |
情况10 | xxxxxxxxxxx | D[10:1] | D[10:1] | D[10:1] |
情况11 | D[10:1] | D[10:1] | D[10:1] | D[10:1] |
...... | ...... | ...... | ...... | ...... |
情况16 | D[10:1] | xxxxxxxxxx | D[11:2] | D[11:2] |
情况17 | D[10:1] | D[11:2] | D[11:2] | D[11:2] |
情况20 | xxxxxxxxxxx | D[11:2] | D[11:2] | D[11:2] |
...... | ...... | ...... | ...... | ...... |
情况90 | xxxxxxxxxxx | D[18:9] | D[18:9] | D[18:9] |
情况91 | D[18:9] | D[18:9] | D[18:9] | D[18:9] |
...... | ...... | ...... | ....... | ...... |
情况97 | D[18:9] | D[19:10] | D[19:10] | D[19:10] |
情况01至07的采样时钟相对于情况00的采样时钟的偏移称为采样时钟的位内偏移;情况11至17的采样时钟相对于情况10的采样时钟的偏移称为采样时钟的位内偏移;情况21至27的采样时钟相对于情况20的采样时钟的偏移称为采样时钟的位内偏移;依此类推,情况91至97的采样时钟相对于情况90的采样时钟的偏移称为采样时钟的位内偏移。情况10、20、......、90的采样时钟相对于情况00的采样时钟的偏移称为采样时钟的位偏移。
根据表2,设定在各种情况时选择的并行数据如表4所示,即选择4组并行数据中的哪一组。
表4
选择的并行数据 | |
情况00、10、20、......、90 | Dc[9:0] |
情况01、11、21、......、91 | Dc[9:0] |
情况02、12、22、......、92 | Db[9:0] |
情况03、13、23、......、93 | Db[9:0] |
情况04、14、24、......、94 | Da[9:0] |
情况05、15、25、......、95 | Da[9:0] |
情况06、16、26、......、96 | Dd[9:0] |
情况07、17、27、......、97 | Dd[9:0] |
情况10至17、情况20至27、......、情况90至97的采样时钟相对于情况00至07的采样时钟只是数据位的偏移,因此,选择的并行数据应该是相同。
结合表3和表4归纳得到如表5所示的选择的数据与匹配信息的对应关系,所设定的选择的数据与匹配信息的对应关系(表5)应用于数据选择电路2中,后面将会详细说明。
表5
MRa | MRb | MRc | MRd | 选择的数据 | |
情况0 | 0 | 1 | 1 | 1 | Dc[9:0] |
情况1 | 1 | 1 | 1 | 1 | Dc[9:0] |
情况2 | 1 | 1 | 1 | 0 | Db[9:0] |
情况3 | 1 | 1 | 1 | -1 | Db[9:0] |
情况4 | 1 | 1 | 0 | -1 | Da[9:0] |
情况5 | 1 | 1 | -1 | -1 | Da[9:0] |
情况6 | 1 | 0 | -1 | -1 | Dd[9:0] |
情况7 | 1 | -1 | -1 | -1 | Dd[9:0] |
参考表3和表4对表5进行说明,匹配信息包括4组匹配结果MRa、MRb、MRc、MRd,表5中各组匹配结果MRa、MRb、MRc、MRd的设定根据对应采样得到的数据Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0]而定:
若其中1组采样得到的数据为不确定值,则该组的匹配结果为0;
若第1组采样得到的数据为不确定值,其余3组采样得到的数据相同,则其余3组的匹配结果均为1;
若第1组采样得到的数据为确定值,则第1组的匹配结果为1;
若第1组采样得到的数据为确定值,则采样得到的数据与第1组采样得到的数据相同的组的匹配结果为1;
若第1组采样得到的数据为确定值,则采样得到的数据与第1组采样得到的数据相差1的组的匹配结果为-1。
具体来说,表3中:
情况00、10、20、......、90的Da[9:0]为x,Db[9:0]、Dc[9:0]、Dd[9:0]相同,因此,统一定义为情况0,并设定MRa=0,MRb=MRc=MRd=1;
情况01、11、21、......、91的Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0]相同,因此统一定义为情况1,并设定MRa=MRb=McR=MRd=1;
情况02、12、22、......、92的Da[9:0]、Db[9:0]、Dc[9:0]相同,Dd[9:0]为x,因此,统一定义为情况2,并设定MRa=MRb=MRc=1,MRd=0;
情况03、13、23、......、93的Da[9:0]、Db[9:0]、Dc[9:0]相同,Dd[9:0]相对于Da[9:0]偏移了1位,因此,统一定义为情况3,并设定MRa=MRb=MRc=1,MRd=-1;
情况04、14、24、......、94的Da[9:0]、Db[9:0]相同,Dc[9:0]为x,Dd[9:0]相对于Da[9:0]偏移了1位,因此,统一定义为情况4,并设定MRa=MRb=1,MRc=0,MRd=-1;
情况05、15、25、......、95的Da[9:0]、Db[9:0]相同,Dc[9:0]、Dd[9:0]相对于Da[9:0]偏移了1位,因此,统一定义为情况5,并设定MRa=MRb=1,MRc=MRd=-1;
情况06、16、26、......、96的Db[9:0]为x,Dc[9:0]、Dd[9:0]相对于Da[9:0]偏移了1位,因此,统一定义为情况6,并设定MRa=1,MRb=0,MRc=MRd=-1;
情况07、17、27、......、97的Db[9:0]、Dc[9:0]、Dd[9:0]相对于Da[9:0]偏移了1位,因此,统一定义为情况7,并设定MRa=1,MRb=MRc=MRd=-1。
从上述说明可知,表5所示的选择的数据与匹配信息的对应关系是根据采样时钟相对于数据的偏移以及因时钟偏移而采样得到的数据(如表3)而设定选择的数据,并且选择的数据是由对应于数据处于稳定状态的采样时钟采样得到的(如表4,在数据的中间进行采样)。
请继续参考图6和图7,图6是图1中所示的数据选择电路2的电路框图,所述的数据选择电路2包括4个位偏移补偿电路20、21、22、23和1个选择控制电路24。
位偏移补偿电路20补偿采样时钟的位偏移,如图7所示,在a0~a9采样得到的数据Da0~Da9(设定为Daa0~Daa9)与后一个a0~a9采样得到的数据Da0~Da9(设定为Daa10~Daa19)构成20位数据Daa0~Daa19储存在寄存器200中,将Daa0~Daa9(定义为数据列0,位偏移值为0)与比较器201中的预设的补偿数据Ds0~Ds9进行比较,将Daa1~Daa10(定义为数据列1,位偏移值为1)与预设的补偿数据Ds0~Ds9进行比较,将Daa2~Daa11(定义为数据列2,位偏移值为2)与预设的补偿数据Ds0~Ds9进行比较,......,将Daa9~Daa18(定义为数据列9,位偏移值为9)与预设的补偿数据Ds0~Ds9进行比较,其中,预设的补偿数据Ds0~Ds9是根据DVI协议所约定的在特定时间(称为消隐时间,消隐时间内传送的数据不作为显示用)内连续传送的数据,在特定时间后传送的数据即是显示数据,因此,可以根据与预设的补偿数据的比较来对输入的数据做位偏移补偿。如果其中一个数据列与特定数据相同,输出位偏移值Sa=该数据列的位偏移值,比较结果Ma=1,多路选择器202根据Sa的值选择对应的数据列作为Da[9:0]’输出,例如,数据列9与特定数据相同,则输出Da[9:0]’=Daa[18:9],Sa=9,Ma=1。如果没有数据列与特定数据相同(包括数据列为不确定数据x),输出Ma=0,Sa的值维持不变。位偏移补偿电路21、22、23的结构与位偏移补偿电路20相同。
选择控制电路24补偿采样时钟的位内偏移,根据输入的4组位偏移值Sa、Sb、Sc、Sd和比较结果Ma、Mb、Mc、Md确定表5中的4组匹配结果MRa、MRb、MRc、MRd,这样就可以根据表5设定的选择的数据与匹配信息的对应关系选择1组对应于匹配信息的位偏移补偿后的并行数据输出,即选择Da[9:0]’、Db[9:0]’、Dc[9:0]’、Dd[9:0]’其中的1组作为D[9:0]。根据Sa、Sb、Sc、Sd、Ma、Mb、Mc、Md确定MRa、MRb、MRc、MRd的方式如下所述:
若其中1组的比较结果为0,则该组的匹配结果为0;
若第1组的比较结果为0,其余3组的比较结果均为1且位偏移值相同,则其余各组的匹配结果均为1;
若第1组的比较结果为1,则第1组的匹配结果为1;
若第1组的比较结果为1,则比较结果为1且位偏移值与第1组的位偏移值相同的组的匹配结果为1;
若第1组的比较结果为1,则比较结果为1且位偏移值与第1组的位偏移值相差1的组的匹配结果为-1;
若4组的比较结果和位偏移值不属于上述的情况,则各组的匹配结果维持不变。
具体来说:
若Ma=0,则MRa=0;若Ma=1,则MRa=1。
若Ma=0,Mb=Mc=Md=1,Sb=Sc=Sd,则MRb=MRc=MRd=1。
若Mb=0,则MRb=0;若Ma=Mb=1,Sa=Sb,则MRb=1;若Ma=Mb=1,Sb与Sa相差1(偏移1位),则MRb=-1。
若Mc=0,则MRc=0;若Ma=Mc=1,Sa=Sc,则MRc=1;若Ma=Mc=1,Sc与Sa相差1(偏移1位),则MRc=-1。
若Md=0,则MRd=0;若Ma=Md=1,Sa=Sd,则MRd=1;若Ma=Md=1,Sd与Sa相差1(偏移1位),则MRd=-1。
举1个实例进行说明。
设在特定时间内连续传送的20位串行数据为Ds0~Ds9、Ds0~Ds9,采样时钟相对于串行数据发生偏移的情况如表3中的情况16。
经过过采样电路1输出的10位数据Da0~Da9对应为Ds1~Ds9、Ds0;Db0~Db9对应为xxxxxxxxxx;Dc0~Dc9对应为Ds2~Ds9、Ds0、Ds1;Dd0~Dd9对应为Ds2~Ds9、Ds0、Ds1。
在位偏移补偿电路20中构成的20位数据Daa0~Daa19对应为Ds1~Ds9、Ds0~Ds9、Ds0,因此,数据列0对应为Ds1~Ds9、Ds0,数据列1对应为Ds2~Ds9、Ds0、Ds1,数据列2对应为Ds3~Ds9、Ds~Ds2,......,数据列9对应为Ds0~Ds9,将各个数据列与补偿数据Ds0~Ds9进行比较,得到数据列9与补偿数据相同,因而输出Da[9:0]’=Daa[18:9]=Ds[9:0],Sa=9,Ma=1。
在位偏移补偿电路21中,由于构成的20位数据Dbb0~Dbb19为不确定的数据x,各个数据列与补偿数据比较不确定,因此,输出Sb=x,Db[9:0]’=xxxxxxxxxx,Mb=0。
在位偏移补偿电路22中构成的20位数据Dcc0~Dcc19对应为Ds2~Ds9、Ds0~Ds9、Ds0、Ds1,因此,数据列0对应为Ds2~Ds9、Ds0、Ds1,数据列1对应为Ds3~Ds9、Ds0~Ds2,数据列2对应为Ds4~Ds9、Ds0~Ds3,......,数据列8对应为Ds0~Ds9,数据列9对应为Ds1~Ds9、Ds0,得到数据列8与特定数据相同,因而输出Sc=8,Dc[9:0]’=Dcc[17:8]=Ds[9:0],Mc=1。同样地,位补偿电路23的输出Sd=8,Dd[9:0]’=Ddd[17:8]=Ds[9:0],Md=1。
在选择控制电路24中,Ma=1,因此MRa=1;Mb=0,因此MRb=0;Ma=Mc=1,Sc与Sa相差1,因此MRc=-1;Ma=Md=1,Sd与Sa相差1,因此MRd=-1。MRa、MRb、MRc、MRd的值对应于表5的情况6,因此,选择Dd[9:0]’(即Ds[9:0])作为D[9:0]输出。
根据上面的结果,在特定时间后传送的串行数据D(显示数据)在过采样电路1中产生4组并行数据Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0],再分别在位偏移补偿电路20、21、22、23中根据已确定的Sa、Sb、Sc、Sd的值选择对应的数据列输出,在选择控制电路24中根据已确定的MRa、MRb、MRc、MRd的值选择对应情况的1组并行数据输出,最后的输出结果D[9:0]即为准确的并行显示数据。
因此,本发明实施例的数据恢复电路在工作时:过采样电路1的4个串并转换电路10、11、12、13获取4组采样时钟a0~a9、b0~b9、c0~c9、d0~d9对输入的串行数据D进行采样所得的数据,并输出4组并行数据Da[9:0]、Db[9:0]、Dc[9:0]、Dd[9:0]至数据选择电路2;数据选择电路2的4个位偏移补偿电路20、21、22、23分别获取所述过采样电路1输出的2个系统时钟的一组数据,并将获取的数据中的一部分连续的数据构成的数据列与预设的补偿数据Ds0~Ds9进行比较,补偿该组并行数据的位偏移并输出位偏移值和比较结果;数据选择电路2的选择控制电路24确定与4个位偏移补偿电路20、21、22、23输出的4组位偏移值Sa、Sb、Sc、Sd和比较结果Ma、Mb、Mc、Md对应的匹配信息MRa、MRb、MRc、MRd,并根据预先设定的选择的数据与匹配信息的对应关系(如表5所示)选择与所述匹配信息对应的一组位偏移补偿后的并行数据输出。
对应于上述的数据恢复电路,本发明还公开了一种数据恢复方法,如图8所示。
步骤S81,对输入的串行数据进行n倍的过采样,并输出n组并行数据,其中,n是自然数。
步骤S82,储存2个系统时钟的n组并行数据构成的n组数据。
步骤S83,将储存的各组数据中的第1个系统时钟的数据构成的数据列、相对于第1个系统时钟的数据具有位偏移的数据构成的数据列分别与预设的补偿数据进行比较,并输出各组位偏移值和比较结果。
步骤S84,选择与各组位偏移值对应的数据列作为位偏移补偿后的各组并行数据输出。
步骤S85,确定与n组位偏移值和比较结果对应的n组的匹配结果。
步骤S86,输出与n组的匹配结果组成的匹配信息对应的一组补偿后的并行数据。
对于各步骤的说明在上述数据恢复电路中已有相应的详细描述,在此即不予重复。
综上所述,上述技术方案主要采用预设的补偿数据对过采样的数据进行位偏移补偿(补偿采样时钟的位偏移)并获得匹配信息,再直接选择与所述匹配信息对应的一组位偏移补偿后的数据输出(补偿采样时钟的位内偏移),以此补偿传输过程中产生的数据-时钟偏移,因此,相较于现有技术中需要经过多个系统时钟才能确定选择的数据来说,上述技术方案缩短了数据恢复的处理时间。
在上述选择的与所述匹配信息对应的一组位偏移补偿后的数据是采样时钟相对于数据的偏移在一位内时,由对应于数据处于稳定状态(数据不会发生跳动)的采样时钟采样得到的数据(例如在数据的中间进行采样),因此最后恢复得到的数据是稳定且准确的。
另外,数据恢复电路由寄存器、比较器、多路选择器等简单电路构成,选择逻辑根据采样时钟相对于数据的偏移、因时钟偏移而采样得到的数据以及数据处于稳定状态归纳得到的,因而整个电路结构也比较简单,可以以纯数字电路方法实现,实施起来也非常方便且高效。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (16)
1.一种数据恢复电路,包括:过采样电路,用于对输入的串行数据进行n倍的过采样,并输出n组并行数据,其中,n是自然数;
其特征在于,
所述数据恢复电路还包括:数据选择电路,用于获取所述过采样电路输出的n组并行数据,分别将各组并行数据与预设的补偿数据进行比较,补偿各组并行数据的位偏移和获得匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据;
所述分别将各组并行数据与预设的补偿数据进行比较为:获取并存储两个系统时钟的一组数据,并且将第一个系统时钟的数据构成的数据列、相对于第一个系统时钟的数据具有一个系统时钟以内位偏移的数据构成的多数据列分别与预设的补偿数据进行比较。
2.根据权利要求1所述的数据恢复电路,其特征在于,所述的数据选择电路包括:
n个位偏移补偿电路,分别用于获取所述过采样电路输出的两个系统时钟的一组数据,并将获取的数据中的连续的数据构成的数据列与预设的补偿数据进行比较,补偿该组并行数据的位偏移并输出位偏移值和比较结果;
选择控制电路,用于确定与n个位偏移补偿电路输出的n组位偏移值和比较结果对应的匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据。
3.根据权利要求2所述的数据恢复电路,其特征在于,所述的位偏移补偿电路包括:
寄存器,用于储存过采样电路产生的两个系统时钟的数据;
比较器,用于将寄存器储存的第一个系统时钟的数据构成的数据列、相对于第一个系统时钟的数据具有位偏移的数据构成的数据列分别与预设的补偿数据进行比较,并输出位偏移值和比较结果;
多路选择器,用于选择与位偏移值对应的数据列作为位偏移补偿后的并行数据输出。
4.根据权利要求3所述的数据恢复电路,其特征在于,所述选择控制电路包括:
输入部分,用于输入所述n个位偏移补偿电路输出的n组位偏移补偿后的并行数据、位偏移值和比较结果,其中,n组位偏移值和比较结果用于确定对应的n组的匹配结果;
输出部分,用于输出与n组的匹配结果组成的匹配信息对应的一组补偿后的并行数据。
5.根据权利要求4所述的数据恢复电路,其特征在于,所述过采样电路包括:n个串并转换电路,用于获取n组采样时钟对输入的串行数据进行采样所得的数据,并输出n组并行数据。
6.根据权利要求5所述的数据恢复电路,其特征在于,所述串并转换电路包括:m个寄存器,用于分别储存对串行数据进行采样所得的一位数据,其中m为一个系统时钟传送的串行数据的位数。
7.根据权利要求1至6任一项所述的数据恢复电路,其特征在于,所述数据选择电路输出的与匹配信息对应的一组位偏移补偿后的并行数据是采样时钟相对于数据的偏移在一位内时,由对应于数据处于稳定状态的采样时钟采样得到的。
8.一种数据恢复方法,包括:对输入的串行数据进行n倍的过采样,并输出n组并行数据,其中,n是自然数;
其特征在于,
所述数据恢复方法还包括:获取所述过采样后输出的n组并行数据,分别将各组并行数据与预设的补偿数据进行比较,补偿各组并行数据的位偏移和获得匹配信息,并输出与所述匹配信息对应的一组位偏移补偿后的并行数据;
所述分别将各组并行数据与预设的补偿数据进行比较为:获取并存储两个系统时钟的一组数据,并且将第一个系统时钟的数据构成的数据列、相对于第一个系统时钟的数据具有一个系统时钟以内位偏移的数据构成的多数据列分别与预设的补偿数据进行比较。
9.根据权利要求8所述的数据恢复方法,其特征在于,所述与匹配信息对应的一组位偏移补偿后的并行数据是采样时钟相对于数据的偏移在一位内时,由对应于数据处于稳定状态的采样时钟采样得到的。
10.根据权利要求8所述的数据恢复方法,其特征在于,所述获取所述过采样后输出的n组并行数据是指获取并储存所述过采样后输出的两个系统时钟的n组数据。
11.根据权利要求10所述的数据恢复方法,其特征在于,所述将各组并行数据与预设的补偿数据进行比较是指将储存的各组数据中的第一个系统时钟的数据构成的数据列、相对于第一个系统时钟的数据具有位偏移的数据构成的数据列分别与预设的补偿数据进行比较并输出位偏移值和比较结果。
12.根据权利要求11所述的数据恢复方法,其特征在于,所述补偿各组并行数据的位偏移是指选择与位偏移值对应的数据列作为位偏移补偿后的并行数据输出。
13.根据权利要求12所述的数据恢复方法,其特征在于,所述获得匹配信息是指确定与所述n组位偏移值和比较结果对应的n组的匹配结果。
14.根据权利要求13所述的数据恢复方法,其特征在于,所述输出与所述匹配信息对应的一组位偏移补偿后的并行数据是指输出与n组的匹配结果组成的匹配信息对应的一组补偿后的并行数据。
15.根据权利要求14所述的数据恢复方法,其特征在于,所述输出位偏移值和比较结果包括:
若有数据列与预设的补偿数据相同,则输出比较结果为1,位偏移值为该数据列相对于第一个系统时钟的数据偏移的位数;
若没有数据列与预设的补偿数据相同,则输出比较结果为0,位偏移值维持不变。
16.根据权利要求15所述的数据恢复方法,其特征在于,所述确定与所述n组位偏移值和比较结果对应的n组的匹配结果包括:
若其中一组的比较结果为0,则该组的匹配结果为0;
若第一组的比较结果为0,其余各组的比较结果均为1且位偏移值相同,则其余各组的匹配结果均为1;
若第一组的比较结果为1,则第一组的匹配结果为1;
若第一组的比较结果为1,则比较结果为1且位偏移值与第一组的位偏移值相同的组的匹配结果为1;
若第一组的比较结果为1,则比较结果为1且位偏移值与第一组的位偏移值相差1的组的匹配结果为-1;
若各组的比较结果和位偏移值不属于上述的情况,则各组的匹配结果维持不变;
所述的匹配信息包括n组的匹配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100450304A CN101369883B (zh) | 2007-08-17 | 2007-08-17 | 数据恢复电路和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100450304A CN101369883B (zh) | 2007-08-17 | 2007-08-17 | 数据恢复电路和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101369883A CN101369883A (zh) | 2009-02-18 |
CN101369883B true CN101369883B (zh) | 2011-07-20 |
Family
ID=40413533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100450304A Active CN101369883B (zh) | 2007-08-17 | 2007-08-17 | 数据恢复电路和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101369883B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI436630B (zh) * | 2010-11-16 | 2014-05-01 | Etron Technology Inc | 可容忍擾動之相位選擇器與相關方法、以及時脈與資料恢復電路 |
TWI406504B (zh) * | 2010-12-30 | 2013-08-21 | Sunplus Technology Co Ltd | 利用過取樣的資料回復裝置及其方法 |
CN102158444A (zh) * | 2011-03-04 | 2011-08-17 | 京信通信技术(广州)有限公司 | 过采样干扰抵消合并方法与装置 |
CN106205546B (zh) * | 2016-09-27 | 2018-09-11 | 深圳市华星光电技术有限公司 | 一种液晶显示器及其补偿数据的存储方法、数据补偿装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3112688B2 (ja) * | 1996-05-07 | 2000-11-27 | シリコン・イメージ,インコーポレイテッド | スキューの影響を受けない高速多重チャンネルデータ伝送のためのシステム及び方法 |
CN1360396A (zh) * | 2000-12-21 | 2002-07-24 | 日本电气株式会社 | 时钟与数据恢复电路及其时钟控制方法 |
US7190739B2 (en) * | 2002-08-27 | 2007-03-13 | Rohm Co., Ltd. | Regenerator circuit of serial data and method of regenerating the same |
-
2007
- 2007-08-17 CN CN2007100450304A patent/CN101369883B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3112688B2 (ja) * | 1996-05-07 | 2000-11-27 | シリコン・イメージ,インコーポレイテッド | スキューの影響を受けない高速多重チャンネルデータ伝送のためのシステム及び方法 |
CN1360396A (zh) * | 2000-12-21 | 2002-07-24 | 日本电气株式会社 | 时钟与数据恢复电路及其时钟控制方法 |
US7190739B2 (en) * | 2002-08-27 | 2007-03-13 | Rohm Co., Ltd. | Regenerator circuit of serial data and method of regenerating the same |
Also Published As
Publication number | Publication date |
---|---|
CN101369883A (zh) | 2009-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4870435B2 (ja) | Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 | |
US10848351B2 (en) | Sampler offset calibration during operation | |
KR101300659B1 (ko) | 등화기를 갖는 수신기 및 그것의 등화방법 | |
US8649460B2 (en) | Techniques for multi-wire encoding with an embedded clock | |
US20170098402A1 (en) | Display, timing controller and column driver integrated circuit using clock embedded multi-level signaling | |
CN101369883B (zh) | 数据恢复电路和方法 | |
US5648776A (en) | Serial-to-parallel converter using alternating latches and interleaving techniques | |
CN102057417A (zh) | 使用嵌入时钟信号的单一水平信号的传递的显示装置驱动系统 | |
EP2355398B1 (en) | Serial data receiver circuit apparatus and serial data receiving method | |
CN101202614A (zh) | 用于产生时钟采样信号的方法、设备和系统 | |
US20130272358A1 (en) | Eye diagram scan circuit and associated method | |
CN101540158A (zh) | 用于发送和接收数据位的装置和方法 | |
EP1656777A1 (en) | Auto realignment of multiple serial byte-lanes | |
TWI521900B (zh) | 用來進行適應性等化之方法與裝置 | |
US7257169B2 (en) | Deserializer | |
US6529148B1 (en) | Apparatus and method for acquisition of an incoming data stream | |
CN109687951A (zh) | 取样相位调整装置及其调整方法 | |
US20130268814A1 (en) | Deskew apparatus and method for peripheral component interconnect express | |
KR101930532B1 (ko) | 능동적이며 안정적으로 클락 데이터를 복원하는 클락 복원 회로 | |
WO2007013718A1 (en) | Clock signal embedded multi-level signaling method and apparatus for driving display panel using the same | |
CN1832380A (zh) | 用于将串行数据流转换到数据通道的方法 | |
KR20210141739A (ko) | 크로스 클록 도메인의 멀티 디지트 데이터 처리 방법 및 장치 | |
CN103209146B (zh) | 信号均衡装置及其方法 | |
CN113821075A (zh) | 一种异步多比特信号跨时钟域处理方法及装置 | |
US6895542B2 (en) | Data recovery circuit and method and data receiving system using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |