滤波单元、时钟数据恢复电路及高速USB时钟数据恢复电路的制作方法

文档序号:19217069发布日期:2019-11-26 01:47阅读:213来源:国知局
滤波单元、时钟数据恢复电路及高速USB时钟数据恢复电路的制作方法

本发明涉及集成电路制造技术领域,尤其涉及一种滤波单元、时钟数据恢复电路及高速usb时钟数据恢复电路。



背景技术:

在一般通信链路中,基于串行数据流的时钟数据恢复电路主要采用两种技术,一种是锁相环,另一种是过采样。一般情况下,过采样主要用于低速通信,如计算机之间或者计算机外围通信,而锁相环则应用于电信领域,部分原因是因为锁相环有助于消除时钟抖动,而过采样不仅不能减少抖动,还将自身产生的抖动也加入到数据位流中去。但是,基于过采样技术的时钟数据恢复电路是一种易于设计,便于用标准cmos工艺做单芯片集成的低成本数字技术,更重要的是它能够满足一些接收模块所要求的的快速同步。近年来,计算机外设的传输速率有了很大的提高,如usb2.0已达到480mbps,但是过采样技术被证明仍然可以适用于这样的传输速率。

授权公告号为cn101202615b的发明专利公开了一种突波滤波器及具有该滤波器的时钟数据恢复电路,该突波滤波器包括:第一逻辑电路,用于接收过采样锁存数据和滤波数据,探测对应于相邻三个时钟相位的数据是否符合(0,1,0)或(1,0,1)组合,若符合,则产生数据探测信号;第二逻辑电路,用于接收第一逻辑电路发送的数据探测信号,以及时钟数据恢复电路反馈回的数据跳变信号,基于该两个信号判断对应于相邻三个时钟相位的数据中是否存在突波;以及第三逻辑电路,根据第二逻辑电路的判断结果,产生相应的滤波数据,并将滤波数据反馈回第一逻辑电路。

上述专利虽然可以滤除过采样锁存数据中占据一个时钟相位的突波,但是仍然存在以下问题:(1)无法滤除占据两个时钟相位的单个突波;(2)只能过滤单个突波,无法滤除连续两个突波;(3)靠近跳边沿的突波被滤除时,电平会异常变宽或变窄。



技术实现要素:

本发明的第一目的旨在实现一种滤波单元,同时滤除占据一个时钟相位的单个突波以及占据两个时钟相位的单个突波,降低数据传输的位错率。

本发明的第一目的由以下技术方案实现:

一种滤波单元,包括滤波电路;所述滤波电路接收八位串行数据,判断八位串行数据中相邻三位数据是否符合(1,0,1)或(0,1,0)组合,相邻六位数据是否符合(1,1,0,0,1,1)或(0,0,1,1,0,0)组合,如果相邻三位数据符合(1,0,1)组合,则将1作为(1,0,1)组合中第二位数据的滤波结果输出,如果相邻三位数据符合(0,1,0)组合,则将0作为(0,1,0)组合中第二位数据的滤波结果输出,如果相邻六位数据符合(1,1,0,0,1,1)组合,则将1作为(1,1,0,0,1,1)组合中第二位数据以及第三位数据的滤波结果输出,如果相邻六位数据符合(0,0,1,1,0,0)组合,则将0作为(0,0,1,1,0,0)组合中第二位数据以及第三位数据的滤波结果输出,否则,将输入数据作为滤波结果输出。

进一步地,所述八位串行数据包括……data_n-1[7:0]、data_n[7:0]、data_n+1[7:0]……,data_i1[7:0]包括data_i1[0]、data_i1[1]……data_i1[7],i1=……n-1、n、n+1……;所述滤波电路包括八个滤波器,第j1个滤波器用于判断data_i1[j1]与它的前一位数据和后一位数据是否符合(1,0,1)或(0,1,0)组合以及data_i1[j1]与它的前两位数据和后三位数据是否符合(1,1,0,0,1,1)或(0,0,1,1,0,0)组合以及data_i1[j1]与它的前三位数据和后两位数据是否符合(1,1,0,0,1,1)或(0,0,1,1,0,0)组合,j1=0、1、2、3、4、5、6、7,如果data_i1[j1]与它的前一位数据和后一位数据符合(1,0,1)组合或data_i1[j1]与它的前两位数据和后三位数据符合(1,1,0,0,1,1)组合或data_i1[j1]与它的前三位数据和后两位数据符合(1,1,0,0,1,1)组合,第j1个滤波器将1作为data_i1[j1]的滤波结果输出,如果data_i1[j1]与它的前一位数据和后一位数据符合(0,1,0)组合或data_i1[j1]与它的前两位数据和后三位数据符合(0,0,1,1,0,0)组合或data_i1[j1]与它的前三位数据和后两位数据符合(0,0,1,1,0,0)组合,第j1个滤波器将0作为data_i1[j1]的滤波结果输出,否则,第j1个滤波器将data_i1[j1]作为data_i1[j1]的滤波结果输出。

作为具体的实施方式,所述第j1个滤波器包括滤波置位信号生成电路、滤波复位信号生成电路以及三选一选择单元;所述data_i1-1[7:0]、data_i1[7:0]、data_i1+1[7:0]组成二十四位数据data_all_i1[23:0],data_all_i1[23:0]包括data_all_i1[0]、data_all_i1[1]……data_all_i1[23];所述滤波置位信号生成电路接收data_all_i1[j1+5]、data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]、data_all_i1[j1+10]及data_all_i1[j1+11],判断data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]是否符合(1,0,1)组合,判断data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]、data_all_i1[j1+10]、data_all_i1[j1+11]是否符合(1,1,0,0,1,1)组合,判断data_all_i1[j1+5]、data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]、data_all_i1[j1+10]是否符合(1,1,0,0,1,1)组合,输出滤波置位信号;

所述滤波复位信号生成电路接收data_all_i1[j1+5]、data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]、data_all_i1[j1+10]及data_all_i1[j1+11],判断data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]是否符合(0,1,0)组合,判断data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]、data_all_i1[j1+10]、data_all_i1[j1+11]是否符合(0,0,1,1,0,0)组合,判断data_all_i1[j1+5]、data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+8]、data_all_i1[j1+9]、data_all_i1[j1+10]是否符合(0,0,1,1,0,0)组合,输出滤波复位信号;

所述三选一选择单元的三个数据输入端分别接收data_i1[j1]、1以及0,两个控制信号输入端分别接收滤波置位信号和滤波复位信号,数据输出端输出data_i1[j1]的滤波结果;所述三选一选择单元在所述滤波置位信号和滤波复位信号控制下,选择data_i1[j1]、1以及0中的一个作为data_i1[j1]的滤波结果输出;当所述data_all_i1[j1+8]是(1,0,1)组合的第二位数据,或,(1,1,0,0,1,1)的第二位数据或第三位数据时,所述滤波置位信号和滤波复位信号控制所述三选一选择单元选择1作为data_i1[j1]的滤波结果输出,当所述data_all_i1[j1+8]是(0,1,0)组合的第二位数据,或,(0,0,1,1,0,0)的第二位数据或第三位数据时,所述滤波置位信号和滤波复位信号控制所述三选一选择单元选择0作为data_i1[j1]的滤波结果输出,否则,所述滤波置位信号和滤波复位信号控制所述三选一选择单元选择data_i1[j1]作为data_i1[j1]的滤波结果输出。

进一步地,当所述data_all_i1[j1+8]是(1,0,1)组合的第二位数据,或,(1,1,0,0,1,1)的第二位数据或第三位数据时,所述滤波置位信号为1,否则,所述滤波置位信号为0;当所述data_all_i1[j1+8]是(0,1,0)组合的第二位数据,或,(0,0,1,1,0,0)的第二位数据或第三位数据时,所述滤波复位信号为1,否则,所述滤波复位信号为0。

作为具体的实施方式,所述滤波置位信号生成电路包括第一与门、第二与门、第三与门、第一非门、第二非门、第三非门、第四非门、第五非门以及第一或门;所述第一与门的两个输入端分别接收data_all_i1[j1+7]、data_all_i1[j1+9],另一个输入端与第一非门的输出端连接,第一非门的输入端接收data_all_i1[j1+9];所述第二与门的四个输入端分别接收data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+10]以及data_all_i1[j1+11],另外两个输入端分别与第二非门的输出端以及第三非门的输出端连接,第二非门的输入端与第三非门的输入端分别接收data_all_i1[j1+8]、data_all_i1[j1+9];所述第三与门的四个输入端分别接收data_all_i1[j1+5]、data_all_i1[j1+6]、data_all_i1[j1+9]以及data_all_i1[j1+10],另外两个输入端分别与第四非门的输出端以及第五非门的输出端连接,第四非门的输入端与第五非门的输入端分别接收data_all_i1[j1+7]、data_all_i1[j1+8];所述第一与门的输出端、第二与门的输出端以及第三与门的输出端分别与所述第一或门的三个输入端连接,所述第一或门的输出端与所述三选一选择单元的第一控制信号输入端连接,输出滤波置位信号给所述三选一选择单元的第一控制信号输入端。

作为具体的实施方式,所述滤波复位信号生成电路包括第四与门、第五与门、第六与门、第六非门、第七非门、第八非门、第九非门、第十非门、第十一非门、第十二非门、第十三非门、第十四非门、第十五非门以及第二或门;所述第四与门的一个输入端接收data_all_i1[j1+8],另外两个输入端分别与第六非门的输出端以及第七非门的输出端连接,第六非门的输入端与第七非门的输入端分别接收data_all_i1[j1+7]、data_all_i1[j1+9];所述第五与门的两个输入端分别接收data_all_i1[j1+8]、data_all_i1[i+9],另外四个输入端分别与第八非门的输出端、第九非门的输出端、第十非门的输出端以及第十一非门的输出端连接,第八非门的输入端、第九非门的输入端、第十非门的输入端以及第十一非门的输入端分别接收data_all_i1[j1+6]、data_all_i1[j1+7]、data_all_i1[j1+10]以及data_all_i1[j1+11];所述第六与门的两个输入端接收data_all_i1[j1+7]、data_all_i1[j1+8],另外四个输入端分别与第十二非门的输出端、第十三非门的输出端、第十四非门的输出端以及第十五非门的输出端连接,第十二非门的输入端、第十三非门的输入端、第十四非门的输入端以及第十五非门的输入端分别接收data_all_i1[j1+5]、data_all_i1[j1+6]、data_all_i1[j1+9]以及data_all_i1[i+10];所述第四与门的输出端、第五与门的输出端以及第六与门的输出端分别与所述第二或门的三个输入端连接,所述第二或门的输出端与所述三选一选择单元的第二控制信号输入端连接,输出滤波复位信号给所述三选一选择单元的第二控制信号输入端。

作为具体的实施方式,所述三选一选择单元包括第一二选一选择器以及第二二选一选择器;

所述第一二选一选择器的控制信号输入端接收滤波置位信号,一个数据输入端接收接收data_i1[j1],另一个数据输入端接收1,输出端与所述第二二选一选择器的一个数据输入端连接,所述第二二选一选择器的另一个数据输入端接收0,控制信号输入端接收滤波复位信号,输出端输出data_i1[j1]的滤波结果,当所述滤波置位信号为1时,所述滤波复位信号为0,所述第一二选一选择器选择1输出,所述第二二选一选择器选择第一二选一选择器的输出结果作为data_i1[j1]的滤波结果输出,当所述滤波复位信号为1时,所述滤波置位信号为0,所述第二二选一选择器选择0作为data_i1[j1]的滤波结果输出,当所述滤波置位信号与滤波复位信号均等于0时,所述第一二选一选择器选择data_i1[j1]输出,所述第二二选一选择器选择第一二选一选择器的输出结果作为data_i1[j1]的滤波结果输出,

或,所述第一二选一选择器的控制信号输入端接收滤波复位信号,一个数据输入端接收data_i1[j1],另一个数据输入端接收0,输出端与所述第二二选一选择器的一个数据输入端连接,所述第二二选一选择器的另一个数据输入端接收1,控制信号输入端接收滤波置位信号,输出端输出data_i1[j1]的滤波结果,当所述滤波复位信号为1时,所述滤波置位信号为0,所述第一二选一选择器选择0输出,所述第二二选一选择器选择第一二选一选择器的输出结果作为data_i1[j1]的滤波结果输出,当所述滤波置位信号为1时,所述滤波复位信号为0,所述第二二选一选择器选择1作为data_i1[j1]的滤波结果输出,当所述滤波复位信号与所述滤波置位信号均为0时,所述第一二选一选择器选择data_i1[j1]输出,所述第二二选一选择器选择第一二选一选择器的输出结果作为data_i1[j1]的滤波结果输出。

进一步地,所述滤波单元包括两个所述滤波电路,第一个滤波电路输出的滤波结果为第一滤波数据,所述第一滤波数据为八位串行数据,包括……filt1_data_n-1[7:0]、filt1_data_n[7:0]、filt1_data_n+1[7:0]……,第二个滤波电路接收所述第一滤波数据,输出的滤波结果为第二滤波数据,所述第二滤波数据为八位串行数据,包括……filt2_data_n-1[7:0]、filt2_data_n[7:0]。

进一步地,所述滤波电路的输入端接收相邻三拍八位串行数据;所述相邻三拍八位串行数据同时分别输出相邻三拍八位数据data_i1-1[7:0]、data_i1[7:0]、data_i1+1[7:0]给所述滤波电路。

进一步地,所述滤波单元包括两个所述滤波电路,第一个滤波电路输出的滤波结果为第一滤波数据,所述第一滤波数据为八位串行数据,包括……filt1_data_n-1[7:0]、filt1_data_n[7:0]、filt1_data_n+1[7:0]……,第二个滤波电路接收相邻三拍第一滤波数据,输出的滤波结果为第二滤波数据,所述相邻三拍第一滤波数据同时分别输出相邻三拍八位数据filt1_data_i1-1[7:0]、filt1_data_i1[7:0]、filt1_data_i1+1[7:0]给所述第二个滤波电路,所述第二滤波数据为八位串行数据,包括……filt2_data_n-1[7:0]、filt2_data_n[7:0]……。

本发明的第二个目的旨在实现一种采用上述滤波单元的时钟数据恢复电路,同时滤除占据一个时钟相位的单个突波以及占据两个时钟相位的单个突波,降低数据传输的位错率。

