在存在抖动时钟源时使时钟发生器同步的方法和装置的制作方法

文档序号:6655784阅读:303来源:国知局
专利名称:在存在抖动时钟源时使时钟发生器同步的方法和装置的制作方法
技术领域
本发明总地涉及时钟发生器,更具体而言,涉及用于在存在抖动时钟源时使时钟发生器同步的方法和装置。
背景技术
在设计数字集成电路(IC)时,经常需要从低频参考时钟创建高频时钟。通常,数据以参考频率进入IC,但是IC中的逻辑需要以高得多的频率被时钟驱动。一般使用锁相环(PLL)来获得较高频的时钟。例如,在IC中,采用时钟发生器块,其参考(或锁定到)PLL中的除法器状态,以正确地对时钟发生器定相。当不能从PLL外部观察PLL除法器状态时,这种对时钟发生器同步/定相的装置就变得很困难。PLL的除法器状不可观察的典型情形可能发生在当人们从供应商处购买PLL时。供应商提供预先布图的硅部件,其中所有的PLL组件都被优化和调试,以便被放置在专用集成电路(ASIC)设计中。直观上,将数据同步到PLL时钟的相位之一看上去是一件容易的事,但是由于PLL相对于输入参考时钟具有时间抖动或漂移(此后称为“抖动”),会出现问题。这种时间抖动一般很小。但是,抖动导致同步器基于参考频率和来自PLL的高频时钟之间的瞬时相位差而周期性地对时钟发生器状态机重定相。
因此,希望有用于在存在抖动时钟源时使时钟发生器同步的方法和装置,这是很有益的。

发明内容
本发明解决了现有技术中的这些和其他缺陷及缺点,本发明涉及用于在存在抖动时钟源时同步时钟发生器的方法和装置。
根据本发明的一个方面,在用于生成多个输出时钟信号的时钟发生器中,提供了一种用于在存在从锁相环(PLL)提供给时钟发生器的抖动输入时钟时,将时钟发生器同步到输入参考时钟的装置。时钟发生器和PLL的每个都具有比率相同的除法器。该装置包括同步器和时钟发生器状态机。同步器用于接收输入参考时钟和抖动输入时钟,以及用于从其生成相对于抖动输入时钟的同步输入时钟信号。时钟发生器状态机用于接收同步输入时钟信号和抖动输入时钟,用于使用抖动输入时钟来与同步输入时钟信号同步,以及用于当抖动输入时钟具有最大到预定最大数量的时钟宽度的抖动时禁止重同步操作。
根据本发明的另一方面,在用于生成多个输出时钟信号的时钟发生器中,提供了一种用于在存在从锁相环(PLL)提供给时钟发生器的抖动输入时钟时,将时钟发生器同步到输入参考时钟的方法。时钟发生器和PLL的每个都具有比率相同的除法器。输入参考时钟和抖动输入时钟被接收。从其生成相对于抖动输入时钟的同步输入时钟信号。通过使用抖动输入时钟来与同步输入时钟信号同步。当抖动输入时钟具有最人到预定最大数量的时钟宽度的抖动时,重同步操作被禁止。
结合附图阅读下面对示例性实施例的详细描述,将更加清楚本发明的这些以及其他方面、特征和优点。


