发明内容
本发明提供一种基于锁相环的时钟发生器及时钟发生方法,以改善现有时钟发生器输出时钟信号的带宽较窄的现象。
为达到上述目的,本发明提供的一种基于锁相环的时钟发生器,包括:
晶体振荡器,用于输出初始时钟信号;
锁相环电路,用于接收所述晶体振荡器输出的所述初始时钟信号,输出具有不同相位的多个第一多路时钟信号;
还包括:
时钟调整模块,用于接收所述锁相环电路输出的各所述第一多路时钟信号,根据目标时钟信号的预定频率及相位分别对各所述第一多路时钟信号进行频率及相位调整,输出分别与各所述第一多路时钟信号对应的多个第二多路时钟信号;
倍频电路输出模块,用于接收、合并所述时钟调整模块输出的各所述第二多路时钟信号,输出具有所述预定频率和相位的所述目标时钟信号。
在本发明的一个实施例中,所述时钟调整模块包括脉冲发生模块和使能信号发生模块,所述使能信号发生模块接收部分或全部所述锁相环电路输出的所述第一多路时钟信号,根据所述目标时钟信号的预定频率及相位输出分别与各所述第一多路时钟信号对应的第二使能信号,所述脉冲发生模块的输入端接收所述锁相环电路输出的各所述第一多路时钟信号,使能端接收所述使能信号发生模块输出的各所述第二使能信号,输出端输出分别与各所述第一多路时钟信号对应的多个所述第二多路时钟信号。
在本发明的一个实施例中,所述使能信号发生模块包括同步校准模块和可编程计算模块,所述可编程计算模块接收部分或全部所述锁相环电路输出的所述第一多路时钟信号,根据所述目标时钟信号的预定频率及相位计算及输出分别与各所述第一多路时钟信号对应的第一使能信号,所述同步校准模块的输入端接收部分或全部所述锁相环电路输出的所述第一多路时钟信号,使能端接收所述可编程计算模块输出的各所述第一使能信号,输出端输出发往所述脉冲发生模块使能端的各所述第二使能信号。
在本发明的一个实施例中,所述倍频电路输出模块包括或门电路和触发器,所述或门电路对所述时钟调整电路输出的各所述第二多路时钟信号进行合并,并经过所述触发器输出具有所述预定频率和相位的所述目标时钟信号。
本发明具有相同或相应技术特征的一种基于锁相环的时钟发生方法,包括步骤:
利用晶体振荡器输出初始时钟信号;
利用锁相环电路对所述晶体振荡器输出的所述初始时钟信号进行复数化处理,输出具有不同相位的多个第一多路时钟信号;
利用时钟调整模块根据目标时钟信号的预定频率及相位分别对各所述第一多路时钟信号进行频率及相位调整,输出分别与各所述第一多路时钟信号对应的多个第二多路时钟信号;
利用倍频电路输出模块对各所述第二多路时钟信号进行合并,输出具有所述预定频率和相位的所述目标时钟信号。
在本发明的一个实施例中,所述利用时钟调整模块根据所述目标时钟信号的预定频率及相位分别对各所述第一多路时钟信号进行频率及相位调整,输出分别与各所述第一多路时钟信号对应的多个第二多路时钟信号,包括步骤:
利用使能信号发生模块根据所述目标时钟信号的预定频率及相位、结合所述第一多路时钟信号中的部分或全部信号,输出分别与各所述第一多路时钟信号对应的第二使能信号;
利用所述脉冲发生模块结合所述使能信号发生模块发出的所述第二使能信号,分别对各所述第一多路时钟信号进行频率及相位调整,输出分别与各所述第一多路时钟信号对应的多个第二多路时钟信号。
在本发明的一个实施例中,所述利用使能信号发生模块根据所述目标时钟信号的预定频率及相位、结合所述第一多路时钟信号中的部分或全部信号,输出分别与各所述第一多路时钟信号对应的第二使能信号,包括步骤:
利用可编程计算模块结合部分或全部所述锁相环电路输出的所述第一多路时钟信号,根据所述目标时钟信号的预定输出频率及相位进行计算,输出分别与各所述第一多路时钟信号对应的第一使能信号;
利用同步校准模块根据部分或全部所述锁相环电路输出的所述第一多路时钟信号,对所述可编程计算模块发出的所述第一使能信号进行同步校准,输出分别与各所述第一多路时钟信号对应的第二使能信号。
在本发明的一个实施例中,所述利用可编程计算模块结合部分或全部所述锁相环电路输出的所述第一多路时钟信号,根据所述目标时钟信号的预定输出频率及相位进行计算,输出分别与各所述第一多路时钟信号对应的第一使能信号,包括步骤:
根据所述目标时钟信号的预定输出频率设定各所述第一使能信号的频率及高电平宽度。
在本发明的一个实施例中,所述利用可编程计算模块结合部分或全部所述锁相环电路输出的所述第一多路时钟信号,根据所述目标时钟信号的预定输出频率及相位进行计算,输出分别与各所述第一多路时钟信号对应的第一使能信号,还包括步骤:
根据所述目标时钟信号的预定输出相位设定所述第一使能信号的相位起始位置。
在本发明的一个实施例中,所述利用可编程计算模块结合部分或全部所述锁相环电路输出的所述第一多路时钟信号,根据所述目标时钟信号的预定输出频率及相位进行计算,输出分别与各所述第一多路时钟信号对应的第一使能信号,还包括步骤:
根据所述时钟信号的预定占空比设定所述时钟信号在一个周期内对应的各所述第一多路时钟信号的上升沿差或下降沿差的个数总和;
根据所述个数总和分别设定对应各所述第一多路时钟信号的各所述第一使能信号。
与现有技术相比,本发明具有以下优点:
本发明提供的基于锁相环的时钟发生器及时钟发生方法,利用时钟调整模块根据目标时钟信号的预定频率及相位分别对锁相环电路输出的各第一多路时钟信号进行频率及相位调整,利用倍频电路输出模块接收、合并该时钟调整模块对各第一多路时钟信号进行频率及相位调整后得到的各第二多路时钟信号,得到并输出了具有较宽频率范围的目标时钟信号。
本发明的基于锁相环的时钟发生器及时钟发生方法,通过对各第一多路时钟信号进行组合设置,方便灵活地实现了对频率及相位的调整,可实现:
A、输出带宽可扩展至锁相环电路输出频率的n倍,其中,n为锁相环电路输出的第一多路时钟信号相数的一半。
B、输出的目标时钟信号的频率可调节步距可仅为锁相环电路输出频率的1/n倍,其中,n为锁相环电路输出的第一多路时钟信号相数的一半。
C、可以方便地实现对目标时钟信号相位的调整。
D、当目标时钟信号的频率小于锁相环电路的输出频率时,可实现将目标时钟信号具有的相位数设置得多于锁相环电路输出的第一多路时钟信号具有的相位数。
E、目标时钟信号具有的较宽的频率范围的调节步距可按两相延迟的宽度实现线性的增或减。
F、可通过对时钟调整模块的软件设置方便地实现占空比的调整。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
本发明的装置及处理方法可以被广泛地应用于各个领域中,并且可利用许多适当的具体电路形成,下面是通过具体的实施例来加以说明,当然本发明并不局限于该具体实施例,本领域内的普通技术人员所熟知的一般的替换无疑地涵盖在本发明的保护范围内。
为了在需要多个不同频率时钟信号的较复杂的电子系统中,仅利用单个晶体振荡器就获得所有需要的时钟频率,本发明提出了一种新的基于锁相环的时钟发生器及时钟发生方法。下面通过具体实施例对本发明的基于锁相环的时钟发生器及时钟发生方法进行详细介绍。
第一实施例:
本发明的第一实施例详细介绍了一种基于锁相环的时钟发生器。图2为本发明第一实施例中基于锁相环的时钟发生器的示意图,图3至图10为本发明第一实施例中基于锁相环的时钟发生器内部的时序图,下面结合图2至图10对本发明的第一实施例进行详细介绍。
如图2所示,本实施例中基于锁相环的时钟发生器,包括:晶体振荡器X101,用于输出初始时钟信号(OSC_clk);锁相环电路X102,用于接收所述晶体振荡器X101输出的所述初始时钟信号(OSC_clk),输出具有不同相位的多个第一多路时钟信号(本实施例中输出的为16个具有不同相位的第一多路时钟信号Phase<15:0>);时钟调整模块X100,用于接收所述锁相环电路X102输出的各所述第一多路时钟信号(Phase<15:0>),根据目标时钟信号的预定频率及相位分别对各所述第一多路时钟信号(Phase<15:0>)进行频率及相位调整,输出分别与各所述第一多路时钟信号(Phase<15:0>)对应的多个第二多路时钟信号(Pulse103<15:0>);倍频电路输出模块X300,用于接收、合并所述时钟调整模块X100输出的各所述第二多路时钟信号(Pulse103<15:0>),输出具有所述预定频率和相位的所述目标时钟信号(Out Clock)。
本实施例中,时钟调整模块X100具体可以包括脉冲发生模块X103和使能信号发生模块X200,所述使能信号发生模块X200接收部分或全部所述锁相环电路X102输出的所述第一多路时钟信号(Phase<15:0>),根据所述目标时钟信号(Out Clock)的预定频率及相位输出分别与各所述第一多路时钟信号(Phase<15:0>)对应的第二使能信号(Sel103<15:0>),所述脉冲发生模块X103的输入端接收所述锁相环电路X102输出的各所述第一多路时钟信号(Phase<15:0>),使能端接收所述使能信号发生模块X200输出的各所述第二使能信号(Sel103<15:0>),输出端输出分别与各所述第一多路时钟信号对应的多个所述第二多路时钟信号(Pulse103<15:0>)。
本实施例中,所述使能信号发生模块X200可以包括同步校准模块X106和可编程计算模块X107,所述可编程计算模块X107接收部分或全部所述锁相环电路X102输出的所述第一多路时钟信号(Phase<15:0>),根据所述目标时钟信号(Out Clock)的预定频率及相位计算及输出分别与各所述第一多路时钟信号(Phase<15:0>)对应的第一使能信号(Sel106<15:0>),所述同步校准模块X106的输入端接收部分或全部所述锁相环电路输出的所述第一多路时钟信号(Phase<15:0>),使能端接收所述可编程计算模块X107输出的各所述第一使能信号(Sel106<15:0>),输出端输出发往所述脉冲发生模块X103使能端的各所述第二使能信号(Sel103<15:0>)。
本实施例中,所述倍频电路输出模块可以包括或门电路X104和触发器X105,所述或门电路X104对所述时钟调整电路X100输出的各所述第二多路时钟信号(Pulse103<15:0>)进行合并,并经过所述触发器X105输出具有所述预定频率和相位的所述目标时钟信号(OutClock)。
本实施例中的基于锁相环的时钟发生器的工作原理为:
首先,由晶体振荡器X101产生具有某一固定频率的初始时钟信号(OSC_clk)。
然后,将该初始时钟信号(OSC_clk)输入至锁相环电路X102进行复数化,产生16个具有不同相位的第一多路时钟信号(Phase<15:0>)。本实施例中,该锁相环电路为模拟锁相环电路(analog Phase LockLoop),其可以根据输入的初始时钟信号(OSC_clk)产生多个固定频率的时钟序列(简称时序),且该多个时序的相邻时序之间具有相同的相位延迟。
图3为本发明第一实施例中锁相环电路输出的第一多路时钟信号示意图,如图3所示,本实施例中的锁相环电路将初始时钟信号(OSC_clk)进行复数化,得到了多个固定频率的时钟序列(简称时序),如图中所示的时序Phase<0>、Phase<1>......Phase<15>,且该多个时序的相邻时序之间均具有相同的相位延迟。具体地,本实施例中以各第一多路时钟信号的频率为300MHz为例进行说明,此时,其每一相延迟时间应为(1/300MHz)/16=208.3pS。
接着,利用时钟调整模块X100对图3中的16个第一多路时钟信号进行调整,具体调整方式为:
A、根据本实施例中的时钟发生器待输出的目标时钟信号(OutClock)的预定频率及相位,对时钟调整模块X100中的使能信号发生模块X200中的可编程计算模块X107中的计数器进行设置;
B、根据计数器的设置,结合部分或全部锁相环电路X102输出的所述第一多路时钟信号(Phase<15:0>),计算要实现目标时钟信号的预定频率及相位需要对各第一多路时钟信号(Phase<15:0>)进行的调整,并对应各第一多路时钟信号分别输出进行该调整所需的对应的第一使能信号(Sel106<15:0>)。
本实施例中,该可编程计算模块X107根据计数器的设置,仅结合了第一多路时钟信号中的Phase<4>时序,故而在硬件结构上可以仅将总线中用于传输Phase<4>时序的信号线连接至可编程计算模块X107即可。
图4为本发明第一实施例中可编程计算模块输出的16个第一使能信号示意图,如图4所示,可编程计算模块X107输出16个第一使能信号Sel106<0>、Sel106<1>......Sel106<15>分别与相应的各第一多路时钟信号对应,携带了计算得到的需要对各第一多路时钟信号(Phase<15:0>)进行调整的信息。
具体地,计算得到、并输出的各所述第一使能信号的频率及高电平宽度的设定决定了目标时钟信号的预定输出频率。如,本实施例中,设定输出的目标时钟信号的频率为184.5MHz,则该信号的周期宽度为1/184.5MHz=5.42nS,如前所述,锁相环电路输出的第一多路时钟信号的每一相延迟为208.3pS,可以算出,一个周期的目标时钟信号内需包含5.42nS/208.3pS=26个第一多路时钟信号的相位延迟。
本实施例中,设定该目标时钟信号的占空比为50%,则可以推得:一个周期的目标时钟信号的高电平宽度内包含了13个第一多路时钟信号的相位延迟,低电平宽度内包含了13个第一多路时钟信号的相位延迟。
为此,对可编程计算模块X107进行设置,令其输出的第一使能信号(Sel106<15:0>)可以实现每经过13个第一多路时钟信号的相位延迟后,倍频输出模块X300输出的目标时钟信号进行一次高、低电平的翻转。即,每当各所述第一多路时钟信号的上升沿(或下降沿)差的个数总和达13时,倍频输出模块X300输出的目标时钟信号进行一次高、低电平的翻转。
该可编程计算模块X107还可以根据所述目标时钟信号的预定输出相位设定第一使能信号的相位起始位置(本实施例中第一使能信号的相位起始位置指各第一使能信号时序中高电平起始位置最靠前的某一相时序的相位位置),进而决定目标时钟信号从第一多路时钟信号中哪一相位的时序开始。
假设本实施例中预定的目标时钟信号的相位与Phase<0>时序的相同,则其第一使能信号的相位起始位置可以为Phase<0>时序的相位位置。此时,可以通过分别设置与各第一多路时钟信号对应的各第一使能信号(Sel106<15:0>)实现:
第一多路时钟信号中的Phase<0>至Phase<13>传送至倍频输出模块X300时,其输出高电平;Phase<13>至下一周期的Phase<10>传送至倍频输出模块X300时,其输出低电平;下一周期的Phase<10>至再下一周期的Phase<7>传送至倍频输出模块X300时,其输出高电平;再下一周期的Phase<7>至再再下一周期的Phase<4>传送至倍频输出模块X300时,其输出低电平等等。如此循环下去,即可得到频率为184.5MHz,相位与第一多路时钟信号中的Phase<0>相位相同、占空比为50%的目标时钟信号。
在本发明的其它实施例中,也可以设定不同的占空比,此时设置为一个周期的目标时钟信号的高、低电平宽度内包含不同个数的相位延迟,或说不同的第一多路时钟信号的上升沿(或下降沿)差的个数总和即可。其具体的实现步骤可以包括:
根据所述时钟信号的预定占空比设定所述时钟信号在一个周期内对应的各所述第一多路时钟信号的上升沿差或下降沿差的个数总和;
根据所述个数总和分别设定对应各所述第一多路时钟信号的各所述第一使能信号。
C、根据部分或全部所述锁相环电路X102输出的所述第一多路时钟信号(Phase<15:0>),对所述可编程计算模块X107发出的所述第一使能信号(Sel106<15:0>)进行同步校准,输出分别与各所述第一多路时钟信号对应同步的第二使能信号(Sel103<15:0>)。
该步操作由时钟调整模块X100中的使能信号发生模块X200中的同步校准模块X106实现。
可编程计算模块X107输出的各第一使能信号(Sel106<15:0>)是根据第一多路时钟信号中的Phase<4>进行同步的。为了令倍频电路输出模块X300使能端输入的第二使能信号(Sel103<15:0>)能与其输入端输入的第一多路时钟信号(Phase<15:0>)相匹配,并最终输出正确的目标时钟信号,要求输入的各第一多路时钟信号(Phase<15:0>)的下降沿均位于对应第二使能信号(Sel103<15:0>)的高电平持续期间。
其中,由于本实施例中的脉冲发生模块X103是在Phase<X>的下降沿产生脉冲,故同步时是以Phase<X>的下降沿为准,本发明的其它实施例中,若脉冲发生模块X103是在Phase<X>的上升沿产生脉冲,则也应以Phase<X>的上升沿位置为准。
本实施例中脉冲发生模块X103的使能端为高电平有效,故需要各第一多路时钟信号(Phase<15:0>)的下降沿(或上升沿)位于对应第二使能信号(Sel103<15:0>)的高电平持续期间;本发明的其它实施例中,若脉冲发生模块X103的使能端为低电平有效,则应令各第一多路时钟信号(Phase<15:0>)的下降沿(或上升沿)位于对应第二使能信号(Sel103<15:0>)的低电平持续期间。
为实现上述所说的各第一多路时钟信号(Phase<15:0>)的下降沿(或上升沿)位置与相应的各第二使能信号(Sel103<15:0>)高、低电平的对应关系,需要根据第一多路时钟信号中的对应时序对16个第一使能信号(Sel106<15:0>)进行重新同步。本实施例中,该同步校准可分为三部分进行:Phase<5:0>部分的同步、Phase<12:6>部分的同步以及Phase<15:13>部分的同步。
其中,Phase<5:0>部分仅需利用Phase<0>进行重新同步校准,即可确保倍频电路输出模块X300输入端输入的第一多路时钟信号中的Phase<5:0>的下降沿均位于其使能端输入对应的第二使能信号中的Sel103<5:0>的高电平持续期间。对Phase<5:0>进行的同步校准具体如下:
以对Phase<5>进行同步校准为例进行说明。图5为本发明第一实施例中对Phase<5>进行同步校准的示意图,如图5所示,本实施例中,同步校准模块X106使能端输入的第一使能信号中的Sel106<5>是根据第一多路时钟信号中的Phase<4>进行同步的,因此,其的上升沿与Phase<4>的上升沿对齐或略有延迟(因电路处理过程中的延迟所致)。
本实施例中利用同步校准模块X106选用第一多路时钟信号中的Phase<0>时序为基准,对该第一使能信号中的Sel106<5>进行重新同步校准,如图5所示,经过同步校准模块X106进行重新同步后输出的与第一使能信号中的Sel106<5>对应的第二使能信号中的Sel103<5>的上升沿转变为与Phase<0>的上升沿对齐或略有延迟。
注意到,由于与第一多路时钟信号中的Phase<5:0>对应的第一使能信号中的Sel106<5:0>均是以第一多路时钟信号中的Phase<0>为基准进行再同步校准的,该第一使能信号中的Sel106<5:0>部分的上升沿均应与Phase<0>的上升沿对齐或略有延迟。
因第一多路时钟信号中的各Phase<5:0>时序之间,相位间距最远的Phase<0>与Phase<5>间的延迟差也仅为208.3pS×6=1.2498nS,加上Phase<5>的高电平持续时间(1/2周期)后得到的Phase<5>时序的下降沿,与Phase<0>时序(或说Sel103<5>)的起始位置相比,其总延迟时间也小于3nS(本实施例中的第一、第二使能信号的高电平宽度均大于3nS)。故而,即使考虑到电路本身具有的延迟,本实施例中仍仅需利用第一多路时钟信号中的Phase<0>时序为基准进行同步校准,就可以确保第一多路时钟信号中的Phase<5:0>的下降沿均落于对应的第二使能信号中的Sel103<5:0>的高电平持续期间。
但对于与Phase<0>时序相位延迟更大的Phase<12:6>部分而言,仅利用Phase<0>时序对与其对应的第一使能信号中的Sel106<12:6>进行同步校准就不够了。本实施例中,对与Phase<12:6>对应的第一使能信号中的Sel106<12:6>进行同步时,在利用Phase<0>时序对Sel106<12:6>进行再同步后得到中间使能信号Dout<12:6>,还增加了一步再利用Phase<7>对中间使能信号Dout<12:6>进行进一步同步校准的步骤。
以对Phase<12>进行同步校准为例进行说明。图6为本发明第一实施例中对Phase<12>进行同步校准的示意图,如图6所示,本实施例中,同步校准模块X106使能端输入的第一使能信号中的Sel106<12>是根据第一多路时钟信号中的Phase<4>进行同步的,因此,其的上升沿与Phase<4>的上升沿对齐或略有延迟(因电路处理过程中的延迟所致)。
在利用Phase<0>时序对Sel106<12>进行再同步后得到的中间使能信号Dout<12>的上升沿与Phase<0>的上升沿对齐或略有延迟。接着,再利用Phase<7>时序对中间使能信号Dout<12>再做同步校准,得到的Sel103<12>的上升沿与Phase<7>的上升沿对齐或略有延迟。
同理,因第一多路时钟信号中的各Phase<12:6>时序之间,相位间距最远的Phase<12>与Phase<6>间的相位延迟差,加上Phase<12>的高电平持续时间(1/2周期)后得到的Phase<12>时序的下降沿,与Phase<7>时序(或说Sel103<12>)的起始位置相比,其总延迟时间也小于3nS(本实施例中的第一、第二使能信号的高电平宽度均大于3nS)。故而,即使考虑到电路本身具有的延迟,本实施例中在利用第一多路时钟信号中的Phase<0>时序为基准进行同步校准后,再利用Phase<7>时序为基准进行再次同步校准,就可以确保第一多路时钟信号中的Phase<12:6>的下降沿均落于对应的第二使能信号中的Sel103<12:6>的高电平持续期间。
本实施例中,在对与Phase<15:13>对应的第一使能信号中的Sel106<15:13>进行同步时,在利用Phase<0>时序对Sel106<15:13>进行再同步后得到第一中间使能信号Dout1<15:13>,再利用Phase<7>对第一中间使能信号Dout1<15:13>进行进一步同步得到第二中间使能信号Dout2<15:13>,另外,还增加了一步利用Phase<14>对第二中间使能信号Dout2<15:13>进一步同步校准的步骤。
以对Phase<15>进行同步校准为例进行说明。图7为本发明第一实施例中对Phase<15>进行同步校准的示意图,如图7所示,本实施例中,同步校准模块X106使能端输入的第一使能信号中的Sel106<15>是根据第一多路时钟信号中的Phase<4>进行同步的,因此,其的上升沿与Phase<4>的上升沿对齐或略有延迟(因电路处理过程中的延迟所致)。
在利用Phase<0>时序对Sel106<15>进行再同步后得到的第一中间使能信号Dout1<15>的上升沿与Phase<0>的上升沿对齐或略有延迟。接着,再利用Phase<7>时序对该第一中间使能信号Dout1<15>再做同步校准,得到的Sel103<15>的上升沿与Phase<7>的上升沿对齐或略有延迟。再接着,利用Phase<14>时序对该第二中间使能信号Dout2<15>再做同步校准,得到的Sel103<15>的上升沿与Phase<14>的上升沿对齐或略有延迟。
同理,经上述同步校准后,即使考虑到电路本身具有的延迟,本实施例中仍可确保第一多路时钟信号中的Phase<15:13>的下降沿均落于对应的第二使能信号中的Sel103<15:13>的高电平持续期间。
注意到,对于第一多路时钟信号中的Phase<12:6>及Phase<15:13>部分,如果不经过多次同步校准,而直接利用Phase<7>或Phase<14>进行同步校准,将可能导致Sel103<12:6>及Sel103<15:13>时序出现漏拍等问题,使时序混乱,无法实现真正的同步。
上述同步校准方法只是其中的一个同步例子,实际操作中可以有更多的同步校准方式,如,可以针对不同的第一使能信号的高电平宽度选用不同的第一多路时钟信号时序进行同步校准等,其具体实施步骤与上述方法类似,在本实施例上述方法的启示下,本领域的普通技术人员可以推导得出,在此不再赘述。
D、利用时钟调整模块X100中的脉冲发生模块X103结合所述使能信号发生模块X200发出的所述第二使能信号Sel103<15:0>,分别对各所述第一多路时钟信号(Phase<15:0>)进行频率及相位调整。
本实施例中的脉冲发生模块X103是一种小信号短周期脉冲发生电路,其在第一多路时钟信号的Phase<X>的下降沿来临,且第二使能信号Sel103<X>为高电平时,输出一个短周期脉冲。图8为本发明第一实施例中由脉冲发生模块输出的第二多路时钟信号的示意图,如图8所示,其按使能信号发生模块X200发出的第二使能信号Sel103<15:0>对各所述第一多路时钟信号Phase<15:0>进行了频率及相位的调整。
在得到对锁相环电路输出的第一多路时钟信号(Phase<15:0>)进行调整后的第二多路时钟信号(Pulse103<15:0>)后,将其输入倍频电路输出模块X300进行合并,最终输出具有预定频率和相位的目标时钟信号。
本实施例中,该倍频电路输出模块X300包括或门电路X104和触发器X105。或门电路X104将所述时钟调整电路X100输出的各所述第二多路时钟信号(Pulse103<15:0>)合并为一个或门输出信号(OR_out)。图9为本发明第一实施例中由或门电路输出的或门输出信号的示意图,如图9所示,该或门输出信号(OR_out)根据可编程计算模块X107的定义,记载对应的第一多路时钟信号Phase<15:0>中的各上升沿及下降沿信息。
本实施例中的触发器X105为D触发器,其通过时钟输入端(CK)接收或门输出信号(OR_out)后,将该或门输出信号(OR_out)二分频后输出目标时钟信号(Output Clock)。图10为本发明第一实施例中由触发器输出的目标时钟信号的示意图,如图10所示,该目标时钟信号(Output Clock)具有在可编程计算模块X107内设置的预定的频率和相位。
注意到,其中的或门电路X104频率为目标时钟信号频率的2倍,对其速度要求较高,通常可采用小信号高速电路实现。
本实施例中的基于锁相环的时钟发生器,利用时钟调整模块X100中的可编程计算模块X107以编程的方式,对各第一多路时钟信号(Phase<15:0>)进行组合设置,实现了对目标时钟信号(Output Clock)的频率及相位的灵活调整。可实现:
A、输出带宽可扩展至锁相环电路输出频率的n倍,其中,n为锁相环电路输出的第一多路时钟信号相数的一半。
如,仍以锁相环电路输出16相、频率为300MHz的第一多路时钟信号为例,当设置其输出的目标时钟信号的一个周期仅包含2个第一多路时钟信号的相位延迟时,其一个周期为2×208.3pS=0.4166nS,相应地,其的最大可频率可为锁相环输出频率的8倍,即2.4GHz,大大扩展了其可输出的带宽。
B、输出的目标时钟信号的频率可调节步距可仅为锁相环电路输出频率的1/n倍,其中,n为锁相环电路输出的第一多路时钟信号相数的一半。
或者说,当占空比为50%时,输出的目标时钟信号的最小周期调节步距可仅为锁相环输出的第一多路时钟信号的两相延迟的宽度。
C、可以方便地实现对目标时钟信号相位的调整。
可通过将与目标时钟信号起始相位对应的某个第二多路时钟信号作为时钟调整模块的起始输出实现对目标时钟信号相位的调整。
D、当目标时钟信号的频率小于锁相环电路的输出频率时,可实现将目标时钟信号具有的相位数设置得多于锁相环电路输出的第一多路时钟信号具有的相位数。
E、目标时钟信号具有的较宽的频率范围的调节步距可按两相延迟的宽度实现线性的增或减。
F、可通过对时钟调整模块的软件设置方便地实现占空比的调整。
第二实施例:
本发明第二实施例提出了一种可利用本发明第一实施例中的时钟发生器实现的基于锁相环的时钟发生方法,图11为本发明第二实施例中基于锁相环的时钟发生方法的流程图,下面结合图11和图2至图10对本发明第二实施例中的基于锁相环的时钟发生方法进行详细介绍。
步骤1101:利用晶体振荡器输出初始时钟信号。
由晶体振荡器X101产生具有某一固定频率的初始时钟信号(OSC_clk)。
步骤1102:利用锁相环电路对所述晶体振荡器输出的所述初始时钟信号进行复数化处理,输出具有不同相位的多个第一多路时钟信号。
将初始时钟信号(OSC_clk)输入至锁相环电路X102进行复数化,产生16个具有不同相位的第一多路时钟信号(Phase<15:0>)。该第一多路时钟信号(Phase<15:0>)如图3所示,其为16个固定频率的时钟序列(简称时序)Phase<0>、Phase<1>......Phase<15>,且相邻时序之间均具有相同的相位延迟。具体地,本实施例中以各第一多路时钟信号的频率为300MHz为例进行说明,此时,其每一相延迟时间应为(1/300MHz)/16=208.3pS。
接着,利用时钟调整模块X100根据目标时钟信号的预定频率及相位分别对各所述第一多路时钟信号进行频率及相位调整,输出分别与各所述第一多路时钟信号对应的多个第二多路时钟信号。其可分为以下几步:
步骤1103:根据时钟发生器待输出的目标时钟信号(Out Clock)的预定频率及相位,对时钟调整模块X100中的使能信号发生模块X200中的可编程计算模块X107中的计数器进行设置;
步骤1104:可编程计算模块X107根据计数器的设置,结合部分或全部锁相环电路X102输出的所述第一多路时钟信号(Phase<15:0>),计算要实现目标时钟信号的预定频率及相位需要对各第一多路时钟信号(Phase<15:0>)进行的调整,输出进行该调整所需的第一使能信号(Sel106<15:0>)。本实施例中,该可编程计算模块X107仅结合了第一多路时钟信号中的Phase<4>时序。
图4所示为可编程计算模块X107输出的16个第一使能信号Sel106<0>、Sel106<1>......Sel106<15>,其分别与相应的各第一多路时钟信号对应,携带了计算得到的需要对各第一多路时钟信号(Phase<15:0>)进行调整的信息。
具体地,该第一使能信号的频率及高电平宽度的设定决定了目标时钟信号的预定输出频率。如,本实施例中,设定输出的目标时钟信号的频率为184.5MHz,则该信号的周期宽度为1/184.5MHz=5.42nS,如前所述,锁相环电路输出的第一多路时钟信号的每一相延迟为208.3pS,可以算出,一个周期的目标时钟信号内需包含5.42nS/208.3pS=26个第一多路时钟信号的相位延迟。
本实施例中,设定该目标时钟信号的占空比为50%,则可以推得:一个周期的目标时钟信号的高电平宽度内包含了13个第一多路时钟信号的相位延迟,低电平宽度内包含了13个第一多路时钟信号的相位延迟。
可据此对可编程计算模块X107进行设置,令其输出的第一使能信号(Sel106<15:0>)可以实现每经过13个第一多路时钟信号的相位延迟后,倍频输出模块X300输出的目标时钟信号进行一次高、低电平的翻转。即,每当各所述第一多路时钟信号的上升沿(或下降沿)差的个数总和达13时,倍频输出模块X300输出的目标时钟信号进行一次高、低电平的翻转。
假设本实施例中可编程计算模块X107设定的目标时钟信号的相位与Phase<0>时序的相同,则其第一使能信号的相位起始位置(本实施例中的第一使能信号的相位起始位置指各第一使能信号时序中高电平起始位置最靠前的某一相时序的相位位置)可以为Phase<0>时序的相位位置。此时,可以通过分别设置与各第一多路时钟信号对应的各第一使能信号(Sel106<15:0>)实现:
第一多路时钟信号中的Phase<0>至Phase<13>传送至倍频输出模块X300时,其输出高电平;Phase<13>至下一周期的Phase<10>传送至倍频输出模块X300时,其输出低电平;下一周期的Phase<10>至再下一周期的Phase<7>传送至倍频输出模块X300时,其输出高电平;再下一周期的Phase<7>至再再下一周期的Phase<4>传送至倍频输出模块X300时,其输出低电平等等。如此循环下去,即可得到频率为184.5MHz,相位与第一多路时钟信号中的Phase<0>相位相同、占空比为50%的目标时钟信号。
在本发明的其它实施例中,也可以设定不同的占空比,此时设置为一个周期的目标时钟信号的高、低电平宽度内包含不同个数的相位延迟,或说不同的第一多路时钟信号的上升沿(或下降沿)差的个数总和即可。其具体的实现步骤可以包括:
根据所述时钟信号的预定占空比设定所述时钟信号在一个周期内对应的各所述第一多路时钟信号的上升沿差或下降沿差的个数总和;
根据所述个数总和分别设定对应各所述第一多路时钟信号的各所述第一使能信号。
步骤1105:根据部分或全部所述锁相环电路X102输出的所述第一多路时钟信号(Phase<15:0>),对所述可编程计算模块X107发出的所述第一使能信号(Sel106<15:0>)进行同步校准,输出分别与各所述第一多路时钟信号对应同步的第二使能信号(Sel103<15:0>)。
该步操作可通过时钟调整模块X100中的使能信号发生模块X200中的同步校准模块X106实现。
本实施例中脉冲发生模块X103的使能端为高电平有效,故需要各第一多路时钟信号(Phase<15:0>)的下降沿(或上升沿)位于对应第二使能信号(Sel103<15:0>)的高电平持续期间;本发明的其它实施例中,若脉冲发生模块X103的使能端为低电平有效,则应令各第一多路时钟信号(Phase<15:0>)的下降沿(或上升沿)位于对应第二使能信号(Sel103<15:0>)的低电平持续期间。
为实现上述所说的各第一多路时钟信号(Phase<15:0>)的下降沿(或上升沿)位置与相应的各第二使能信号(Sel103<15:0>)高、低电平的对应关系,需要根据第一多路时钟信号中的对应时序对16个第一使能信号(Sel106<15:0>)进行重新同步。本实施例中,该同步校准可分为三部分进行:Phase<5:0>部分的同步、Phase<12:6>部分的同步以及Phase<15:13>部分的同步。
其中,Phase<5:0>部分仅需利用Phase<0>进行重新同步校准,即可确保倍频电路输出模块X300输入端输入的第一多路时钟信号中的Phase<5:0>的下降沿均位于其使能端输入对应的第二使能信号中的Sel103<5:0>的高电平持续期间。对Phase<5:0>进行的同步校准具体如下:
如图5所示,以对Phase<5>进行同步校准为例进行说明。本实施例中,同步校准模块X106使能端输入的第一使能信号中的Sel106<5>是根据第一多路时钟信号中的Phase<4>进行同步的,因此,其的上升沿与Phase<4>的上升沿对齐或略有延迟(因电路处理过程中的延迟所致)。
本实施例中利用同步校准模块X106选用第一多路时钟信号中的Phase<0>时序为基准,对该第一使能信号中的Sel106<5>进行重新同步校准,如图5所示,经过同步校准模块X106进行重新同步后输出的与第一使能信号中的Sel106<5>对应的第二使能信号中的Sel103<5>的上升沿转变为与Phase<0>的上升沿对齐或略有延迟。该同步校准确保了第一多路时钟信号中的Phase<5:0>的下降沿均落于对应的第二使能信号中的Sel103<5:0>的高电平持续期间。
注意到,由于与第一多路时钟信号中的Phase<5:0>对应的第一使能信号中的Sel106<5:0>均是以第一多路时钟信号中的Phase<0>为基准进行再同步校准的,该第一使能信号中的Sel106<5:0>部分的上升沿均应与Phase<0>的上升沿对齐或略有延迟。
对于Phase<12:6>部分而言,仅利用Phase<0>时序对与其对应的第一使能信号中的Sel106<12:6>进行同步校准已不够。本实施例中,对与Phase<12:6>对应的第一使能信号中的Sel106<12:6>进行同步时,在利用Phase<0>时序对Sel106<12:6>进行再同步后得到中间使能信号Dout<12:6>,还增加了一步再利用Phase<7>对中间使能信号Dout<12:6>进行进一步同步校准的步骤。
如图6所示,以对Phase<12>进行同步校准为例进行说明。本实施例中,同步校准模块X106使能端输入的第一使能信号中的Sel106<12>是根据第一多路时钟信号中的Phase<4>进行同步的,因此,其的上升沿与Phase<4>的上升沿对齐或略有延迟(因电路处理过程中的延迟所致)。
在利用Phase<0>时序对Sel106<12>进行再同步后得到的中间使能信号Dout<12>的上升沿与Phase<0>的上升沿对齐或略有延迟。接着,再利用Phase<7>时序对中间使能信号Dout<12>再做同步校准,得到的Sel103<12>的上升沿与Phase<7>的上升沿对齐或略有延迟。
本实施例中在利用第一多路时钟信号中的Phase<0>时序为基准进行同步校准后,再利用Phase<7>时序为基准进行再次同步校准,确保了第一多路时钟信号中的Phase<12:6>的下降沿均落于对应的第二使能信号中的Sel103<12:6>的高电平持续期间。
对于与Phase<15:13>对应的第一使能信号中的Sel106<15:13>的同步,先利用Phase<0>时序对Sel106<15:13>进行再同步,得到第一中间使能信号Dout1<15:13>;再利用Phase<7>对第一中间使能信号Dout1<15:13>进行进一步同步,得到第二中间使能信号Dout2<15:13>;另外,还增加了一步利用Phase<14>对第二中间使能信号Dout2<15:13>进一步同步校准的步骤。
如图7所示,以对Phase<15>进行同步校准为例进行说明。本实施例中,同步校准模块X106使能端输入的第一使能信号中的Sel106<15>是根据第一多路时钟信号中的Phase<4>进行同步的,因此,其的上升沿与Phase<4>的上升沿对齐或略有延迟(因电路处理过程中的延迟所致)。
在利用Phase<0>时序对Sel106<15>进行再同步后得到的第一中间使能信号Dout1<15>的上升沿与Phase<0>的上升沿对齐或略有延迟。接着,再利用Phase<7>时序对该第一中间使能信号Dout1<15>再做同步校准,得到的Sel103<15>的上升沿与Phase<7>的上升沿对齐或略有延迟。再接着,利用Phase<14>时序对该第二中间使能信号Dout2<15>再做同步校准,得到的Sel103<15>的上升沿与Phase<14>的上升沿对齐或略有延迟。
经上述同步校准后,即使考虑到电路本身具有的延迟,本实施例中仍可确保第一多路时钟信号中的Phase<15:13>的下降沿均落于对应的第二使能信号中的Sel103<15:13>的高电平持续期间。
注意到,对于第一多路时钟信号中的Phase<12:6>及Phase<15:13>部分,如果不经过多次同步校准,而直接利用Phase<7>或Phase<14>进行同步校准,将可能导致Sel103<12:6>及Sel103<15:13>时序出现漏拍等问题,使时序混乱,无法实现真正的同步。
上述同步校准方法只是其中一个可能的同步校准例子,实际操作中可以有更多的同步校准方式,如,可以针对不同的第一使能信号的高电平宽度选用不同的第一多路时钟信号时序进行同步校准等,其具体实施步骤与上述方法类似,在本实施例上述方法的启示下,本领域的普通技术人员可以推导得出,在此不再赘述。
步骤1106:利用时钟调整模块X100中的脉冲发生模块X103结合所述使能信号发生模块X200发出的所述第二使能信号Sel103<15:0>,分别对各所述第一多路时钟信号(Phase<15:0>)进行频率及相位调整,输出分别与各所述第一多路时钟信号(Phase<15:0>)对应的多个第二多路时钟信号(Pulse103<15:0>)。
本实施例中的脉冲发生模块X103在第一多路时钟信号的Phase<X>的下降沿来临,且第二使能信号Sel103<X>为高电平时,输出一个短周期脉冲。其输出的第二多路时钟信号的时序如图8所示,已按使能信号发生模块X200发出的第二使能信号Sel103<15:0>对各所述第一多路时钟信号Phase<15:0>进行了频率及相位的调整。
步骤1107:在得到对锁相环电路输出的第一多路时钟信号(Phase<15:0>)进行调整后的第二多路时钟信号(Pulse103<15:0>)后,将其输入倍频电路输出模块X300进行合并,最终输出具有预定频率和相位的目标时钟信号。
本实施例中,该倍频电路输出模块X300包括或门电路X104和触发器X105。或门电路X104将所述时钟调整电路X100输出的各所述第二多路时钟信号(Pulse103<15:0>)合并为一个或门输出信号(OR_out)。如图9中的或门输出信号(OR_out)所示,该或门输出信号(OR_out)实现根据可编程计算模块X107的定义,记载对应的第一多路时钟信号Phase<15:0>中的各上升沿及下降沿信息。
本实施例中的触发器X105为D触发器,其通过时钟输入端(CK)接收或门输出信号(OR_out)后,将该或门输出信号(OR_out)二分频后输出目标时钟信号(Output Clock)。如图10中的目标时钟信号(Output Clock)所示,其已具有在可编程计算模块X107内设置的预定的频率和相位。
本实施例中的基于锁相环的时钟发生方法,利用时钟调整模块根据目标时钟信号的预定频率及相位分别对锁相环电路输出的各第一多路时钟信号进行频率及相位调整,利用倍频电路输出模块接收、合并该时钟调整模块对各第一多路时钟信号进行频率及相位调整后得到的各第二多路时钟信号,得到并输出了具有较宽频率范围的目标时钟信号。可方便灵活地实现:
A、输出带宽可扩展至锁相环电路输出频率的n倍,其中,n为锁相环电路输出的第一多路时钟信号相数的一半。
如,仍以锁相环电路输出16相、频率为300MHz的第一多路时钟信号为例,当设置其输出的目标时钟信号的一个周期仅包含2个第一多路时钟信号的相位延迟时,其一个周期为2×208.3pS=0.4166nS,相应地,其的最大可频率可为锁相环输出频率的8倍,即2.4GHz,大大扩展了其可输出的带宽。
B、输出的目标时钟信号的频率可调节步距可仅为锁相环电路输出频率的1/n倍,其中,n为锁相环电路输出的第一多路时钟信号相数的一半。
或者说,当占空比为50%时,输出的目标时钟信号的最小周期调节步距可仅为锁相环输出的第一多路时钟信号的两相延迟的宽度。
C、可以方便地实现对目标时钟信号相位的调整。
可通过将与目标时钟信号起始相位对应的某个第二多路时钟信号作为时钟调整模块的起始输出实现对目标时钟信号相位的调整。
D、当目标时钟信号的频率小于锁相环电路的输出频率时,可实现将目标时钟信号具有的相位数设置得多于锁相环电路输出的第一多路时钟信号具有的相位数。
E、目标时钟信号具有的较宽的频率范围的调节步距可按两相延迟的宽度实现线性的增或减。
F、可通过对时钟调整模块的软件设置方便地实现占空比的调整。
本发明的上述实施例仅是以举例的方式对本发明的技术方案进行说明,其具体的实现可以有多种替代方案,如,可将倍频电路输出模块中的或门电路更改为或非电路,将D触发器的时钟输入端再加个非电路等,或以其它触发器代替本发明上述实施例中的D触发器等等。其具体实施步骤与思路均和本实施例相似,在本发明实施例的启示下,这一应用的延伸对于本领域普通技术人员而言是易于理解和实现的,在此不再赘述。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。