一种四倍过采样数据恢复电路
技术领域
本实用新型涉及一种过采样数据恢复电路,特别是涉及一种四倍过采样数据恢复电路。
背景技术
基于最小化差分信号(Transition Minimized Differential Signaling,简称TMDS)编码的数字视频传输标准DVI(数字视频接口)或者HDMI(高清晰度多媒体接口)均具有用于传送频率信号的频率通道(channel C)以及三个分别用于传送红色(R)、绿色(G)、蓝色(B)的串行数据的颜色通道(channel[0:2]),每个颜色通道利用TMDS编码将8位原始的数字视频信号转化为10位具有最小化传输差分的串行信号序列,时钟通道和行场消隐区间发送特殊的10位数据,可工作的时钟频率为25~165MHz,而颜色通道的数据传输率为频率信号的十倍,也就是说,一个频率信号周期中每个颜色通道皆会有十位的串行数据在传输,而DVI或HDMI的接收端必须利用上述关系对每个颜色通道的十位串行数据进行恢复。
为了提高数据恢复的成功率,对于时钟信号单独发送的高速数据传输系统一般都采用过采样(over-sampling)技术进行数据恢复。然而,传统的过采样数据恢复电路皆使用奇数的过采样,奇数的过采样数据恢复电路均需要超过2.5倍频的电荷泵PLL;另外,传统过采样数据恢复电路每次只能采样四位的串行数据,以3倍过采样为例,当串行数据的偏斜较严重时,采样数据可能同时出现错误,从而造成过采样数据无法正确恢复;传统过采样数据恢复电路中均需要设计一个电荷泵锁相回路,用来接收频率信号并产生倍频频率信号,电路结构复杂。
实用新型内容
本实用新型的目的在于克服现有技术的不足,提供一种利用多相时钟对输入的TMDS串行数据进行四倍过采样,并利用数字方式对过采样数据进行恢复,可使用较低频率的多相时钟采样多位串行数据,过采样数据恢复效果稳定,电路结构简单的四倍过采样数据恢复电路。
本实用新型的目的是通过以下技术方案来实现的:一种四倍过采样数据恢复电路,它包括四倍过采样器、数据重构单元、数据分组单元、数据检测单元、相位判决单元和相位转换单元。
四倍过采样器用于利用模拟前端多相时钟信号过采样TMDS串行数据,每时钟周期输出40位采样信号,串行数据中的每一位均被采样四次;数据重构单元用于接收四倍过采样器输出的40位采样信号,合并连续二次接收到的40位采样信号,并根据相位转换单元输出的相位信号产生新的一组40位信号;数据分组单元用于接收数据重构单元输出的新一组40位信号,并将该40位信号分成10组,每组4位信号;数据检测单元用于接收数据分组单元输出的10组4位信号,并统计计算出错误信号、左移信号和右移信号的个数,同时输出恢复出的数据;相位判决单元用于接收数据检测单元输出的错误、左移和右移的个数信号,产生左移和右移信号;相位转换单元用于接收相位判决单元输出的左移和右移信号,产生供数据重构单元选择的第几相相位信号并输出至数据重构单元。
进一步地,数据检测单元由十个数据检测电路组成,每个数据检测电路处理接收到的40位数据中的4位数据,进而产生正确信号、错误信号、左移信号和右移信号,其中,所述的十个数据检测电路分别产生的所述正确信号、错误信号、左移信号和右移信号统计之和,产生正确信号个数、错误信号个数、左移信号个数和右移信个数。
所述相位判决单元的具体判决流程如下:
A1.判断检测信号组中的错误信号个数是否大于或等于5,如果是,则输出右移信号,否则执行步骤B1;
B1.判断错误信号个数是否不等于零,如果是,则执行C1步骤,否则执行D1步骤;
C1.判断检测信号组中的右移信号个数是否大于或等于检测信号组中的左移信号个数,如果是,则输出右移信号,否则输出左移信号;
D1.判断左移信号个数是否大于或等于4,并且判断右移信号个数是否小于4,如果是,则输出左移信号,否则输出右移信号。
进一步地,当相位转换单元接收到右移信号且当前相位为编号最大的相位时,选择编号最大相位所在组的编号最小的相位;当接收到左移信号且当前相位为第零相位时,则选择第零相位所在组的编号最大的相位。
本实用新型的有益效果是:利用多相时钟对输入的TMDS串行数据进行四倍过采样,并利用数字方式对过采样数据进行恢复,可使用较低频率的多相时钟采样多位串行数据,过采样数据恢复效果稳定,电路结构简单。
附图说明
图1为本实用新型四倍过采样数据恢复电路结构示意图;
图2为本实用新型四倍过采样器20相多相时钟采样十位串行数据的时序示意图;
图3为本实用新型四倍过采样器20相多相时钟采样十位串行数据产生的40位过采样数据的时序示意图;
图4为本实用新型数据重构单元的40位数据重构示意图;
图5为本实用新型数据检测单元每个检测电路的错误信号、正确信号、左移信号、右移信号和最终恢复的一位数据输出示意图;
图6为本实用新型相位判决单元判决流程图;
图7为本实用新型相位转换单元的相位跳转图。
具体实施方式
下面结合附图进一步详细描述本实用新型的技术方案,但本实用新型的保护范围不局限于以下所述。
如图1所示,一种四倍过采样数据恢复电路,它包括四倍过采样器、数据重构单元、数据分组单元、数据检测单元、相位判决单元和相位转换单元。
四倍过采样器用于利用模拟前端多相时钟信号过采样TMDS串行数据,该串行数据为三个颜色通道中的任意串行数据,每时钟周期输出40位采样信号,串行数据中的每一位均被采样四次;数据重构单元用于接收四倍过采样器输出的40位采样信号,合并连续二次接收到的40位采样信号,并根据相位转换单元输出的相位信号产生新的一组40位信号;数据分组单元用于接收数据重构单元输出的新一组40位信号,并将该40位信号分成10组,每组4位信号;数据检测单元用于接收数据分组单元输出的10组4位信号,并统计计算出错误信号、左移信号和右移信号的个数,同时输出恢复出的数据;相位判决单元用于接收数据检测单元输出的错误、左移和右移的个数信号,产生左移和右移信号;相位转换单元用于接收相位判决单元输出的左移和右移信号,产生供数据重构单元选择的第几相相位信号并输出至数据重构单元。
四倍过采样器在一个频率周期内将输入的十位串行数据四倍过采样产生40位的过采样数据DIN[39:0],输出给数据重构单元。20相多相时钟采样十位串行数据的时序示意图如图2所示,20相多相时钟采样十位串行数据产生的40位过采样数据的时序示意图如图3所示。
当40位过采样数据DIN[39:0]输出给数据重构单元时,数据重构单元将前一时钟周期采样的40位过采样数据的最后8位数据DIN’[39:32]和本时钟周期的40位过采样数据组合成一个48位数据,并利用相位转换单元输出的选择第几相相位信号从这48位数据中选择一组新的40位数据发送给数据分组单元。从48位数据中选择某40位数据的具体示意图如图4所示,当从相位转换单元接收到的相位选择信号为零相位Phase0时,输出的新40位数据为{DIN[38:0],DIN’[39]};当相位选择信号为1相位Phase1时,输出的新40位数据为{DIN[37:0],DIN’[39:38]};相位选择信号为2相位Phase2时,输出的新40位数据为{DIN[36:0],DIN’[39:37]};相位选择信号为3相位Phase3时,输出的新40位数据为{DIN[35:0],DIN’[39:36]};相位选择信号为4相位Phase4时,输出的新40位数据为{DIN[34:0],DIN’[39:35]};相位选择信号为5相位Phase5时,输出的新40位数据为{DIN[33:0],DIN’[39:34]};相位选择信号为6相位Phase6时,输出的新40位数据为{DIN[32:0],DIN’[39:33]};相位选择信号为7相位Phase7时,输出的新40位数据为{DIN[31:0],DIN’[39:32]}。并将输出的新40位数据D[39:0]送给数据分组单元。
数据分组单元接收数据重构单元输出的40位数据D[39:0],并依次按顺序将其分成十组信号,每组四位数据,分成的十组信号依次为D[39:36]、D[35:32]、D[31:28]、D[27:24]、D[23:20]、D[19:16]、D[15:12]、D[11:8]、D[7:4]、D[3:0],该十组信号输出给数据检测单元。
进一步地,数据检测单元由十个数据检测电路组成,每个数据检测电路处理接收到的40位数据中的4位数据,进而产生正确信号、错误信号、左移信号和右移信号,其中,所述的十个数据检测电路分别产生的所述正确信号、错误信号、左移信号和右移信号统计之和,产生正确信号个数、错误信号个数、左移信号个数和右移信个数。每个数据检测电路根据输入的四位数据判断出正确信号、错误信号、左移信号和右移信号的值,并同时输出最终恢复出的一位数据。如图5所示,其中,O为正确信号、X为错误信号、L为左移信号、R为右移信号、B为最终恢复出的一位数据信号。当输入的四位数据为[0000]时,输出正确信号O的值为1、错误信号X的值为0、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位恢复数据为0;当输入的四位数据为[0001]时,输出的正确信号O的值为0、错误信号X的值为0、左移信号L的值为1、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值0;当输入的四位数据为[0010]时,输出的正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值1;当输入的四位数据为[0011]时,输出的所述四个信号值(O、X、L、R)要根据前后两个数据检测电路恢复出的数据值B_pre和B_beh来判断,而最终判决出的这位恢复数据B要根据前一个数据检测电路所恢复出的数据B_pre来决定,当B_pre为0时,恢复出当前的数据B值为1;当B_pre为1时,输出B值为0;当B_pre和B_beh分别为[00]时,输出正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为1;当B_pre和B_beh分别为[11]时,输出正确信号O的值为0、错误信号X的值为1、左移信号L的值为1、右移信号R的值为0;当B_pre和B_beh分别为[01]或者为[10]时,输出正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0;当输入的四位数据为[0100]时,输出的正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值1;当输入的四位数据为[0101]时,输出的正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值0;当输入的四位数据为[0110]时,输出的正确信号O的值为1、错误信号X的值为0、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值1;当输入的四位数据为[0111]时,输出的正确信号O的值为0、错误信号X的值为0、左移信号L的值为0、右移信号R的值为1,并同时判断出此四位过采样数据代表的是一位数据值1;当输入的四位数据为[1000]时,输出的正确信号O的值为0、错误信号X的值为0、左移信号L的值为0、右移信号R的值为1,并同时判断出此四位过采样数据代表的是一位数据值0;当输入的四位数据为[1001]时,输出的正确信号O的值为1、错误信号X的值为0、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值0;当输入的四位数据为[1010]时,输出的正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值1;当输入的四位数据为[1011]时,输出的正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值0;当输入的四位数据为[1100]时,输出的所述四个信号值(O、X、L、R)要根据前后两个数据检测电路恢复出的数据值B_pre和B_beh来判断,而最终判决出的这位恢复数据B要根据前一个数据检测电路所恢复出的数据B_pre来决定,当B_pre为0时,恢复出当前的数据B值为1;当B_pre为1时,输出B值为0;当B_pre和B_beh分别为[00]时,输出正确信号O的值为0、错误信号X的值为1、左移信号L的值为1、右移信号R的值为0;当B_pre和B_beh分别为[11]时,输出正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为1;当B_pre和B_beh分别为[01]或者为[10]时,输出正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0;当输入的四位数据为[1101]时,输出的正确信号O的值为0、错误信号X的值为1、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值0;当输入的四位数据为[1110]时,输出的正确信号O的值为0、错误信号X的值为0、左移信号L的值为1、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值1;当输入的四位数据为[1111]时,输出的正确信号O的值为1、错误信号X的值为0、左移信号L的值为0、右移信号R的值为0,并同时判断出此四位过采样数据代表的是一位数据值1。该数据检测单元将十个数据检测电路输出的正确信号O的值、错误信号X的值、左移信号L的值、右移信号R的值分别相加,得到正确信号个数O_cnt、错误信号个数X_cnt、左移信号个数L_cnt和右移信号个数R_cnt发送给相位判决单元,并同时输出十个数据检测电路恢复出的十位数据dataout[9:0]。
如图6所示,所述相位判决单元的具体判决流程如下:
A1.判断检测信号组中的错误信号个数是否大于或等于5,如果是,则输出右移信号,否则执行步骤B1;
B1.判断错误信号个数是否不等于零,如果是,则执行C1步骤,否则执行D1步骤;
C1.判断检测信号组中的右移信号个数是否大于或等于检测信号组中的左移信号个数,如果是,则输出右移信号,否则输出左移信号;
D1.判断左移信号个数是否大于或等于4,并且判断右移信号个数是否小于4,如果是,则输出左移信号,否则输出右移信号。
相位判决单元接收连续四个时钟周期的正确信号个数O_cnt、错误信号个数X_cnt、左移信号个数L_cnt和右移信号个数R_cnt,通过判决后输出左移信号Left的值和右移信号Right的值发送给相位转换单元。连续四个时钟周期中当错误信号的个数X_cnt均大于或等于5时,直接输出右移Right信号的值为1,左移信号Left的值为0;否则判断X_cnt的值是否均不等于零,若是不等于零,则判断右移信号的个数R_cnt是否都大于或等于左移信号的个数L_cnt,若是,输出右移信号Right的值为1,左移信号Left的值为0,若不是则输出右移信号Right的值为0,左移信号Left的值为1;若X_cnt的值均是等于零,则判断左移信号的个数L_cnt是否都大于或等于4和右移信号的个数R_cnt是否都是小于4,若是则输出右移信号Right的值为0,左移信号Left的值为1,否则输出右移信号Right的值为1,左移信号Left的值为0。
进一步地,当相位转换单元接收到右移信号且当前相位为编号最大的相位时,选择编号最大相位所在组的编号最小的相位;当接收到左移信号且当前相位为第零相位时,则选择第零相位所在组的编号最大的相位。相位转换单元接收相位判决单元输出的右移信号和左移信号的值,并通过状态跳转决定下一时钟周期数据相位的选择情况。具体相位转换示意图如图7所示,假设相位转换单元当前处在第零相位(Phase0),如果相位判决单元输出的右移信号Right的值为1,则相位将跳转到第一相位(Phase1),如果相位判决单元输出的左移信号Left的值为1,则相位将跳转到第三相位(Phase3);当相位处在第一相位时,如果相位判决单元连续输出的右移信号值都为1时,则相位将依次从第一相位依次跳转到第七相位(Phase7),并在第4相位(Phase4)、第五相位(Phase5)、第六相位(Phase6)和第七相位循环跳转;当相位处在第七相位时,如果相位判决单元连续输出的左移信号值都为1时,则相位将从第七相位依次跳转到第零相位,并在第三相位、第二相位(Phase2)、第一相位和第零相位循环跳转。如果相位判决单元输出的左移信号Left的值和右移信号Right的值均为0时,相位将保持当前相位不变。相位转换单元在当前时钟周期将下一时钟周期跳转的相位发送给数据重构单元,数据重构单元利用所述的相位值重组40位过采样数据。