本发明的第二个目的由以下技术方案实现:

一种采用上述滤波单元的时钟数据恢复电路,还包括过采样单元、同步单元、边沿检测单元、数据选择单元以及数据存储单元;所述过采样单元接收串行输入数据以及八相时钟,输出对应于所述八相时钟的过采样数据,所述过采样数据为八位串行数据,包括……sample_data_n-1[7:0]、sample_data_n[7:0]、sample_data_n+1[7:0]……;所述同步单元接收所述过采样单元输出的过采样数据,输出经过同步处理后的同步数据,所述同步数据为八位串行数据,包括……sync_data_n-1[7:0]、sync_data_n[7:0]、sync_data_n+1[7:0]……;所述滤波单元接收所述同步单元输出的同步数据,输出滤波数据,所述滤波数据为八位串行数据,包括……filt_data_n-1[7:0]、filt_data_n[7:0]、filt_data_n+1[7:0]……,当所述滤波单元包括一个滤波电路时,所述滤波数据为第一滤波数据,当所述滤波单元包括两个滤波电路时,所述滤波数据为第二滤波数据;所述边沿检测单元接收所述滤波单元输出的滤波数据,判断滤波数据中相邻两位数据是否相等,如果不相等,将1作为后一位数据的边沿检测结果输出,否则,将0作为后一位数据的边沿检测结果输出,所有位滤波数据的边沿检测结果组成边沿检测数据,所述边沿检测数据为八位串行数据,包括……edge_data_n-1[7:0]、edge_data_n[7:0]、edge_data_n+1[7:0]……;所述数据选择单元接收所述滤波单元输出的滤波数据以及所述边沿检测单元输出的边沿检测数据,在所述滤波数据跳变沿前四个相位时钟处进行采样,且在跳变沿之后十二个相位时钟处未检测到新的跳变沿时,选择上一个采样点的后八个相位时钟处采样;所述数据存储单元用于输出所述数据选择单元采样的有效数据。

进一步地,所述数据选择单元包括高位采样电路、低位采样电路、高位采样有效标识生成电路以及低位采样有效标识生成电路;所述高位采样电路接收所述滤波数据以及边沿检测数据的低四位数据,根据所述边沿检测数据的低四位数对所述滤波数据进行高位采样,输出高位采样数据;所述低位采样电路接收滤波数据以及边沿检测数据的高四位数据,根据所述边沿检测数据的高四位数对所述滤波数据进行低位采样,输出低位采样数据;所述高位采样有效标识生成电路接收所述边沿检测数据,判断所述滤波数据是否高位有效,输出高位采样有效标识;所述低位采样有效标识生成电路接收所述边沿检测数据,判断所述滤波数据是否低位有效,输出低位采样有效标识;

如果edge_data_i1+1[j21]等于1,高位采样电路选择filt_data_i1[j21m+4]作为filt_data_i1[7:0]的高位采样数据输出,否则,高位采样电路根据edge_data_i1[j22]进行选择,如果edge_data_i1[j22]等于1,高位采样电路选择选择filt2_data_i1[j22m+4]作为filt2_data_i1[7:0]的高位采样数据输出,依此类推,j21=0,1,2,3,j21m是符合edge_data_i1+1[j21]等于1的j21的最大值,j22=0,1,2,3,j22m是符合edge_data_i1[j22]等于1的j22的最大值;

如果edge_data_i1[j31]等于1,低位采样电路选择filt_data_i1[j31m-4]作为filt2_data_i1[7:0]的低位采样数据输出,否则,低位采样电路根据edge_data_i1-1[j32]进行选择,如果edge_data_i1-1[j32]等于1,低位采样电路选择filt_data_i1[j32m-4]作为filt2_data_i1[7:0]的低位采样数据输出,依此类推,j31=4,5,6,7,j31m是符合edge_data_i1[j31]等于1的j31的最大值,j32=4,5,6,7,j32m是符合edge_data_i1-1[j32]等于1的j32的最大值;

如果edge_data_i1+1[j21]等于1,或,edge_data_i1[j41]等于1,且edge_data_i1[7:4]均等于0,且edge_data_i1+1[j41+4:0]均等于0,则filt_data_i1[7:0]高位有效,所述高位采样有效标识电路输出的高位采样有效标识有效,否则,filt_data_i1[7:0]高位无效,所述高位采样有效标识电路输出的高位采样有效标识无效,j41=0,1,2,3;

如果edge_data_i1[j31]等于1,或,edge_data_i1-1[j42]等于1,且edge_data_i1[7:0]均等于0,且edge_data_i1+1[j42:0]均等于0,则filt_data_i1[7:0]低位有效,所述低位采样有效标识电路输出的低位采样有效标识有效,否则,filt_data_i1[7:0]低位无效,所述低位采样有效标识电路输出的低位采样有效标识无效,j42=4,5,6,7;

所述数据存储单元接收高位采样数据、低位采样数据、高位采样有效标识以及低位采样有效标识,并在所述高位采样有效标识有效、低位采样有效标识无效时,存储高位采样数据,在所述低位采样有效标识有效、高位采样有效标识无效时,存储低位采样数据,在所述高位采样有效标识与低位采样有效标识均有效时,先存储低位采样数据,再存储高位采样数据,在所述高位采样有效标识与低位采样有效标识均无效时,放弃存储所述高位采样数据与低位采样数据,所述数据存储单元每存储八位数据,输出一个数据。

进一步地,所述高位采样电路包括高位采样地址生成电路以及第一八选一选择器;所述低位采样电路包括低位采样地址生成电路以及第二八选一选择器;所述高位采样地址生成电路接收edge_data_i1+1[3:0],输出高位采样地址;所述第一八选一选择器的数据输入端接收filt_data_i1[7:0],控制信号输入端接收所述高位采样地址生成电路输出的高位采样地址,所述第一八选一选择器在所述高位采样地址的控制下选择filt_data_i1[7:4]中的一位数据作为高位采样数据输出;所述低位采样地址生成电路接收edge_data_i1[7:4],输出低位采样地址;所述第二八选一选择器的数据输入端接收filt_data_i1[7:0],控制信号输入端接收所述低位采样地址生成电路输出的低位采样地址,所述第二八选一选择器在所述低位采样地址的控制下选择filt_data_i1[3:0]中的一位数据作为低位采样数据输出;

如果edge_data_i1+1[j21]等于1,高位采样地址生成电路选择j21m+4作为filt_data_i1[7:0]的高位采样地址输出,第一八选一选择器的控制信号输入端接收到j21m+4后,第一八选一选择器选择filt2_data_i1[j21m+4]作为filt_data_i1[7:0]的高位采样数据输出,否则,高位采样地址生成电路根据edge_data_i1[j22]选择高位采样地址,如果edge_data_i1[j22]等于1,高位采样地址生成电路选择j22m+4作为filt_data_i1[7:0]的高位采样地址输出,第一八选一选择器的控制信号输入端接收到j22m+4后,第一八选一选择器选择filt_data_i1[j22m+4]输出,依此类推;

如果edge_data_i1[j31]等于1,低位采样电路选择j31m-4作为filt_data_i1[7:0]的低位采样地址输出,第二八选一选择器的控制信号输入端接收到j31m-4后,第二八选一选择器选择filt_data_i1[j31m-4]作为filt_data_i1[7:0]的低位采样数据输出,否则,低位采样地址生成电路根据edge_data_i1-1[j32]选择低位采样地址,如果edge_data_i1-1[j32]等于1,低位采样地址生成电路选择j32m-4作为filt_data_i1[7:0]的低位采样地址,第二八选一选择器的控制信号输入端接收到j32m-4后,第二八选一选择器选择filt_data_i1[j32m-4]作为filt_data_i1[7:0]的低位采样数据输出,依此类推。

作为具体的实施方式,所述高位采样地址生成电路包括第三二选一选择器、第四二选一选择器、第五二选一选择器、第六二选一选择器以及第三寄存器;所述第三二选一选择器的控制信号输入端接收edge_data_i1+1[0],一个数据输入端接收第三寄存器反馈的filt_data_i1-1[7:0]的高位采样地址,另一个数据输入端接收4,输出端与第四二选一选择器的一个数据输入端连接;所述第四二选一选择器的控制信号输入端接收edge_data_i1+1[1],另一个输入输入端接收5,输出端与第五二选一选择器的一个数据输入端连接;所述第五二选一选择器的控制信号输入端接收edge_data_i1+1[2],另一个数据输入端接收6,输出端与第六二选一选择器的一个数据输入端连接;所述第六二选一选择器的控制信号输入端接收edge_data_i1+1[3],另一个数据输入端接收7,输出端输出filt_data_i1[7:0]的高位采样地址,并将filt_data_i1[7:0]的高位采样地址发送第三寄存器,由第三寄存器将filt_data_i1[7:0]的高位采样地址反馈给第三二选一选择器的一个数据输入端,作为生成filt_data_i1+1[7:0]的高位采样地址的输入值;

作为具体的实施方式,所述低位采样地址生成电路包括第七二选一选择器、第八二选一选择器、第九二选一选择器、第十二选一选择器以及第四寄存器;所述第七二选一选择器的控制信号输入端接收edge_data_i1[4],一个数据输入端接收第四寄存器反馈的filt_data_i1-1[7:0]的低位采样地址,另一个数据输入端接收0,输出端与第八二选一选择器的一个数据输入端连接;所述第八二选一选择器的控制信号输入端接收edge_data_i1[5],另一个数据输入端接收1,输出端与第九二选一选择器的一个数据输入端连接;所述第九二选一选择器的控制信号输入端接收edge_data_i1[6],另一个数据输入端接收2,输出端与第十二选一选择器的一个数据输入端连接;所述第十二选一选择器的控制信号端接收edge_data_i1[7],另一个数据输入端接收3,输出端输出filt_data_i1[7:0]的低位采样地址,并将filt_data_i1[7:0]的低位采样地址存储在第四寄存器,由第四寄存器将filt_data_i1[7:0]的低位采样地址反馈给第七二选一选择器的一个数据输入端,作为filt_data_i1+1[7:0]的低位采样地址的输入值。

进一步地,当所述filt_data_i1[7:0]高位采样有效时,所述高位采样有效标识生成电路选择1作为filt_data_i1[7:0]的高位采样有效标识输出,当所述filt_data_i1[7:0]高位采样无效时,所述高位采样有效标识生成电路选择0作为filt_data_i1[7:0]的高位采样有效标识输出;当所述filt_data_i1[7:0]低位采样有效时,所述低位采样有效标识生成电路选择1作为filt_data_i1[7:0]的低位采样有效标识输出,当所述filt_data_i1[7:0]低位采样无效时,所述低位采样有效标识生成电路选择0作为filt_data_i1[7:0]的低位采样有效标识输出。

作为具体的实施方式,所述高位采样标识生成电路包括第十一二选一选择器、第十二二选一选择器、第十三二选一选择器、第十四二选一选择器、第十五二选一选择器、第十六二选一选择器、第十七二选一选择器、第十八二选一选择器、第五寄存器、第一数值比较器、第二数值比较器、第三数值比较器、第四数值比较器、第一或非门、第二或非门、第三或非门、第四或非门、第五或非门、第七与门、第八与门、第九与门、第十与门、第十一与门、第三或门、第四或门以及第五或门;

所述第十一二选一选择器的控制信号输入端接收edge_data_i1-1[4],一个数据输入端接收第五寄存器反馈的filt_data_i1-2[7:0]的最后采样地址,另一个数据输入端接收0,输出端与第十二二选一选择器的一个数据输入端连接;所述第十二二选一选择器的控制信号输入端接收edge_data_i1-1[5],另一个数据输入端接收1,输出端与第十三二选一选择器的一个数据输入端连接;所述第十三二选一选择器的控制信号输入端接收edge_data_i1-1[6],另一个数据输入端接收2,输出端与第十四二选一选择器的一个数据输入端连接;所述第十四二选一选择器的控制信号输入端接收edge_data_i1-1[7],另一个数据输入端接收3,输出端与第十五二选一选择器的一个数据输入端连接;所述第十五二选一选择器的控制信号输入端接收edge_data_i1[0],另一个数据输入端接收4,输出端与第十六二选一选择器的一个数据输入端连接;所述第十六二选一选择器的控制信号输入端接收edge_data_i1[1],另一个数据输入端接收5,输出端与第十九二选一选择器的一个数据输入端连接;所述第十七二选一选择器的控制信号输入端接收edge_data_i1[2],另一个数据输入端接收6,输出端与第十八二选一选择器的一个数据输入端连接;所述第十八二选一选择器的控制信号输入端接收edge_data_i1[3],另一个数据输入端接收7,输出端输出filt_data_i1-1[7:0]的最后采样地址,并将filt_data_i1-1[7:0]的最后采样地址发送给第五寄存器,由第五寄存器将filt_data_i1-1[7:0]的最后采样地址反馈给第十一二选一选择器的一个数据输入端,作为生成filt_data_i1[7:0]的最后采样地址的输入值;

所述第一数值比较器、第二数值比较器、第三数值比较器以及第四数值比较器的一个输入端均接收filt_data_i1-1[7:0]的最后采样地址,另一个输入端分别接收4、5、6以及7;所述第一或非门的五个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4];所述第七与门的两个输入端分别与第一数值比较器的输出端以及第一或非门的输出端连接;所述第二或非门的六个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4]、edge_data_i1+1[5];所述第八与门的两个输入端分别与第二数值比较器的输出端以及第二或非门的输出端连接;所述第三或非门的七个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4]、edge_data_i1+1[5]、edge_data_i1+1[6];所述第九与门的两个输入端分别与第三数值比较器的输出端以及第三或非门的输出端连接;所述第四或非门的八个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4]、edge_data_i1+1[5]、edge_data_i1+1[6]、edge_data_i1+1[7];所述第十与门的两个输入端分别与第四数值比较器的输出端以及第四或非门的输出端连接;所述第三或门的四个输入端分别与第七与门的输出端、第八与门的输出端、第九与门的输出端以及第十与门的输出端连接;第五或非门nor5的四个输入端分别接edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]连接;所述第十一与门的两个输入端分别与第三或门的输出端以及第五或非门的输出端连接;所述第四或门的四个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]连接;所述第五或门的两个输入端分别与第十一与门的输出端以及第四或门的输出端连接,输出端输出高位采样有效标识。

