发明内容
本申请的目的在于提供一种时钟同步电路以及时钟同步方法,以解决传统的时钟同步电路占用资源多,实现原理复杂的技术问题。
为解决上述技术问题,本申请的技术方案如下:
本申请提供一种时钟同步电路,所述时钟同步电路包括:
第一电路,用于接收源时钟和第一输入信号,生成第一时钟,所述第一时钟和所述第一输入信号的时钟的频率同步,相位同步;
第二电路,所述第二电路耦接至所述第一电路,用于接收所述源时钟和所述第一电路输出的积分信号,并根据所述积分信号获取所述源时钟和所述第一输入信号的相位差的积分值的积分以调整所述源时钟的相位,生成第二时钟,所述第二时钟和所述第一时钟的频率同步。
进一步地,所述第一电路包括:
相位检测模块,用于检测所述第一输入信号的时钟和第一调相模块输出的时钟的相位差,生成检测信号;
运算模块,用于接收所述检测信号,基于所述检测信号确定所述相位差的积分值,生成所述积分信号,以及基于所述检测信号确定与所述相位差呈比例的比例值,生成比例信号;并基于所述比例信号和所述积分信号确定所述比例值与所述积分值的和,记为累加值,生成累加信号;
第一积分模块,用于接收所述累加信号,基于所述累加信号确定所述累加值的积分,生成第一控制信号;
所述第一调相模块,用于接收所述源时钟并输出所述源时钟至所述相位检测模块,以及接收所述第一控制信号,基于所述第一控制信号调整所述源时钟的相位,生成第一时钟。
进一步地,所述运算模块包括:
比例运算模块,用于接收所述检测信号,基于所述相位差确定与所述相位差呈比例的比例值,生成所述比例信号;
积分运算模块,用于接收所述检测信号,基于所述相位差确定所述相位差的积分值,生成所述积分信号;
累加运算模块,用于接收所述比例信号和所述积分信号,基于所述比例信号和所述积分信号确定所述累加值,生成所述累加信号。
进一步地,所述第二电路包括:
第二积分模块,所述第二积分模块耦接至所述运算模块,用于接收所述积分信号,基于所述积分信号确定所述相位差的积分值的积分,生成第二控制信号;
第二调相模块,用于接收所述第二控制信号和所述源时钟,基于所述第二控制信号调整所述源时钟的相位,生成第二时钟。
进一步地,所述第二电路包括:
第二积分模块,所述第二积分模块耦接至所述积分运算模块,用于接收所述积分信号,基于所述积分信号确定所述相位差的积分值的积分,生成第二控制信号;
第二调相模块,用于接收所述第二控制信号和所述源时钟,基于所述第二控制信号调整所述源时钟的相位,生成第二时钟。
进一步地,所述时钟同步电路还包括:
锁相环,分别耦接至所述第一电路和所述第二电路,用于生成所述源时钟,并输出所述源时钟至所述第一电路和所述第二电路。
进一步地,所述时钟同步电路还包括:
发送模块,耦接至所述第一电路,用于产生所述第一输入信号,并输出所述第一输入信号至所述第一电路。
基于上述时钟同步电路,本申请还提供一种时钟同步的方法,所述方法包括:
根据第一输入信号的时钟和源时钟的相位差生成第一时钟;
根据所述第一输入信号的时钟和所述源时钟的相位差的积分值生成第二时钟,所述第二时钟与所述第一时钟的频率同步。
进一步地,所述根据第一输入信号的时钟和源时钟的相位差生成第一时钟的步骤,包括:
获取第一输入信号的时钟和源时钟的相位差;
分别获取与所述相位差呈比例的比例值和所述相位差的积分值;
获取所述积分值和所述比例值的和,记为累加值;
获取所述累加值的积分;
根据所述累加值的积分调整所述源时钟的相位,生成第一时钟。
进一步地,所述根据所述第一输入信号的时钟和所述源时钟的相位差的积分值生成第二时钟的步骤,包括:
获取所述相位差的积分值的积分;
根据所述相位差的积分值的积分调整所述源时钟的相位,生成第二时钟。
相比于现有技术,本申请的有益效果在于:
本申请提供的时钟同步电路,包括第一电路和第二电路,其中,第一电路用于接收源时钟和第一输入信号,生成与第一输入信号的时钟同步的第一时钟;第二电路接收第一电路生成的积分信号,并接收源时钟,根据第一电路生成的积分信号调整源时钟的相位以生成与第一时钟频率同步的第二时钟;如上述的时钟同步电路,相比于如图1所示的传统技术方案的时钟同步电路,大幅度的节省了serdes的资源,并且通过接收积分信号实现第一时钟和第二时钟频率同步的实现原理更简单。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例提供的时钟同步电路,如图2所示,该时钟同步电路具体包括第一电路100和第二电路120。
其中,第一电路100用于接收源时钟(pll_clk)和第一输入信号(rx_data),生成第一时钟(rx_clk),第一电路100输出的第一时钟(rx_clk)与第一输入信号(rx_data)的时钟同步,即两者的频率同步,相位同步;具体地,第一电路100根据第一输入信号(rx_data)的时钟调整接收到的源时钟(pll_clk)的相位以生成第一时钟(rx_clk),生成的第一时钟(rx_clk)与第一输入信号(rx_data)的时钟达到频率同步和相位同步。
在一些实施例中,第一电路如图3所示,具体包括相位检测模块110、运算模块120、第一积分模块130和第一调相模块140。
其中,相位检测模块110用于检测第一输入信号(rx_data)的时钟和第一调相模块140输出的时钟的相位差,生成检测信号;具体地,第一电路100为反馈电路,在初始状态下,初始状态即为第一输入信号(rx_data)输入至相位检测模块110但还未被输出的时刻,此时第一调相模块140所输出的时钟为源时钟(pll_clk),此外,相位差在第一电路100中通过检测信号表示。
运算模块120用于接收检测信号,基于检测信号确定相位差的积分值,生成积分信号,以及基于检测信号确定与相位差呈比例的比例值,生成比例信号;并基于比例信号和积分信号确定比例值与积分值的和,记为累加值,生成累加信号;具体地,通过运算模块对相位差分别进行积分运算和比例运算得到积分值和比例值,并且将积分值和比例值相加,得到累加值,其中,积分值、比例值和累加值在第一电路100中分别通过积分信号、比例信号和累加信号表示。
第一积分模块130用于接收累加信号,基于累加信号确定累加值的积分,生成第一控制信号;具体地,通过第一积分模块130对累加值进行积分,在第一电路100中通过第一控制信号表示。
第一调相模块140用于接收源时钟(pll_clk)并输出源时钟(pll_clk)至相位检测模块,以及接收第一控制信号,基于第一控制信号调整源时钟(pll_clk)的相位,生成第一时钟(rx_clk);具体地,如图3所示,第一电路100为反馈电路,在初始状态下,第一电路100所接收到的信号只包括输入至第一调相模块140的源时钟(pll_clk)和输入至相位检测模块110的第一输入信号(rx_data),此时第一调相模块没有接收到可以对源时钟(pll_clk)进行调相的第一控制信号,即在初始状态下,源时钟(pll_clk)经第一调相模块140输出至相位检测模块110,相位检测模块110根据接收到的第一输入信号(rx_data)的时钟和源时钟(pll_clk)得到两者的相位差,并输出至运算模块120,运算模块120输出累加信号至第一积分模块130,第一积分模块130输出第一控制信号至第一调相模块140,第一调相模块140根据第一控制信号调整源时钟(pll_clk)的相位,生成第一时钟(rx_clk),此时,如图3所示的第一电路达到稳定状态,即使第一输入信号(rx_clk)的时钟改变,第一电路100也能快速调整输出的第一时钟(rx_clk),使第一时钟(rx_clk)始终与第一输入信号(rx_data)的时钟同步。
在一些优选地实施例中,第一电路100的运算模块120如图4所示,具体包括比例运算模块121、积分运算模块122和累加运算模块123。
比例运算模块121用于接收检测信号,基于相位差确定与相位差呈比例的比例值,生成比例信号;具体地,比例运算模块121对相位差进行比例运算得到比例值,比例值是与相位差呈比例的值,在第一电路100中通过比例信号表示。
积分运算模块122用于接收检测信号,基于相位差确定相位差的积分值,生成积分信号;具体地,积分运算模块122对相位差进行积分运算得到积分值,在第一电路100中通过积分信号表示。
累加运算模块123用于接收比例信号和积分信号,基于比例信号和积分信号确定累加值,生成累加信号;具体地,累加运算模块123对比例值和积分值进行加法运算得到累加值,在第一电路中通过累加信号表示。
第二电路200耦接至第一电路100,用于接收第一电路100输出的积分信号(Iint)以及接收源时钟(pll_clk),生成第二时钟(rx_clk),第二电路200输出的第二时钟(tx_clk)与第一电路100输出的第一时钟(rx_clk)的频率同步;具体地,第二电路200对第一电路100输出的积分信号进行积分以调整源时钟(pll_clk)的相位以生成第二时钟(tx_clk),第二电路200生成的第二时钟(tx_clk)与第一电路100生成的第一时钟(rx_clk)频率同步。
在一些实施例中,第二电路200如图5所示,具体包括第二积分模块230和第二调相模块240。
第二积分模块230耦接至第一电路100的运算模块120,用于接收运算模块120输出的积分信号,并基于积分信号120确定相位差的积分值的积分,生成第二控制信号;具体地,通过第二积分模块230对相位差的积分值再进行积分,在第二电路200中通过第二控制信号表示。
第二调相模块240用于接收第二控制信号和源时钟(pll_clk),基于第二控制信号调整源时钟(pll_clk)的相位,生成第二时钟(tx_clk)。
在一些优选地实施例中,如图6所示,第二电路200的第二积分模块230耦接至第一电路100的积分运算模块121,用于接收积分信号,并基于积分信号确定相位差的积分值的积分,生成第二控制信号。
在一些实施例中,如图2所示,本申请实施例提供的时钟同步电路还包括锁相环300,锁相环300分别耦接至第一电路100和第二电路200,用于生成源时钟(pll_clk),并将源时钟(pll_clk)分别输出至第一电路100和第二电路200。
在一些实施例中,如图2所示,本申请实施例提供的时钟同步电路还包括发送模块400,发送模块400耦接至第一电路100,用于生成第一输入信号(rx_data),并将第一输入信号(rx_data)输出至第一电路100;具体地,在serdes模块中,发送模块400即为serdes模块的接收端(rx端)。
在serdes模块中,传统技术方案如图1所示,通常通过时钟数据回复模块(CDR)接收来自接收端(rx端)发送的输入信号(rx_data),以及接收时钟源输出的源时钟(pll_clk),源时钟(pll_clk)通过时钟数据恢复模块(CDR)生成接收端时钟(rx_lck),生成的接收端时钟(rx_data)与输入信号(rx_data)的时钟同步;然而,serdes模块中,通过数字锁相环(DPLL)接收端时钟(rx_lck)和(pll_lck)以生成发送端时钟(tx_pll),本申请实施例提供的时钟同步电路相比于传统技术方案,占用的资源更少,如图5-图6所示,本申请实施例提供的时钟同步电路,第二电路只占用两个模块的资源;此外,本申请实施例提供的时钟同步电路,其实现第一时钟和第二时钟同步的实现原理也更简单,下通过第一电路的等效数学模型对本申请实施例的时钟同步电路实现原理进行说明。
本申请实施例提供的时钟同步电路的第一电路所对应的S域数学模型如图7所示,其中,为第一输入信号(rx_data)的时钟相位,KPD表示相位检测模块,KP表示比例运算模块,/>表示积分运算模块,/>表示第一积分模块,KPI表示第一调相模块,/>为第一时钟(rx_clk)的相位。
如图7所示的S域数学模型的传递函数表示为:
上述传递函数的解为:
K1=KPDKPIKP
K2=KPDKPIKI
此外,fin=fck+Δf,如图7所示的系统稳定后有:/>KPDf=0,积分运算模块输出的结果为:Iint,S域表示为:/>则/>为:
根据可得:
KPIIint=2πΔf
其中,fin为第一输入信号(rx_data)的时钟频率,fck为第一时钟(rx_clk)的频率,Δf为第一输入信号(rx_data)的时钟频率与第一时钟(rx_clk)的频率差;
因为源时钟(pll_clk)经过第一电路之后生成的第一时钟(rx_clk)和第一输入信号(rx_data)的时钟频率一致,此时第一时钟(rx_clk)和(pll_clk)之间存在频率差为KPIIint,所以为了实现第二时钟(tx_clk)和第一时钟(rx_clk)的同步,只需要在源时钟(pll_clk)基础上频率增加KPIIint,即实现下式:
本申请实施例提供的时钟同步电路,如图5-图6所示,第二电路与第一电路耦接,并直接接收第一电路输出的积分信号,根据公式设计出第二电路实现了第二时钟(tx_clk)和第一时钟(rx_clk)的频率同步,相比于如图1所示的技术方案使用数字锁相环(DPLL)通过接收第一时钟(rx_clk)实现与第二时钟(tx_clk)同步的技术方案,本申请实施例提供的时钟同步电路不仅结构简单,占用的资源少,其实现原理也远比数字滤波器(DPLL)的实现原理简单。
基于上述时钟同步电路,本申请实施例还提供一种时钟同步的方法,该方法包括:
步骤S10:根据第一输入信号(rx_data)的时钟和源时钟(pll_clk)的相位差生成第一时钟(rx_clk);具体地,第一电路100接收第一输入信号(rx_data)和源时钟(pll_clk)以生成第一时钟(rx_clk),第一时钟(rx_clk)与第一输入信号(rx_data)的时钟频率同步、相位同步;
步骤S20:根据所述第一输入信号(rx_data)的时钟和所述源时钟(pll_clk)的相位差的积分值生成第二时钟(tx_clk),第二时钟(tx_clk)与第一时钟(rx_clk)的频率同步。
在一些实施例中,步骤S10具体包括:
步骤S11:获取第一输入信号(rx_data)的时钟和源时钟(pll_clk)的相位差;具体地,第一电路100的相位检测模块110接收第一输入信号(rx_data)和源时钟(pll_clk),并计算两者的相位差。
步骤S12:分别获取与所述相位差呈比例的比例值和所述相位差的积分值;具体地,第一电路100的运算模块120根据相位差分别计算出与相位差呈比例的比例值和相位差的积分值。
在一些实施例中,第一电路100的比例运算模块121计算与相位差呈比例的比例值,第一电路100的积分运算模块122计算相位差的积分值。
步骤S13:获取积分值和比例值的和,记为累加值;具体地,第一电路100的运算模块120对比例值和积分值进行加法运算,将加法结果记为累加值。
在一些实施例中,第一电路100的累加模块123对比例值和积分值进行加法运算将加法结果记为累加值。
步骤S14:获取累加值的积分;具体地,第一电路100的第一积分模块130对累加值进行积分运算。
步骤S15:根据累加值的积分调整源时钟(pll_clk)的相位,生成第一时钟(rx_clk);具体地,第一电路100的第一调相模块140根据累加值的积分运算结果调整源时钟(pll_clk)的相位,使生成的第一时钟(rx_clk)于第一输入信号(rx_data)的时钟同步。
在一些实施例中,步骤S20具体包括:
步骤S21:获取相位差的积分值的积分;具体地,第一电路100的运算模块120对相位差进行积分运算,得到相位差的积分值,并将积分运算的结果输出至第二电路200的第二积分模块230,第二电路200的第二积分模块230对相位差的积分值再进行积分运算。
在一些实施例中,第一电路100的积分运算模块122对相位差进行积分运算,并将积分运算的结果输出至第二电路200,第二电路200的第二积分模块230对相位差的积分值再进行积分运算。
步骤S20:根据相位差的积分值的积分调整所述源时钟(pll_clk)的相位,生成第二时钟(tx_clk);具体地,第二电路200的第二调相模块根据相位差的积分值的积分调整源时钟(pll_clk)的相位,使生成的第二时钟(tx_clk)与第一时钟(rx_clk)的时钟频率同步。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应视为本发明的保护范围。