根据下面的示例性附图可以更好地理解本发明,其中图1示出了根据本发明的说明性实施例,其中可应用本发明的示例性锁相环(PLL)系统的框图;图2示出了根据本发明的说明性实施例,进一步说明图1的时钟发生器120的框图;图3示出了根据本发明的说明性实施例的时钟发生器状态机的状态图;图4示出了根据本发明的说明性实施例,图1的系统100中的信号的时序图;并且图5示出了根据本发明的说明性实施例的用于在存在抖动时钟源时使时钟发生器同步的流程图。
具体实施例方式
本发明涉及用于在存在抖动时钟源时使时钟发生器同步的方法和装置。有益地,本发明提供了用于当时钟发生器使用相对于参考时钟被长期锁定但在短期内漂移的时钟时,将时钟发生器同步到输入参考时钟的装置和方法。即,本发明提供了用于将数字系统中的时钟发生器与外部PLL生成时钟同步的装置和方法。本发明解决了这样的问题,其中当人们需要利用PLL中的除法器对时钟发生器正确地定相,但是PLL的内部时钟除法器信号不可观察或不可获得时,PLL被用来从低频时钟生成高频时钟。
本说明书说明了本发明的原理。因此应当理解,本领域的技术人员将能够设计体现了本发明的原理并且被包括在其精神和范围内的各种布置,虽然这些布置没有在这里明确地描述或示出。
这里记载的所有示例和有条件的语言都是用于教导目的,以便帮助读者理解本发明的原理和发明人对本领域作出贡献的概念,并且应当被理解为不受限于这些具体记载的示例和条件。
此外,这里记载了本发明的原理、方面和实施例的所有叙述及其具体示例都意图包括其结构和功能上的等同物。此外,这些等同物意图包括当前已知的等同物以及将来开发的等同物,即执行相同功能的任何被开发的元件,不论结构如何。
因此,例如,本领域的技术人员应当理解,这里提供的框图代表了体现本发明原理的说明性电路的概念图。类似地,应当理解,任何流程图、流图、状态转换图、伪代码等都代表了本质上可以在计算机可读介质中表现并因而由计算机或处理器执行的的各种过程,不论所述计算机或处理器是否被明确地示出。
可以通过使用专用硬件和结合适当软件能够执行软件的硬件来提供图中所示各种元件的功能。当由处理器提供时,可以通过单个专用处理器、单个共享处理器或通过多个个体处理器(其中的一些可以是共享的)来提供所述功能。此外,术语“处理器”或“控制器”的使用不应当被理解为绝对地指能够执行软件的硬件,而是可以隐含地包括但不限于数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机访问存储器(“RAM”),以及非易失性存储装置。
也可以包括其他传统的和/或定制的硬件。类似地,图中所示的任何开关都仅是概念性的。通过程序逻辑、通过专用逻辑、通过程序控制和专用逻辑的交互,甚至通过手工,都可以执行它们的功能,具体的技术可由实现者在从上下文更明确地理解之后进行选择。
应当理解,对于这里公开的一些元件,为了简明起见,这里没有提到其没被用来实现本发明的某些已知输入和输出。例如,当本发明不需要时,可以不提到诸如置位和/或复位之类的寄存器输入,以及诸如Q反等寄存器输出。当然,本发明包括多种等同物,例如在输出后串联添加两个反相器以获得相同的输出。本发明包括相关领域的普通技术人员容易想到的这些和其他等同物。
在其权利要求中,被表达为用于执行特定功能的装置的元件意图包括执行该功能的任何方式,例如a)执行该功能的电路元件组合,或b)任何形式的软件与用于执行该软件来执行该功能的适当电路,所述软件包括固件、微代码等等。由这些权利要求限定的本发明基于这样的事实,即所记载的各种装置提供的功能以这些权利要求要求的方式被组合在一起。因而,申请人认为可以提供那些功能的任何装置都与这里示出的装置等同。
返回图1,标号100总地指示可以应用本发明的示例性锁相环(PLL)系统。系统100包括输入寄存器(input register)105、参考时钟110、锁相环(PLL)115、时钟发生器120和传入寄存器125。
输入寄存器105包括D输入、时钟输入,和Q输出。传入寄存器125包括D输入、时钟输入,和Q输出。
到系统100的输入在信号通信中与输入寄存器105的D输入连接。到系统100的输入用于接收非同步数据。
参考时钟110的输出在信号通信中与输入寄存器105的时钟输入、PLL 115的输入以及时钟发生器120的第一输入连接。参考时钟110的输出这里也称为“1x_CLK_IN”和“原始参考时钟”。PLL 115的输出在信号通信中与时钟发生器120的第二输入连接。PLL 115的输出这里也称为N*CLK_IN。
输入寄存器105的Q输出在信号通信中与传入寄存器(incomingregister)125的D输入连接。传入寄存器125的Q输出继续到与系统100有关的进一步处理。所述进一步处理由进一步处理块199总地指示。
时钟发生器120的第一输出(1x_CLK_OUT)在信号通信中与传入寄存器125的时钟输入连接,并且继续到进一步处理(进一步处理器块199)。
时钟发生器120的第二到第N输出(2x_CLK_OUT到Nx_CLKO_UT)继续到进一步处理(进一步处理块199)。时钟发生器120的第二到第N输出与时钟发生器的第一输(1x_CLK_OUT)出一致/锁定。
为了说明和清楚的目的,下面的描述假设高频时钟(N*CLK_IN)以输入参考时钟(1x_CLK_IN)的频率的6倍操作,以便容易描述(因此N=6)。但是,应当理解,本发明并不限于前述时钟速率、其倍数以及频率比,因此,在维持本发明的精神的同时,根据本发明也可以采用其他时钟速率、其倍数和频率比。
DATA_IN数据以1x_CLK_IN被时钟驱动。应当理解,虽然DATA_IN被示为从简单个寄存器输出,但是它也可以从利用输入参考(参考时钟120)被时钟驱动的任何其他元件(包括但不限于模数转换器(ADC))输出。由于进一步处理块199中的逻辑在其操作中需要较高频,因此PLL 115被用来创建高频时钟(N*CLK_IN)。高频时钟(N*CLK_IN)和原始参考时钟(1x_CLK_IN)被馈送到时钟发生器120以便正确地定相输出时钟1x_CLK_OUT、2x_CLK_OUT,...,Nx_CLK_OUT,等等。时钟发生器120的目的是将其输出时钟锁定和定相到1x_CLK_IN参考,以及向传入寄存器125提供正确的D以便对建立时间(setup time)进行时钟驱动。众所周知,某个“建立”条件需要被满足,其中在“D”输入(在此情形下是传入寄存器125的“D”输入)处提供的数据在时钟(在此情形下是1x_CLK_OUT)到达之前保持最短时间的稳定。由于来自1x_CLK_OUT的抖动幅度大到足够有时违反了传入寄存器125的“建立时间”,因此相对于输入数据DATA_IN,传入寄存器125的QSYNC输出中将会有数据差错。为了防止违反传入寄存器125的建立时间,1x_CLK_OUT相对于参考1x_CLK_IN在相位上延迟了一个量,以便保证满足传入寄存器的建立需要。
转到图2,其更详细地示出了图1的时钟发生器120。再转到图4,标号400总地指示图1的系统100中的信号的示例性时序图。
时钟发生器120包括同步器205和时钟发生器状态机210。同步器205包括第一寄存器205A、第二寄存器205B和第三寄存器205C。第一寄存器205A、第二寄存器205B和第三寄存器205C中的每一个都具有D输入、时钟输入、复位输入,和Q输出。由于第二寄存器205B和第三寄存器205C的复位输入对于本发明的描述来说不是关键的,因此它们在图2中没有示出。时钟发生器状态机210包括C输入、时钟输入,和多个输出。
原始参考时钟(1x_CLK_IN)被输入同步器205,具体而言,被输入第一寄存器205A的时钟输入。第一寄存器205A的D输入在信号通信中与正输入电压连接。第一寄存器205A的Q输出在信号通信中与第二寄存器205B的D输入连接。第二寄存器205B的Q输出在信号通信中与第三寄存器205C的D输入连接。
高频时钟(N*CLK_IN)被输入到同步器,具体而言,被输入到第一寄存器205A的复位输入、第二寄存器205B的时钟输入,并且在被反相器299反向之后输入到第三寄存器205C的时钟输入。高频时钟(N*CLK_IN)还被输入到时钟发生器状态机210的时钟输入。第三寄存器205C的Q输出在信号通信中与时钟发生器状态机210的C输入连接。
同步器205被用作控制时钟发生器状态机210的输入。在图2所示的具体实现中,同步器205包括多个触发器277和一个反相器278。但是,应当理解,这里示出和描述的同步器205是说明性的,因此在维持本发明的精神的同时,根据本发明也可采用具有其他配置和其中的元件的其他同步器。
同步器205的目的是创建相对于高频时钟(N*CLK_IN)的同步输入时钟信号,用于馈送到时钟发生器状态机210以便允许定相和锁定。注意,PLL 115中的内部除法器被设置为与时钟发生器120中的除法器相同的比率(在本示例中N=6,但是N可以等于比2大的任何数)。因此,时钟发生器状态机210的输出时钟频率将不会相对于输入参考时钟(1x_CLK_IN)110漂移。由于PLL响应的时间抖动,依赖于PLL响应的瞬时相位抖动,N*CLK_IN相对于1x_CLK_IN有3种可能情况。这三种情况如下提前,其中N*CLK_IN领先1x_CLK_IN;落后,其中N*CLK_IN滞后于1x_CLK_IN;以及准时,其中N*CLK_IN与1x_CLK_IN严格合拍。这3种情况都在图4中示出。
在“稳定状态”情况下,当发生“提前”、“落后”或“准时”情况时,状态机将处于状态6或1。否则,状态机将跳到状态1以对自身重定相。这就是为什么在图3的状态图中,在状态1和2之间以及状态6和1之间都没有“/C”跳约束的原因。状态机中的“C”是来自图2的同步输入时钟脉冲。状态机具有内置的“故意溢出或OK区”,使得两个时钟宽度或更小的量级的抖动将不会导致状态机对自身重定相。最后,在稳定状态下,希望状态机210在最初对ASIC加电时的初始同步之后,从状态1行进到状态6,并在没有曾经重同步的情况下重复。应当理解,虽然本发明被描述为具有两个时钟宽度或更小的“OK区”(在该区期间,状态机将不自身重定相),但本发明并不限于该精确约束,因此,在维持本发明的精神的同时,本发明也可采用其他时钟宽度。
同步器信号A、B和C示出了同步器205在与1x_CLK_IN信号同步时的内部行为。通常,人们将直接使用同步器205的输出来控制时钟发生器状态机210。但是,通过观察时序图,注意到即使每6个N*CLK_IN时钟出现一次1x_CLK_IN信号上升沿,来自同步器的信号C有时也会在5、6或7个时钟周期增量处出现。通过仔细检查时序图,可以看出这是由于来自PLL 115的N*CLK_IN信号的时间抖动而造成的。依赖于N*CLK_IN的上升沿是领先还是滞后于1x_CLK_IN,来自同步器205的信号C可能被或可能不被延迟到N*CLK_IN的下一时钟周期。这导致在同步器的信号C究竟在何时断言(assert)这个问题上,出现两个N*CLK_IN时钟间隔的模糊。
本发明通过时钟发生器状态机210将其行为框限(frame)到时钟同步器的信号C输出,解决了这个问题。在本示例中,时钟发生器状态机210被设置为除以6计数器。转到图3,时钟发生器状态机210的状态图总地由标号300指示。虽然时钟发生器状态机的状态的布置以环状配置示出,但是应当理解,该状态布置可以使用其他布置来实现。例如,时钟发生器状态机210的状态布置可以是任何重复状态序列。如果时钟发生器120在信号C断言时处于无效的框限状态,则状态机210将跳到状态1,否则,状态机210到达环中的下一状态。当在N*CLK_IN高频信号中存在相对于1x_CLK_IN参考信号的滞后时,信号C在状态6期间断言。为了防止时钟发生器状态机210在此情形下错误地跳到状态1,时钟发生器状态机210被编程为在状态6期间不重框限(reframe)。这是因为状态6和状态1都是信号C断言信号的有效状态。
应当理解,在禁止重同步方面,本发明的实现并不限于与时钟发生器状态机相关联的多个状态中的第一和最后状态(见图3),因此,在维持本发明的精神的同时,本发明也包括相对于一组相邻状态中(这一组相邻状态又在所述多个状态中)的任何状态,禁止重同步。相邻状态的组可以包括两个或更多相邻状态。
注意,在初始启动期间,在N*CLK_IN领先于1x_CLK_IN的情况下,状态机210有可能处于状态6。这代表了这样的情况,其中状态机210从理想状态偏移了一个状态。由于这些信号领先或滞后的可能性是50%,因此状态机210几乎立刻在正确的方向上重同步自身,并且此后就是准确的。
转到图5,在用于生成多个输出时钟信号的时钟发生器中,标号500总地指示用于在存在从锁相环(PLL)提供给时钟发生器的抖动输入时钟的情况下,将时钟发生器同步到输入参考时钟的示例性流程图。时钟发生器和PLL每个都具有比率相同的除法器。
输入参考时钟和抖动输入时钟被接收(步骤505)。从输入参考时钟和抖动输入时钟,生成相对于抖动输入时钟的同步输入时钟信号(步骤510)。步骤505和510由时钟同步器205执行。此后的步骤由时钟发生器状态机210执行。
接收同步输入时钟信号和抖动输入时钟,通过使用抖动输入时钟来与同步输入时钟信号同步(步骤515)。同步之后,有可能必须执行重同步。因此,确定是否将执行重同步操作(步骤520)。当同步输入时钟信号的断言发生在一组相邻状态中(这一组相邻状态又在多个有序状态中)的任何状态期间,并且抖动输入时钟具有最大到预定的最大数量时钟宽度的抖动时,重同步操作被禁止(步骤525)。否则,当同步输入时钟信号的断言发生在不在一组相邻状态中(这一组相邻状态又在多个有序状态中)的任何状态期间,并且/或者抖动输入时钟不是具有最大到预定最大数量时钟宽度的抖动时,执行重同步操作(步骤530)。
基于这里的教导,本领域的普通技术人员可以很容易地确定本发明的这些和其他特征和优点。应当理解,本发明的教导可以以各种形式的硬件、软件、固件、专用处理器或其组合来实现。
本发明的教导最好被实现为硬件和软件的组合。此外,软件被优选地实现为有形地体现在程序存储单元上的应用程序。应用程序可以被上载到包括任何适当体系结构的机器并被该机器执行。优选地,在具有诸如一个或多个中央处理单元(“CPU”)、随机访问存储器(“RAM”)和输入/输出(“I/O”)接口之类的硬件的计算机平台上实现所述机器。计算机平台还可以包括操作系统和微指令代码。这里描述的各种处理和功能可以是可以由CPU执行的微指令代码的一部分或应用程序的一部分,或它们的任意组合。此外,各种其他外围单元可以连接到计算机平台,例如另外的数据存储单元和打印单元等。
还应当理解,因为优选地在软件中实现附图中描述的构成系统组件和方法中的一些,因此系统组件或处理功能块之间的实际连接可能依赖于本发明被编程的方式而有所不同。基于这里的教导,本领域的普通技术人员将能够想到本发明的这些和类似的实现或配置。
虽然这里参考附图描述了说明性实施例,但是应当理解,本发明并不限于那些精确的实施例,在不脱离本发明的范围或精神的情况下,本领域的普通技术人员可以实现其中的各种改变和修改。所有这些改变和修改都应被包括在所附权利要求书列出的本发明的范围内。
权利要求
1.一种时钟发生器,包括同步器(205),用于接收输入参考时钟和抖动输入时钟,以及用于从所述输入参考时钟和抖动输入时钟生成相对于所述抖动输入时钟的同步输入时钟信号;以及时钟发生器状态机(210),用于接收所述同步输入时钟信号和所述抖动输入时钟,用于使用所述抖动输入时钟来与所述同步输入时钟信号同步,以及用于当所述抖动输入时钟具有最大到预定最大数量的时钟宽度的抖动时,禁止重同步操作。
2.如权利要求1所述的装置,其中,所述时钟发生器状态机(210)还用于在内部提供具有多个有序状态的重复状态序列,所述多个有序状态的数量等于所述时钟发生器和锁相环的除法器的比率,并且每个状态对应于多个输出时钟信号中的相应一个,并且其中,当所述同步输入时钟信号的断言发生在所述多个有序状态中的一组相邻状态中的任意状态期间,并且所述抖动输入时钟具有最大到所述预定最大数量的时钟宽度的抖动时,所述重同步操作被禁止,其中所述一组相邻状态包括至少两个相邻状态。
3.如权利要求2所述的装置,其中,所述时钟发生器状态机(210)当所述同步输入时钟信号的断言对应于无效框限状态时,行进到所述多个有序状态中的第一状态,并且当所述同步输入时钟信号的断言对应于有效框限状态时,行进到所述多个有序状态中的下一状态。
4.如权利要求2所述的装置,其中,所述多个有序状态被布置为环状配置。
5.如权利要求1所述的装置,其中,所述抖动输入时钟是由锁相环从所述输入参考时钟导出的。
6.如权利要求5所述的装置,其中,所述锁相环包括内部时钟除法器,并且所述锁相环的内部时钟除法器信号是从所述锁相环外部不能观察或获得的信号。
7.如权利要求1所述的装置,其中,所述时钟发生器状态机(210)包括用于接收所述抖动输入时钟的时钟输入、用于接收所述同步输入时钟信号的数据输入,以及多个输出,所述多个输出中的每一个用于分别输出与所述输入参考时钟同相的多个输出时钟信号中的一个。
8.如权利要求1所述的装置,其中,所述抖动输入时钟的频率比所述输入参考时钟的频率高。
9.一种时钟发生器方法,包括以下步骤从锁相环(PLL)接收(505)输入参考时钟和抖动输入时钟;从所述输入参考时钟和抖动输入时钟生成(510)相对于所述抖动输入时钟的同步输入时钟信号;使用所述抖动输入时钟来与所述同步输入时钟信号同步(515);以及当所述抖动输入时钟具有最大到预定最大数量的时钟宽度的抖动时,禁止(525)重同步操作。
10.如权利要求9所述的方法,还包括以下步骤在内部提供具有多个有序状态的重复状态序列,所述多个有序状态的数量等于所述时钟发生器和所述锁相环的除法器的比率,并且每个状态对应于多个输出时钟信号中的相应一个,并且其中,当所述同步输入时钟信号的断言发生在所述多个有序状态中的一组相邻状态中的任意状态期间,并且所述抖动输入时钟具有最大到所述预定最大数量的时钟宽度的抖动时,所述重同步操作被禁止,其中所述一组相邻状态包括至少两个相邻状态。
11.如权利要求10所述的方法,还包括以下步骤当所述同步输入时钟信号的断言对应于无效框限状态时,行进到所述多个有序状态中的第一状态;以及当所述同步输入时钟信号的断言对应于有效框限状态时,行进到所述多个有序状态中的下一状态。
12.如权利要求10所述的方法,其中,所述多个有序状态被布置为环状配置。
13.如权利要求9所述的方法,其中,所述抖动输入时钟是由所述锁相环从所述输入参考时钟导出的。
14.如权利要求13所述的方法,其中,所述锁相环包括内部时钟除法器,所述锁相环的内部时钟除法器信号是从所述锁相环外部不能观察或获得的信号。
15.如权利要求9所述的方法,其中,所述抖动输入时钟的频率比所述输入参考时钟的频率高。
全文摘要
在用于生成多个输出时钟信号的时钟发生器中,提供了一种用于在存在从PLL提供给时钟发生器的抖动输入时钟时,将时钟发生器同步到输入参考时钟的装置和方法。时钟发生器和PLL每个都具有比率相同的除法器。该装置包括同步器(205)和状态机(210)。同步器接收输入参考时钟和抖动输入时钟,以及从输入参考时钟和抖动输入时钟生成相对于抖动输入时钟的同步输入时钟信号。状态机接收同步输入时钟信号和抖动输入时钟,使用抖动输入时钟来与同步输入时钟信号同步,并且当抖动输入时钟具有最大到预定最大数量的时钟宽度的抖动时禁止重同步操作。
文档编号G06F1/08GK1954492SQ200580015218
公开日2007年4月25日 申请日期2005年5月5日 优先权日2004年5月13日
发明者格布里尔·阿尔佛雷德·艾德 申请人:汤姆逊许可证公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1