作为具体的实施方式,所述低位低位采样有效标识生成电路包括第十一二选一选择器、第十二二选一选择器、第十三二选一选择器、第十四二选一选择器、第十五二选一选择器、第十六二选一选择器、第十七二选一选择器、第十八二选一选择器、第五寄存器、第五数值比较器、第六数值比较器、第七数值比较器、第八数值比较器、第十六非门、第六或非门、第七或非门、第八或非门、第九或非门、第十二与门、第十三与门、第十四与门、第十五与门、第十六与门、第六或门、第七或门以及第八或门;

所述第十一二选一选择器的控制信号输入端接收edge_data_i1-1[4],一个数据输入端接收第五寄存器反馈的filt_data_i1-2[7:0]的最后采样地址,另一个数据输入端接收0,输出端与第十二二选一选择器的一个数据输入端连接;所述第十二二选一选择器的控制信号输入端接收edge_data_i1-1[5],另一个数据输入端接收1,输出端与第十三二选一选择器的一个数据输入端连接;所述第十三二选一选择器的控制信号输入端接收edge_data_i1-1[6],另一个数据输入端接收2,输出端与第十四二选一选择器的一个数据输入端连接;所述第十四二选一选择器的控制信号输入端接收edge_data_i1-1[7],另一个数据输入端接收3,输出端与第十五二选一选择器的一个数据输入端连接;所述第十五二选一选择器的控制信号输入端接收edge_data_i1[0],另一个数据输入端接收4,输出端与第十六二选一选择器的一个数据输入端连接;所述第十六二选一选择器的控制信号输入端接收edge_data_i1[1],另一个数据输入端接收5,输出端与第十九二选一选择器的一个数据输入端连接;所述第十七二选一选择器的控制信号输入端接收edge_data_i1[2],另一个数据输入端接收6,输出端与第十八二选一选择器的一个数据输入端连接;所述第十八二选一选择器的控制信号输入端接收edge_data_i1[3],另一个数据输入端接收7,输出端输出filt_data_i1-1[7:0]的最后采样地址,并将filt_data_i1-1[7:0]的最后采样地址发送给第五寄存器,由第五寄存器将filt_data_i1-1[7:0]的最后采样地址反馈给第十一二选一选择器的一个数据输入端,作为生成filt_data_i1[7:0]的最后采样地址的输入值;

所述第五数值比较器、第六数值比较器、第七数值比较器以及第八数值比较器的一个输入端均接收filt_data_i1-1[7:0]的最后采样地址,另一个输入端分别接收0、1、2以及3;所述第十六非门的输入端接收edge_data_i1+1[0];所述第十二与门的两个输入端分别与第五数值比较器的输出端以及第十六非门的输出端连接;所述第六或非门的两个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1];所述第十三与门的两个输入端分别与第六数值比较器的输出端以及第六或非门的输出端连接;所述第七或非门的三个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2];所述第十四与门的两个输入端分别与第七数值比较器的输出端以及第七或非门的输出端连接;所述第八或非门的四个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3];所述第十五与门的两个输入端分别与第八数值比较器的输出端以及第八或非门的输出端连接;所述第六或门的四个输入端分别与第十二与门的输出端、第十三与门的输出端、第十四与门的输出端以及第十五与门的输出端连接;所述第九或非门的八个输入端分别接收edge_data_i1[0]、edge_data_i1[1]、edge_data_i1[2]、edge_data_i1[3]、edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7];所述第十六与门的两个输入端分别与第六或门的输出端以及第九或非门的输出端连接;所述第七或门的四个输入端分别接收edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]连接;所述第八或门的两个输入端分别与第十六与门的输出端以及第七或门的输出端连接,输出端输出低位采样有效标识。

进一步地,所述时钟数据恢复电路还包括移位寄存器;所述移位寄存器接收所述同步单元输出的同步数据,将所述同步数据寄存一拍以及寄存两拍后,输出前一拍同步数据以及前两拍同步数据;所述滤波单元接收所述同步单元输出的同步数据以及所述移位寄存器输出的前一拍同步数据、前两拍同步数据,输出滤波数据;所述移位寄存器接收所述滤波单元输出的滤波数据,将所述滤波数据寄存一拍后,输出前一拍滤波数据;所述边沿检测单元接收所述滤波单元输出的滤波数据以及所述移位寄存器输出的前一拍滤波数据,输出边沿检测数据;所述移位寄存器接收所述边沿检测单元输出的边沿检测数据,将所述边沿检测数据寄存一拍以及移动两拍后,输出前一拍边沿检测数据以及前两拍边沿检测数据;所述数据选择单元接收所述滤波单元输出的前一拍滤波数据、所述边沿检测单元输出的边沿检测数据以及所述移位寄存器输出的前一拍边沿检测数据、前两拍边沿检测数据,输出高位采样数据、低位采样数据、高位采样有效标识、低位采样有效标识;

当所述滤波单元包括一个滤波电路时,所述滤波电路接收同步单元输出的同步数据以及所述移位寄存器输出的前一拍同步数据、前两拍同步数据,输出第一滤波数据,所述第一滤波数据为所述滤波单元输出的滤波数据;当所述滤波单元包括两个滤波电路时,第一个滤波电路接收同步单元输出的同步数据以及所述移位寄存器输出的前一拍同步数据、前两拍同步数据,输出第一滤波数据,所述移位寄存器接收所述第一个滤波电路输出的第一滤波数据,将所述第一滤波数据寄存一拍以及寄存两拍后,输出前一拍第一滤波数据以及前两拍第一滤波数据,第二个滤波电路接收所述第一个滤波电路输出的第一滤波数据以及所述移位寄存器输出的前一拍第一滤波数据、前两拍第一滤波数据,输出第二滤波数据,所述第二滤波数据为所述滤波单元输出的滤波数据。

本发明的第三个目的旨在实现一种采用上述时钟数据恢复电路的高速usb时钟数据恢复电路,同时滤除占据一个时钟相位的单个突波以及占据两个时钟相位的单个突波,降低高速usb数据传输的位错率。

本发明的第三个目的由以下技术方案实现:

一种高速usb时钟数据恢复电路,采用上述时钟数据恢复电路,所述过采样单元接收的串行输入数据为高速usb数据。

本发明有益效果:本发明滤波单元将(1,0,1)、(0,1,0)组合中的第二位数据取反,滤除占据一个时钟相位的单个突波,将(1,1,0,0,1,1)、(0,0,1,1,0,0)组合中的第二位数据与第三位数据取反,滤除占据两个时钟相位的单个突波;与此同时,本发明滤波单元滤除靠近跳边沿的突波时,将跳边沿平移,降低跳变沿异常变宽或变窄的风险,降低数据传输的位错率。进一步地,本发明通过第二个滤波电路对第一个滤波电路输出的滤波结果进行第二次滤波,滤除第一个滤波电路未能完全滤除的连续单个突波,降低数据传输的位错率。进一步地,本发明通过数据选择单元在滤波单元输出的滤波数据跳变沿前四个相位时钟处采样,且在跳变沿之后十二个相位时钟处都没有检测到新的跳变沿时,选择上一个采样点的后八个相位时钟处采样,降低由于滤波数据在长时间未跳变时不采样导致漏采样的几率,降低数据传输的位错率。

附图说明

为了更清楚地说明本发明实施例,下面对实施例中所需要使用的附图做简单的介绍。下面描述中的附图仅仅是本发明中的实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1是本发明实施例一提供的时钟数据恢复电路的结构框图;

图2是本发明实施例一提供的过采样单元的电路原理图;

图3是本发明实施例一提供的同步单元的电路原理图;

图4是本发明实施例一提供的第一个滤波电路的结构框图;

图5是本发明实施例一提供的第一个滤波电路的第j1个滤波器的电路原理图;

图6是本发明实施例一提供的第二个滤波电路的结构框图;

图7是本发明实施例一提供的第二个滤波电路的第j1个滤波器的电路原理图;

图8是本发明实施例一提供的边沿检测单元的电路原理图;

图9是本发明实施例一提供的数据选择单元的结构框图;

图10是本发明实施例一提供的数据采样电路的电路原理图;

图11-1、11-2、11-3是本发明实施例一提供的采样有效标识生成电路的电路原理图;

图12是本发明实施例一提供的时钟数据恢复电路的仿真结果图;

图13是本发明实施例三提供的时钟数据恢复电路的结构框图。

具体实施方式

下面结合附图,对本发明进行详细的说明。为了使本发明的目的、技术方案、优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

如图1所示,一种时钟数据恢复电路,包括过采样单元、同步单元、滤波单元、边沿检测单元、数据选择单元、数据存储单元以及移位寄存器;滤波单元包括两个滤波电路;过采样单元接收串行输入数据data_in以及频率为480mhz的八相时钟clk0、clk1、clk2、clk3、clk4、clk5、clk6、clk7,输出对应于不同相位时钟的当前拍过采样数据sample_data0;同步单元接收时钟clk0以及过采样单元输出的当前拍过采样数据sample_data0,输出经过同步处理的当前拍同步数据sync_data0给第一个滤波电路以及移位寄存器,移位寄存器将当前拍同步数据sync_data0寄存一拍(即滞后一拍)以及寄存两拍(即滞后两拍)后,输出前一拍同步数据sync_data1以及前两拍同步数据sync_data2给第一个滤波电路;第一个滤波电路接收当前拍同步数据sync_data0、前一拍同步数据sync_data1以及前两拍同步数据sync_data2,输出经过滤波处理的当前拍第一滤波数据filt1_data0给第二个滤波电路以及移位寄存器,移位寄存器将当前拍第一滤波数据filt1_data0寄存一拍(即滞后一拍)以及寄存两拍(即滞后两拍)后,输出前一拍第一滤波数据filt1_data1以及前两拍第一滤波数据filt1_data2给第二个滤波电路;第二个滤波电路接收当前拍第一滤波数据filt1_data0、前一拍第一滤波数据filt1_data1以及前两拍第一滤波数据filt1_data2,输出经过滤波处理的当前拍第二滤波数据filt2_data0给边沿检测单元以及移位寄存器,移位存器将当前拍第二滤波数据filt2_data0寄存一拍(即滞后一拍)后,输出前一拍第二滤波数据filt2_data1给边沿检测单元以及数据选择单元;边沿检测单元接收当前拍第二滤波数据filt2_data0以及前一拍第二滤波数据filt2_data1,输出当前拍边沿检测数据edge_data0给数据选择单元以及移位寄存器,移位寄存器将当前拍边沿检测数据edge_data0寄存一拍(即滞后一拍)以及寄存两拍(即滞后两拍)后,输出前一拍边沿检测数据edge_data1以及前两拍边沿检测数据edge_data2给数据选择单元;数据选择单元接收当前拍边沿检测数据edge_data0、前一拍边沿检测数据edge_data1、前两拍边沿检测数据edge_data2以及前一拍第二滤波数据filt2_data1后,输出前一拍第二滤波数据filt2_data1的高位采样数据data_h1、前一拍第二滤波数据filt2_data1的低位采样数据data_l1、前一拍第二滤波数据filt2_data1的高位采样有效标识valid_h1以及前一拍第二滤波数据filt2_data1的低位采样有效标识valid_l1给数据存储单元;数据存储单元根据数据选择单元输出的高位采样数据data_h1、低位采样数据data_l1、高位采样有效标识valid_h1以及低位采样有效标识valid_l1,输出采样有效数据dataout。

在本实施例中,当前拍数据x_data0、前一拍数据x_data1以及前两拍数据x_data2均包括……x_data_n-1[7:0]、x_data_n[7:0]、x_data_n+1[7:0]……,只是时序不同,当前拍数据x_data0、前一拍数据x_data1以及前两拍数据x_data2同一时间分别输出相邻三拍八位数据x_data_i1+1[7:0]、x_data_i1[7:0]、x_data_i1-1[7:0]给下一级电路;x_data_i1[7:0]包括x_data_i1[0]、x_data_i1[1]、x_data_i1[2]、x_data_i1[3]、x_data_i1[4]、x_data_i1[5]、x_data_i1[6]、x_data_i1[7];x_data_i1+1[7:0]是x_data_i1[7:0]后一拍的八位数据,x_data_i1-1[7:0]是x_data_i1[7:0]前一拍的八位数据,x为sync或filt1或filt2或edge,n为整数,i1=……n-1、n、n+1……(以下同)。

在本实施例中,相邻三拍八位数据y_data_i1-1[7:0]、y_data_i1[7:0]以及y_data_i1+1[7:0]组成24位数据y_data_all_i1[23:0];y_data_all_i1[23:0]包括y_data_all_i1[0](即y_data_i1-1[0])、y_data_all_i1[1](即y_data_i1-1[1])、y_data_all_i1[2](即y_data_i1-1[2])、y_data_all_i1[3](即y_data_i1-1[3])、y_data_all_i1[4](即y_data_i1-1[4])、y_data_all_i1[5](即y_data_i1-1[5])、y_data_all_i1[6](即y_data_i1-1[6])、y_data_all_i1[7](即y_data_i1-1[7])、y_data_all_i1[8](即y_data_i1[0])、y_data_all_i1[9](即y_data_i1[1])、y_data_all_i1[10](即y_data_i1[2])、y_data_all_i1[11](即y_data_i1[3])、y_data_all_i1[12](即y_data_i1[4])、y_data_all_i1[13](即y_data_i1[5])、y_data_all_i1[14](即y_data_i1[6])、y_data_all_i1[15](即y_data_i1[7])、y_data_all_i1[16](即y_data_i1+1[0])、y_data_all_i1[17](即y_data_i1+1[1])、y_data_all_i1[18](即y_data_i1+1[2])、y_data_all_i1[19](即y_data_i1+1[3])、y_data_all_i1[20](即y_data_i1+1[4])、y_data_all_i1[21](即y_data_i1+1[5])、y_data_all_i1[22](即y_data_i1+1[6])、y_data_all_i1[23](即y_data_i1+1[7]),y为sync或filt1。

