CN118449496B - 一种时钟相位调整方法、电路、存储介质及计算机设备 - Google Patents
一种时钟相位调整方法、电路、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN118449496B CN118449496B CN202410904048.9A CN202410904048A CN118449496B CN 118449496 B CN118449496 B CN 118449496B CN 202410904048 A CN202410904048 A CN 202410904048A CN 118449496 B CN118449496 B CN 118449496B
- Authority
- CN
- China
- Prior art keywords
- coefficient
- frequency division
- clock signal
- count value
- phase adjustment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000000630 rising effect Effects 0.000 claims abstract description 237
- 238000012545 processing Methods 0.000 claims abstract description 74
- 238000007781 pre-processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001934 delay Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000009191 jumping Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Manipulation Of Pulses (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种时钟相位调整方法、电路、存储介质及计算机设备,涉及集成电路技术领域。其中方法包括:数据处理模块接收分频系数和第一相位调整系数,根据分频系数和第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数;计数模块接收参考时钟信号,对参考时钟信号的上升沿和/或下降沿进行计数,得到参考时钟信号的边沿计数值;控制模块根据边沿计数值以及上升沿跳转系数和下降沿跳转系数,对参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号。上述方法可以通过调整参考时钟信号的频率来灵活地选择相位调整的精度,能够满足不同的时钟相位调整需求,便于复用,并且方案设计简单灵活,易于实现。
Description
技术领域
本发明涉及集成电路领域,尤其是涉及一种时钟相位调整方法、电路、存储介质及计算机设备。
背景技术
在集成电路领域,经常遇到需要对功能模块的输入时钟的相位进行调整的情况。时钟相位调整的目的是使时钟信号的到达时间和系统内部的时序要求相匹配。时钟相位调整可以确保各个功能模块按照预设的顺序和时间协调工作,对于数据的正确传输和处理至关重要。
在实际应用中,不同的功能模块待调整的相位可能不同,从而导致对相位调整精度的需求也可能不同,因此如果采用固定的相位调整精度,很难满足不同功能模块的相位调整需求,导致相位调整的准确性较差。在相关技术中,能够改变相位调整精度的时钟相位调整的方案通常比较复杂,不易于实现。
发明内容
有鉴于此,本申请提供了一种时钟相位调整方法、电路、存储介质及计算机设备,主要目的在于解决相关技术中时钟相位调整方案复杂的技术问题。
根据本发明的第一个方面,提供了一种时钟相位调整方法,所述方法应用于时钟相位调整电路中,所述电路包括数据处理模块、计数模块和控制模块,其中,所述数据处理模块和所述计数模块分别与所述控制模块连接,该方法包括:
所述数据处理模块接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块;
所述计数模块接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块;
所述控制模块根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号。
可选的,所述时钟相位调整电路还包括预处理模块,所述预处理模块与所述数据处理模块连接;在所述数据处理模块接收分频系数和第一相位调整系数之前,所述方法还包括:所述预处理模块根据预设的第一待调整相位,确定第一相位调整步长,根据所述第一相位调整步长,确定所述参考时钟信号的频率,根据所述参考时钟信号的频率和预设的目标频率确定所述分频系数,并将所述分频系数发送至所述数据处理模块,其中,所述目标频率为所述目标时钟信号的频率;所述预处理模块根据所述第一待调整相位和所述第一相位调整步长,计算得到所述第一相位调整系数,并将所述第一相位调整系数发送至所述数据处理模块,其中,所述第一相位调整系数小于所述分频系数。
可选的,所述数据处理模块根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,包括:获取预设的计数初始值,并对所述计数初始值和所述第一相位调整系数求和,得到所述上升沿跳转系数;若所述第一相位调整系数小于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,得到所述下降沿跳转系数;若所述第一相位调整系数大于或等于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,再减去所述分频系数,得到所述下降沿跳转系数。
可选的,所述数据处理模块还与所述计数模块连接;在所述计数模块对所述参考时钟信号的上升沿和/或下降沿进行计数之前,所述方法还包括:所述数据处理模块获取预设的分频条件,根据所述分频系数和所述分频条件,得到分频指示信号,并将所述分频指示信号发送至所述计数模块和所述控制模块,其中,所述分频指示信号用于指示所述计数模块对所述参考时钟信号的上升沿和/或下降沿进行计数的方式,以及,用于指示所述控制模块对所述参考时钟信号进行分频处理和一级相位调整的方式;其中,所述分频条件包括第一分频条件和第二分频条件,所述第一分频条件为要求所述目标时钟信号的占空比为50%,所述第二分频条件为不要求所述目标时钟信号的占空比为50%;当所述分频系数为奇数并且所述分频条件为所述第一分频条件时,所述分频指示信号为第一分频指示信号;当所述分频系数为奇数并且所述分频条件为所述第二分频条件,或者,当所述分频系数为偶数时,所述分频指示信号为第二分频指示信号。
可选的,所述计数模块对参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块,包括:若所述分频指示信号为所述第一分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第一上升沿计数值,并将所述第一上升沿计数值发送至所述控制模块;以及,对所述参考时钟信号的下降沿进行计数,得到第一下降沿计数值,并将所述第一下降沿计数值发送至所述控制模块;若所述分频指示信号为所述第二分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第二上升沿计数值,并将所述第二上升沿计数值发送至所述控制模块;或者,对所述参考时钟信号的下降沿进行计数,得到第二下降沿计数值,并将所述第二下降沿计数值发送至所述控制模块。
可选的,所述控制模块根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号,包括:若所述分频指示信号为所述第一分频指示信号,则获取所述第一上升沿计数值和所述第一下降沿计数值,基于所述第一上升沿计数值生成第一分频时钟信号,基于所述第一下降沿计数值生成第二分频时钟信号;基于所述第一上升沿计数值生成第一分频时钟信号,包括:当所述第一上升沿计数值等于所述上升沿跳转系数时,控制所述第一分频时钟信号跳转为高电平;当所述第一上升沿计数值等于所述下降沿跳转系数时,控制所述第一分频时钟信号跳转为低电平;所述基于所述第一下降沿计数值生成第二分频时钟信号,包括:当所述第一下降沿计数值等于所述上升沿跳转系数时,控制所述第二分频时钟信号跳转为高电平;当所述第一下降沿计数值等于所述下降沿跳转系数时,控制所述第二分频时钟信号跳转为低电平;对所述第一分频时钟信号和第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;若所述分频指示信号为所述第二分频指示信号,则获取所述第二上升沿计数值或所述第二下降沿计数值,基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号;所述基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号,包括:当所述第二上升沿计数值或所述第二下降沿计数值等于所述上升沿跳转系数时,控制所述目标时钟信号跳转为高电平;当所述第二上升沿计数值或所述第二下降沿计数值等于所述下降沿跳转系数时,控制所述目标时钟信号跳转为低电平。
可选的,所述时钟相位调整电路还包括通过多个反相器串联构建的延时链,所述延时链与所述控制模块连接,其中,所述反相器的数量根据所述参考时钟信号的周期和第二相位调整步长计算得到,所述第二相位调整步长根据所述反相器的延时时长确定;所述方法还包括:所述控制模块将所述目标时钟信号输入至所述延时链;所述延时链按照预设的第二相位调整系数对所述目标时钟信号进行延时处理,得到二级相位调整后的所述目标时钟信号,其中,所述第二相位调整系数根据第二待调整相位和所述第二相位调整步长计算得到,所述第二待调整相位根据所述第一待调整相位、所述第一相位调整步长和所述第一相位调整系数计算得到。
根据本发明的第二个方面,提供了一种时钟相位调整电路,该电路包括:数据处理模块、计数模块和控制模块,其中,所述数据处理模块和所述计数模块分别与所述控制模块连接;
所述数据处理模块,用于接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块;
所述计数模块,用于接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块;
所述控制模块,用于根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号。
根据本发明的第三个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述时钟相位调整方法。
根据本发明的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述时钟相位调整方法。
本发明提供的一种时钟相位调整方法、电路、存储介质及计算机设备,首先,所述数据处理模块接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块;然后,所述计数模块接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块;最后,所述控制模块根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号。本申请提供的时钟相位调整方法,在对上升沿跳转系数和下降沿跳转系数的计算过程中引入第一相位调整系数,从而可以基于分频实现对目标时钟信号进行相位调整。通过这种方法对时钟相位进行调整,可以通过调整参考时钟信号的频率来灵活地选择相位调整的精度,能够满足不同的时钟相位调整需求,便于复用,并且方案设计简单灵活,易于实现。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种时钟相位调整方法的流程示意图;
图2示出了本发明实施例提供的一种时钟相位调整电路的结构示意图;
图3示出了本发明实施例提供的另一种时钟相位调整电路的结构示意图;
图4示出了本发明实施例提供的一种基于奇数分频的时钟相位调整波形图;
图5示出了本发明实施例提供的一种基于偶数分频的时钟相位调整波形图;
图6示出了本发明实施例提供的一种延时链的结构示意图;
图7示出了本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在集成电路领域,例如在数字前端设计IP(Intellectual Property,知识产权)核(指预先设计好的电路功能模块)过程中经常遇到需要对功能模块输入时钟的相位进行调整的情况,相关技术常用的方法是采用锁相环进行相位调整,但是锁相环设计复杂,不易于实现。基于此,本实施例提供一种灵活简单、易于实现的时钟相位调整方案。
需要说明的是,下文示出的各个实施例中,第一、第二及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的分频指示信号、不同分频情况中的上升沿计数值和下降沿计数值等等。“和/或”,用于描述对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中,A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在一个实施例中,如图1所示,提供了一种时钟相位调整方法,所述方法应用于时钟相位调整电路中,如图2所示,时钟相位调整电路包括数据处理模块301、计数模块302和控制模块303,数据处理模块301和所述计数模块302分别与所述控制模块303连接。其中,时钟相位调整电路可以基于数字电路实现。所述时钟相位调整方法包括以下步骤:
101、所述数据处理模块301接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块303。
102、所述计数模块302接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块303。
103、所述控制模块303根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号。
本实施例提供的时钟相位调整电路可以基于数字电路实现。其中,分频系数用于将参考时钟信号的频率分频为目标频率,本实施例在分频的同时,可以以参考时钟信号的一个周期作为单位相移(相位调整的步长),以对分频得到的时钟信号的相位进行调整。第一相位调整系数即用于指示在分频的时进行相移的步数,通过在分频处理中引入第一相位调整系数,从而实现基于分频的时钟相位调整。具体通过以下方式实现:确定分频系数和第一相位调整系数,并将分频系数和第一相位调整系数输入至数据处理模块301。其中,分频系数可以根据参考时钟信号和目标频率确定,例如,如果参考时钟信号的频率为8000MHz,目标频率为1000MHz,则可以对参考时钟信号进行8分频得到具有目标频率的目标时钟信号,即分频系数为8。第一相位调整系数可以根据需要调整的相位和相位调整的步长得到。
本实施例中,相位可以通过角度、时间或者波形宽度等维度来表征,例如,如果目标时钟信号的频率为1000MHz,参考时钟信号的频率为8000MHz,从角度的维度来说,假设目标时钟信号需要调整的相位为目标时钟信号的90°,从时间维度的表征就是,其中为目标时钟信号的周期;对于目标时钟信号而言,从波形宽度的维度进行表征,则为,其中为目标时钟信号一个周期的宽度,对于参考时钟信号而言,在波形宽度维度的进行表征,则为,其中为参考时钟信号的周期,为参考时钟信号一个周期的宽度。在实际应用中,可以根据需求,选择通过角度、时间还是波形宽度的维度来表征需要调整的相位,以便后续计算。
在本实施例中,可以以参考时钟信号的周期的宽度来表征相位调整的步长,即对目标时钟信号进行相位调整时,每次调整的相位的步长为一个参考时钟信号周期的宽度。在上述示例中,需要调整的相位为,相位调整的步长为,需要调整两步才能满足相位调整需求,所以在上述示例中,第一相位调整系数即为2。
在接收到分频系数和第一相位调整系数之后,数据处理模块301根据分频系数和第一相位调整系数计算得到用于同时实现分频和相位调整的上升沿跳转系数和下降沿跳转系数。其中,上升沿跳转系数和下降沿跳转系数具体的计算方法为:先计算出仅实现分频不进行相位调整时的初始上升沿跳转系数和初始下降沿跳转系数,然后将初始上升沿跳转系数和初始下降沿跳转系数分别与第一相位调整系数相加,得到最终可以同时实现分频和相位调整的上升沿跳转系数和下降沿跳转系数。
在本实施例提供的时钟相位调整电路启动时,需要通过计数模块302对参考时钟信号的上升沿和/或下降沿进行计数,得到对参考时钟信号的边沿计数值,其中,边沿计数值包括对参考时钟信号的上升沿进行计数得到的上升沿计数值,和/或,对参考时钟信号的下降沿进行计数得到的下降沿计数值。关于对参考时钟信号的上升沿还是下降沿进行计数,亦或是对上升沿和下降沿都进行计数,可以根据实际需要进行设置。
计数模块302对参考时钟信号的边沿进行计数的同时,需要将边沿计数值发送至控制模块303,控制模块303将参考时钟信号的边沿计数值与上升沿跳转系数和下降沿跳转系数进行比较,在边沿计数值达到上升沿跳转系数时,输出高电平,在边沿计数值达到下降沿跳转系数时,输出低电平,以此控制分频得到的时钟信号的高电平和低电平输出的相位,实现对时钟相位的调整。对于仅对参考时钟信号的上升沿或者下降沿中的一个进行计数的情况,会得到一个分频时钟信号,该分频时钟信号即为进行一级相位调整之后得到的目标时钟信号;对于对参考时钟信号的上升沿和下降沿均进行计数的情况,会得到两个分频时钟信号,对这两个分频时钟信号进行逻辑或运算或者逻辑与运算之后得到的时钟信号,即为进行一级相位调整之后的得到的目标时钟信号。
本实施例中,相位调整的精度取决于参考时钟信号的频率,即参考时钟信号的频率越高,则相位调整的精度越高。实际应用中,可以根据系统中能够提供的时钟以及实际的调整精度的需求选择合适的参考时钟信号进行一级相位调整。通常情况下,系统中存在多种频率的时钟可供选择,因此,本实施例提供的时钟相位调整方法,在多数情况下可以实现对时钟相位进行准确地调整。
本实施例提供的时钟相位调整方法,在对上升沿跳转系数和下降沿跳转系数的计算过程中引入第一相位调整系数,从而可以通过分频实现对目标时钟信号的相位调整。通过数据处理模块301对分频系数和第一相位调整系数进行计算,得到上升沿跳转系数和下降沿跳转系数,并将上升沿跳转系数和下降沿跳转系数输入至控制模块303。将参考时钟信号输入至计数模块302,通过计数模块302对参考时钟信号的上升沿和/或下降沿进行计数,得到上升沿计数值和/或下降沿计数值,并将上升沿计数值和/或下降沿计数值输入至控制模块303。控制模块303将接收到的上升沿计数值和/或下降沿计数值,与上升沿跳转系数和下降沿跳转系数进行比较,并根据比较结果控制高电平和低电平的输出,控制模块303的输出结果即为进行一级相位调整后的目标时钟信号。通过本实施例的内容以及图2所示的电路,可以看出本实施例提供的时钟相位调整方法,将相位调整融入到分频的过程当中,无需复杂的编程内容,易于实现,并且对数据处理的运算量较低,不会占用太多系统资源。此外,本实施例提供的时钟相位调整方法,可以通过调整参考时钟信号的频率来灵活地选择相位调整的精度,能够满足不同的时钟相位调整需求,便于针对不同的功能模块进行复用。
进一步的,为了完整说明本实施例的实施过程,下面对上述实施例具体实施方式进行细化和扩展。具体的,参见图3,在一个实施例中,所述时钟相位调整电路还包括预处理模块300,所述预处理模块300的输出端与所述数据处理模块301的输入端连接,在步骤101中,所述数据处理模块301接收分频系数和第一相位调整系数之前,所述方法还包括:所述预处理模块300根据预设的第一待调整相位,确定第一相位调整步长,根据所述第一相位调整步长,确定所述参考时钟信号的频率,根据所述参考时钟信号的频率和预设的目标频率确定所述分频系数,并将所述分频系数发送至所述数据处理模块301,其中,所述目标频率为所述目标时钟信号的频率;所述预处理模块300根据所述第一待调整相位和所述第一相位调整步长,计算得到所述第一相位调整系数,并将所述第一相位调整系数发送至所述数据处理模块301,其中,所述第一相位调整系数小于所述分频系数。
其中,第一待调整相位即需要进行调整的相位大小,目标频率为系统中需要进行时钟相位调整的功能模块的输入时钟信号的频率,即功能模块实际需要用到的时钟信号的频率,目标频率为已知量,本申请实施例中的目标时钟信号即为与功能模块的相位(时序)要求相匹配的输入时钟信号,也即目标频率就是本申请实施例中目标时钟信号的频率。
在上述实施例中,预处理模块300接收到第一待调整相位,通过第一待调整相位,确定第一相位调整步长。因为第一相位调整步长与参考时钟信号的周期相关,参考时钟信号是在系统时钟信号中选择的时钟信号。因此,可以预先计算出并存储所有系统时钟信号或者多个常用的系统时钟信号的周期,作为备选的第一相位调整步长。在接收到第一待调整相位之后,将第一待调整相位与每个备选的第一相位调整步长相除,并比较每个备选的第一相位调整步长对应的余数,将最小的余数对应的备选的第一相位调整步长确定为最终的第一相位调整步长,以此提高相位调整的准确度。将第一相位调整步长对应的系统时钟信号确定为参考时钟信号,确定参考时钟信号之后,根据参考时钟信号的频率和目标时钟信号的频率计算得到分频系数。
在上述实施例中,确定第一待调整相位和第一相位调整步长之后,将第一待调整相位和第一相位调整步长相除计算出第一相位调整系数。例如,第一待调整相位为0.4ns,第一相位调整步长为0.1ns,则第一相位调整系数为4。需要说明的是,第一相位调整系数小于分频系数,例如分频系数为10,则第一相位调整系数最大为9。
在本申请实施例中,参考时钟信号的选定以及分频系数和第一相位调整系数的计算,可以通过预处理模块300计算得到,也可以人为设置,直接输入至数据处理模块301。
在上述实施例中,可以根据第一待调整相位的大小,选择合适的参考时钟信号,参考时钟信号的频率与第一相位调整步长具有对应的关系,参考时钟信号的一个周期即第一相位调整的步长。第一待调整相位与第一相位调整步长进行相除的余数越小,则对目标时钟信号进行一级相位调整的准确性越高。在同一个数据处理系统中,不同的功能模块的第一待调整相位的大小可能不同,针对不同大小的第一待调整相位,可以灵活地选择不同频率的参考时钟信号,以此提高相位调整的准确性。
在一个实施例中,在步骤101中,所述数据处理模块301根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,具体可以通过以下方式实现:获取预设的计数初始值,并对所述计数初始值和所述第一相位调整系数求和,得到所述上升沿跳转系数;若所述第一相位调整系数小于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,得到所述下降沿跳转系数;若所述第一相位调整系数大于或等于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,再减去所述分频系数,得到所述下降沿跳转系数。
其中,计数初始值为对参考时钟信号的边沿进行计数的起始值,计数初始值通常设置为0。本实施例将第一相位调整系数引入上升沿跳转系数和下降沿跳转系数的计算过程中,以同时实现分频和相位调整。上升沿跳转系数具体可以根据计数初始值与第一相位调整系数求和得到,例如上升跳转系数的计算公式可以为:
;
其中,为上升沿跳转系数,为计数初始值,为第一相位调整系数。
下降沿跳转系数则根据第一相位调整系数与二分之一分频系数的比较关系,设置相应的计算方式,当第一相位调整系数小于分频系数的二分之一时,下降沿跳转系数的计算公式可以为:
;
当第一相位调整系数大于或者等于分频系数的二分之一时,下降沿跳转系数的计算公式可以为:
;
在上述两个公式中,为下降沿跳转系数,为计数初始值,为分频系数,为第一相位调整系数。
例如,假设分频系数为6,第一相位调整系数为2,则上升沿跳转系数为0+2=2,下降沿跳转系数为0+6/2+2=5。又例如,假设分频系数为7,第一相位调整系数为5,则上升沿跳转系数为0+5=5,下降沿跳转系数为0+3+5-7=1。
在上述实施例中,根据奇数分频、偶数分频的规律以及第一相位调整系数的大小,设置上升沿跳转系数和下降沿跳转系数的计算方式。在上升沿跳转系数和下降沿跳转系数的计算中引入第一相位调整系数,以使控制模块303后续通过上升沿跳转系数和下降沿跳转系数控制目标时钟信号的高电平和低电平的跳转,进而实现对参考时钟信号进行分频得到目标时钟信号同时,完成对目标时钟信号的一级相位调整。
在一个实施例中,所述数据处理模块301还与所述计数模块302连接;在步骤102所述计数模块302对所述参考时钟信号的上升沿和/或下降沿进行计数之前,所述时钟相位调整方法还包括:所述数据处理模块301获取预设的分频条件,根据所述分频系数和所述分频条件,得到分频指示信号,并将所述分频指示信号发送至所述计数模块302和所述控制模块303,其中,所述分频指示信号用于指示所述计数模块302对所述参考时钟信号的上升沿和/或下降沿进行计数的方式,以及,用于指示所述控制模块303对所述参考时钟信号进行分频处理和一级相位调整的方式;其中,所述分频条件包括第一分频条件和第二分频条件,所述第一分频条件为要求所述目标时钟信号的占空比为50%,所述第二分频条件为不要求所述目标时钟信号的占空比为50%;当所述分频系数为奇数并且所述分频条件为所述第一分频条件时,所述分频指示信号为第一分频指示信号;当所述分频系数为奇数并且所述分频条件为所述第二分频条件,或者,当所述分频系数为偶数时,所述分频指示信号为第二分频指示信号。
在上述实施例中,根据参考时钟信号的频率和目标时钟信号的频率确定的分频系数包括奇数和偶数两种情况,在实际应用中,对目标时钟信号的占空比的要求也可以分为两种情况,例如,对于基于目标时钟信号进行采样的功能模块,如果仅需对目标时钟信号的上升沿或者下降沿中的一个进行采样,则可以不要求目标时钟信号的占空比为50%;如果需要对目标时钟信号的上升沿和下降沿同时进行采样,则可能会要求目标时钟信号的占空比为50%。在计数模块302对参考时钟的边沿进行计数,以及,控制模块303将边沿计数值与上升沿跳转系数和下降沿跳转系数进行比较,进而控制目标时钟信号的高低电平输出的步骤中,针对以上不同情况的组合,可能需要不同的处理方式。
具体的,当分频系数为偶数时,无论是否要求目标时钟信号的占空比为50%,都可以通过仅对参考时钟信号的上升沿或者下降沿中的一个进行计数的方式,实现分频。当分频系数为奇数时,对于不要求目标时钟信号的占空比为50%的情况,也可以通过仅对参考时钟信号的上升沿或者下降沿中的一个进行计数的方式,实现分频。当分频系数为奇数时,对于要求目标时钟信号的占空比为50%的情况,则需要对参考时钟信号的上升沿和下降沿都进行计数,才能满足分频条件。基于此,本实施例通过设置分频指示信号的方式,来区分不同情况下需要执行的分频策略。对于计数模块302而言,分频指示信号用于指示计数模块302对所述参考时钟信号的上升沿和/或下降沿进行计数的方式;对于控制模块303而言,分频指示信号用于指示控制模块303对所述参考时钟信号进行分频处理和一级相位调整的方式。
在上述实施例中,对于分频系数为奇数,并且分频条件为要求目标时钟信号的占空比为50%的情况,对应的分频指示信号为第一分频指示信号;对于分频系数为奇数,并且分频条件为不要求目标时钟信号的占空比为50%的情况,以及,对于分频系数为偶数的情况,对应的分频指示信号为第二分频指示信号。其中,分频系数的奇偶性可以通过计算得到,分频条件是否为要求目标时钟信号的占空比为50%,可以根据实际需要进行设置,并输入至数据处理模块301,分频指示信号可以根据分频系数和分频条件进行逻辑运算得到。例如,可以设置奇偶指示信号来表征分频系数的奇偶性,如果分频系数为奇数则将奇偶指示信号置为1,如果分频系数为偶数则奇偶指示信号置为0,如果要求目标时钟信号的占空比为50%,可以通过分频条件输入端口输入1,如果不要求目标时钟信号的占空比为50%,可以通过分频条件输入端口输入0。将奇偶指示信号与分频条件进行逻辑与运算得到分频指示信号,分频指示信号为1时,对应第一分频指示信号,分频指示信号为0时,对应第二分频指示信号。
在上述实施例中,具体地,以图3所示的时钟相位调整电路为例,数据处理模块301接收分频系数和分频条件,数据处理模块301对分频系数和分频条件进行逻辑运算,生成分频指示信号,并将分频指示信号输入至计数模块302和控制模块303。便于计数模块302和控制模块303根据分频指示信号,针对不同情况的分频系数和分频条件的组合,执行相应的分频处理策略。通过这种方式,可以兼顾奇数分频、偶数分频以及对目标时钟信号占空比的要求,相比于仅采用偶数分频的方式可以提供更多的选择。
在一个实施例中,步骤102中所述计数模块302对参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块303,具体可以通过以下方式实现:若所述分频指示信号为所述第一分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第一上升沿计数值,并将所述第一上升沿计数值发送至所述控制模块;以及,对所述参考时钟信号的下降沿进行计数,得到第一下降沿计数值,并将所述第一下降沿计数值发送至所述控制模块;若所述分频指示信号为所述第二分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第二上升沿计数值,并将所述第二上升沿计数值发送至所述控制模块;或者,对所述参考时钟信号的下降沿进行计数,得到第二下降沿计数值,并将所述第二下降沿计数值发送至所述控制模块。
计数模块302可以设置两个计数器,例如上升沿计数器和下降沿计数器,上升沿计数器用于对参考时钟信号的上升沿进行计数,下降沿计数器用于对参考时钟的下降沿进行计数。具体地,计数模块302可以根据计数初始值和分频系数计算得到计数复位值;当分频指示信号为第一分频指示信号时,通过上升沿计数器,从计数初始值开始对参考时钟信号的上升沿进行计数,得到第一上升沿计数值,并将第一上升沿计数值发送至所述控制模块303,其中,当第一上升沿计数值达到计数复位值时,将上升沿计数器复位至计数初始值重新计数;并通过下降沿计数器,从计数初始值开始对参考时钟信号的下降沿进行计数,得到第一下降沿计数值,并述第一下降沿计数值发送至控制模块303,其中,当第一下降沿计数值达到计数复位值时,将下降沿计数器复位至计数初始值重新计数。当分频指示信号为第二分频指示信号时,则通过上升沿计数器,从计数初始值开始对参考时钟信号的上升沿进行计数,得到第二上升沿计数值,并将第二上升沿计数值发送至控制模块303,其中,当第二上升沿计数值达到计数复位值时,将上升沿计数器复位至计数初始值重新计数;或者,通过下降沿计数器,从计数初始值开始对参考时钟信号的下降沿进行计数,得到第二下降沿计数值,并将第二下降沿计数值发送至控制模块303,其中,当第二下降沿计数值达到计数复位值时,将下降沿计数器复位至计数初始值重新计数。
在上述实施例中,计数复位值为用于指示对参考时钟信号的边沿计数时进行复位的值,即在边沿计数值达到计数复位值的时候,在下一个时钟周期将边沿计数值复位为计数初始值,重新从计数初始值开始计数。计数复位值可以根据计数初始值和分频系数计算得到,计算公式为:
;
其中,为计数复位值,为计数初始值,为分频系数。
在上述实施例中,计数初始值通常设置为0,因此,计数复位值通常设置为分频系数减1。例如,如果分频系数为8,则边沿计数值从0开始计数一直计数到7,然后再复位至0,重新从0开始计数。
在上述实施例中,若分频指示信号为第一分频指示信号,则需要对参考时钟信号的上升沿和下降沿同时进行计数;若分频指示信号为第二分频指示信号,则仅需对参考时钟信号的上升沿或者下降沿中的一个进行计数。对参考时钟信号的边沿进行计数可以通过计数模块302实现,具体的,计数模块302中可以设置两个计数器,一个为对参考时钟信号的上升沿进行计数的上升沿计数器,另一个为对参考时钟信号的下降沿进行计数的下降沿计数器。
针对分频指示信号为第一分频指示信号的情况,具体可以通过以下方式实现:计数模块302在接收到第一分频指示信号时,启动上升沿计数器和下降沿计数器。利用上升沿计数器,从计数初始值开始对参考时钟信号的上升沿进行计数,得到第一上升沿计数值,当第一上升沿计数值达到计数复位值时,将上升沿计数器复位至计数初始值重新开始计数。同时,利用下降沿计数器,从计数初始值开始对参考时钟信号的下降沿进行计数,得到第一下降沿计数值,当第一下降沿计数值达到计数复位值时,将下降沿计数器复位至计数初始值重新开始计数。计数模块302还将第一上升沿计数值和第一下降沿计数值发送至控制模块303,以便控制模块303基于第一上升沿计数值和第一下降沿计数值控制目标时钟信号的高电平和低电平的跳转。
针对分频指示信号为第二分频指示信号的情况,具体可以通过以下方式实现:计数模块302在接收到第二分频指示信号时,启动上升沿计数器,利用上升沿计数器,从计数初始值开始对参考时钟信号的上升沿进行计数,得到第二上升沿计数值,当第二上升沿计数值达到计数复位值时,将上升沿计数器复位至计数初始值重新开始计数。计数模块302还将第二上升沿计数值发送至控制模块303,以便控制模块303基于第二上升沿计数值控制目标时钟信号的高电平和低电平的跳转。或者,计数模块302在接收到第二分频指示信号时,启动下降沿计数器,利用下降沿计数器,从计数初始值开始对参考时钟信号的下降沿进行计数,得到第二下降沿计数值,当第二下降沿计数值达到计数复位值时,将下降沿计数器复位至计数初始值重新开始计数。计数模块302还将第二下降沿计数值发送至控制模块303,以便控制模块303基于第二下降沿计数值控制目标时钟信号的高电平和低电平的跳转。
在一个实施例中,步骤103中所述控制模块303根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号,可以通过以下方式实现:若所述分频指示信号为所述第一分频指示信号,则获取所述第一上升沿计数值和所述第一下降沿计数值,基于所述第一上升沿计数值生成第一分频时钟信号,基于所述第一下降沿计数值生成第二分频时钟信号;其中,基于所述第一上升沿计数值生成第一分频时钟信号,包括:当所述第一上升沿计数值等于所述上升沿跳转系数时,控制所述第一分频时钟信号跳转为高电平;当所述第一上升沿计数值等于所述下降沿跳转系数时,控制所述第一分频时钟信号跳转为低电平;所述基于所述第一下降沿计数值生成第二分频时钟信号,包括:当所述第一下降沿计数值等于所述上升沿跳转系数时,控制所述第二分频时钟信号跳转为高电平;当所述第一下降沿计数值等于所述下降沿跳转系数时,控制所述第二分频时钟信号跳转为低电平;对所述第一分频时钟信号和第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;若所述分频指示信号为所述第二分频指示信号,则获取所述第二上升沿计数值或所述第二下降沿计数值,基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号;其中,所述基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号,包括:当所述第二上升沿计数值或所述第二下降沿计数值等于所述上升沿跳转系数时,控制所述目标时钟信号跳转为高电平;当所述第二上升沿计数值或所述第二下降沿计数值等于所述下降沿跳转系数时,控制所述目标时钟信号跳转为低电平。
在上述实施例中,分频指示信号为第一分频指示信号和分频指示信号为第二分频指示信号时,对参考时钟信号的边沿进行计数的方式不同,基于参考时钟信号的边沿计数值控制目标时钟信号输出的方法也不同。
针对分频指示信号为第一分频指示信号的情况,具体可以通过以下方式实现:控制模块303接收到第一分频指示信号,获取计数模块302发送的第一上升沿计数值和第一下降沿计数值,并将第一上升沿计数值与上升沿跳转系数和下降沿跳转系数进行比较,同时将第一下降沿计数值与上升沿跳转系数和下降沿跳转系数进行比较。基于第一上升沿跳转系数控制输出一路信号记为第一分频时钟信号,具体地,当第一上升沿计数值达到上升沿跳转系数时,控制第一分频时钟信号输出高电平,当第一上升沿计数值达到下降沿跳转系数时,控制第一分频时钟信号输出低电平。同样的,基于第一下降沿跳转系数控制输出另一路信号记为第二分频时钟信号,具体地,当第一下降沿计数值达到上升沿跳转系数时,控制第二分频时钟信号输出高电平,当第一下降沿计数值达到下降沿跳转系数时,控制第二分频时钟信号输出低电平。并对第一分频时钟信号和第二分频时钟信号进行逻辑运算,得到目标时钟信号。
参见图4,以分频系数为5为例,当第一相位调整系数为0时,上升沿跳转系数为0,下降沿跳转系数为2。通过对参考时钟信号的上升沿计数得到的第一分频时钟信号的波形图和对参考时钟信号的下降沿进行计数得到的第二分频时钟信号的波形图如图4所示,得到第一分频时钟信号和第二分频时钟信号之后,对第一分频时钟信号和第二分频时钟信号进行逻辑或运算,得到占空比为50%的目标时钟信号_fp0,目标时钟信号_fp0为相位调整系数为0时计算得到的目标时钟信号。同理,如果将第一相位调整系数设置为1,则输出的目标时钟信号的波形为图4中的目标时钟信号_fp1,如果将第一相位调整系数设置为2,则输出的目标时钟信号的波形为图4中的目标时钟信号_fp2。
针对分频指示信号为第二分频指示信号的情况,以对参考时钟信号的上升沿进行计数为例,具体可以通过以下方式实现:控制模块303接收到第二分频指示信号,获取计数模块302发送的第二上升沿计数值,并将第二上升沿计数值与上升沿跳转系数和下降沿跳转系数进行比较,直接输出目标时钟信号。具体地,当第二上升沿计数值达到上升沿跳转系数时,控制目标时钟信号输出高电平,当第二上升沿计数值达到下降沿跳转系数时,控制目标时钟信号输出低电平。基于第二上升沿计数值控制输出的目标信号即为进行一级相位调整后的目标时钟信号。此外,采用对参考时钟的下降沿进行计数得到目标时钟信号的方式,与对上升沿进行计数的方法相似,本实施例在此不再赘述。
如图5所示,以分频系数为6为例,当第一相位调整系数为0时,上升沿跳转系数为0,下降沿跳转系数为3,输出的目标时钟信号的波形为图5中的目标时钟信号_fp0;当第一相位调整系数为1时,上升沿跳转系数为1,下降沿跳转系数为4,输出的目标时钟信号的波形为图5中的目标时钟信号_fp1。以此类推,图5中的目标时钟信号_fp2、目标时钟信号_fp3、目标时钟信号_fp4、目标时钟信号_fp5,分别为第一相位调整系数为2、3、4、5时输出的目标时钟信号的波形图。
在上述实施例中,提供了奇数分频、偶数分频、50%的占空比、非50%的占空比之间不同组合情况的时钟相位调整方法,可以根据实际应用中的相位调整需求选择合适的相位调整方法,本实施例提供的时钟相位调整方法可以满足大多数的相位调整需求。对于奇数分频,没有统一采用同时对参考时钟信号的上升沿和下降沿进行计数,然后通过对两路分频信号进行运算得到50%占空比目标时钟信号的分频方式,而是基于占空比的要求,提供了两种分频方式,在不要求目标时钟信号的占空比为50%时,仅对参考时钟信号的上升沿或者下降沿中的一个进行计数,通过一路分频信号得到目标时钟信号,通过这种方式可以减少运算量,节约系统的运行资源。
在上述实施例中,以参考时钟信号的周期为第一相位调整步长,调整参考时钟信号的频率即可改变对目标时钟信号进行一级相位调整的精度,根据第一待调整相位的大小可以灵活选择合适频率的参考时钟信号以及第一相位调整系数,以此可以满足大多数相位调整需求。
在一个实施例中,所述时钟相位调整电路还包括通过多个反相器串联构建的延时链304,所述延时链304与所述控制模块303连接,其中,所述反相器的数量根据所述参考时钟信号的周期和第二相位调整步长计算得到,所述第二相位调整步长根据所述反相器的延时时长确定。所述时钟相位调整方法还包括:所述控制模块303将所述目标时钟信号输入至所述延时链304;所述延时链304按照预设的第二相位调整系数对所述目标时钟信号进行延时处理,得到二级相位调整后的所述目标时钟信号,其中,所述第二相位调整系数根据第二待调整相位和所述第二相位调整步长计算得到,所述第二待调整相位根据所述第一待调整相位、所述第一相位调整步长和所述第一相位调整系数计算得到。
在上述实施例中,基于分频的方法对目标时钟信号进行一级相位调整的方案,可以满足大多数的时钟相位调整需求,能够准确地进行相位调整。但是也可能存在有误差的情况,例如,第一待调整相位与第一相位调整步长进行相除如果存在余数,并且这个余数导致的对目标时钟信号进行一级相位调整之后存在的相位误差超过了允许存在的误差阈值,则需要进一步调整相位以消除或者减小误差。例如,如果允许的误差阈值为0.02ns,假设第一待调整相位为1.14ns,第一相位调整步长为0.1ns,计算得到第一相位调整系数为11,在这种情况下,对目标时钟信号进行一级相位调整之后仍然会存在0.04ns的相位误差,超出了误差阈值。基于此,如图3所示,本申请实施例通过构建延时链304对一级相位调整后的目标时钟信号进行二级相位调整,以此来进一步提高时钟相位调整的准确性。
在上述实施例中,可以将两个反相器串联得到一个延时单元,将多个延时单元进行串联得到延时链304。一个延时单元的延时时长即为第二相位调整步长,即第二相位调整步长为两倍的反相器的延时时长。通过不同数量的延时单元组成的延时链304可以实现不同范围的相位调整。通过延时链304对目标时钟信号进行相位调整的范围,应当能够覆盖一个参考时钟信号的周期。基于此,则可以根据参考时钟信号的频率和第二相位调整步长,计算得到延时单元的数量,进而得到反相器的数量。例如,假设参考时钟信号的频率为10MHz,则参考时钟信号的周期为0.1ns,假设第二相位调整步长为20ps,则延时单元的数量即为5,反相器的数量为10,以图6为例,将5个延时单元(10个反相器)进行串联,得到与参考时钟信号频率相匹配的延时链304。在图6中,p_s为第二相位调整步长,一级相位调整后的目标时钟信号经过第一延时单元51后,相位增加1个p_s,经过第二延时单元52后,相位增加2个p_s,以此类推,经过第三延时单元53、第四延时单元54以及第五延时单元55后,目标时钟信号的相位分别增加3个p_s、4个p_s以及5个p_s。
构建好延时链304之后,通过第一待调整相位减去第一相位调整步长与第一相位调整系数的乘积,得到第二待调整相位。其中,第一待调整相位为目标时钟信号需要调整的总相位;第一相位调整步长和第一相位调整系数的乘积为,对目标时钟信号进行一级相位调整时实际调整的相位;第二待调整相位为对目标时钟信号进行二级相位调整时需要调整的相位,即需要调整的总相位减去一级相位调整时实际调整的相位。计算得到第二待调整相位后,根据第二待调整相位确定延时链304的输出长度,即在延时链304中选取目标数量的延时单元得到目标延时链。其中输出长度根据第二待调整相位和第二相位调整步长计算得到,将第二待调整相位与第二相位调整步长相除,得到第二相位调整系数,第二相位调整系数即为输出长度。例如,假设第二待调整相位为40ps,第二相位调整步长为20ps,则第二相位调整系数为2,即延时链304的输出长度为2,此时可以在延时链304中选取前两个延时单元作为目标延时链。以图6所示的延时链304为例,完成一级相位调整后的目标时钟信号输入至第一延时单元51,则可以选取第一延时单元51和第二延时单元52作为目标延时链,通过目标延时链对目标时钟信号进行二级相位调整,第二延时单元52的输出即为进行二级相位调整后的目标时钟信号。
上述实施例中,第二相位调整步长相比于第一相位调整步长更小,因此二级相位调整的精度比一级相位调整更高。通过反相器构建相位调整范围能够覆盖第一相位调整步长的延时链304,对目标时钟信号进行二级相位调整,能够提高时钟相位调整的准确性且易于实现。
进一步的,作为图1以及上述实施例所示方法的具体实现,本实施例提供了一种时钟相位调整电路,如图2所示,该电路包括:数据处理模块301、计数模块302、控制模块303,其中,所述数据处理模块301和所述计数模块302分别与所述控制模块303连接。
数据处理模块301,可用于用于接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块303;
计数模块302,可用于接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块303;
控制模块303,可用于根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号。
在具体的应用场景中,如图3所示,本电路还包括预处理模块300,所述预处理模块300与所述数据处理模块301连接。在所述数据处理模块301接收分频系数和第一相位调整系数之前,所述预处理模块300,具体可用于根据预设的第一待调整相位,确定第一相位调整步长,根据所述第一相位调整步长,确定所述参考时钟信号的频率,根据所述参考时钟信号的频率和预设的目标频率确定所述分频系数,并将所述分频系数发送至所述数据处理模块301,其中,所述目标频率为所述目标时钟信号的频率;根据所述第一待调整相位和所述第一相位调整步长,计算得到所述第一相位调整系数,并将所述第一相位调整系数发送至所述数据处理模块301,其中,所述第一相位调整系数小于所述分频系数。
在具体的应用场景中,述数据处理模块301根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,所述数据处理模块301,具体可用于获取预设的计数初始值,并对所述计数初始值和所述第一相位调整系数求和,得到所述上升沿跳转系数;若所述第一相位调整系数小于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,得到所述下降沿跳转系数;若所述第一相位调整系数大于或等于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,再减去所述分频系数,得到所述下降沿跳转系数。
在具体的应用场景中,如图3所示,所述数据处理模块301还与所述计数模块302连接;在所述计数模块302对所述参考时钟信号的上升沿和/或下降沿进行计数之前,所述数据处理模块301,具体可用于获取预设的分频条件,根据所述分频系数和所述分频条件,得到分频指示信号,并将所述分频指示信号发送至所述计数模块302和所述控制模块303,其中,所述分频指示信号用于指示所述计数模块302对所述参考时钟信号的上升沿和/或下降沿进行计数的方式,以及,用于指示所述控制模块303对所述参考时钟信号进行分频处理和一级相位调整的方式;其中,所述分频条件包括第一分频条件和第二分频条件,所述第一分频条件为要求所述目标时钟信号的占空比为50%,所述第二分频条件为不要求所述目标时钟信号的占空比为50%;当所述分频系数为奇数并且所述分频条件为所述第一分频条件时,所述分频指示信号为第一分频指示信号;当所述分频系数为奇数并且所述分频条件为所述第二分频条件,或者,当所述分频系数为偶数时,所述分频指示信号为第二分频指示信号。
在具体的应用场景中,所述计数模块302对参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块303,所述计数模块302,具体可用于若所述分频指示信号为所述第一分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第一上升沿计数值,并将所述第一上升沿计数值发送至所述控制模块303;以及,对所述参考时钟信号的下降沿进行计数,得到第一下降沿计数值,并将所述第一下降沿计数值发送至所述控制模块303;若所述分频指示信号为所述第二分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第二上升沿计数值,并将所述第二上升沿计数值发送至所述控制模块303;或者,对所述参考时钟信号的下降沿进行计数,得到第二下降沿计数值,并将所述第二下降沿计数值发送至所述控制模块303。
在具体的应用场景中,所述控制模块303根据所述边沿计数值以及所述上升沿跳转系数和所述下降沿跳转系数,对所述参考时钟信号进行分频处理和一级相位调整,得到目标时钟信号,所述控制模块303,具体可用于若所述分频指示信号为所述第一分频指示信号,则获取所述第一上升沿计数值和所述第一下降沿计数值,基于所述第一上升沿计数值生成第一分频时钟信号,基于所述第一下降沿计数值生成第二分频时钟信号;基于所述第一上升沿计数值生成第一分频时钟信号,包括:当所述第一上升沿计数值等于所述上升沿跳转系数时,控制所述第一分频时钟信号跳转为高电平;当所述第一上升沿计数值等于所述下降沿跳转系数时,控制所述第一分频时钟信号跳转为低电平;所述基于所述第一下降沿计数值生成第二分频时钟信号,包括:当所述第一下降沿计数值等于所述上升沿跳转系数时,控制所述第二分频时钟信号跳转为高电平;当所述第一下降沿计数值等于所述下降沿跳转系数时,控制所述第二分频时钟信号跳转为低电平;对所述第一分频时钟信号和第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;若所述分频指示信号为所述第二分频指示信号,则获取所述第二上升沿计数值或所述第二下降沿计数值,基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号;所述基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号,包括:当所述第二上升沿计数值或所述第二下降沿计数值等于所述上升沿跳转系数时,控制所述目标时钟信号跳转为高电平;当所述第二上升沿计数值或所述第二下降沿计数值等于所述下降沿跳转系数时,控制所述目标时钟信号跳转为低电平。
在具体的应用场景中,如图3所示,本电路还包括通过多个反相器串联构建的延时链304,所述延时链304与所述控制模块303连接,其中,所述反相器的数量根据所述参考时钟信号的周期和第二相位调整步长计算得到,所述第二相位调整步长根据所述反相器的延时时长确定。所述控制模块303,具体还可用于将所述目标时钟信号输入至所述延时链304。所述延时链304,具体可用于按照预设的第二相位调整系数对所述目标时钟信号进行延时处理,得到二级相位调整后的所述目标时钟信号,其中,所述第二相位调整系数根据第二待调整相位和所述第二相位调整步长计算得到,所述第二待调整相位根据所述第一待调整相位、所述第一相位调整步长和所述第一相位调整系数计算得到。
需要说明的是,本实施例提供的一种时钟相位调整电路所涉及各功能单元的其它相应描述,可以参考图1以及上述实施例中的对应描述,在此不再赘述。
基于上述如图1以及上述实施例所示的方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1一级上述实施例所示的时钟相位调整方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1所示的方法,以及图2和图3所示的时钟相位调整电路实施例,为了实现上述目的,如图7所示,本实施例还提供了一种时钟相位调整的计算机设备,具体可以为个人计算机、服务器、智能手机、平板电脑、智能手表、或者其它网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序和操作系统;处理器,用于执行计算机程序以实现上述如图1所示的方法。
可选的,该计算机设备还可以包括内存储器、通信接口、网络接口、摄像头、射频(Radio Frequency,RF)电路,传感器、音频电路、WI-FI模块、显示屏(Display)、输入装置比如键盘(Keyboard)等,可选的,通信接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种时钟相位调整的计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述计算机设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理计算机设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,在对上升沿跳转系数和下降沿跳转系数的计算过程中引入第一相位调整系数,从而可以基于分频实现对目标时钟信号进行相位调整。与现有技术相比,通过这种方法对时钟相位进行调整,可以通过调整参考时钟信号的频率来灵活选取相位调整的精度,能够满足不同的时钟相位调整需求,便于复用,并且方案设计简单灵活,易于实现。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (9)
1.一种时钟相位调整方法,其特征在于,所述方法应用于时钟相位调整电路中,所述电路包括数据处理模块、计数模块和控制模块,其中,所述数据处理模块和所述计数模块分别与所述控制模块连接,所述方法包括:
所述数据处理模块接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块;其中,计算得到所述上升沿跳转系数和下所述降沿跳转系数包括:获取预设的计数初始值,并对所述计数初始值和所述第一相位调整系数求和,得到所述上升沿跳转系数;若所述第一相位调整系数小于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,得到所述下降沿跳转系数;若所述第一相位调整系数大于或等于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,再减去所述分频系数,得到所述下降沿跳转系数;
所述计数模块接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块,其中,所述边沿计数值包括上升沿计数值和/或下降沿计数值;
所述控制模块对于任意一个所述边沿计数值,在所述边沿计数值达到所述上升沿跳转系数时输出高电平,在所述边沿计数值达到所述下降沿跳转系数时输出低电平,其中,如果所述分频系数为奇数且要求目标时钟信号的占空比为50%,则所述控制模块根据所述上升沿计数值生成第一分频时钟信号以及根据所述下降沿计数值生成第二分频时钟信号,并对所述第一分频时钟信号和所述第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;否则,所述控制模块根据所述上升沿跳转系数或所述下降沿跳转系数生成所述目标时钟信号。
2.根据权利要求1所述的方法,其特征在于,所述时钟相位调整电路还包括预处理模块,所述预处理模块与所述数据处理模块连接;在所述数据处理模块接收分频系数和第一相位调整系数之前,所述方法还包括:
所述预处理模块根据预设的第一待调整相位,确定第一相位调整步长,根据所述第一相位调整步长,确定所述参考时钟信号的频率,根据所述参考时钟信号的频率和预设的目标频率确定所述分频系数,并将所述分频系数发送至所述数据处理模块,其中,所述目标频率为所述目标时钟信号的频率;
所述预处理模块根据所述第一待调整相位和所述第一相位调整步长,计算得到所述第一相位调整系数,并将所述第一相位调整系数发送至所述数据处理模块,其中,所述第一相位调整系数小于所述分频系数。
3.根据权利要求1所述的方法,其特征在于,所述数据处理模块还与所述计数模块连接;在所述计数模块对所述参考时钟信号的上升沿和/或下降沿进行计数之前,所述方法还包括:
所述数据处理模块获取预设的分频条件,根据所述分频系数和所述分频条件,得到分频指示信号,并将所述分频指示信号发送至所述计数模块和所述控制模块,其中,所述分频指示信号用于指示所述计数模块对所述参考时钟信号的上升沿和/或下降沿进行计数的方式,以及,用于指示所述控制模块对所述参考时钟信号进行分频处理和一级相位调整的方式;
其中,所述分频条件包括第一分频条件和第二分频条件,所述第一分频条件为要求所述目标时钟信号的占空比为50%,所述第二分频条件为不要求所述目标时钟信号的占空比为50%;
当所述分频系数为奇数并且所述分频条件为所述第一分频条件时,所述分频指示信号为第一分频指示信号;
当所述分频系数为奇数并且所述分频条件为所述第二分频条件,或者,当所述分频系数为偶数时,所述分频指示信号为第二分频指示信号。
4.根据权利要求3所述的方法,其特征在于,所述计数模块对参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块,包括:
若所述分频指示信号为所述第一分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第一上升沿计数值,并将所述第一上升沿计数值发送至所述控制模块;以及,对所述参考时钟信号的下降沿进行计数,得到第一下降沿计数值,并将所述第一下降沿计数值发送至所述控制模块;
若所述分频指示信号为所述第二分频指示信号,则对所述参考时钟信号的上升沿进行计数,得到第二上升沿计数值,并将所述第二上升沿计数值发送至所述控制模块;或者,对所述参考时钟信号的下降沿进行计数,得到第二下降沿计数值,并将所述第二下降沿计数值发送至所述控制模块。
5.根据权利要求4所述的方法,其特征在于,所述如果所述分频系数为奇数且要求所述目标时钟信号的占空比为50%,则所述控制模块根据所述上升沿计数值和所述下降沿计数值,分别生成第一分频时钟信号和第二分频时钟信号,并对所述第一分频时钟信号和所述第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;否则,所述控制模块根据所述上升沿跳转系数或所述下降沿跳转系数生成所述目标时钟信号,包括:
若所述分频指示信号为所述第一分频指示信号,则获取所述第一上升沿计数值和所述第一下降沿计数值,基于所述第一上升沿计数值生成第一分频时钟信号,基于所述第一下降沿计数值生成第二分频时钟信号;
基于所述第一上升沿计数值生成第一分频时钟信号,包括:当所述第一上升沿计数值等于所述上升沿跳转系数时,控制所述第一分频时钟信号跳转为高电平;当所述第一上升沿计数值等于所述下降沿跳转系数时,控制所述第一分频时钟信号跳转为低电平;
所述基于所述第一下降沿计数值生成第二分频时钟信号,包括:当所述第一下降沿计数值等于所述上升沿跳转系数时,控制所述第二分频时钟信号跳转为高电平;当所述第一下降沿计数值等于所述下降沿跳转系数时,控制所述第二分频时钟信号跳转为低电平;
对所述第一分频时钟信号和第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;
若所述分频指示信号为所述第二分频指示信号,则获取所述第二上升沿计数值或所述第二下降沿计数值,基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号;
所述基于所述第二上升沿计数值或所述第二下降沿计数值生成所述目标时钟信号,包括:当所述第二上升沿计数值或所述第二下降沿计数值等于所述上升沿跳转系数时,控制所述目标时钟信号跳转为高电平;当所述第二上升沿计数值或所述第二下降沿计数值等于所述下降沿跳转系数时,控制所述目标时钟信号跳转为低电平。
6.根据权利要求2所述的方法,其特征在于,所述时钟相位调整电路还包括通过多个反相器串联构建的延时链,所述延时链与所述控制模块连接,其中,所述反相器的数量根据所述参考时钟信号的周期和第二相位调整步长计算得到,所述第二相位调整步长根据所述反相器的延时时长确定;所述方法还包括:
所述控制模块将所述目标时钟信号输入至所述延时链;
所述延时链按照预设的第二相位调整系数对所述目标时钟信号进行延时处理,得到二级相位调整后的所述目标时钟信号,其中,所述第二相位调整系数根据第二待调整相位和所述第二相位调整步长计算得到,所述第二待调整相位根据所述第一待调整相位、所述第一相位调整步长和所述第一相位调整系数计算得到。
7.一种时钟相位调整电路,其特征在于,所述电路包括:数据处理模块、计数模块和控制模块,其中,所述数据处理模块和所述计数模块分别与所述控制模块连接;
所述数据处理模块,用于接收分频系数和第一相位调整系数,根据所述分频系数和所述第一相位调整系数,计算得到上升沿跳转系数和下降沿跳转系数,并将所述上升沿跳转系数和所述下降沿跳转系数发送至所述控制模块;其中,计算得到所述上升沿跳转系数和下所述降沿跳转系数包括:获取预设的计数初始值,并对所述计数初始值和所述第一相位调整系数求和,得到所述上升沿跳转系数;若所述第一相位调整系数小于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,得到所述下降沿跳转系数;若所述第一相位调整系数大于或等于所述分频系数的二分之一,则对所述分频系数的二分之一向下取整之后与所述计数初始值以及所述第一相位调整系数求和,再减去所述分频系数,得到所述下降沿跳转系数;
所述计数模块,用于接收参考时钟信号,对所述参考时钟信号的上升沿和/或下降沿进行计数,得到所述参考时钟信号的边沿计数值,并将所述边沿计数值发送至所述控制模块,其中,所述边沿计数值包括上升沿计数值和/或下降沿计数值;
所述控制模块,用于对于任意一个所述边沿计数值,在所述边沿计数值达到所述上升沿跳转系数时输出高电平,在所述边沿计数值达到所述下降沿跳转系数时输出低电平,其中,如果所述分频系数为奇数且要求目标时钟信号的占空比为50%,则所述控制模块根据所述上升沿计数值生成第一分频时钟信号以及根据所述下降沿计数值生成第二分频时钟信号,并对所述第一分频时钟信号和所述第二分频时钟信号进行逻辑运算,得到所述目标时钟信号;否则,所述控制模块根据所述上升沿跳转系数或所述下降沿跳转系数生成所述目标时钟信号。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410904048.9A CN118449496B (zh) | 2024-07-08 | 2024-07-08 | 一种时钟相位调整方法、电路、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410904048.9A CN118449496B (zh) | 2024-07-08 | 2024-07-08 | 一种时钟相位调整方法、电路、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118449496A CN118449496A (zh) | 2024-08-06 |
CN118449496B true CN118449496B (zh) | 2024-09-20 |
Family
ID=92309338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410904048.9A Active CN118449496B (zh) | 2024-07-08 | 2024-07-08 | 一种时钟相位调整方法、电路、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118449496B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262579A (zh) * | 2020-03-31 | 2020-06-09 | 杭州国彪超声设备有限公司 | 基于fpga的二维超声装置频率跟踪与相位控制电路 |
CN111740799A (zh) * | 2019-03-25 | 2020-10-02 | 无锡思朗电子科技有限公司 | 一种用于以太网分布式节点的平滑同步方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452325A (en) * | 1993-07-12 | 1995-09-19 | Quantum Corp. | Averaging zero phase start for phase locked loops |
JP5585273B2 (ja) * | 2010-07-28 | 2014-09-10 | 富士通株式会社 | Pll回路、pll回路の動作方法およびシステム |
CN116131810B (zh) * | 2023-04-17 | 2023-07-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种信号处理装置、芯片、方法及设备 |
-
2024
- 2024-07-08 CN CN202410904048.9A patent/CN118449496B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740799A (zh) * | 2019-03-25 | 2020-10-02 | 无锡思朗电子科技有限公司 | 一种用于以太网分布式节点的平滑同步方法 |
CN111262579A (zh) * | 2020-03-31 | 2020-06-09 | 杭州国彪超声设备有限公司 | 基于fpga的二维超声装置频率跟踪与相位控制电路 |
Also Published As
Publication number | Publication date |
---|---|
CN118449496A (zh) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3223145A1 (en) | Data reading circuit | |
US9722590B1 (en) | Skew adjustment circuit, semiconductor device, and skew calibration method | |
WO2012160108A1 (en) | Apparatus for synchronizing a data handover between a first clock domain and a second clock domain | |
US20140010317A1 (en) | Electronic circuit and communication method | |
JP2002217697A (ja) | クロック信号補正回路および半導体装置 | |
CN108227828B (zh) | 一种序列信号发生器及序列信号产生方法 | |
EP3751382A1 (en) | Sequence signal generator and sequence signal generation method | |
JP5696777B2 (ja) | クロックジェネレータ及びそれを含むシステム | |
CN109586724B (zh) | Dac输出信号初相位调节方法及多通道dac同步方法 | |
CN118449496B (zh) | 一种时钟相位调整方法、电路、存储介质及计算机设备 | |
KR20150059834A (ko) | 리더 수신기 및 이를 포함하는 리더 송수신 장치 | |
CN111404658B (zh) | 亚稳态校正方法 | |
US6882698B2 (en) | Fraction frequency divider, integrated circuit for video signal, and fraction frequency dividing method | |
CN116032252B (zh) | 一种数模接口时序控制电路 | |
US7535981B2 (en) | Clock generation circuit and method thereof | |
CN112580278B (zh) | 逻辑电路的优化方法、优化装置以及存储介质 | |
RU2641238C2 (ru) | Устройство обработки сигналов, способ обработки сигналов и программа | |
US9203384B2 (en) | Clock adjustment circuit and digital to analog converting device | |
US20150019607A1 (en) | Interpolation Filter Based On Time Assignment Algorithm | |
US10326433B2 (en) | Clock filter and clock processing method | |
JP2018042032A (ja) | 受信装置 | |
US12132813B2 (en) | Calibration method, storage medium and electronic apparatus | |
CN110364172B (zh) | 一种实现动态范围控制的方法、装置和计算设备 | |
US20060056557A1 (en) | Method of detecting the relative positioning of two signals and corresponding device | |
US20110032015A1 (en) | Systems and methods for clock correction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |