基于过采样的无需时钟恢复的数据恢复电路的制作方法

xiaoxiao2020-9-10  12

基于过采样的无需时钟恢复的数据恢复电路的制作方法
【专利摘要】本实用新型公开一种基于过采样的无需时钟恢复的数据恢复电路,该电路包含:锁相环电路;输入端电路连接锁相环电路的过采样电路;输入端电路连接锁相环电路的时钟信号ck0和过采样电路的同步电路;输入端电路连接锁相环电路的时钟信号ck0和同步电路的边沿检测电路;输入端电路连接锁相环电路的时钟信号ck0、同步电路和边沿检测电路的判决电路;输入端电路连接锁相环电路的时钟信号ck0和判决电路的弹性缓冲器。本实用新型使用过采样在无需时钟恢复的情况下进行数据恢复以节省时钟恢复电路并便于进行同步电路设计以节省电路面积和功耗,高了电路的可靠性,降低了接收电路的误码率。
【专利说明】基于过采样的无需时钟恢复的数据恢复电路
【技术领域】
[0001]本实用新型涉及高速串行数据恢复领域,具体涉及一种基于过采样的无需时钟恢复的数据恢复电路。
【背景技术】
[0002]随着对大容量数据传输需求的不断增加,高速数据尤其是高速串行数据的传输,如USB,SATA, PC1-Express等得到了广泛的应用。
[0003]然而,在收发器的接收端接收并放大的数据不同步且含有噪声。为了保证对数据后续处理的同步,时钟等时序信息必需从数据中提取处来,而且必需对数据进行“重定时”以消除传输过程中积累的时序偏差和抖动(噪声)。这一时钟提取和数据重定时的过程就称为“时钟数据恢复(CDR, Clock and Data Recovery)”。
[0004]多年来,时钟数据恢复一直是高速串行数据传输的难点,众多设计人员对其进行了研究。由于数据恢复可以在时钟被准确恢复后使用恢复的时钟对其进行简单采样而实现,研究都集中于时钟恢复电路的实现上即如何将时钟准确恢复出来。在时钟与数据恢复电路中,目前采用的最多的两种技术是Phase tracking和过采样(blind sampling)技术。Blind sampling典型的电路如图1所示,由PLL产生η个等间隔的过采样时钟信号ckO、ckl、ck2、…、ck (n-1)(相邻两个时钟信号间隔时间为T, ckl比ckO延后时间T, ck2比ckl延后时间T,…,ckO比ck (η-1延后时间T )。过采样电路对串行数据din根据时钟信号ck0,ckl,ck2, …,ck (n-1)进行过采样产生的对应数据为d0、dl、d2,…,d(n-1)。时钟恢复电路从n个时钟信号ckO, ckl, ck2,…,ck (n_l)中恢复出一个时钟信号ckm作为接收电路的时钟。数据恢复电路使用该恢复的时钟信号ckm从过采样数据d0、dl、…、d (n-Ι)中判决并恢复出正确的数据。专利“基于过采样的时钟数据恢复和串并转换电路”(申请号:200910219463.6)即是采用这种结构从ckO,ckl, ck2,…,ck(n-1)中恢复出一个时钟信号ckm作为接收电路的时钟。
[0005]然而,时钟恢复电路产生的时钟ckm由于m可变因而其相位不固定增加了数据恢复电路的复杂性。而且,由于ckm相位不固定使得数据恢复电路和其他电路的工作时钟不同,增加了整个系统设计的复杂性和后端布局布线的难度并进而增加了芯片的面积和功耗。
[0006]因此,为了克服上述问题,本实用新型通过使用滑动窗口算法的判决电路和弹性缓冲器,完全无需时钟恢复电路,而且除过采样电路外的所有其他电路均采用统一时钟ckO。这样,整个电路除过采样电路外均采用统一固定的时钟源,便于同步电路的实现,降低了设计难度和电路的面积和功耗。
实用新型内容
[0007]本实用新型提供一种基于过采样的无需时钟恢复的数据恢复电路,使用过采样在无需时钟恢复的情况下进行数据恢复以节省时钟恢复电路并便于进行同步电路设计以节省电路面积和功耗。
[0008]为实现上述目的,本实用新型提供一种基于过采样的无需时钟恢复的数据恢复电路,其特点是,该电路包含:
[0009]锁相环电路,提供η个相位等间隔的时钟信号ckO、ckU…、ck (n_l);
[0010]过采样电路,其输入端电路连接锁相环电路,接收并使用锁相环电路提供的η个时钟信号对输入数据信号din进行过采样;
[0011]同步电路,其输入端电路连接锁相环电路的时钟信号CkO和过采样电路,使用锁相环电路的时钟ckO对过采样电路的输出数据d[n-l:0]进行同步产生同步后的数据ds [η-1:O];
[0012]边沿检测电路,其输入端电路连接锁相环电路的时钟信号CkO和同步电路,对经过同步电路同步的数据ds[n-l:0]进行边沿检测来确定数据边界;
[0013]判决电路,其输入端电路连接锁相环电路的时钟信号CkO、同步电路和边沿检测电路,利用边沿检测电路的判决确定的数据边界并使用权重算法从同步过的数据ds[n-l:0]中产生判定结 果并根据判决时使用的滑动窗口的移动结果输出O至2位由dw[l:0]的值指示位数的数据;
[0014]弹性缓冲器,其输入端电路连接锁相环电路的时钟信号CkO和判决电路,接收判决电路输出的数据进行弹性调整并保持在每个ckO时钟周期输出I个比特数据。
[0015]上述的边沿检测电路包含:
[0016]噪声滤除电路,其通过前后共4个比特数据的电平值来滤除掉由噪声产生的单个比特与其前后比特不一致的边沿;
[0017]边沿判定电路,其输入端电路连接锁相环电路的时钟信号ckO和噪声滤除电路,使用噪声滤除电路的结果查找边沿k (O =< k =< η-1);
[0018]边界移动电路,其输入端电路连接边沿判定电路,根据边沿移动方向和上一周期时的边界值产生当前边界kb (O =< kb =< η-l);当本周期中的数据均无跳变时,使用前一周期的值kb作为边界。
[0019]上述数据恢复电路中,低位比特先被传输和接收,即ds[0]先被接收,接着是ds [I]、ds [2]直到 ds [η-1]。
[0020]一种上述基于过采样的无需时钟恢复的数据恢复电路中判决电路的判决方法,其特点是,该判决方法包含:
[0021]判决电路使用权重算法和滑动窗口从η比特中来产生I比特数据;离边沿越近的数据其权重越低而越靠近滑动窗口中心的数据其权重越高;
[0022]判决电路根据加权相加的结果产生判定结果;
[0023]滑动窗口则根据边沿检测电路的结果进行移动;
[0024]判断当窗口从右向左移动时边界是否从O移动到1,若是,则表示接收时钟快过发送时钟,若否,边界从I移动到O时,则表示接收时钟慢于发送时钟;
[0025]判断边界的移动情况,若边界持续从左往右移动跨越预定的边界时,判决电路在本周期不输出数据;若边界持续从右往左移动跨越预定的边界时,判决电路在本周期输出2比特数据;其他正常情况下判决电路(205)输出I比特数据。
[0026]一种上述基于过采样的无需时钟恢复的数据恢复电路中弹性缓冲器的弹性调整方法,其特点是,该弹性调整方法包含:
[0027]在数据包开始时,弹性缓冲器中的内容被设置为数据线空闲时的数值;
[0028]弹性缓冲器的指针被设置在弹性缓冲器的中央;
[0029]从判决电路来的数据从左往右依次进入弹性缓冲器;
[0030]弹性缓冲器在每个时钟周期从指针处输出I个比特数据;
[0031]判断判决电路输出比特数据数量,若判决电路输出I个比特数据时,指针保持不变;若判决电路输出O个比特数据时,指针向左移动;若判决电路输出2个比特数据时,指针向右移动;
[0032]上述弹性缓冲器的深度需大于发送端和接收端相对频率偏差与最大包长度之积的2倍。
[0033]本实用新型基于过采样的无需时钟恢复的数据恢复电路和现有技术相比,其优点在于,通过使用滑动窗口算法的判决电路和弹性缓冲器,使用滑动窗口来在一个时钟周期内弹性输出O至2位数据的方法解决了发送端和接收端时钟不匹配的问题,节省了时钟恢复电路,同时利用数据包的长度有限而采用弹性缓冲器,使得本电路保持每个时钟周期恒定输出I个比特数据;
[0034]本实用新型除过采样电路外的所有其他电路均采用统一且固定相位的时钟,便于同步电路的实现,降低了设计难度和电路的面积和功耗并便于后端布局布线的物理实现,同时,通过边沿检测 电路和判决电路的配合滤除了高频噪声,提高了电路的可靠性,降低了接收电路的误码率。
【专利附图】

【附图说明】
[0035]图1为现有技术的时钟和数据恢复电路的电路框图;
[0036]图2为本实用新型基于过采样的无需时钟恢复的数据恢复电路的电路框图;
[0037]图3为本实用新型基于过采样的无需时钟恢复的数据恢复电路的边沿检测电路的电路框图;
[0038]图4为本实用新型基于过采样的无需时钟恢复的数据恢复电路的判决电路的工作示意图;
[0039]图5为本实用新型基于过采样的无需时钟恢复的数据恢复电路的弹性缓冲器的工作示意图。
【具体实施方式】
[0040]以下结合附图,进一步说明本实用新型的具体实施例。
[0041]如图2所示,本实用新型公开一种基于过采样的无需时钟恢复的数据恢复电路,该电路包含:锁相环电路201、过采样电路202、同步电路203、边沿检测电路204、判决电路205、弹性缓冲器206。
[0042]锁相环电路201 (PLL)提供η个相位等间隔的时钟信号ck0、ckl、…、ck (n_l)。
[0043]过采样电路202输入端电路连接锁相环电路201,接收并使用锁相环电路201提供的η个时钟信号对输入数据信号din进行过采样。
[0044]同步电路203输入端电路连接锁相环电路201的时钟信号ckO和过采样电路202的输出端。同步电路203使用锁相环电路201的时钟ckO对过采样电路202的输出数据d [n-Ι: O]进行同步,产生同步后的数据ds [n-Ι: O]。
[0045]边沿检测电路204输入端电路连接锁相环电路201的时钟信号ckO和同步电路203的输出端。边沿检测电路204对经过同步电路203同步的数据ds[n-l:0]进行边沿检测来确定数据边界。
[0046]判决电路205输入端电路连接锁相环电路201的时钟信号ckO、同步电路203和边沿检测电路204的输出端。判决电路205利用边沿检测电路204的判决确定的数据边界并使用权重算法从同步过的数据ds[n-l:0]中产生判定结果并根据判决时使用的滑动窗口的移动结果输出O至2位由dw[l:0]的值指示位数的数据给弹性缓冲器206。
[0047]弹性缓冲器206输入端电路连接锁相环电路201的时钟信号ckO和判决电路205的输出端。弹性缓冲器206接收判决电路205输出的数据进行弹性调整并保持在每个ckO时钟周期输出I个比特数据。
[0048]在本实用新型说明中,低位比特先被传输和接收,即ds[0]先被接收,接着是ds [I],ds [2]直到 ds [n-Ι]。
[0049]如图3所示,边沿检测电路204包含:噪声滤除电路301、边沿判定电路302、边界移动电路303。
[0050]噪声滤除电路301通过前后共4个比特数据的电平值来滤除掉由噪声产生的单个比特与其前后比特不一致的边沿,例如010、101。具体说明,即使用当前比特data_center [k],前二比特 data_rightl [k]、data_right2 [k]和后一比特 data_left [k],仅当{data_left[k], data_ center[k], data_rightl[k], data_right2[k]} (0 =< k =< n-1)为4’b0011或4’bl100时才判定在data_center [k]和其前一比特data_rightl [k]之间产生了边界跳变。
[0051]噪声滤除电路301通过Verilog进行仿真的代码如下:
[0052]reg [7:0] ds_d;
[0053]always i(posedge ckO) ds_d <= ds;
[0054]reg [7:0] ds_d2;
[0055]always i (posedge ckO) ds_d2 <= ds_d;
[0056]wire [7:0] data_center = {ds_d[7:0]};
[0057]wire [7:0] data_left= {ds[0],ds_d[7:1]};
[0058]wire [7:0] data_rightl = {ds_d[6:0], ds_d2[7]};
[0059]wire [7:0] data_right2 = {ds_d[5:0], ds_d2[7:6]};
[0060]wire [7:0] ct =((~data_left) & (~data_center) & data_rightl &data_right2) | (data_left & data_center & (~data_rightl) & (~data_right2));
[0061]上述噪声滤除电路301的Verilog代码以η为8为例,通过该仿真本领域技术人员可知噪声滤除电路301的电路结构和原理。
[0062]边沿判定电路302输入端电路连接锁相环电路201的时钟信号ckO和噪声滤除电路301的输出端。边沿判定电路302使用噪声滤除电路301的结果查找边沿k(0 =< k =<n-1)。边沿判决电路302将跳变次数发生最多的值k(O =< k =< η-1)作为边沿。为避免高频噪声的干扰,在每个周期边沿最多移动一个位置(发送时钟和接收时钟在一个周期内的偏差必定小于I/η个时钟周期)。
[0063]边界移动电路303输入端电路连接边沿判定电路302输出端,根据边沿移动方向和上一周期时的边界值产生当前边界kb (O =< kb =< n-1)。边沿判决电路302将跳变次数发生最多的值k(0 =< k =< n-1)作为边沿。为避免高频噪声的干扰,在每个周期边沿最多移动一个位置(发送时钟和接收时钟在一个周期内的偏差必定小于I/η个时钟周期)。因此,边界移动电路303将本周期的边沿值k和上一周期的边沿值进行比较来判定移动方向。(当本周期的边沿值k -上一周期的边沿值)% η <= η/2时,表示接收方时钟快于发送方,边界值向左移动一位(即,边界值等于上一周期的边界值加I % η)。反之,(当本周期的边沿值k -上一周期的边沿值))% η > η/2时,表示接收方时钟慢于发送方,边界值向右移动一位(即,边界值等于上一周期的边界值减I %η)。当本周期数据均无跳变时,使用前一周期的边界值kb作为边界。在包数据刚开始时,不使用边界移动电路303或者说边界移动电路303被旁路,即,边沿判决302电路的结果k即为新的边界值kb。
[0064]如图4所示,本实用新型公开一种基于过采样的无需时钟恢复的数据恢复电路中判决电路的判决方法,该判决方法包含:
[0065]判决电路205使用权重算法和滑动窗口从η比特中来产生I比特数据。离边沿越近的数据其权重越低而越靠近滑动窗口中心的数据其权重越高。
[0066]以η为8为例,当k为O时,滑动窗口中的数据为当前周期中的数据dc[7:0],则dc[0]、dc[l]、dc[6]、dc[7]的权重为 O, dc[2]和 dc[5]的权重为 1,dc[3]和 dc[4]的权重为3。根据相应的权重对滑动窗口中的数据等于O值和I值的比特分别进行加权相加。
[0067]判决电路205根据加权相加的结果产生判定结果。
[0068]根据加权相加的结果如果等于O值的加权结果大则判决结果为0,等于I值的加权结果大则判决结果为I。当等于O值的加权结果和等于I值的加权结果相等时,如果电路中从I到O的噪声比从O到I的噪声大则判决为I否则判决为O。
[0069]滑动窗口则根据边沿检测电路204的结果进行移动。
[0070]判断当窗口从右向左移动时边界是否从O移动到1,若是,则表示接收时钟快过发送时钟,若否,边界从I移动到O时,则表示接收时钟慢于发送时钟。
[0071]判断边界的移动情况,若边界持续从左往右移动跨越预定的边界时,判决电路在本周期不输出数据;若边界持续从右往左移动跨越预定的边界时,判决电路在本周期输出2比特数据;其他正常情况下判决电路(205)输出I比特数据。
[0072]以η等于8为例,当边界从3变为4时则不输出数据。反之,当边界从4变为3时则如图4所示从二个滑动窗口中输出2比特数据,即从本周期中数据的前3位dc[2:0]和其前一周期数据的后5位dp[7:3]组成的8位数据中应用加权算法产生前一位数据,从本周期中数据的后5位dc[7:3]和其后一周期数据的前3位dn[2:0]组成的8位数据中应用加权算法产生后一位数据。其他情况下判决电路(205)输出I比特数据。判决电路(205)输出的数据位数0-2位由dw[l:0]指示。
[0073]如图5所示,一种基于过采样的无需时钟恢复的数据恢复电路中弹性缓冲器的弹性调整方法,该弹性调整方法包含: [0074]在数据包开始时,弹性缓冲器206中的内容被设置为数据线空闲时的数值。
[0075]弹性缓冲器206的指针ptr被设置在弹性缓冲器(206)的中央。[0076]从判决电路205来的数据从左往右依次进入弹性缓冲器206。
[0077]弹性缓冲器206在每个时钟周期从指针处输出I个比特数据。移入的数据比特数0-2位由判决电路205产生的数据位数dw[l:0]决定。
[0078]判断判决电路205输出比特数据数量,若判决电路205输出I个比特数据时,指针Ptr保持不变;若判决电路205输出O个比特数据时,指针ptr向左移动。若判决电路205输出2个比特数据时,指针ptr向右移动。
[0079]弹性缓冲器206的深度需大于发送端和接收端相对频率偏差与最大包长度之积h的2倍,例如取2h+l。
[0080]例如,发送端和接收端相对频率偏差为1000ppm即1/1000,最大包长度为10,000比特时,h=10,则弹性缓冲器206需大于20比特如取21比特。这样当发送端时钟频率快于接收端时,弹性缓冲器206的指针ptr会持续向左移动,但在一个数据包之内,其移动不会超过10(10,000 * 1/1000)个比特。这样,弹性缓冲器206不会出现下溢出。同样,当发送端时钟频率慢于接收端时,弹性缓冲器206的指针会持续向右移动,但在一个数据包之内,其移动不会超过10(10,000 * 1/1000)个比特,这样,弹性缓冲器206不会出现上溢出。当一个数据包接收完成时,根据包结束标志弹性缓冲器206中的内容被设置为数据线空闲时的数值而弹性缓冲器206的指针ptr被设置在弹性缓冲器206的中央。这样,就为下一个数据包的接收做好了准备。
[0081]尽管本实用新型的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本实用新型的限制。在本领域技术人员阅读了上述内容后,对于本实用新型的多种修改和替代都将是显而易见的。因此,本实用新型的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种基于过采样的无需时钟恢复的数据恢复电路,其特征在于,该电路包含: 锁相环电路(201),提供η个相位等间隔的时钟信号ckO、ckl、…、Ck (η-1); 过采样电路(202),其输入端电路连接所述锁相环电路(201),接收并使用锁相环电路(201)提供的n个时钟信号对输入数据信号din进行过采样; 同步电路(203 ),其输入端电路连接所述锁相环电路(201)的时钟信号ckO和过采样电路(202),使用锁相环电路(201)的时钟ckO对过采样电路(202)的输出数据d[n_l:0]进行同步产生同步后的数据ds[n-l:0]; 边沿检测电路(204),其输入端电路连接所述锁相环电路(201)的时钟信号ckO和同步电路(203),对经过同步电路(203)同步的数据ds[n-l:0]进行边沿检测来确定数据边界;判决电路(205),其输入端电路连接所述锁相环电路(201)的时钟信号ckO、同步电路(203)和边沿检测电路(204),利用边沿检测电路(204)的判决确定的数据边界并使用权重算法从同步过的数据ds[n-l:0]中产生判定结果并根据判决时使用的滑动窗口的移动结果输出O至2位由dw[l:0]的值指示位数的数据; 弹性缓冲器(206),其输入端电路连接锁相环电路(201)的时钟信号ckO和判决电路(205),接收判决电路(205)输出的数据进行弹性调整并保持在每个ckO时钟周期输出I个比特数据。
2.如权利要求1所述的基于过采样的无需时钟恢复的数据恢复电路,其特征在于,所述的边沿检测电路(204)包含: 噪声滤除电路(301),其通过前后共4个比特数据的电平值来滤除掉由噪声产生的单个比特与其前后比特不一致的边沿; 边沿判定电路(302),其输入端电路连接所述锁相环电路(201)的时钟信号ckO和噪声滤除电路(301),使用噪声滤除电路(301)的结果查找边沿k (O =< k =< n-1); 边界移动电路(303),其输入端电路连接所述边沿判定电路(302),根据边沿移动方向和上一周期时的边界值产生当前边界kb (O =< kb =< n-l);当本周期中的数据均无跳变时,使用前一周期的值kb作为边界。
3.如权利要求1或2所述的基于过采样的无需时钟恢复的数据恢复电路,其特征在于,所述数据恢复电路中,低位比特先被传输和接收,即ds[0]先被接收,接着是ds[l]、ds[2]直到 ds[n-l] ο
【文档编号】H03L7/08GK203691378SQ201320605864
【公开日】2014年7月2日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】戴颉, 职春星 申请人:灿芯半导体(上海)有限公司

最新回复(0)