在本实施例中,高位采样数据data_h1包括……data_h_n-1,data_h_n、data_h_n+1……,data_h_i1是从前一拍第二滤波数据filt2_data1中的filt2_data_i1[7:4]采样的一位数据;低位采样数据data_l1包括……data_l_n-1,data_l_n、data_l_n+1……,data_l_i1是从前一拍第二滤波数据filt2_data1中的filt2_data_i1[3:0]采样的一位数据;高位采样有效标识valid_h1包括……valid_h_n-1,valid_h_n、valid_h_n+1……,valid_h_i1用于判定从前一拍第二滤波数据filt2_data1的filt2_data_i1[7:4]中采样的data_h_i1是否有效;前一拍低位采样有效标识valid_l1包括……valid_l_n-1、valid_l_n、valid_l_n+1……,valid_l_i1用于判定从前一拍第二滤波数据filt2_data1的filt2_data_i1[3:0]中采样的data_l_i1是否有效。

在本实施例中,过采样单元接收的串行输入数据是传输速率为480mbps的usb2.0,是一种高速传输数据,时钟数据恢复电路为高速usb时钟数据恢复电路;过采样单元通过八相时钟clk0、clk1、clk2、clk3、clk4、clk5、clk6、clk7对输入数据data_in进行八倍过采样;同步单元通过采样时钟clk0对当前拍过采样数据进行同步处理;第一个滤波电路通过判断……sync_data_n-1[7:0]、sync_data_n[7:0]、sync_data_n+1[7:0]……中相邻三位同步数据是否符合(1,0,1)或(0,1,0)组合以及相邻六位数据是否符合(1,1,0,0,1,1)或(0,0,1,1,0,0)组合,滤除……sync_data_n-1[7:0]、sync_data_n[7:0]、sync_data_n+1[7:0]……中占据一个相位的单个突波(1,0,1)、(0,1,0)以及占据两个相位的单个突波(1,1,0,0,1,1)、(0,0,1,1,0,0),如果相邻三位同步数据符合(1,0,1)组合,则将1作为(1,0,1)组合中第二位同步数据的滤波结果输出,如果相邻三位数据符合(0,1,0)组合,则将0作为(0,1,0)组合中第二位同步数据的滤波结果输出,如果相邻六位数据符合(1,1,0,0,1,1)组合,则将1作为(1,1,0,0,1,1)组合中第二位同步数据以及第三位同步数据的滤波结果输出,如果相邻六位数据符合(0,0,1,1,0,0)组合,则将0作为(0,0,1,1,0,0)组合中第二位同步数据以及第三位同步数据的滤波结果输出,否则,将输入的同步数据作为滤波结果输出;第二个滤波电路通过判断……、filt1_data_n-1[7:0]、filt1_data_n[7:0]、filt1_data_n+1[7:0]……中相邻三位第一滤波数据是否符合(1,0,1)或(0,1,0)组合以及相邻六位第一滤波数据是否符合(1,1,0,0,1,1)或(0,0,1,1,0,0)组合,滤除……、filt1_data_n-1[7:0]、filt1_data_n[7:0]、filt1_data_n+1[7:0]……中占据一个相位的突波(1,0,1)、(0,1,0)以及占据两个相位的单个突波(1,1,0,0,1,1)、(0,0,1,1,0,0),进而滤除第一个滤波电路未能完全滤除的……,sync_data_n-1[7:0],sync_data_n[7:0],sync_data_n+1[7:0]……中连续占据一个相位的单个突波(1,0,1,0,1)、(0,1,0,1,0)以及连续占据两个相位的单个突波(1,1,0,0,1,1,0,0,1,1)、(0,0,1,1,0,0,1,1,0,0),如果相邻三位第一滤波数据符合(1,0,1)组合,则将1作为(1,0,1)组合中第二位第一滤波数据的滤波结果输出,如果相邻三位第一滤波数据符合(0,1,0)组合,则将0作为(0,1,0)组合中第二位第一滤波数据的滤波结果输出,如果相邻六位第一滤波数据符合(1,1,0,0,1,1)组合,则将1作为(1,1,0,0,1,1)组合中第二位第一滤波数据以及第三位第一滤波数据的滤波结果输出,如果相邻六位数据符合(0,0,1,1,0,0)组合,则将0作为(0,0,1,1,0,0)组合中第二位第一滤波数据以及第三位第一滤波数据的滤波结果输出,否则,将输入的第一滤波数据作为滤波结果输出;边沿检测单元通过判断……filt2_data_n-1[7:0]、filt2_data_n[7:0]……中相邻两位第二滤波数据是否相等进行跳变沿检测,如果不相等,将1作为后一位第二滤波数据的边沿检测结果输出,否则,将0作为后一位第二滤波数据的边沿检测结果输出,即当edge_data_i1[j1]等于1时,filt2_data_i1[j1]发生跳变,当edge_data_i1[j1]等于0时,filt2_data_i1[j1]未发生跳变,j1=0、1、2、3、4、5、6、7;数据选择单元通过……edge_data_n-1[7:0]、edge_data_n[7:0]、edge_data_n+1[7:0]……,选择……filt2_data_n-1[7:0]、filt2_data_n[7:0]、filt2_data_n+1[7:0]……跳变沿前四个相位时钟处采样,且在跳变沿之后十二个相位时钟处都没有检测到新的跳变沿时,选择上一个采样点的后八个相位时钟处采样;数据存储单元在高位采样有效标识valid_h_i1有效时,存储高位data_h_i1,在低位采样有效标识valid_l_i1有效时,存储低位采样数据data_l_i1,在高位采样有效标识valid_h_i1和低位采样有效标识valid_l_i1均有效时,先存储低位采样数据data_l_i1,再存储高位采样数据data_h_i1,在高位采样有效标识valid_h_i1和低位采样有效标识valid_l_i1均无效时,既不存储高位采样数据data_h_i1,也不存储低位采样有效标识valid_l_i1;数据存储单元每存储八位数据后,输出一个数据data_out,并输出用于显示输出数据是否有效的数据有效标识data_valid。

在本实施例中,当高位采样有效标识valid_h_i1等于1时,filt2_data_i1[7:0]高位采样有效;当高位采样有效标识valid_h_i1等于0时,filt2_data_i1[7:0]高位采样无效;当低位采样有效标识valid_l_i1等于1时,filt2_data_i1[7:0]低位采样有效;当低位采样有效标识valid_l_i1等于0时,filt2_data_i1[7:0]低位采样无效;当数据有效标识data_valid等于1时,数据存储单元输出的数据有效;当数据有效标识data_valid等于0时,数据存储单元输出的数据无效。

如图2所示,在本实施例中,过采样单元包括八个第一寄存器rge1,八个第一寄存器reg1的数据输入端均接收输入数据data_in,复位信号输入端均接收复位信号rst_n,时钟输入端分别接收时钟clk0、clk1、clk2、clk3、clk4、clk5、clk6、clk7,输出端分别输出sample_data_i1[0]、sample_data_i1[1]、sample_data_i1[2]、sample_data_i1[3]、sample_data_i1[4]、sample_data_i1[5]、sample_data_i1[6]、sample_data_i1[7]组成sample_data_i1[7:0],因为i1=……n-1、n、n+1……,依此类推,过采样单元输出的当前拍过采样数据sample_data0包括……sample_data_n-1[7:0]、sample_data_n[7:0]、sample_data_n+1[7:0]……。

如图3所示,同步单元包括第二寄存器reg2,第二寄存器reg2的数据输入端接收sample_data_i1[7:0],复位信号输入端接收复位信号rst_n,时钟输入端接收时钟clk0,输出端输出sync_data_i1[7:0],因为i1=……n-1、n、n+1……,依此类推,同步单元接收当前拍过采样数据sample_datao,输出的当前拍同步数据sync_datao包括……sync_data_n-1[7:0]、sync_data_n[7:0]、sync_data_n+1[7:0]……。如图4所示,第一个滤波电路包括八个滤波器filt1_0、filt1_1、filt1_2、filt1_3、filt1_4、filt1_5、filt1_6以及filt1_7;第j1个滤波器filt1_j1接收sync_data_all_i1[j1+5]、sync_data_all_i1[j1+6]、sync_data_all_i1[j1+7]、sync_data_all_i1[j1+8]、sync_data_all_i1[j1+9]、sync_data_all_i1[j1+10]、sync_data_all_i1[j1+11],滤除成为突波的sync_data_i1[j1],输出sync_data_i1[j1]的滤波结果filt1_data_i1[j1],j1=0,1,2,3,4,5,6,7,依次类推,八个滤波器filt1_0、filt1_1、filt1_2、filt1_3、filt1_4、filt1_5、filt1_6、filt1_7分别滤除成为突波的sync_data_i1[0]、sync_data_i1[1]、sync_data_i1[2]、sync_data_i1[3]、sync_data_i1[4]、sync_data_i1[5]、sync_data_i1[6]、sync_data_i1[7],输出滤波结果filt1_data_i1[0]、filt1_data_i1[1]、filt1_data_i1[2]、filt1_data_i1[3]、filt1_data_i1[4]、filt1_data_i1[5]、filt1_data_i1[6]、filt1_data_i1[7],filt1_data_i1[0]、filt1_data_i1[1]、filt1_data_i1[2]、filt1_data_i1[3]、filt1_data_i1[4]、filt1_data_i1[5]、filt1_data_i1[6]、filt1_data_i1[7]组成filt1_data_i1[7:0];由于i1=……n-1、n、n+1……,依此类推,第一个滤波电路接收当前拍同步数据sync_data0、前一拍同步数据sync_data1以及前两拍同步数据sync_data2,输出的当前拍第一滤波数据包括……filt1_data_n-1[7:0]、filt1_data_n[7:0]、filt1_data_n+1[7:0]……。

如图5所示,在本实施例中,第j1个滤波器filt1_j1包括第一滤波置位信号生成电路、第一滤波复位信号生成电路以及第一三选一选择单元;第一滤波置位信号生成电路包括第一与门and101、第二与门and102、第三与门and103、第一非门not101、第二非门not102、第三非门not103、第四非门not104、第五非门not105以及第一或门0r101;第一滤波复位信号生成电路包括第四与门and104、第五与门and105、第六与门and106、第六非门not106、第七非门not107、第八非门not108、第九非门not109、第十非门not110、第十一非门not111、第十二非门not112、第十三非门not113、第十四非门not114、第十五非门not115以及第二或门or102;第一三选一选择单元包括第一二选一选择器mux2101以及第二二选一选择器mux2102。

在本实施例中,所有二选一选择器的控制原理如下:控制信号输入端sel接收到1时,输出端out选择数据输入端b的数据输出;控制信号输入端sel接收到0时,输出端选择数据输入端a的数据输出。

如图5所示,第一与门and101包括三个输入端以及一个输出端,两个输入端分别接收sync_data_all_i1[j1+7]、sync_data_all_i1[j1+9],另一个输入端与第一非门not101的输出端连接,第一非门not101的输入端接收sync_data_all_i1[j1+9];第二与门and102包括六个输入端以及一个输出端,四个输入端分别接收sync_data_all_i1[j1+6]、sync_data_all_i1[j1+7]、sync_data_all_i1[j1+10]以及sync_data_all_i1[j1+11],另外两个输入端分别与第二非门not102的输出端以及第三非门not103的输出端连接,第二非门not102的输入端与第三非门not103的输入端分别接收sync_data_all_i1[j1+8]与sync_data_all_i1[j1+9];第三与门and103包括六个输入端以及一个输出端,四个输入端分别接收sync_data_all_i1[j1+5]、sync_data_all_i1[j1+6]、sync_data_all_i1[j1+9]以及sync_data_all_i1[j1+10],另外两个输入端分别与第四非门not104的输出端以及第五非门not105的输出端连接,第四非门not104的输入端和第五非门not105的输入端分别接收sync_data_alli1[j1+7]和sync_data_all_i1[j1+8];第一与门and101的输出端、第二与门and102的输出端以及第三与门and103的输出端分别与第一或门or101的三个输入端连接,第一或门or101的输出端与第一二选一选择器mux2101的控制信号输入端sel电连接,输出第一滤波置位信号filt1_set_i1[j1]给第一二选一选择器mux2101的控制信号输入端sel,第一二选一选择器mux2101的数据输入端a与数据输入端b分别接收sync_data_i1[j1]与1。

如图5所示,第四与门and104包括三个输入端以及一个输出端,一个输入端接收sync_data_all_i1[j1+8],另外两个输入端分别与第六非门not106的输出端以及第七非门not107的输出端连接,第六非门not106的输入端与第七非门not107的输入端分别接收sync_data_all_i1[j1+7]、sync_data_all_i1[j1+9];第五与门and105包括六个输入端以及一个输出端,两个输入端分别接收sync_data_all_i1[j1+8]、sync_data_all_i1[j1+9],另外四个输入端分别与第八非门not108的输出端、第九非门not109的输出端、第十非门not110的输出端以及第十一非门not111的输出端连接,第八非门not108的输入端、第九非门not109的输入端、第十非门not110的输入端以及第十一非门not111的输入端分别接收sync_data_all_i1[j1+6]、sync_data_all_i1[j1+7]、sync_data_all_i1[j1+10]以及sync_data_all_i1[j1+11];第六与门and106包括六个输入端以及一个输出端,两个输入端接收sync_data_all_i1[j1+7]、sync_data_all_i1[j1+8],另外四个输入端分别与第十二非门not112的输出端、第十三非门not113的输出端、第十四非门not114的输出端以及第十五非门not115的输出端连接,第十二非门not112的输入端、第十三非门not113的输入端、第十四非门not114的输入端以及第十五非门not115的输入端分别接收sync_data_all_i1[j1+5]、sync_data_all_i1[j1+6]、sync_data_all_i1[j1+9]以及sync_data_all_i1[j1+10];第四与门and104的输出端、第五与门and105的输出端以及第六与门and106的输出端分别与第二或门or102的三个输入端连接,第二或门or102的输出端与第二二选一选择器mux2102的控制信号输入端sel电连接,输出第一滤波复位信号filt1_clr_i1[j1]给第二二选一选择器mux2102的控制信号输入端sel,第二二选一选择器mux2102的数据输入端a与第一二选一选择器mux2101的输出端out连接,数据输入端b接0,输出端输出sync_data_i1[j1]的滤波结果filt1_data_i1[j1]。

