一种用于高速数据传输的数据对齐方法及装置与流程
未命名
09-28
阅读:54
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种用于高速数据传输的数据对齐方法及装置。
背景技术:
2.在高速数字传输应用中一般采用差分串行信号进行高速数据传输,接收端通过时钟数据恢复电路从串行信号恢复得到串口时钟,再对串口时钟进行分频得到并口时钟,并口时钟用于从串行信号中恢复数据得到并口数据。后续电路进行数据对齐,需要识别特殊码字,例如高速串行计算机扩展总线标准(peripheral component interconnect express,pcie)的6.0版本定义了具体编译码方案和特殊码字。现有技术中,对并口数据进行拼接,然后在拼接后数据中寻址所需的特殊码字,而码字在拼接后数据中的位置是随机的,因此带来的延迟损失也是随机的,最大可能延迟损失是随着并口数据位宽的增加而增大。随着数据传输速率越来越高,并口数据位宽也越来越大,在数据对齐环节产生的延迟损失带来的负面影响也越来越明显,而且因为延迟损失的随机性的特点也不利于维持数据传输的稳定性。
3.为此,本技术提供了一种用于高速数据传输的数据对齐方法及装置,用于解决存在于现有技术中的技术难题。
技术实现要素:
4.第一方面,本技术提供了一种用于高速数据传输的数据对齐方法。所述数据对齐方法应用于数据对齐装置,所述数据对齐装置包括检测电路和时钟调整电路,所述时钟调整电路与所述检测电路和时钟分频电路连接。所述数据对齐方法包括:通过所述检测电路,检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号,其中,所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据,所述并口时钟信号是通过所述时钟分频电路对串口时钟信号分频得到,所述串口时钟信号从所述差分串行信号中恢复;通过所述时钟调整电路,根据所述检测信号生成时钟调整信号,发送所述时钟调整信号到所述时钟分频电路,以及利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。
5.通过本技术的第一方面,利用检测电路和时钟调整电路构建了从测定所述并口数据信号的数据不对齐程度到生成检测信号,到根据所述检测信号生成时钟调整信号,再到利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位的反馈环路设计,实现了降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度从而最终实现数据对齐的设计目的;将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数
据信号的采样操作的改进中,不需要对并口数据信号进行额外的缓存及处理,在数据对齐完成之后的由串转并电路输出的并口数据信号可以与并口时钟信号一起发送给弹性缓存进行后续处理,从而不需要对并口数据信号进行额外的缓存及处理,也就节省了资源同时也有利于降低处理延迟。
6.在本技术的第一方面的一种可能的实现方式中,所述同一控制字符包括连续的多个比特位,所述分布是所述多个比特位分布在所述前后两拍并口数据之间的比特位数量。
7.在本技术的第一方面的一种可能的实现方式中,所述并口数据信号的数据不对齐程度是所述同一控制字符分布在所述前后两拍并口数据中的后一拍并口数据的比特位数量。
8.在本技术的第一方面的一种可能的实现方式中,所述并口数据信号的数据不对齐程度指示所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的边界的单位时间间隔差。
9.在本技术的第一方面的一种可能的实现方式中,所述多拍并口数据的边界是基于所述并口时钟信号的采样时钟沿确定,所述时钟调整电路利用所述时钟调整信号改变所述并口时钟信号的相位从而降低所述检测电路后续测定的所述并口数据信号中的控制字符的前侧相对于所述采样时钟沿的相位差。
10.在本技术的第一方面的一种可能的实现方式中,所述采样时钟沿是上升时钟沿。
11.在本技术的第一方面的一种可能的实现方式中,所述差分串行信号用于从发送端到接收端的高速数据传输,所述数据对齐装置被部署在所述接收端,所述同一控制字符在所述发送端被插入到所述差分串行信号以便用于在所述接收端进行数据对齐。
12.在本技术的第一方面的一种可能的实现方式中,用于在所述发送端和所述接收端之间进行高速数据传输的编解码方案限定多个特殊码字,所述同一控制字符是所述多个特殊码字中的任一特殊码字,所述多个特殊码字各自按照固定间隔或者不固定间隔在所述发送端被插入到所述差分串行信号。
13.在本技术的第一方面的一种可能的实现方式中,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述同一控制字符分布在所述并口数据信号中的前后两拍并口数据中的后一拍并口数据的比特位数量为零。
14.在本技术的第一方面的一种可能的实现方式中,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的边界的单位时间间隔差为零。
15.在本技术的第一方面的一种可能的实现方式中,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述并口数据信号中的控制字符的前侧对齐所述采样时钟沿。
16.在本技术的第一方面的一种可能的实现方式中,所述时钟调整电路包括时钟门控电路,所述时钟门控电路输出使能时钟信号到所述时钟分频电路,所述时钟分频电路用于当所述使能时钟信号指示开启时对所述串口时钟信号按照所述并口数据信号的位宽分频,所述时钟门控电路用于根据所述检测信号生成所述时钟调整信号,所述时钟调整信号使得
所述使能时钟信号在第一时钟周期指示关闭从而使得所述时钟分频电路所输出的所述并口时钟信号被延迟所述第一时钟周期。
17.在本技术的第一方面的一种可能的实现方式中,所述使能时钟信号被置高时指示开启,所述使能时钟信号被拉低时指示关闭,所述时钟门控电路用于根据所述检测信号在所述第一时钟周期拉低所述使能时钟信号从而使得所述时钟分频电路所输出的所述并口时钟信号被延迟所述第一时钟周期并且进而使得根据被延迟的所述并口时钟信号采样所述差分串行信号得到的所述并口数据信号被延迟与所述第一时钟周期相关联的第一拍数。
18.在本技术的第一方面的一种可能的实现方式中,所述数据对齐方法还包括:响应于所述时钟调整电路降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度到零,所述检测电路和所述时钟调整电路进入低功耗状态。
19.第二方面,本技术实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
20.第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
21.第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
22.第五方面,本技术实施例还提供了一种用于高速数据传输的数据对齐装置。所述数据对齐装置包括:检测电路,用于:检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号,其中,所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据,所述并口时钟信号是通过时钟分频电路对串口时钟信号分频得到,所述串口时钟信号从所述差分串行信号中恢复;时钟调整电路,与所述检测电路和所述时钟分频电路连接,所述时钟调整电路用于:根据所述检测信号生成时钟调整信号,发送所述时钟调整信号到所述时钟分频电路,以及利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。
23.在本技术的第五方面的一种可能的实现方式中,所述数据对齐装置属于接收端系统,所述接收端系统包括:差分接收电路用于接收所述差分串行信号,时钟数据恢复电路用于从所述差分串行信号中恢复所述串口时钟信号,所述时钟分频电路用于对所述串口时钟信号分频得到所述并口时钟信号,以及串转并电路用于根据所述并口时钟信号采样所述差分串行信号得到所述并口数据信号。
附图说明
24.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术实施例提供的一种用于高速数据传输的数据对齐方法的流程示意图;图2为本技术实施例提供的一种用于高速数据传输的数据对齐装置的示意图;图3为本技术实施例提供的一种包括了图2所示的数据对齐装置的接收端系统的示意图;图4为本技术实施例提供的图2所示的数据对齐装置的一种实施方式的示意图;图5为本技术实施例提供的一种对并口时钟信号的相位调整前和调整后的示意图;图6为本技术实施例提供的一种计算设备的结构示意图。
具体实施方式
26.下面将结合附图对本技术实施例作进一步地详细描述。
27.应当理解的是,在本技术的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
28.图1为本技术实施例提供的一种用于高速数据传输的数据对齐方法的流程示意图。所述数据对齐方法应用于数据对齐装置,所述数据对齐装置包括检测电路和时钟调整电路,所述时钟调整电路与所述检测电路和时钟分频电路连接。如图1所示,所述数据对齐方法包括以下步骤。
29.步骤s110:通过所述检测电路,检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号,其中,所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据,所述并口时钟信号是通过所述时钟分频电路对串口时钟信号分频得到,所述串口时钟信号从所述差分串行信号中恢复。
30.步骤s120:通过所述时钟调整电路,根据所述检测信号生成时钟调整信号,发送所述时钟调整信号到所述时钟分频电路,以及利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。
31.在高速数字传输的有关应用中,例如串行解串器(serializer/deserializer,serdes)系统,一般采用差分串行信号进行高速数据传输,接收端通过时钟数据恢复(clock and data recovery,cdr)电路从串行信号中恢复得到串口时钟,对串口时钟进行分频得到并口时钟。并口时钟用于从串行信号中恢复数据信号,这样得到的是并口数据信号,如此完成了串行信号转换成并行信号也即并口信号,并口时钟信号与并口数据信号同步。接着,并口数据信号与并口时钟信号一起进行数据对齐。其中,并口数据信号被拼接得到拼接后数据(concate date),然后按照并口时钟信号的周期性变化,例如上升沿和下降沿,对拼接后数据进行采样,从采样结果中识别出特殊码字。特殊码字在发送端加入到差分串行信号中用于在接收端进行数据对齐。例如,通用串行总线(universal serial bus,usb)的数据传输规范及协议定义了8b/10b编解码方案,将12个特殊字符编码成12个控制字符。这些控制字符用于数据对齐,例如采用将数据对齐到字的方法,用来实现时钟修正、块同步等。因为
对并口数据进行拼接得到的拼接后数据是有一定随机性的,因此拼接后数据中用于数据对齐的特殊码字(控制字符)所在的具体位置也是随机的。而且,在发送端加入特殊码字或者控制字符到差分串行信号的间隔可能是固定的也可能是不固定的,这样进一步使得难以预计用于数据对齐的特殊码字(控制字符)所在的具体位置。因此数据对齐环节在拼接后数据中寻址所需的特殊码字所带来的延迟是难以预计的,并且,最大可能延迟损失是随着并口数据位宽的增加而增大。随着数据传输速率越来越高,并口数据位宽也越来越大,在数据对齐环节产生的延迟损失带来的负面影响也越来越明显,而且因为延迟损失的随机性的特点也不利于维持数据传输的稳定性。例如,假设某个控制字符占据总共8个比特位,一部分在前一拍的并口数据信号,剩余部分在后一拍的并口数据信号,这种情况是因为拼接后数据与并口时钟信号之间的不对齐导致的。而为了数据对齐,需要找到全部的完整的特殊码字,这样就导致了至少一拍的并口数据长度的延迟损失。延迟损失计算以单位时间间隔(unit interval,ui)为单位。如果并口数据位宽是n个比特位(设n为大于1的正整数),则对应n个ui。当前一拍并口数据包括了8个比特位的特殊码字的其中7个比特位,剩下的1个比特位的特殊码字在后一拍并口数据,则带来的延迟损失是n-1,也就是7个ui。当并口数据位宽越大,则延迟越明显,例如,当并口数据位宽是40个比特位,对应了40个ui,这意味着延迟损失可能是40减去1为39个ui。高速数据传输应用,如serdes系统采用高速差分串行信号进行数据传输的场景,必须经过数据对齐以便确定通讯协议编码方案规定的特殊码字和实现并口数据和并口时钟之间的逐拍传输,这样的需求下必然导致延迟损失。并且,一般地,经过数据对齐环节之后,并口数据信号和并口时钟信号之间实现了逐拍传输,发送给后续的弹性缓存。弹性缓存用于吸收发送端和接收端各自的本地时钟之间的频差和相位差。因此在数据对齐环节的延迟损失影响了整体系统效率和处理延时。
32.图1所示的用于高速数据传输的数据对齐方法,在步骤s110,通过所述检测电路,检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,以及基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号。检测电路用于对串转并电路输出的并口数据信号和时钟分频电路输出的并口时钟信号进行检测,从而确定并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,例如输出与期望码字边界的ui差值。在步骤s120,通过所述时钟调整电路,根据所述检测信号生成时钟调整信号,发送所述时钟调整信号到所述时钟分频电路,以及利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。如此,图1所示的用于高速数据传输的数据对齐方法,构建了从测定所述并口数据信号的数据不对齐程度到生成检测信号,到根据所述检测信号生成时钟调整信号,再到利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位的反馈环路设计,实现了降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度从而最终实现数据对齐的设计目的。在一种可能的实施方式中,时钟调整电路可以包括例如时钟门控电路,时钟门控电路根据ui差值将使能时钟信号拉低与ui差值对应的拍数,这样就意味着时钟分频电路会被关闭与该拍数对应的时钟周期。在时钟分频电路被关闭的这些时钟周期,待分频信号也就是串口时钟信号没有被计算分频,这样就意味着时钟分频电路输出的分频信号也就是并口时钟信号会被延迟相应的时钟周期。因此,检测电路检测到的第一ui差值,用于时钟门控电路拉低使能时钟信号与第一
ui差值对应的第一拍数,然后导致时钟分频电路关闭与第一拍数对应的第一数量的时钟周期,最后导致并口时钟信号被延迟第一数量的时钟周期。这样就构成了一个反馈环路,越大的ui差值,会导致并口时钟信号被延迟越多数量的时钟周期,这样就有利于ui差值的快速收敛。利用这样的反馈环路设计,使得检测电路后续检测到的ui差值降低,也就是降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度,最终实现了ui差值为零,这意味着已经完成了数据对齐,可以直接发送给弹性缓存。应当理解的是,时钟调整电路可以采用时钟门控电路来构建反馈环路,也可以采用其它电路、硬件、器件等来构建反馈环路,只要能实现当检测电路测定的所述并口数据信号的数据不对齐程度越高则会带来更高的反馈进而更快收敛的特性。例如,通过测定ui差值或者其它能反映所述并口数据信号的数据不对齐程度的数值,并将测定的数值转换成检测信号;时钟调整电路可以包括如计数器、反相器等器件,用于基于检测信号所反映的并口数据信号的数据不对齐程度来生成数据调整信号,达到快速收敛的目的。
33.应当理解的是,图1所示的用于高速数据传输的数据对齐方法,是利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。因此是通过改变并口时钟信号的相位来改变并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,这里所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据。也就是说,图1所示的用于高速数据传输的数据对齐方法,是通过调整并口时钟信号的相位来实现数据对齐目的,这样做相比于调整并口数据信号来实现数据对齐目的做法,具有更小的延迟并且电路实现细节也比较简单。如果是通过调整并口数据信号来降低并口数据信号的数据不对齐程度,则意味着将并口数据信号的前沿或者后沿参考某个参考时钟脉冲进行调整,例如将数据前后沿对齐时钟脉冲前后沿或者将数据移动到时钟脉冲边沿的中心处等,这样必然引入了额外的电路结构来缓存及处理并口数据信号,从而会导致更大的延迟。相对的,本技术实施例提供的图1所示的用于高速数据传输的数据对齐方法,通过调整并口时钟信号的相位来降低并口数据信号的数据不对齐程度,一方面通过检测电路对串转并电路输出的并口数据信号和时钟分频电路输出的并口时钟信号进行检测从而测定所述并口数据信号的数据不对齐程度(基于并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布),另一方面通过时钟调整电路发送所述时钟调整信号到所述时钟分频电路(所述并口时钟信号是通过所述时钟分频电路对串口时钟信号分频得到)从而利用时钟调整信号影响了所述时钟分频电路的分频操作进而改变所述时钟分频电路所输出的所述并口时钟信号的相位。图1所示的用于高速数据传输的数据对齐方法,不需要对并口数据信号进行额外的缓存及处理,也就节省了资源同时也有利于降低处理延迟。因为串转并电路或者类似的模块是用于根据并口时钟信号采样差分串行信号得到并口数据信号也即多拍并口数据,因此时钟调整电路利用时钟调整信号影响了所述时钟分频电路的分频操作进而改变所述时钟分频电路所输出的所述并口时钟信号的相位,也就影响到了串转并电路根据相位被改变的并口时钟信号采样得到的并口数据信号。因此,图1所示的用于高速数据传输的数据对齐方法,通过调整并口时钟信号的相位来降低并口数据信号的数据不对齐程度,需要影响串转并电路和时钟分频电路的运行,包括时钟调整电路利用时钟调整信号影响了所述时钟分频电路的分频操作,以及通过改变所述时钟分频电路所输出的所述并口
时钟信号的相位来进一步影响了串转并电路的采样操作,这样等效于将数据对齐环节的有关执行细节整合到了对所述时钟分频电路的分频操作还有串转并电路的采样操作的改进中。如此可以不需要在串转并电路之后提供额外的数据对齐模块来进行数据缓存及对齐处理,而是可以直接在串转并电路之后接上弹性缓存,因为在数据对齐完成之后的串转并电路输出的并口数据信号已经满足了数据对齐的要求,可以与并口时钟信号一起发送给弹性缓存进行后续处理。
34.总之,图1所示的用于高速数据传输的数据对齐方法,利用检测电路和时钟调整电路构建了从测定所述并口数据信号的数据不对齐程度到生成检测信号,到根据所述检测信号生成时钟调整信号,再到利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位的反馈环路设计,实现了降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度从而最终实现数据对齐的设计目的;将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中,不需要对并口数据信号进行额外的缓存及处理,在数据对齐完成之后的由串转并电路输出的并口数据信号可以与并口时钟信号一起发送给弹性缓存进行后续处理,从而不需要对并口数据信号进行额外的缓存及处理,也就节省了资源同时也有利于降低处理延迟;并且,进一步地,因为通过调整并口时钟信号的相位来降低并口数据信号的数据不对齐程度(相比于调整并口数据信号来实现数据对齐目的)以及基于上述的反馈环路设计来实现快速收敛,可以灵活地应对各种在发送端插入控制字符或者说特殊码字的方式,例如等间隔插入或者不等间隔插入等,还可以灵活应对各种数据传输协议的编解码方案,也能迅速地对实际应用中的各种突发情况(例如网络通信条件、数据流变化等)做出快速响应。在一些示例中,可以采用ui差值,例如输出与期望码字边界的ui差值,来作为所测定所述并口数据信号的数据不对齐程度的量化指标。通过从串转并电路输出的并口数据信号中检测ui差值,例如实时的或者间隔地监控并口数据信号中每相邻两拍并口数据之间的同一个控制字符的分布。然后用ui差值来控制时钟门控电路,进而延迟并口时钟信号,从而改变了后续测定的同一个控制字符在相邻两拍的并口数据之间的分布,使得同一个控制字符在后一拍并口数据中没有分布也就是0比特位。因为是基于对并口数据信号的检测结果来调节并口时钟信号,进而实现了数据对齐,可以适用于任意的控制字符的插入方式,也可以适用于以更高或者更低频率插入的情况,实现简单且延迟低。
35.图2为本技术实施例提供的一种用于高速数据传输的数据对齐装置的示意图。所述数据对齐装置包括:检测电路210,用于:检测并口数据信号202中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号202的数据不对齐程度从而生成检测信号204,其中,所述并口数据信号202是根据并口时钟信号采样差分串行信号得到的多拍并口数据,所述并口时钟信号是通过时钟分频电路对串口时钟信号分频得到,所述串口时钟信号从所述差分串行信号中恢复;时钟调整电路220,与所述检测电路210和所述时钟分频电路连接,所述时钟调整电路220用于:根据所述检测信号204生成时钟调整信号206,发送所述时钟调整信号206到所述时钟分频电路,以及利用所述时钟调整信号206改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号202的数据不对齐程度。
36.图2所示的用于高速数据传输的数据对齐装置,利用检测电路210和时钟调整电路220构建了从测定所述并口数据信号202的数据不对齐程度到生成检测信号204,到根据所述检测信号204生成时钟调整信号206,再到利用所述时钟调整信号206改变所述时钟分频电路所输出的所述并口时钟信号201的相位的反馈环路设计,实现了降低所述检测电路210后续测定的所述并口数据信号202的数据不对齐程度从而最终实现数据对齐的设计目的;将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号201的分频操作还有根据并口时钟信号201采样差分串行信号得到并口数据信号202的采样操作的改进中,不需要对并口数据信号202进行额外的缓存及处理,在数据对齐完成之后的由串转并电路输出的并口数据信号202可以与并口时钟信号201一起发送给弹性缓存进行后续处理,从而不需要对并口数据信号202进行额外的缓存及处理,也就节省了资源同时也有利于降低处理延迟;并且,进一步地,因为通过调整并口时钟信号201的相位来降低并口数据信号202的数据不对齐程度(相比于调整并口数据信号202来实现数据对齐目的)以及基于上述的反馈环路设计来实现快速收敛,可以灵活地应对各种在发送端插入控制字符或者说特殊码字的方式,例如等间隔插入或者不等间隔插入等,还可以灵活应对各种数据传输协议的编解码方案,也能迅速地对实际应用中的各种突发情况(例如网络通信条件、数据流变化等)做出快速响应。
37.图3为本技术实施例提供的一种包括了图2所示的数据对齐装置的接收端系统的示意图。如图3所示,图2所示的所述数据对齐装置属于接收端系统。所述接收端系统包括:差分接收电路240用于接收所述差分串行信号,时钟数据恢复电路242用于从所述差分串行信号中恢复所述串口时钟信号208,所述时钟分频电路230用于对所述串口时钟信号208分频得到所述并口时钟信号201,以及串转并电路244用于根据所述并口时钟信号201采样所述差分串行信号得到所述并口数据信号202。可以看出,图3所示的接收端系统的串转并电路244用于根据所述并口时钟信号201采样所述差分串行信号得到所述并口数据信号202,而所述时钟分频电路230用于对所述串口时钟信号208分频得到所述并口时钟信号201;时钟调整电路220根据检测信号204生成时钟调整信号206,发送时钟调整信号206到时钟分频电路,以及利用时钟调整信号206改变时钟分频电路所输出的所述并口时钟信号201的相位。如此,检测电路210和时钟调整电路220一起构成了反馈环路,从检测电路210测定并口数据信号202的数据不对齐程度开始(检测电路210对串转并电路244输出的并口数据信号202和时钟分频电路230输出的并口时钟信号201进行检测从而测定所述并口数据信号202的数据不对齐程度),生成检测信号204然后根据检测信号204生成时钟调整信号206,再到利用时钟调整信号206改变时钟分频电路230所输出的并口时钟信号201的相位,进而影响了串转并电路244根据相位被改变的并口时钟信号201采样得到的并口数据信号202。因此等效于将数据对齐环节的有关执行细节整合到了对所述时钟分频电路230的分频操作还有串转并电路244的采样操作的改进中。如此可以不需要在串转并电路244之后提供额外的数据对齐模块来进行数据缓存及对齐处理,而是可以直接在串转并电路244之后接上弹性缓存,因为在数据对齐完成之后的串转并电路244输出的并口数据信号202已经满足了数据对齐的要求,可以与并口时钟信号201一起发送给弹性缓存进行后续处理。
38.图4为本技术实施例提供的图2所示的数据对齐装置的一种实施方式的示意图。其中,图2所示的数据对齐装置的时钟调整电路220可以是图4所示的时钟门控电路250。时钟
门控电路250根据检测信号204来控制输出给时钟分频电路的使能时钟信号209,达到图2所示的时钟调整信号206的设计目的。例如,时钟门控电路250根据ui差值将使能时钟信号209拉低与ui差值对应的拍数,这样就意味着时钟分频电路会被关闭与该拍数对应的时钟周期。在时钟分频电路被关闭的这些时钟周期,待分频信号也就是串口时钟信号没有被计算分频,这样就意味着时钟分频电路输出的分频信号也就是并口时钟信号会被延迟相应的时钟周期。因此,检测电路210检测到的第一ui差值,用于时钟门控电路250拉低使能时钟信号209与第一ui差值对应的第一拍数,然后导致时钟分频电路关闭与第一拍数对应的第一数量的时钟周期,最后导致并口时钟信号被延迟第一数量的时钟周期。这样就构成了一个反馈环路,越大的ui差值,会导致并口时钟信号被延迟越多数量的时钟周期,这样就有利于ui差值的快速收敛。利用这样的反馈环路设计,使得检测电路210后续检测到的ui差值降低,也就是降低所述检测电路210后续测定的所述并口数据信号的数据不对齐程度,最终实现了ui差值为零,这意味着已经完成了数据对齐,可以直接发送给弹性缓存。应当理解的是,图4所示的是图2所示的数据对齐装置的一种实施方式,其中,图2所示的数据对齐装置的时钟调整电路220可以采用图4所示的时钟门控电路250来构建反馈环路,也可以采用其它电路、硬件、器件等来构建反馈环路,只要能实现当检测电路210测定的所述并口数据信号的数据不对齐程度越高则会带来更高的反馈进而更快收敛的特性。例如,通过测定ui差值或者其它能反映所述并口数据信号的数据不对齐程度的数值,并将测定的数值转换成检测信号;时钟调整电路可以包括如计数器、反相器等器件,用于基于检测信号所反映的并口数据信号的数据不对齐程度来生成数据调整信号,达到快速收敛的目的。
39.图5为本技术实施例提供的一种对并口时钟信号的相位调整前和调整后的示意图。如图5所示,调整前并口时钟信号510与调整前并口数据信号512之间进行比较,可以看出,用于数据对齐的控制字符a设有16个比特位,其中,控制字符a的第1比特位到第12比特位502位于前一拍数据,而控制字符a的第13比特位到第16比特位504位于后一拍数据。如上所述,控制字符a在前后两拍数据之间的分布,也就是控制字符a的第1比特位到第12比特位502和控制字符a的第13比特位到第16比特位504各自的位置是随机的,这是因为拼接后数据中用于数据对齐的特殊码字(控制字符)所在的具体位置也是随机的,并且,在发送端加入特殊码字或者控制字符到差分串行信号的间隔也是难以预计的。而图5所示的调整前的情况,说明了在调整前并口时钟信号510与调整前并口数据信号512之间存在数据不对齐的情况,至少关于控制字符a存在数据不对齐的情况,因此在数据对齐环节需要寻址确认完整的控制字符a,从而导致延迟损失,并且随着并口数据位宽越大,带来的可能的延迟损失就越大。随着高速数据传输的发展,并口数据位宽越来越大,这样才能带来更大的数据吞吐效率和数据传输速率,因此也就意味着在数据对齐环节寻址完整的控制字符可能导致的延迟损失也越大。为此,图1所示的用于高速数据传输的数据对齐方法以及图2所示的用于高速数据传输的数据对齐装置,将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中,不需要对并口数据信号进行额外的缓存及处理,在数据对齐完成之后的由串转并电路输出的并口数据信号可以与并口时钟信号一起发送给弹性缓存进行后续处理,从而不需要对并口数据信号进行额外的缓存及处理,也就节省了资源同时也有利于降低处理延迟。如图5所示,调整后并口时钟信号520和调整后并口数据信号522之间的
数据不对齐程度已经被降低到最小,其中,控制字符a的第1比特位到第16比特位506都位于前一拍数据中,这样就完成了寻址到完整的控制字符a,也就是实现了数据对齐的要求。并且,图1所示的用于高速数据传输的数据对齐方法以及图2所示的用于高速数据传输的数据对齐装置,可以灵活地应对各种在发送端插入控制字符或者说特殊码字的方式,例如等间隔插入或者不等间隔插入等,还可以灵活应对各种数据传输协议的编解码方案,也能迅速地对实际应用中的各种突发情况(例如网络通信条件、数据流变化等)做出快速响应。
40.参阅上述图1至图5,下面进一步说明本技术实施例提供的一种用于高速数据传输的数据对齐方法及装置的各种实施方式、实施例、示例等。
41.控制字符也叫特殊码字在发送端加入到差分串行信号中用于在接收端进行数据对齐。例如,通用串行总线(universal serial bus,usb)的数据传输规范及协议定义了8b/10b编解码方案,将12个特殊字符编码成12个控制字符。这些控制字符用于数据对齐,例如采用将数据对齐到字的方法,用来实现时钟修正、块同步等。因为对并口数据进行拼接得到的拼接后数据是有一定随机性的,因此拼接后数据中用于数据对齐的特殊码字(控制字符)所在的具体位置也是随机的。而且,在发送端加入特殊码字或者控制字符到差分串行信号的间隔可能是固定的也可能是不固定的,这样进一步使得难以预计用于数据对齐的特殊码字(控制字符)所在的具体位置。检测电路用于对串转并电路输出的并口数据信号和时钟分频电路输出的并口时钟信号进行检测,从而确定并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号。在一种可能的实现方式中,所述同一控制字符包括连续的多个比特位,所述分布是所述多个比特位分布在所述前后两拍并口数据之间的比特位数量。例如,设同一个控制字符有8个比特位,其中7个比特位在前一拍并口数据,剩下的1个比特位在后一拍并口数据。通过所述多个比特位分布在所述前后两拍并口数据之间的比特位数量可以数值化地测定所述并口数据信号的数据不对齐程度。在一种可能的实现方式中,所述并口数据信号的数据不对齐程度是所述同一控制字符分布在所述前后两拍并口数据中的后一拍并口数据的比特位数量。如此,通过测定所述同一控制字符分布在所述前后两拍并口数据中的后一拍并口数据的比特位数量,可以数值化地测定所述并口数据信号的数据不对齐程度。例如,设同一个控制字符有8个比特位,其中7个比特位在前一拍并口数据,剩下的1个比特位在后一拍并口数据。通过测定所述同一控制字符分布在后一拍并口数据的比特位数量,例如1个比特位,可以便利地测定所述并口数据信号的数据不对齐程度。在一些实施例中,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述同一控制字符分布在所述并口数据信号中的前后两拍并口数据中的后一拍并口数据的比特位数量为零。如此,将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中,实现了数据对齐,并且不需要对并口数据信号进行额外的缓存及处理,节省了资源同时也有利于降低处理延迟。
42.在数据对齐环节,延迟损失计算可以用单位时间间隔(unit interval,ui)为单位。在一种可能的实现方式中,所述并口数据信号的数据不对齐程度指示所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的边界的单位时间间隔差。其中,所述前
后两拍并口数据的边界是前一拍并口数据和后一拍并口数据之间的边界。所述并口数据信号是串转并电路根据并口时钟信号采样差分串行信号得到的多拍并口数据,因此,所述前后两拍并口数据的边界是由有串转并电路的采样操作确定的。因此,所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的边界的单位时间间隔差可以作为衡量所述并口数据信号的数据不对齐程度的数值化指标。在一些实施例中,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的边界的单位时间间隔差为零。如此,将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中,实现了数据对齐,并且不需要对并口数据信号进行额外的缓存及处理,节省了资源同时也有利于降低处理延迟。
43.本技术实施例提供的一种用于高速数据传输的数据对齐方法及装置,是利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。因此是通过改变并口时钟信号的相位来改变并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,这里所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据。在一种可能的实现方式中,所述多拍并口数据的边界是基于所述并口时钟信号的采样时钟沿确定,所述时钟调整电路利用所述时钟调整信号改变所述并口时钟信号的相位从而降低所述检测电路后续测定的所述并口数据信号中的控制字符的前侧相对于所述采样时钟沿的相位差。其中,当控制字符的前侧与采样时钟沿对齐时,意味着每次采样也就是每次新的一拍并口数据从控制字符前侧开始,因此前一拍并口数据包含完整的控制字符。而当控制字符的后侧与采样时钟沿对齐时,也意味着同一拍并口数据包含完整的控制字符。在一些实施例中,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述并口数据信号中的控制字符的前侧对齐所述采样时钟沿。如此,将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中,实现了数据对齐,并且不需要对并口数据信号进行额外的缓存及处理,节省了资源同时也有利于降低处理延迟。在一些实施例中,所述采样时钟沿是上升时钟沿。在另一些实施例中,所述采样时钟沿是下降时钟沿。
44.在一种可能的实现方式中,所述差分串行信号用于从发送端到接收端的高速数据传输,所述数据对齐装置被部署在所述接收端,所述同一控制字符在所述发送端被插入到所述差分串行信号以便用于在所述接收端进行数据对齐。在一些实施例中,用于在所述发送端和所述接收端之间进行高速数据传输的编解码方案限定多个特殊码字,所述同一控制字符是所述多个特殊码字中的任一特殊码字,所述多个特殊码字各自按照固定间隔或者不固定间隔在所述发送端被插入到所述差分串行信号。因为通过调整并口时钟信号的相位来降低并口数据信号的数据不对齐程度(相比于调整并口数据信号来实现数据对齐目的)以及基于上述的反馈环路设计来实现快速收敛,可以灵活地应对各种在发送端插入控制字符或者说特殊码字的方式,例如等间隔插入或者不等间隔插入等,还可以灵活应对各种数据传输协议的编解码方案,也能迅速地对实际应用中的各种突发情况(例如网络通信条件、数
据流变化等)做出快速响应。
45.在一种可能的实现方式中,所述时钟调整电路包括时钟门控电路,所述时钟门控电路输出使能时钟信号到所述时钟分频电路,所述时钟分频电路用于当所述使能时钟信号指示开启时对所述串口时钟信号按照所述并口数据信号的位宽分频,所述时钟门控电路用于根据所述检测信号生成所述时钟调整信号,所述时钟调整信号使得所述使能时钟信号在第一时钟周期指示关闭从而使得所述时钟分频电路所输出的所述并口时钟信号被延迟所述第一时钟周期。在一些实施例中,所述使能时钟信号被置高时指示开启,所述使能时钟信号被拉低时指示关闭,所述时钟门控电路用于根据所述检测信号在所述第一时钟周期拉低所述使能时钟信号从而使得所述时钟分频电路所输出的所述并口时钟信号被延迟所述第一时钟周期并且进而使得根据被延迟的所述并口时钟信号采样所述差分串行信号得到的所述并口数据信号被延迟与所述第一时钟周期相关联的第一拍数。在一些示例中,可以采用ui差值例如输出与期望码字边界的ui差值,来作为所测定所述并口数据信号的数据不对齐程度的量化指标。通过从串转并电路输出的并口数据信号中检测ui差值,例如实时的或者间隔地监控并口数据信号中每相邻两拍并口数据之间的同一个控制字符的分布。然后用ui差值来控制时钟门控电路,进而延迟并口时钟信号,从而改变了后续测定的同一个控制字符在相邻两拍的并口数据之间的分布,使得同一个控制字符在后一拍并口数据中没有分布也就是0比特位。检测电路检测到的第一ui差值,用于时钟门控电路拉低使能时钟信号与第一ui差值对应的第一拍数,然后导致时钟分频电路关闭与第一拍数对应的第一数量的时钟周期,最后导致并口时钟信号被延迟第一数量的时钟周期。这样就构成了一个反馈环路,越大的ui差值,会导致并口时钟信号被延迟越多数量的时钟周期,这样就有利于ui差值的快速收敛。利用这样的反馈环路设计,使得检测电路后续检测到的ui差值降低,也就是降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度,最终实现了ui差值为零,这意味着已经完成了数据对齐,可以直接发送给弹性缓存。
46.在一种可能的实现方式中,所述数据对齐方法还包括:响应于所述时钟调整电路降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度到零,所述检测电路和所述时钟调整电路进入低功耗状态。如上所述,将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中,不需要对并口数据信号进行额外的缓存及处理,在数据对齐完成之后的由串转并电路输出的并口数据信号可以与并口时钟信号一起发送给弹性缓存进行后续处理,从而不需要对并口数据信号进行额外的缓存及处理,也就节省了资源同时也有利于降低处理延迟。并且,如图3所示,检测电路210和时钟调整电路220构建的反馈环路对所述时钟分频电路230的分频操作还有串转并电路244的采样操作产生的影响是建立在检测电路210检测到数据不对齐的基础上,因此,当检测电路210测定的所述并口数据信号的数据不对齐程度为零时,则该反馈环路不会影响所述时钟分频电路230的分频操作还有串转并电路244的采样操作,这样就意味着可以使得所述检测电路和所述时钟调整电路进入低功耗状态,从而降低系统的整体功耗。而且,因为不需要在串转并电路之后提供额外的数据对齐模块来进行数据缓存及对齐处理,因此在低功耗状态下的所述检测电路和所述时钟调整电路也不会带来额外的延迟,这样有助于降低整体处理延迟。并且,一旦检测电路测定所述并口数据信号的数据不对齐程度不为零,则可以启动反馈环路,例
如让所述检测电路和所述时钟调整电路不再处于低功耗张太,实现降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。因此,本技术实施例提供的一种用于高速数据传输的数据对齐方法及装置,例如图1所示的用于高速数据传输的数据对齐方法以及图2所示的用于高速数据传输的数据对齐装置,不仅实现了当所述并口数据信号的数据不对齐程度不为零时,将数据对齐环节的有关执行细节整合到了对串口时钟信号分频得到并口时钟信号的分频操作还有根据并口时钟信号采样差分串行信号得到并口数据信号的采样操作的改进中从而实现了数据对齐;而且实现了当所述并口数据信号的数据不对齐程度为零时,通过得所述检测电路和所述时钟调整电路进入低功耗状态,从而降低系统的整体功耗。
47.图6是本技术实施例提供的一种计算设备的结构示意图,该计算设备600包括:一个或者多个处理器610、通信接口620以及存储器630。所述处理器610、通信接口620以及存储器630通过总线640相互连接。可选地,该计算设备600还可以包括输入/输出接口650,输入/输出接口650连接有输入/输出设备,用于接收用户设置的参数等。该计算设备600能够用于实现上述的本技术实施例中设备实施例或者系统实施例的部分或者全部功能;处理器610还能够用于实现上述的本技术实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备600执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器610用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本技术实施例中,计算设备600可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口620具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器610具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
48.应当理解的是,图6的计算设备600可以包括一个或者多个处理器610,并且多个处理器610可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器610可以构成处理器序列或者处理器阵列,或者多个处理器610之间可以分成主处理器和辅助处理器,或者多个处理器610之间可以具有不同的架构如采用异构计算架构。另外,图6所示的计算设备600,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备600可以包括比图6所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
49.处理器610可以有多种具体实现形式,例如处理器610可以包括中央处理器(central processing unit,cpu)、图形处理器(graphic processing unit,gpu)、神经网络处理器(neural-network processing unit,npu)、张量处理器(tensor processing unit,tpu)或数据处理器(data processing unit,dpu)等一种或多种的组合,本技术实施例不做具体限定。处理器610还可以是单核处理器或多核处理器。处理器610可以由cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器610也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或数字信号处理器(digital signal processor,dsp)等。通信接口620可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络
(local interconnect network,lin)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
50.存储器630可以是非易失性存储器,例如,只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。存储器630也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。存储器630也可用于存储程序代码和数据,以便于处理器610调用存储器630中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备600可能包含相比于图6展示的更多或者更少的组件,或者有不同的组件配置方式。
51.总线640可以是快捷外围部件互连标准(peripheral component interconnect express,pcie)总线,或扩展工业标准结构(extended industry standard architecture,eisa)总线、统一总线(unified bus,ubus或ub)、计算机快速链接(compute express link,cxl)、缓存一致互联协议(cache coherent interconnect for accelerators,ccix)等。总线640可以分为地址总线、数据总线、控制总线等。总线640除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
52.本技术实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本技术实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
53.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
54.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本技术实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执
行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
55.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
56.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本技术实施例进行各种改动和变型而不脱离本技术实施例的精神和范围。本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本技术实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本技术实施例的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种用于高速数据传输的数据对齐方法,其特征在于,所述数据对齐方法应用于数据对齐装置,所述数据对齐装置包括检测电路和时钟调整电路,所述时钟调整电路与所述检测电路和时钟分频电路连接,所述数据对齐方法包括:通过所述检测电路,检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号,其中,所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据,所述并口时钟信号是通过所述时钟分频电路对串口时钟信号分频得到,所述串口时钟信号从所述差分串行信号中恢复;通过所述时钟调整电路,根据所述检测信号生成时钟调整信号,发送所述时钟调整信号到所述时钟分频电路,以及利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。2.根据权利要求1所述的数据对齐方法,其特征在于,所述同一控制字符包括连续的多个比特位,所述分布是所述多个比特位分布在所述前后两拍并口数据之间的比特位数量。3.根据权利要求1所述的数据对齐方法,其特征在于,所述并口数据信号的数据不对齐程度是所述同一控制字符分布在所述前后两拍并口数据中的后一拍并口数据的比特位数量。4.根据权利要求1所述的数据对齐方法,其特征在于,所述并口数据信号的数据不对齐程度指示所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的边界的单位时间间隔差。5.根据权利要求1所述的数据对齐方法,其特征在于,所述多拍并口数据的边界是基于所述并口时钟信号的采样时钟沿确定,所述时钟调整电路利用所述时钟调整信号改变所述并口时钟信号的相位从而降低所述检测电路后续测定的所述并口数据信号中的控制字符的前侧相对于所述采样时钟沿的相位差。6.根据权利要求5所述的数据对齐方法,其特征在于,所述采样时钟沿是上升时钟沿。7.根据权利要求1所述的数据对齐方法,其特征在于,所述差分串行信号用于从发送端到接收端的高速数据传输,所述数据对齐装置被部署在所述接收端,所述同一控制字符在所述发送端被插入到所述差分串行信号以便用于在所述接收端进行数据对齐。8.根据权利要求7所述的数据对齐方法,其特征在于,用于在所述发送端和所述接收端之间进行高速数据传输的编解码方案限定多个特殊码字,所述同一控制字符是所述多个特殊码字中的任一特殊码字,所述多个特殊码字各自按照固定间隔或者不固定间隔在所述发送端被插入到所述差分串行信号。9.根据权利要求3所述的数据对齐方法,其特征在于,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述同一控制字符分布在所述并口数据信号中的前后两拍并口数据中的后一拍并口数据的比特位数量为零。10.根据权利要求4所述的数据对齐方法,其特征在于,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述同一控制字符的前侧或者后侧相对于所述前后两拍并口数据的
边界的单位时间间隔差为零。11.根据权利要求5所述的数据对齐方法,其特征在于,通过所述时钟调整电路,利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位从而使得所述检测电路后续测定的所述并口数据信号中的控制字符的前侧对齐所述采样时钟沿。12.根据权利要求1所述的数据对齐方法,其特征在于,所述时钟调整电路包括时钟门控电路,所述时钟门控电路输出使能时钟信号到所述时钟分频电路,所述时钟分频电路用于当所述使能时钟信号指示开启时对所述串口时钟信号按照所述并口数据信号的位宽分频,所述时钟门控电路用于根据所述检测信号生成所述时钟调整信号,所述时钟调整信号使得所述使能时钟信号在第一时钟周期指示关闭从而使得所述时钟分频电路所输出的所述并口时钟信号被延迟所述第一时钟周期。13.根据权利要求12所述的数据对齐方法,其特征在于,所述使能时钟信号被置高时指示开启,所述使能时钟信号被拉低时指示关闭,所述时钟门控电路用于根据所述检测信号在所述第一时钟周期拉低所述使能时钟信号从而使得所述时钟分频电路所输出的所述并口时钟信号被延迟所述第一时钟周期并且进而使得根据被延迟的所述并口时钟信号采样所述差分串行信号得到的所述并口数据信号被延迟与所述第一时钟周期相关联的第一拍数。14.根据权利要求1所述的数据对齐方法,其特征在于,所述数据对齐方法还包括:响应于所述时钟调整电路降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度到零,所述检测电路和所述时钟调整电路进入低功耗状态。15.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至14中任一项所述的方法。16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至14中任一项所述的方法。17.一种用于高速数据传输的数据对齐装置,其特征在于,所述数据对齐装置包括:检测电路,用于:检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定所述并口数据信号的数据不对齐程度从而生成检测信号,其中,所述并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据,所述并口时钟信号是通过时钟分频电路对串口时钟信号分频得到,所述串口时钟信号从所述差分串行信号中恢复;时钟调整电路,与所述检测电路和所述时钟分频电路连接,所述时钟调整电路用于:根据所述检测信号生成时钟调整信号,发送所述时钟调整信号到所述时钟分频电路,以及利用所述时钟调整信号改变所述时钟分频电路所输出的所述并口时钟信号的相位,从而降低所述检测电路后续测定的所述并口数据信号的数据不对齐程度。18.根据权利要求17所述的数据对齐装置,其特征在于,所述数据对齐装置属于接收端系统,所述接收端系统包括:差分接收电路用于接收所述差分串行信号,时钟数据恢复电路用于从所述差分串行信号中恢复所述串口时钟信号,所述时钟分频电路用于对所述串口时钟信号分频得到所述并口时钟信号,以及串转并电路用于根据所述并口时钟信号采样所述
差分串行信号得到所述并口数据信号。
技术总结
本申请提供一种用于高速数据传输的数据对齐方法及装置。方法包括:通过检测电路,检测并口数据信号中在前后两拍并口数据之间的用于数据对齐的同一控制字符的分布,基于所述分布测定并口数据信号的数据不对齐程度从而生成检测信号,并口数据信号是根据并口时钟信号采样差分串行信号得到的多拍并口数据,并口时钟信号是通过时钟分频电路对串口时钟信号分频得到,串口时钟信号从差分串行信号中恢复;通过时钟调整电路,根据检测信号生成时钟调整信号,发送到时钟分频电路,以及利用时钟调整信号改变时钟分频电路所输出的并口时钟信号的相位,从而降低检测电路后续测定的并口数据信号的数据不对齐程度。如此节省资源和降低延迟。迟。迟。
技术研发人员:王亚宁
受保护的技术使用者:芯耀辉科技有限公司
技术研发日:2023.08.29
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/