如图12所示,在本实施例中,第j1个滤波器filt1_j1滤除成为突波的sync_data_i1[j1]的工作原理为:当sync_data_i1[j1]出现情况一、二、三、四、五、六中的一种情况,即sync_data_i1[j1]符合(1,0,1)、(0,1,0)、(1,1,0,0,1,1)、(0,0,1,1,0,0)组合的突波时,第j1个滤波器filt1_j1将sync_data_i1[j1]取反后输出,即滤除成为突波的sync_data_i1[j1];当sync_data_i1[j1]出现情况七,即sync_data_i1[j1]不为突波时,第j1个滤波器filt1_j1直接将sync_data_i1[j1]输出。

情况一:sync_data_all_i1[j1+7]与sync_data_all_i1[j1+9]等于1,sync_data_all_i1[j1+8]等于0,sync_data_i1[j1]与它的前后位数据组成(1,0,1)突波,第一与门and101输出1,第一或门or101输出的第一滤波置位信号filt1_set_i1[j1]等于1,第一二选一选择器mux2101选择1输出,第四与门and104、第五与门and105以及第六与门and106输出0,第二或门or102输出的第一滤波复位信号filt1_set_i1[j1]等于0,第二二选一选择器mux2102选择第一二选一选择器mux2101输出的1作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1将原来的sync_data_i1[j1]从0变成1输出。

情况二:sync_data_all_i1[j1+6]、sync_data_all_i1[j1+7]、sync_data_all_i1[j1+10]、sync_data_all_i1[j1+11]等于1,sync_data_all_i1[j1+8]、sync_data_all_i1[j1+9]等于0,sync_data_i1[j1]与它的前后位数据组成(1,1,0,0,1,1)突波,第二与门and102输出1,第一或门or101输出的第一滤波置位信号filt1_set_i1[j1]等于1,第一二选一选择器mux2101选择1输出,第四与门and104、第五与门and105以及第六与门and106输出0,第二或门or102输出的第一滤波复位信号filt1_set_i1[j1]等于0,第二二选一选择器mux2102选择第一二选一选择器mux2101输出的的1作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1将原来的sync_data_i1[j1]从0变成1输出。

情况三:sync_data_all_i1[j1+5]、sync_data_all_i1[j1+6]、sync_data_all_i1[j1+9]、sync_data_all_i1[j1+10]等于1,sync_data_all_i1[j1+7]、sync_data_all_i1[j1+8]等于0,sync_data_i1[j1]与它的前后位数据组成(1,1,0,0,1,1)突波,第三与门and103输出1,第一或门0r101输出的第一滤波置位信号filt1_set_i1[j1]等于1,第一二选一选择器mux2101选择1输出,第四与门and104、第五与门and105以及第六与门and106输出0,第二或门or102输出的第一滤波复位信号filt1_set_i1[j1]等于0,第二二选一选择器mux2102选择第一二选一选择器mux2101输出的1作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1将原来的sync_data_i1[j1]从0变成1输出。

情况四:sync_data_all_i1[j1+7]与sync_data_all_i1[j1+9]等于0,sync_data_all_i1[j1+8]等于1,sync_data_i1[j1]与它的前后位数据组成(0,1,0)突波,第四与门and104输出1,第二或门or102输出的第一滤波置位信号filt1_set_i1[j1]等于1,第二二选一选择器mux2102选择0作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1将原来的sync_data_i1[j1]从1变成0输出。

情况五:sync_data_all_i1[j1+6]、sync_data_all_i1[j1+7]、sync_data_all_i1[j1+10]、sync_data_all_i1[j1+11]等于0,sync_data_all_i1[j1+8]、syncdata_all_i1[j1+9]等于1,sync_data_i1[j1]与它的前后位数据组成(0,0,1,1,0,0)突波,第五与门and105输出1,第二或门or102输出的第一滤波置位信号filt1_set_i1[j1]等于1,第二二选一选择器mux2102选择0作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1将原来的sync_data_i1[j1]从1变成0输出。

情况六:sync_data_all_i1[j1+5]、sync_data_all_i1[j1+6]、sync_data_all_i1[j1+9]、sync_data_all_i1[j1+10]等于0,sync_data_all_i1[j1+7]、sync_data_all_i1[j1+8]等于1,同步数据sync_data_i1[j1]与它的前后位数据组成(0,0,1,1,0,0)突波,第二或门or102输出的第一滤波复位信号filt1_set_i1[j1]等于1,第二二选一选择器mux2102选择0作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1将原来的sync_data_i1[j1]从1变成0输出。

情况七:sync_data_n[j1]未出现上述情况一、二、三、四、五、六中的任一种情况,第一与门and101、第二与门and102、第三与门and103、第四与门and104、第五与门and105以及第六与门and106输出均等于0,第一或门or101输出的第一滤波置位信号filt1_set_i1[j1]与第二或门or102输出的第一滤波复位信号filt1_set_i1[j1]均等于0,第一二选一选择器mux2101选择sync_data_i1[j1]输出,第二二选一选择器mux2102选择第一二选一选择器mux2101输出的sync_data_i1[j1]作为sync_data_i1[j1]的滤波结果filt1_data_i1[j1]输出,即第j1个滤波器filt1_j1直接将sync_data_i1[j1]输出。

如图6所示,第二个滤波电路包括八个滤波器filt2_0、filt2_1、filt2_2、filt2_3、filt2_4、filt2_5、filt2_6以及filt2_7;第j1个滤波器filt2_j1接收filt1_data_all_i1[j1+5]、filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+8]、filt1_data_all_i1[j1+9]、filt1_data_all_i1[j1+10]、filt1_data_all_i1[j1+11],滤除成为突波的filt1_data_i1[j1],输出filt1_data_i1[j1]的滤波结果filt1_data_i1[j1],依次类推,八个滤波器filt2_0、filt2_1、filt2_2、filt2_3、filt2_4、filt2_5、filt2_6、filt2_7分别滤除成为突波的filt1_data_i1[0]、filt1_data_i1[1]、filt1_data_i1[2]、filt1_data_i1[3]、filt1_data_i1[4]、filt1_data_i1[5]、filt1_data_i1[6]、filt1_data_i1[7],输出滤波结果filt2_data_i1[0]、filt2_data_i1[1]、filt2_data_i1[2]、filt2_data_i1[3]、filt2_data_i1[4]、filt2_data_i1[5]、filt2_data_i1[6]、filt2_data_i1[7],filt2_data_i1[0]、filt2_data_i1[1]、filt2_data_i1[2]、filt2_data_i1[3]、filt2_data_i1[4]、filt2_data_i1[5]、filt2_data_i1[6]、filt2_data_i1[7]组成filt2_data_i1[7:0];由于i1=……n-1、n、n+1……,依此类推,第二个滤波电路接收当前拍第一滤波数据filt1_data0、前一拍第一滤波数据filt1_data1以及前两拍第一滤波数据filt1_data2,输出的当前拍第二滤波数据包括……filt2_data_n-1[7:0]、filt2_data_n[7:0]、filt2_data_n+1[7:0]……。

如图7所示,在本实施例中,第j1个滤波器filt2_j1包括第二滤波置位信号生成电路、第二滤波复位信号生成电路以及第二三选一选择单元;第二滤波置位信号生成电路包括第一与门and201、第二与门and202、第三与门and203、第一非门not201、第二非门not202、第三非门not203、第四非门not204、第五非门not205以及第一或门or201;第二滤波复位信号生成电路包括第四与门and204、第五与门and205、第六与门and206、第六非门not206、第七非门not207、第八非门not208、第九非门not209、第十非门not210、第十一非门not211、第十二非门not212、第十三非门not213、第十四非门not214、第十五非门not215以及第二或门or202;第二三选一选择单元包括第一二选一选择器mux2201以及第二二选一选择器mux2202。

如图7所示,第一与门and201包括三个输入端以及一个输出端,两个输入端分别接收filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+9],另一个输入端与第一非门not201的输出端连接,第一非门not201的输入端接收filt1_data_all_i1[j1+9];第二与门and202包括六个输入端以及一个输出端,四个输入端分别接收filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+10]以及filt1_data_all_i1[j1+11],另外两个输入端分别与第二非门not202的输出端以及第三非门not203的输出端连接,第二非门not202的输入端与第三非门not203的输入端分别接收filt1_data_all_i1[j1+8]与filt1_data_all_i1[j1+9];第三与门and203包括六个输入端以及一个输出端,四个输入端分别接收filt1_data_all_i1[j1+5]、filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+9]以及filt1_data_all_i1[j1+10],另外两个输入端分别与第四非门not204的输出端以及第五非门not205的输出端连接,第四非门not204的输入端和第五非门not205的输入端分别接收filt1_data_alli1[j1+7]和filt1_data_alli1[j1+8];第一与门and201的输出端、第二与门and202的输出端以及第三与门and203的输出端分别与第一或门or201的三个输入端连接,第一或门or201的输出端与第一二选一选择器mux2201的控制信号输入端sel电连接,输出第二滤波置位信号filt2_set_i1[j1]给第一二选一选择器mux2201的控制信号输入端sel,第一二选一选择器mux2201的数据输入端a与数据输入端b分别接收filt1_data_i1[j1]与1。

如图7所示,第四与门and204包括三个输入端以及一个输出端,一个输入端接收filt1_data_all_i1[j1+8],另外两个输入端分别与第六非门not206的输出端以及第七非门not207的输出端连接,第六非门not206的输入端与第七非门not207的输入端分别接收filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+9];第五与门and205包括六个输入端以及一个输出端,两个输入端分别接收filt1_data_all_i1[j1+8]、filt1_data_all_i1[j1+9],另外四个输入端分别与第八非门not208的输出端、第九非门not209的输出端、第十非门not210的输出端以及第十一非门not211的输出端连接,第八非门not208的输入端、第九非门not209的输入端、第十非门not210的输入端以及第十一非门not211的输入端分别接收filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+10]以及filt1_data_all_i1[j1+11];第六与门and206包括六个输入端以及一个输出端,两个输入端接收filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+8],另外四个输入端分别与第十二非门not212的输出端、第十三非门not213的输出端、第十四非门not214的输出端以及第十五非门not215的输出端连接,第十二非门not212的输入端、第十三非门not213的输入端、第十四非门not214的输入端以及第十五非门not215的输入端分别接收filt1_data_all_i1[j1+5]、filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+9]以及filt1_data_all_i1[j1+10];第四与门and204的输出端、第五与门and205的输出端以及第六与门and206的输出端分别与第二或门or202的三个输入端连接,第二或门or202的输出端与第二二选一选择器mux2202的控制信号输入端sel电连接,输出第二滤波复位信号filt1_clr_i1[j1]给第二二选一选择器mux2202的控制信号输入端sel,第二二选一选择器mux2202的数据输入端a与第一二选一选择器mux2201的输出端out连接,数据输入端b接0,输出端输出filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]。

如图12所示,在本实施例中,第j1个滤波器filt2_j1滤除成为突波的filt1_data_i1[j1]的工作原理为:当filt1_data_i1[j1]出现情况一、二、三、四、五、六中的一种情况,即filt1_data_i1[j1]符合(1,0,1)、(0,1,0),(1,1,0,0,1,1)、(0,0,1,1,0,0)组合的突波,sync_data_i1[j1]为连续突波时,第j1个滤波器filt1_j1将filt1_data_i1[j1]取反后输出,即滤除成为突波的filt1_data_i1[j1];当filt1_data_i1[j1]出现情况七,即filt1_data_i1[j1]不为突波,sync_data_i1[j1]为单个突波时,第j1个滤波器filt2_j1直接将filt1_data_i1[j1]输出。

情况一:filt1_data_all_i1[j1+7]与filt1_data_all_i1[j1+9]等于1,filt1_data_all_i1[j1+8]等于0,filt1_data_i1[j1]与它的前后位数据组成(1,0,1)突波,第一与门and201输出1,第一或门or201输出的第二滤波置位信号filt2_set_i1[j1]等于1,第一二选一选择器mux2201选择1输出,第四与门and204、第五与门and205以及第六与门and206输出0,第二或门or202输出的第二滤波复位信号filt2_set_i1[j1]等于0,第二二选一选择器mux2202选择第一二选一选择器mux2201输出的1作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1将原来的filt1_data_i1[j1]从0变成1输出。

情况二:filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+10]、filt1_data_all_i1[j1+11]等于1,filt1_data_all_i1[j1+8]、filt1_data_all_i1[j1+9]等于0,filt1_data_i1[j1]与它的前后位数据组成(1,1,0,0,1,1)突波,第二与门and202输出1,第一或门or201输出的第一滤波置位信号filt1_set_i1[j1]等于1,第一二选一选择器mux2201选择1输出,第四与门and204、第五与门and205以及第六与门and206输出0,第二或门or202输出的第一滤波复位信号filt2_set_i1[j1]等于0,第二二选一选择器mux2202选择第一二选一选择器mux2201输出的的1作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1将原来的filt1_data_i1[j1]从0变成1输出。

情况三:filt1_data_all_i1[j1+5]、filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+9]、filt1_data_all_i1[j1+10]等于1,filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+8]等于0,filt1_data_i1[j1]与它的前后位数据组成(1,1,0,0,1,1)突波,第三与门and203输出1,第一或门or201输出的第二滤波置位信号filt2_set_i1[j1]等于1,第一二选一选择器mux2201选择1输出,第四与门and204、第五与门and205以及第六与门and206输出0,第二或门or202输出的第二滤波复位信号filt2_set_i1[j1]等于0,第二二选一选择器mux2202选择第一二选一选择器mux2201输出的1作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1将原来的filt1_data_i1[j1]从0变成1输出。

情况四:filt1_data_all_i1[j1+7]与filt1_data_all_i1[j1+9]等于0,filt1_data_all_i1[j1+8]等于1,filt1_data_i1[j1]与它的前后位数据组成(0,1,0)突波,第四与门and204输出1,第二或门or202输出的第二滤波置位信号filt2_set_i1[j1]等于1,第二二选一选择器mux2202选择0作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1将原来的filt1_data_i1[j1]从1变成0输出。

情况五:filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+10]、filt1_data_all_i1[j1+11]等于0,filt1_data_all_i1[j1+8]、filt1_data_all_i1[j1+9]等于1,filt1_data_i1[j1]与它的前后位数据组成(0,0,1,1,0,0)突波,第五与门and205输出1,第二或门or202输出的第二滤波置位信号filt2_set_i1[j1]等于1,第二二选一选择器mux2202选择0作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1将原来的filt1_data_i1[j1]从1变成0输出。

情况六:filt1_data_all_i1[j1+5]、filt1_data_all_i1[j1+6]、filt1_data_all_i1[j1+9]、filt1_data_all_i1[j1+10]等于0,filt1_data_all_i1[j1+7]、filt1_data_all_i1[j1+8]等于1,filt1_data_i1[j1]与它的前后位数据组成(0,0,1,1,0,0)突波,第二或门or202输出的第二滤波复位信号filt2_set_i1[j1]等于1,第二二选一选择器mux2202选择0作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1将原来的filt1_data_i1[j1]从1变成0输出。

情况七:filt1_data_n[j1]未出现上述情况一、二、三、四、五、六中的任一种情况,第一与门and201、第二与门and202、第三与门and203、第四与门and204、第五与门and205以及第六与门and206输出均等于0,第一或门or201输出的第二滤波置位信号filt2_set_i1[j1]与第二或门or202输出的第二滤波复位信号filt2_set_i1[j1]均等于0,第一二选一选择器mux2201选择filt1_data_i1[j1]输出,第二二选一选择器mux2202选择第一二选一选择器mux2201输出的filt1_data_i1[j1]作为filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]输出,即第j1个滤波器filt2_j1直接将filt1_data_i1[j1]输出。

如图8所示,边沿检测单元包括第一异或门xor1、第二异或门xor2、第三异或门xor3、第四异或门xor4、第五异或门xor5、第六异或门xor6、第七异或门xor7以及第八异或门xor8;第一异或门xor1的两个输入端分别接收filt2_data_i1-1[7]、filt2_data_i1[0],输出端输出edge_data_i1[0];第二异或门xor2的两个输入端分别接收filt2_data_i1[0]、filt2_data_i1[1],输出端输出edge_data_i1[1];第三异或门xor3的两个输入端分别接收filt2_data_i1[1]、filt2_data_i1[2],输出端输出edge_data_i1[2];第四异或门xor4的两个输入端分别接收filt2_data_i1[2]、filt2_data_i1[3],输出端输出edge_data_i1[3];第五异或门xor5的两个输入端分别接收filt2_data_i1[3]、filt2_data_i1[4],输出端输出edge_data_i1[4];第六异或门xor6的两个输入端分别接收filt2_data_i1[4]、filt2_data_i1[5],输出端输出edge_data_i1[5];第七异或门xor7的两个输入端分别接收filt2_data_i1[5]、filt2_data_i1[6],输出端输出edge_data_i1[6];第八异或门xor8的两个输入端分别接收filt2_data_i1[6]、filt2_data_i1[7],输出端输出edge_data_i1[7];edge_data_i1[0]、edge_data_i1[1]、edge_data_i1[2]、edge_data_i1[3]、edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]组成八位边沿检测数据edge_data_i1[7:0],由于i1=……n-1、n、n+1……,依此类推,边沿检测单元接收当前拍第一滤波数据filt1_data0、前一拍第一滤波数据filt1_data1,输出的当前拍边沿检测数据edge_data0包括……edge_data_n-1[7:0]、edge_data_n[7:0]、edge_data_n+1[7:0]……。

如图9所示,在本实施例中,数据选择单元包括数据采样电路以及有效标识生成电路;数据采样电路包括高位采样电路以及低位采样电路;有效标识生成电路包括高位采样有效标识生成电路以及低位采样有效标识生成电路;高位采样电路接收filt2_data_i1[7:0]以及edge_data_i1+1[3:0],根据edge_data_i1+1[3:0]对filt2_data_i1[7:0]进行高位采样,输出filt2_data_i1[7:0]的高位采样数据data_h_i1;低位采样电路接收filt2_data_i1[7:0]以及edge_data_i1[7:4],根据edge_data_i1[7:4]对filt2_data_i1[7:0]进行低位采样,输出filt2_data_i1[7:0]的低位采样数据data_l_i1;高位采样有效标识生成电路接收edge_data_i1+1[7:0]、edge_data_i1[7:0]以及edge_data_i1-1[7:4],判断filt2_data_i1[7:0]是否高位采样有效,输出filt2_data_i1[7:0]的高位采样有效标识valid_h_i1;低位采样有效标识生成电路接收edge_data_i1+1[3:0]、edge_data_i1[7:0]以及edge_data_i1-1[7:4],判断filt2_data_i1[7:0]是否低位采样有效,输出filt2_data_i1[7:0]的低位采样有效标识valid_h_i1;由于i1=……n-1、n、n+1……,依此类推,高位采样电路输出的高位采样数据包括……data_h_n-1、data_h_n[7:0]、data_h_n+1[7:0]……,低位采样电路输出的低位采样数据包括……data_l_n-1、data_l_n[7:0]、data_l_n+1[7:0]……,高位采样有效标识生成电路输出的高位采样有效标识包括……valid_h_n-1、valid_h_n[7:0]、valid_h_n+1[7:0]……,低位采样有效标识生成电路输出的低位采样有效标识包括……valid_l_n-1、valid_l_n[7:0]、valid_l_n+1[7:0]……。

如图9所示,在本实施例中,高位采样电路包括高位采样地址生成电路与第一八选一选择器mux81,低位采样电路包括低位采样地址生成电路以及第二八选一选择器mux82;高位采样地址生成电路接收edge_data_i1+1[3:0],根据edge_data_i1+1[3:0]选择filt2_data_i1[7:0]的高位采样地址adr_h_i1;第一八选一选择器mux81的数据输入端接收filt2_data_i1[7:0],控制信号输入端接收高位采样地址生成电路输出的高位采样地址adr_h_i1,在高位采样地址adr_h_i1的控制下选择filt2_data_i1[7:4]中的对应数据作为filt2_data_i1[7:0]的高位采样数据data_h_i1输出;低位采样地址生成电路的数据输入端接收edge_data_i1[7:4],根据edge_data_i1[7:4]选择filt2_data_i1[7:0]的低位采样地址adr_l_i1;第二八选一选择器mux82的数据输入端接收filt2_data_i1[7:0],控制信号输入端接收低位采样地址生成电路输出的低位采样地址adr_l_i1,在低位采样地址adr_l_i1的控制下选择filt2_data_i1[3:0]中的相应数据作为filt2_data_i1[7:0]的低位采样数据data_l_i1输出。

在本实施例中,当前拍边沿检测数据edge_datao与当前拍第二滤波数据filt2_datao同步,前一拍边沿检测数据edge_data1与前一拍第二滤波数据filt2_data1同步;数据选择单元在前一拍第二滤波数据filt2_data1跳变沿前四个相位时钟处采样,且在跳变沿之后十二个相位时钟处都没有检测到新的跳变沿时,选择上一个采样点的后八个相位时钟处采样的的工作原理如下:

如果edge_data_i1+1[j21](j21=0,1,2,3)等于1,即filt2_data_i1+1[j21]发生了跳变,即filt2_data_i1[7:4]的后四个相位时钟有发生跳变,高位采样地址生成电路选择j21m+4(j21m是符合edge_data_i1-1[j21]等于1的j21的最大值)作为高位采样地址adr_h_i1,第一八选一选择器mux81的控制信号输入端接收到j21m+4后,选择filt2_data_i1[j21m+4]作为filt_data_i1[7:0]的高位采样数据data_h_i1输出,即,高位采样地址生成电路选择filt2_data_i1-1[j21]最后跳变沿前四个相位时钟处作为filt_data_i1[7:0]的高位采样点,filt2_data_i1[j21m+4]属于filt_data_i1[7:0]的高位数据(即filt_data_i1[7:4]中的数据),否则,高位采样地址生成电路根据edge_data_i1[j22](j22=0,1,2,3)进行选择,如果edge_data_i1[j22]等于1,高位采样地址生成电路选择j22m+4(j22m是符合edge_data_i1[j22]等于1的j22的最大值)作为高位采样地址adr_h_i1,第一八选一选择器mux81的控制信号输入端接收到j22m+4后,选择filt2_data_i1[j22m+4]作为filt2_data_i1[7:0]的高位采样数据data_h_i1输出,依此类推,即高位采样地址生成电路在filt2_data_i1[7:4]的后四个相位时钟未发生跳变时,选择上一个采样点的后八个相位时钟处为下一个采样点,即在跳变沿之后十二个相位时钟处都没有检测到新的跳变沿时,高位采样电路选择上一个采样点的后八个相位时钟处采样;

如果(1)edge_data_i1+1[j21]等于1,即filt2_data_i1+1[3:0]中发生了跳变,即filt2_data_i1[7:0]的采样点在filt2_data_i1[7:4],或,(2)edge_data_i1[j41]等于1(j41=0,1,2,3,即filt2_data_i1[3:0]中发生了跳变,即filt2_data_i1-1[7:0]的采样点在filt2_data_i1-1[7:4]),且edge_data_i1[7:4]均等于0(即filt2_data_i1[7:4]均未发生跳变),且edge_data_i1+1[j41+4:0]均等于0,即filt2_data_i1[3:0]最后跳变之后的十二个相位时钟之内均未再发生跳变,高位采样有效标识电路输出的filt2_data_i1[7:0]的高位采样有效标识valid_data_i1就均有效,即,filt2_data_i1+1[3:0]发生跳变,或,filt_data_i1[3:0]发生了跳变后十二个相位时钟未出现新的跳变,filt2_data_i1[7:0]均高位采样有效,结合高位采样地址生成电路在filt2_data_i1+1[3:0]发生跳变时,选择跳变沿前四个时钟相位处j21m+4作为filt2_data_i1[7:0]的高位采样地址adr_h_i1,以及,高位采样地址生成电路在filt2_data_i1+1[3:0]未发生跳变时,选择上一个采样点的后八个相位时钟处为下一个采样点,可知,数据存储单元在filt2_data_i1+1[3:0]发生跳变时,输出跳变沿前四个时钟相位处的数据filt2_data_i1[j21m+4]作为filt2_data_i1[7:0]的高位采样数据,在filt_data_i1[3:0]发生了跳变后十二个相位时钟未出现新的跳变时,输出上一个采样点后八个相位时钟处的数据filt2_data_i1[j22m+4]作为filt2_data_i1[7:0]的高位采样数据;

如果edge_data_i1[j31]等于1(j31=4,5,6,7),即filt2_data_i1[j31]发生了跳变,即filt2_data_i1[7:0]的采样点在filt2_data_i1[3:0],低位采样地址生成电路选择j31m-4(j31m是符合edge_data_i1-1[j31]等于1的j31的最大值)作为filt2_data_i1[7:0]的低位采样地址adr_l_i1,第二八选一选择器mux82的控制信号输入端接收到j31m-4后,选择filt_data_i1[j31m-4]作为filt2_data_i1[7:0]的低位采样数据输出,即,低位采样地址生成电路选择filt2_data_i1[7:4]最后跳变沿前四个相位时钟处作为filt_data_i1[7:0]的低位采样点,filt2_data_i1[j31m-4]属于filt_data_i1[7:0]的低位数据(即filt_data_i1[3:0]中的数据),否则,低位采样电路根据edge_data_i1-1[j32]进行选择,如果edge_data_i1-1[j32]等于1(j32=4,5,6,7),低位采样电路选择j32m-4(j32m是符合edge_data_i1-1[j32]等于1的j32的最大值)作为filt2_data_i1[7:0]的低位采样地址adr_l_i1,第二八选一选择器mux82的控制信号输入端接收到j32m-4后,选择filt_data_i1[j32m-4]作为filt2_data_i1[7:0]的低位采样数据输出,依此类推,即低位采样地址生成电路在filt2_data_i1[7:4]未发生跳变时,选择上一个采样点的后八个相位时钟处为下一个采样点,即在跳变沿之后十二个相位时钟处都没有检测到新的跳变沿时,低位采样电路选择上一个采样点的后八个相位时钟处采样;

如果(1)edge_data_i1[j31]等于1,即filt2_data_i1[7:4]发生了跳变,即filt2_data_i1[7:0]的采样点在filt2_data_i1[3:0],或,(2)edge_data_i1-1[j42]等于1(j42=4,5,6,7,即filt2_data_i1-1[7:4]发生了跳变,filt2_data_i1-1[7:0]的采样点在filt2_data_i1-1[3:0]),且edge_data_i1[7:0]均等于0(即edge_data_i1[7:0]均未发生跳变),且edge_data_i1+1[j42:0]均等于,即filt_data_i1-1[7:4]最后跳变之后的十二个相位时钟之内均未再发生跳变,低位采样有效标识电路输出的低位采样有效标识valid_data_i1均有效,即,如果filt2_data_i1[7:4]发生跳变,或,filt_data_i1-1[7:4]发生了跳变后十二个相位时钟未出现新的跳变,filt2_data_i1[7:0]均低位采样有效,结合低位采样地址生成电路在filt2_data_i1[7:4]发生跳变时,选择跳变沿前四个时钟相位处j31m+4作为低位采样地址adr_l_i1,以及,低位采样地址生成电路在filt2_data_i1[7:4]未发生跳变时,选择上一个采样点的后八个相位时钟处为下一个采样点,可知,数据存储单元在filt2_data_i1[7:4]的后四个相位时钟发生跳变时,输出跳变沿前四个时钟相位处的数据filt2_data_i1[j31m-4]作为filt2_data_i1[7:0]的低位采样数据,在filt_data_i1-1[7:4]发生了跳变后十二个相位时钟未出现新的跳变时,输出上一个采样点后八个相位时钟处的数据filt2_data_i1[j32m-4]作为filt2_data_i1[7:0]的低位采样数据。

如图10所示,在本实施例中,高位采样地址生成电路包括第三二选一选择器mux203、第四二选一选择器mux204、第五二选一选择器mux205、第六二选一选择器mux206以及第三寄存器reg3;第三二选一选择器mux203的控制信号输入端sel接收edge_data_i1+1[0],数据输入端a接收第三寄存器reg3反馈的前一拍数据filt2_data_i1-1[7:0]的高位采样地址adr_h_i1-1,数据输入端b接收4,输出端与第四二选一选择器mux204的数据输入端a连接;第四二选一选择器mux204的控制信号输入端接收edge_data_i1+1[1],数据输入端b接收5,输出端与第五二选一选择器mux205的数据输入端a连接;第五二选一选择器mux205的控制信号输入端接收edge_data_i1+1[2],数据输入端b接收6,输出端与第六二选一选择器mux206的数据输入端a连接;第六二选一选择器mux206的控制信号输入端接收edge_data_i1+1[3],数据输入端b接收7,输出端输出filt2_data_i1[7:0]的高位采样地址adr_h_i1,并将filt2_data_i1[7:0]的高位采样地址adr_h_i1发送给第三寄存器reg3,由于i1=……n-1、n、n+1……,依此类推,可知,高位采样地址生成电路接收……edge_data_n-1[3:0]、edge_data_n+1[3:0]、edge_data_n+1[3:0]……,输出给第三寄存器reg3的高位采样地址adr_h包括……adr_h_n-1、adr_h_n、adr_h_n+1……,第三寄存器reg3将……adr_h_n-1、adr_h_n、adr_h_n+1……寄存一拍(即滞后一拍)后,输出前一拍高位采样地址给第三二选一选择器mux203,第三寄存器reg3将高位采样地址adr_h_i1反馈给第三二选一选择器mux203的数据输入端a,作为生成后一拍第二滤波数据filt2_data_i1+1[7:0]的高位采样地址adr_h_i1+1的输入值。

如图10所示,低位采样地址生成电路包括第七二选一选择器mux207、第八二选一选择器mux208、第九二选一选择器mux209、第十二选一选择器mux210以及第四寄存器reg4;第七二选一选择器mux207的控制信号输入端sel接收edge_data_i1[4],数据输入端a接收第四寄存器reg4反馈的前一拍数据filt2_data_i1-1[7:0]的低位采样地址adr_l_i1-1,数据输入端b接收0,输出端与第八二选一选择器mux208的数据输入端a连接;第八二选一选择器mux208的控制信号输入端接收edge_data_i1[5],数据输入端b接收1,输出端与第九二选一选择器mux209的数据输入端a连接;第九二选一选择器mux209的控制信号输入端接收edge_data_i1[6],数据输入端b接收2,输出端与第十二选一选择器mux210的数据输入端a连接;第十二选一选择器mux210的控制信号输入端接收edge_data_i1[7],数据输入端b接收3,输出端输出filt2_data_i1[7:0]的低位采样地址adr_l_i1,并将filt2_data_i1[7:0]的低位采样地址adr_l_i1发送给第四寄存器reg4,由于i1=……n-1、n、n+1……,依此类推,可知,低位采样地址生成电路接收……edge_data_n-1[7:4]、edge_data_n+1[7:4]、edge_data_n+1[7:4]……,输出给第四寄存器reg4的低位采样地址adr_l包括……adr_l_n-1、adr_l_n、adr_l_n+1……,第四寄存器reg4将……adr_l_n-1、adr_l_n、adr_l_n+1……寄存一拍(即滞后一拍)后,输出前一拍低位采样地址给第七二选一选择器mux207,第四寄存器reg4将低位采样地址反馈给第七二选一选择器mux207的数据输入端a,作为生成后一拍数据filt2_data_i1+1[7:0]的低位采样地址adr_i1_i1+1的输入值。

在本实施例中,由于第一个滤波电路以及第二个滤波电路滤除了……sync_data_n-1[7:0]、sync_data_n[7:0]、sync_data_n+1[7:0]……中的单个以及连续突波,……filt2_data_n-1[7:0]、filt2_data_n[7:0]、filt2_data_n+1[7:0]……中连续四个时钟相位最多出现一次跳变,即edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]中最多有一个数值为1,即j21m等于符合edge_data_i1+1[j21]=1的j21;edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]中最多有一个数值为1,即j31m等于符合edge_data_i1[j31]=1的j31,edge_data_i1[0]、edge_data_i1[1]、edge_data_i1[2]、edge_data_i1[3]中最多有一个数值为1,edge_data_i1-1[4]、edge_data_i1-1[5]、edge_data_i1-1[6]、edge_data_i1-1[7]中最多有一个数值为1。

在本实施例中,高位采样地址生成电路的工作原理如下:当edge_data_i1+1[0]等于1,edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]均等于0,即filt2_data_i1+1[0]发生跳变,filt2_data_i1+1[1]、filt2_data_i1+1[2]、filt2_data_i1+1[3]未发生跳变时,第五二选一选择器mux205选择4输出,第四二选一选择器mux204选择第五二选一选择器mux205输出的4输出,依此类推,第五二选一选择器mux205选择第四二选一选择器mux204输出的4输出,第六二选一选择器mux206选择第五二选一选择器mux205输出的4作为第二滤波数据filt2_data_i1[7:0]的高位采样地址adr_h_i1输出;第一八选一选择器mux81的控制信号输入端sel接收到4后,选择filt2_data_i1[4]作为filt2_data_i1[7:0]的高位采样数据data_h_i1输出,filt2_data_i1[4]位于filt2_data_i1+1[0]前四个相位处;依此类推,当edge_data_i1+1[1]等于1,edge_data_i1+1[0]、edge_data_i1+1[2]、edge_data_i1+1[3]均等于0时,第六二选一选择器mux206选择5作为第二滤波数据filt2_data_i1[7:0]的高位采样地址adr_h_i1输出;第一八选一选择器mux81的控制信号输入端sel接收到5后,选择filt2_data_i1[5]作为filt2_data_i1[7:0]的高位采样数据data_h_i1输出,filt2_data_i1[5]位于filt2_data_i1+1[1]前四个相位处;依此类推,当edge_data_i1+1[2]等于1,edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[3]均等于0时,第六二选一选择器mux206选择6作为第二滤波数据filt2_data_i1[7:0]的高位采样地址adr_h_i1输出;第一八选一选择器mux81的控制信号输入端sel接收到6后,选择filt2_data_i1[6]作为filt2_data_i1[7:0]的高位采样数据data_h_i1输出,filt2_data_i1[6]位于filt2_data_i1+1[2]前四个相位处;依此类推,当edge_data_i1+1[3]等于1,edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]均等于0时,第六二选一选择器mux206选择7作为第二滤波数据filt2_data_i1[7:0]的高位采样地址adr_h_i1输出;第一八选一选择器mux81的控制信号输入端sel接收到7后,选择filt2_data_i1[7]作为filt2_data_i1[7:0]的高位采样数据data_h_i1输出,filt2_data_i1[7]位于filt2_data_i1+1[3]前四个相位处;当edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]均等于0时,第六二选一选择器mux206选择filt2_data_i1-1[7:0]的高位采样地址adr_h_i1-1作为filt2_data_i1[7:0]的高位采样地址adr_h_i1输出。

在本实施例中,低位采样地址生成电路的工作原理如下:当edge_data_i1[4]等于1,edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]均等于0,即filt2_data_i1[4]发生跳变,filt2_data_i1[5]、filt2_data_i1[6]、filt2_data_i1[7]未发生跳变时,第七二选一选择器mux207选择0输出,第八二选一选择器mux208选择第七二选一选择器mux207输出的0输出,依此类推,第九二选一选择器mux209选择第八二选一选择器mux208输出的0输出,第十二选一选择器mux210选择第九二选一选择器mux209输出的0作为第二滤波数据filt2_data_i1[7:0]的低位采样地址adr_l_i1输出;第二八选一选择器mux82的控制信号输入端sel接收到0后,选择filt2_data_i1[0]作为filt2_data_i1[7:0]的低位采样数据data_l_i1输出,filt2_data_i1[0]位于filt2_data_i1[4]前四个相位处;依此类推,当edge_data_i1[5]等于1,edge_data_i1[4]、edge_data_i1[6]、edge_data_i1[7]均等于0时,第十二选一选择器mux210选择1作为第二滤波数据filt2_data_i1[7:0]的低位采样地址adr_l_i1输出;第二八选一选择器mux82的控制信号输入端sel接收到1后,选择filt2_data_i1[1]作为filt2_data_i1[7:0]的低位采样数据data_l_i1输出,filt2_data_i1[1]位于filt2_data_i1[5]前四个相位处;当edge_data_i1[6]等于1,edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[7]均等于0时,第十二选一选择器mux210选择2作为第二滤波数据filt2_data_i1[7:0]的低位采样地址adr_l_i1输出;第二八选一选择器mux82的控制信号输入端sel接收到2后,选择filt2_data_i1[2]作为filt2_data_i1[7:0]的低位采样数据data_l_i1输出,filt2_data_i1[2]位于filt2_data_i1[6]前四个相位处;当edge_data_i1[7]等于1,edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]均等于0,第十二选一选择器mux210选择3作为第二滤波数据filt2_data_i1[7:0]的低位采样地址adr_l_i1输出;第二八选一选择器mux82的控制信号输入端sel接收到3后,选择filt2_data_i1[3]作为filt2_data_i1[7:0]的低位采样数据data_l_i1输出,filt2_data_i1[3]位于filt2_data_i1[7]前四个相位处;当edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]均等于0时,第六二选一选择器mux206选择filt2_data_i1-1[7:0]的低位采样地址adr_h_i1-1作为filt2_data_i1[7:0]的低位采样地址adr_h_i1输出。

如图11-1、11-2、11-3所示,有效标识生成电路包括第十一二选一选择器mux211、第十二二选一选择器mux212、第十三二选一选择器mux213、第十四二选一选择器mux214、第十五二选一选择器mux215、第十六二选一选择器mux216、第十七二选一选择器mux217、第十八二选一选择器mux218、第五寄存器reg5、第一数值比较器nc1、第二数值比较器nc2、第三数值比较器nc3、第四数值比较器nc4、第一或非门nor1、第二或非门nor2、第三或非门nor3、第四或非门nor4、第五或非门nor5、第七与门and07、第八与门and08、第九与门and09、第十与门and10、第十一与门and11、第三或门or3、第四或门or4、第五或门or5、第五数值比较器nc5、第六数值比较器nc6、第七数值比较器nc7、第八数值比较器nc8、第十六非门not16、第六或非门nor6、第七或非门nor7、第八或非门nor8、第九或非门nor9、第十二与门and12、第十三与门and13、第十四与门and14、第十五与门and15、第十六与门and16、第六或门or6、第七或门or7以及第八或门or8;第十一二选一选择器mux211、第十二二选一选择器mux212、第十三二选一选择器mux213、第十四二选一选择器mux214、第十五二选一选择器mux215、第十六二选一选择器mux216、第十七二选一选择器mux217、第十八二选一选择器mux218、第五寄存器reg5、第一数值比较器nc1、第二数值比较器nc2、第三数值比较器nc3、第四数值比较器nc4、第一或非门nor1、第二或非门nor2、第三或非门nor3、第四或非门nor4、第五或非门nor5、第七与门and07、第八与门and08、第九与门and09、第十与门and10、第十一与门and11、第三或门or3、第四或门or4以及第五或门or5组成高位采样标识生成电路;第十一二选一选择器mux211、第十二二选一选择器mux212、第十三二选一选择器mux213、第十四二选一选择器mux214、第十五二选一选择器mux215、第十六二选一选择器mux216、第十七二选一选择器mux217、第十八二选一选择器mux218、第五寄存器reg5、第五数值比较器nc5、第六数值比较器nc6、第七数值比较器nc7、第八数值比较器nc8、第十六非门not16、第六或非门nor6、第七或非门nor7、第八或非门nor8、第九或非门nor9、第十二与门and12、第十三与门and13、第十四与门and14、第十五与门and15、第十六与门and16、第六或门or6、第七或门or7以及第八或门or8组成低位采样标识生成电路。

在本实施例中,所有数值比较器均为一位数值比较器,当输入的两个值相等时,数值比较器输出1,否则,数值比较器输出0;nc是numericcomparator的简称,代表数值比较器。

如图11-1所示,第十一二选一选择器mux211的控制信号输入端sel接收edge_data_i1-1[4],数据输入端a接收第五寄存器reg5反馈的前一拍数据filt2_data_i1-2[7:0]的最后采样地址adr_all_i1-2,数据输入端b接收0,输出端与第十二二选一选择器mux212的数据输入端a连接;第十二二选一选择器mux212的控制信号输入端接收edge_data_i1-1[5],数据输入端b接收1,输出端与第十三二选一选择器mux213的数据输入端a连接;第十三二选一选择器mux213的控制信号输入端接收edge_data_i1-1[6],数据输入端b接收2,输出端与第十四二选一选择器mux214的数据输入端a连接;第十四二选一选择器mux214的控制信号输入端接收edge_data_i1-1[7],数据输入端b接收3,输出端与第十五二选一选择器mux215的数据输入端a连接;第十五二选一选择器mux215的控制信号输入端接收edge_data_i1[0],数据输入端b接收4,输出端与第十六二选一选择器mux216的数据输入端a连接;第十六二选一选择器mux216的控制信号输入端接收edge_data_i1[1],数据输入端b接收5,输出端与第十九二选一选择器mux218的数据输入端a连接;第十七二选一选择器mux217的控制信号输入端接收edge_data_i1[2],数据输入端b接收6,输出端与第十八二选一选择器mux218的输入端a连接;第十八二选一选择器mux218的控制信号输入端接收edge_data_i1[3],数据输入端b接收7,输出端输出第二滤波数据filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1,并将第二滤波数据filt2_data_i1+1[7:0]的最后采样地址adr_all_i1+1发送给第五寄存器reg5,由于i1=……n-1、n、n+1……,依此类推,可知,有效标识生成电路输出给第五寄存器reg5的最后采样地址包括……adr_all_n-1、adr_all_n、adr_all_n+1……,第五寄存器reg5将……adr_all_n-1、adr_all_n、adr_all_n+1……寄存一拍(即滞后一拍)后,输出前一拍最后采样地址给第五寄存器reg5;第五寄存器reg5将filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1反馈给第十一二选一选择器mux211的数据输入端a,作为生成filt2_data_i1[7:0]的最后采样地址adr_all_i1的输入值。

如图11-2所示,第一数值比较器nc1的一个输入端、第二数值比较器nc2的一个输入端、第三数值比较器nc3的一个输入端以及第四数值比较器nc4的一个输入端均接收filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1,第一数值比较器nc1的另一个输入端、第二数值比较器nc2的另一个输入端、第三数值比较器nc3的另一个输入端以及第四数值比较器nc4的另一个输入端分别接收4、5、6以及7;第一或非门nor1的五个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4];第七与门and07的两个输入端分别与第一数值比较器nc1的输出端以及第一或非门nor1的输出端连接;第二或非门nor2的六个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4]、edge_data_i1+1[5];第八与门and08的两个输入端分别与第二数值比较器nc2的输出端以及第二或非门nor2的输出端连接;第三或非门nor3的七个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4]、edge_data_i1+1[5]、edge_data_i1+1[6];第九与门and09的两个输入端分别与第三数值比较器nc3的输出端以及第三或非门nor3的输出端连接;第四或非门nor4的八个输入端分别接收边沿检测数据edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3]、edge_data_i1+1[4]、edge_data_i1+1[5]、edge_data_i1+1[6]、edge_data_i1+1[7];第四与门and204的两个输入端分别与第四数值比较器nc4的输出端以及第四或非门nor4的输出端连接;第五或非门or5的四个输入端分别与第七与门and07的输出端、第八与门and08的输出端、第九与门and09的输出端以及第十与门and204的输出端连接;第五或非门nor5的四个输入端分别接收edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7];第十一与门and11的两个输入端分别与第三或门or3的输出端以及第五或非门nor5的输出端连接;第四或门or4的四个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3];第五或门or5的两个输入端分别与第十一与门and11的输出端以及第四或门or4的输出端连接,输出端输出filt2_data_i1[7:0]的高位采样有效标识valid_h_i1。

如图11-3所示,第五数值比较器nc5的一个输入端、第六数值比较器nc6的一个输入端、第七数值比较器nc7的一个输入端以及第八数值比较器nc8的一个输入端均接收filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1,第五数值比较器nc5的另一个输入端、第六数值比较器nc6的另一个输入端、第七数值比较器nc7的另一个输入端以及第八数值比较器nc8的另一个输入端分别接收0、1、2以及3;第十六非门not16的输入端接收edge_data_i1+1[0];第十二与门and12的两个输入端分别与第五数值比较器nc5的输出端以及第十六非门not16的输出端连接;第六或非门nor6的两个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1];第十三与门and13的两个输入端分别与第六数值比较器nc6的输出端以及第六或非门nor6的输出端连接;第七或非门nor7的三个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2];第十四与门and14的两个输入端分别与第七数值比较器nc7的输出端以及第七或非门nor7的输出端连接;第八或非门nor8的四个输入端分别接收edge_data_i1+1[0]、edge_data_i1+1[1]、edge_data_i1+1[2]、edge_data_i1+1[3];第十五与门and15的两个输入端分别与第八数值比较器nc8的输出端以及第八或非门nor8的输出端连接;第六或门or6的四个输入端分别与第十二与门and12的输出端、第十三与门and13的输出端、第十四与门and14的输出端以及第十五与门and15的输出端连接;第九或非门nor9的八个输入端分别接收edge_data_i1[0]、edge_data_i1[1]、edge_data_i1[2]、edge_data_i1[3]、edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7];第十六与门and16的两个输入端分别与第六或门or6的输出端以及第九或非门nor9的输出端连接;第七或门or7的四个输入端分别接收edge_data_i1[4]、edge_data_i1[5]、edge_data_i1[6]、edge_data_i1[7]连接;第八或门or8的两个输入端分别与第十六与门and16的输出端以及第七或门or7的输出端连接,输出端输出filt2_data_i1[7:0]的低位采样有效标识valid_l_i1。

如图12所示,在本实施例中,高位采样有效标识生成电路的工作原理如下:

如图11-1所示,当edge_data_i1[0]等于1,edge_data_i1[1]、edge_data_i1[2]、edge_data_i1[3]均等于0时,即filt2_data_i1[0]发生跳变,filt2_data_i1[1]、filt2_data_i1[2]、filt2_data_i1[3]均未发生跳变时,第十八二选一选择器mux218选择4作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1,依此类推,当edge_data_i1[1]等于1,edge_data_i1[0]、edge_data_i1[2]、edge_data_i1[3]均等于0时,第十八二选一选择器mux218选择5作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1;当edge_data_i1[2]等于1,edge_data_i1[0]、edge_data_i1[1]edge_data_i1[3]均等于0时,第十八二选一选择器mux218选择6作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1;当edge_data_i1[3]等于1,edge_data_i1[0]、edge_data_i1[1]edge_data_i1[2]均等于0时,第十八二选一选择器mux218选择7作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1;

当edge_data_i1+1[3:0]中的一位数据等于1时,第四或门or4输出1,第五或门or5输出的高位采样有效标识valid_h_i1为1,即filt2_data_i1+1[3:0]出现跳变时,filt2_data_i1[7:0]高位采样有效;当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于4且edge_data_i1+1[4:0]均等于0,edge_data_i1[7:4]均等于0时,第一数值比较器nc1输出1,第一或非门nor1输出1,第七与门and07输出1,第三或门or3输出1,第五或非门nor5输出1,第十一与门and11输出1,第五或门or5输出的高位采样有效标识valid_h_i1为1,即filt2_data_i1[0]发生跳变后十二个时钟,包括filt2_data_i1[1]、filt2_data_i1[2]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]、filt2_data_i1+1[2]……filt2_data_i1+1[4])均未再发生跳变时,filt2_data_i1[7:0]高位采样有效;

依此类推,当filt2_data_i1-1[7:0]的最后采样地址adr_all_n-1等于5且edge_data_i1+1[5:0]均等于0,edge_data_i1[7:4]均等于0时,第二数值比较器nc2输出1,第二或非门nor2输出1,第八与门and08输出1,第三或门or3输出1,第五或非门nor5输出1,第十一与门and11输出1,第五或门or5输出的高位采样有效标识valid_h_i1为1,即filt2_data_i1[1]发生跳变后十二个时钟,包括filt2_data_i1[2]、filt2_data_i1[3]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]、filt2_data_i1+1[2]……filt2_data_i1+1[5])均未再发生跳变时,filt2_data_i1[7:0]高位采样有效;当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于6且edge_data_i1+1[6:0]均等于0,edge_data_i1[7:4]均等于0时,第三数值比较器nc3输出1,第三或非门nor3输出1,第九与门and09输出1,第三或门or3输出1,第五或非门nor5输出1,第十一与门and11输出1,第五或门or5输出的高位采样有效标识valid_h_i1为1,即filt2_data_i1[2]发生跳变后十二个时钟,包括filt2_data_i1[3]、filt2_data_i1[3]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]、filt2_data_i1+1[2]……filt2_data_i1+1[6])均未再发生跳变时,filt2_data_i1[7:0]高位采样有效;当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于7且edge_data_i1+1[7:0]均等于0,edge_data_i1[7:4]均等于0时,第四数值比较器nc4输出1,第四或非门nor4输出1,第十与门and10输出1,第三或门or3输出1,第五或非门nor5输出1,第十一与门and11输出1,第五或门or5输出的高位采样有效标识valid_h_i1为1,即filt2_data_i1[3]发生跳变后十二个时钟,包括filt2_data_i1[4]、filt2_data_i1[3]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]、filt2_data_i1+1[2]……filt2_data_i1+1[7])均未再发生跳变时,filt2_data_i1[7:0]高位采样有效。

如图12所示,在本实施例中,低位采样有效标识生成电路的工作原理如下:

如图11-1所示,当edge_data_i1-1[4]等于1,edge_data_i1-1[5]、edge_data_i1-1[6]、edge_data_i1-1[7]以及edge_data_i1[3:0]均等于0时,即]filt2_data_i1-1[4]发生跳变,filt2_data_i1-1[5]、filt2_data_i1-1[6]、filt2_data_i1-1[7]以及filt2_data_i1[3:0]均未发生跳变时,第十八二选一选择器mux218选择0作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1;依此类推,当edge_data_i1-1[5]等于1,edge_data_i1-1[4]、edge_data_i1-1[6]、edge_data_i1-1[7]以及edge_data_i1[3:0]均等于0时,即filt2_data_i1-1[5]发生跳变,filt2_data_i1-1[4]、filt2_data_i1-1[6]、filt2_data_i1-1[7]以及filt2_data_i1[3:0]均未发生跳变时,第十八二选一选择器mux218选择1作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1;当edge_data_i1-1[6]等于1,edge_data_i1-1[4]、edge_data_i1-1[5]、edge_data_i1-1[7]以及edge_data_i1[3:0]均等于0时,即filt2_data_i1-1[6]发生跳变,filt2_data_i1-1[4]、filt2_data_i1-1[5]、filt2_data_i1-1[7]以及filt2_data_i1[3:0]均未发生跳变时,第十八二选一选择器mux218选择2作为filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1;当edge_data_i1-1[7]等于1,edge_data_i1-1[4]、edge_data_i1-1[5]、edge_data_i1-1[6]以及edge_data_i1[3:0]均等于0时,即filt2_data_i1-1[7]发生跳变,filt2_data_i1-1[4]、filt2_data_i1-1[5]、filt2_data_i1-1[6]以及filt2_data_i1[3:0]均未发生跳变时,第十八二选一选择器mux218选择3作为filt2_data_i11[7:0]的最后采样地址adr_all_i1-1;

当edge_data_i1[7:4]中的一位数据等于1时,第七或门or7输出1,第八或门or8输出的低位采样有效标识valid_l_i1为1,即filt2_data_i1[7:4]出现跳变时,filt2_data_i1[7:0]低位采样有效;当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于0且edge_data_i1+1[0]等于0,edge_data_i1[7:0]均等于0时,第五数值比较器nc5输出1,第十六非门not16输出1,第十二与门and12输出1,第六或门or6输出1,第九或非门nor9输出1,第十六与门and16输出1,第八或门or8输出的低位采样有效标识valid_l_i1为1,即filt2_data_i1-1[4]发生跳变后十二个时钟,包括filt2_data_i1-1[5]、filt2_data_i1-1[6]、filt2_data_i1-1[7]、filt2_data_i1[0]、filt2_data_i1[1]……filt2_data_i1[7]以及filt2_data_i1+1[0])均未再发生跳变时,filt2_data_i1[7:0]低位采样有效;依此类推,当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于1且edge_data_i1+1[1:0]均等于0,edge_data_i1[7:0]均等于0时,第六数值比较器nc6输出1,第六或非门nor6输出1,第十三与门and13输出1,第六或门or6输出1,第九或非门nor9输出1,第十六与门and16输出1,第八或门or8输出的低位采样有效标识valid_l_i1为1,即filt2_data_i1-1[5]发生跳变后十二个时钟,包括filt2_data_i1-1[6]、filt2_data_i1-1[7]、filt2_data_i1[0]、filt2_data_i1[1]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]均未再发生跳变时,filt2_data_i1[7:0]低位采样有效,当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于2且edge_data_i1+1[2:0]均等于0,edge_data_i1[7:0]均等于0时,第七数值比较器nc7输出1,第七或非门nor7输出1,第十四与门and14输出1,第六或门or6输出1,第九或非门nor9输出1,第十六与门and16输出1,第八或门or8输出的低位采样有效标识valid_l_i1为1,即filt2_data_i1+1[7]发生跳变后十二个时钟,包括filt2_data_i1[0]、filt2_data_i1[1]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]……filt2_data_i1+1[3]均未再发生跳变时,filt2_data_i1[7:0]低位采样有效,当filt2_data_i1-1[7:0]的最后采样地址adr_all_i1-1等于3且edge_data_i1+1[3:0]均等于0,edge_data_i1[7:0]均等于0时,第八数值比较器nc8输出1,第八或非门nor8输出1,第十五与门and15输出1,第六或门or6输出1,第九或非门nor9输出1,第十六与门and16输出1,第八或门or8输出的低位采样有效标识valid_l_i1为1,即filt2_data_i1-1[7]发生跳变后十二个时钟,包括filt2_data_i1[0]、filt2_data_i1[1]……filt2_data_i1[7]以及filt2_data_i1+1[0]、filt2_data_i1+1[1]……filt2_data_i1+1[3]均未再发生跳变时,filt2_data_i1[7:0]低位采样有效。

实施例二

本实施例与实施例一的区别在于:第一二选一选择器mux2101的控制信号输入端sel与第二或门or102的输出端连接,接收第二或门or102输出的第一滤波复位信号filt1_clr_i1[j1],数据输入端a接收sync_data_i1[j1],数据输入端b接收0;第二二选一选择器mux2101的控制信号输入端sel与第一或门or101的输出端连接,接收第一或门or101输出的第一滤波置位信号filt1_set_i1[j1],数据输入端a与第一二选一选择器mux2101的输出端连接,数据输入端b接收1,输出端输出sync_data_i1[j1]的滤波结果filt1_data_i1[j1];第一二选一选择器mux2201的控制信号输入端sel与第二或门or202的输出端连接,接收第二或门or202输出的第二滤波复位信号filt2_clr_i1[j1],数据输入端a接收filt1_data_i1[j1],数据输入端b接收0;第二二选一选择器mux2201的控制信号输入端sel与第一或门or201的输出端连接,接收第一或门or201输出的第二滤波置位信号filt2_set_i1[j1],数据输入端a与第一二选一选择器mux2201的输出端连接,数据输入端b接收1,输出端输出filt1_data_i1[j1]的滤波结果filt2_data_i1[j1]。

实施例三

如图12所示,本实施例与实施例一的区别在于:滤波单元只包括一个滤波电路,滤波单元输出的滤波数据为当前拍第一滤波数据filt1_datao;边沿检测单元接收第一个滤波电路输出的当前拍第一滤波数据以及移位寄存器输出的前一拍第一滤波数据filt1_data1,对当前拍第一滤波数据filt1_data0进行边沿检测;数据选择单元接收边沿检测电路输出的当前拍边沿检测数据edge_data0以及移位寄存器输出的前一拍第一滤波数据filt1_data1、前一拍第边沿检测数据edge_data1以及前两拍边沿检测数据edge_data2,对前一拍第一滤波数据filt1_data1进行采样,输出前一拍第一滤波数据filt1_data1的高位采样数据data_h、低位采样数据data_l、高位采样有效标识valid_h以及低位采样有效标识valid_l。

本实施例中的滤波单元可以滤除占据一个相位的单个突波以及占据两个相位的单个突波,数据选择单元可以在第一滤波数据跳变沿前四个相位时钟处采样,且在跳变沿之后十二个相位时钟处都没有检测到新的跳变沿时,选择上一个采样点的后八个相位时钟处采样,数据采样单元的工作原理与实施例一中的工作原理一致,只是输入数据不同,对不同的输入数据进行采样。

以上所述仅是本发明的优选实施例,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1