首页 / 专利分类库 / 基本电子电路 / 电子振荡器或脉冲发生器的自动控制、起振、同步或稳定 / 具有嵌入式时间-数字转换器的环形振荡器的亚稳态校正

具有嵌入式时间-数字转换器的环形振荡器的亚稳态校正

申请号 CN202280043260.X 申请日 2022-07-27 公开(公告)号 CN117501627A 公开(公告)日 2024-02-02
申请人 德克萨斯仪器股份有限公司; 发明人 R·A·史密斯;
摘要 一种系统(100)包括环形 振荡器 (108),该环形振荡器包括布置成环形的奇数个 反相器 。所述系统(100)还包括时间‑数字转换器(113),该时间‑数字转换器包括奇数个触发器,其中触发器中的每一个耦合至不同反相器的输出。所述系统(100)包括耦合至反相器和触发器的电平移位器(112)。所述系统(100)还包括耦合至触发器中的至少一个的格雷码计数器(117)。所述系统(100)包括耦合至时间‑数字转换器(113)的 解码器 (128)。所述系统(100)还包括耦合至解码器(128)的 相位 频率 检测器(102)。
权利要求

1.一种系统,包含:
相环,其包括环形振荡器,其中所述环形振荡器包括:
布置成环形的奇数个反相器;和
一组触发器,其中所述一组触发器中的每个触发器耦合至所述反相器中不同反相器的输出;和
解码器,其被配置成:
从所述一组触发器接收代码,其中所述代码表示所述环形振荡器的相位
响应于所述代码无效,将所述无效代码解码成有效代码;和
向相位频率检测器提供所述有效代码。
2.根据权利要求1所述的系统,其中所述环形振荡器是7级环形振荡器。
3.根据权利要求1所述的系统,其中所述相位频率检测器被配置成响应于接收到所述有效代码而确定所述环形振荡器的所述相位与参考信号的相位之间的相位误差。
4.根据权利要求3所述的系统,其中所述相位频率检测器被配置成响应于所述相位误差而调整所述环形振荡器的所述相位。
5.根据权利要求1所述的系统,还包含:
电平移位器,其被配置成从所述反相器接收第一数据样本,并且向所述一组触发器提供第二数据样本。
6.根据权利要求1所述的系统,其中所述解码器被配置成将所述无效代码解码成最接近的有效代码。
7.根据权利要求1所述的系统,其中所述无效代码包括X个二进制1,并且所述有效代码包括X+1或X+2个二进制1。
8.根据权利要求1所述的系统,其中所述解码器被配置成将具有X个二进制1的所述无效代码解码成具有X+2个二进制1的所述有效代码。
9.根据权利要求1所述的系统,其中每个触发器被配置成响应于接收到参考信号而对反相器的输出进行采样
10.一种方法,包含:
在一组触发器处接收参考信号;
响应于接收到所述参考信号,用所述一组触发器中的每一个捕获多级环形振荡器的不同级的输出;
向解码器提供代码,其中所述代码至少部分地基于所述级的所述输出;
响应于所述代码无效,将所述无效代码解码成有效代码;和
向相位频率检测器提供所述有效代码。
11.根据权利要求10所述的方法,还包含:
响应于接收到所述有效代码而确定所述多级环形振荡器的相位与所述参考信号的相位之间的相位误差。
12.根据权利要求11所述的方法,还包含:
响应于所述相位误差而调整所述多级环形振荡器的所述相位。
13.根据权利要求10所述的方法,其中对所述无效代码进行解码包括:
将所述无效代码解码成最接近的有效代码。
14.根据权利要求10所述的方法,其中对所述无效代码进行解码包括:
将具有X个二进制1的所述无效代码解码成具有X+2个二进制1的所述有效代码。
15.根据权利要求10所述的方法,其中所述多级环形振荡器产生为所述参考信号的数倍的输出信号
16.根据权利要求10所述的方法,其中所述参考信号在所述一组触发器中的至少一个触发器的设置时间期间到达所述一组触发器。
17.一种系统,包含:
环形振荡器,其包括布置成环形的奇数个反相器;
时间‑数字转换器,其包括奇数个触发器,其中所述触发器中的每一个耦合至不同反相器的输出;
电平移位器,其耦合至所述反相器和所述触发器;
格雷码计数器,其耦合至所述触发器中的至少一个;
解码器,其耦合至所述时间‑数字转换器;和
相位频率检测器,其耦合至所述解码器。
18.根据权利要求17所述的系统,其中所述相位频率检测器被配置成响应于从所述时间‑数字转换器接收到代码而确定所述环形振荡器的相位与参考信号的相位之间的相位误差,其中所述代码表示所述环形振荡器的所述相位。
19.根据权利要求18所述的系统,其中所述解码器被配置成将无效代码解码成最接近的有效代码。
20.根据权利要求18所述的系统,其中所述解码器被配置成将具有X个二进制1的无效代码解码成具有X+2个二进制1的有效代码。

说明书全文

具有嵌入式时间‑数字转换器的环形振荡器的亚稳态校正

背景技术

[0001] 相环(PLL)是一种系统,其将本地振荡器的频率与接收的输入信号的频率进行比较,并且使用反馈环将本地振荡器的频率锁定至接收的输入信号的频率。本地振荡器的输出频率也可为输入频率的倍数。在PLL中,输出信号相位与输入信号的相位相关。本地振荡器生成周期信号,并且相位检测器将周期信号的相位与输入信号的相位进行比较。相位检测器随后调整振荡器,以保持相位匹配。可使用时间‑数字转换器(TDC)来测量相位。TDC使用一串延迟元件(诸如缓冲器反相器)和一系列触发器,这些触发器在特定时间点对延迟元件进行采样。信号通过延迟元件传播,并且由触发器收集的样本产生指示输出信号的相位信息的数字代码。
发明内容
[0002] 在至少一个示例中,一种系统包括锁相环,该锁相环包括环形振荡器。环形振荡器包括布置成环形的奇数个反相器和一组触发器,其中该组触发器中的每个触发器耦合至反相器中不同反相器的输出。该系统还包括解码器,该解码器被配置成从该组触发器接收代码,其中该代码表示环形振荡器的相位。响应于代码无效,解码器被配置成将无效代码解码成有效代码。解码器还被配置成向相位频率检测器提供有效代码。
[0003] 在至少一个示例中,一种方法包括在一组触发器处接收参考信号。响应于接收到参考信号,该方法包括用该组触发器中的每一个捕获多级环形振荡器的不同级的输出。该方法还包括向解码器提供代码,其中该代码至少部分地基于这些级的输出。响应于代码无效,该方法包括将无效代码解码成有效代码。该方法还包括向相位频率检测器提供有效代码。
[0004] 在至少一个示例中,一种系统包括环形振荡器,该环形振荡器包括布置成环形的奇数个反相器。该系统还包括时间‑数字转换器,该时间‑数字转换器包括奇数个触发器,其中触发器中的每一个耦合至不同反相器的输出。该系统包括耦合至反相器和触发器的电平移位器。该系统还包括耦合至触发器中的至少一个的格雷码计数器。该系统包括耦合至时间‑数字转换器的解码器。该系统还包括耦合至解码器的相位频率检测器。附图说明
[0005] 图1是在一些示例中包括具有环形振荡器和嵌入式TDC的数字PLL的系统。
[0006] 图2是在一些示例中TDC的时序图。
[0007] 图3A是在一些示例中的嵌入式TDC的电路图。
[0008] 图3B是在一些示例中的动态电平移位器的电路图。
[0009] 图4是在一些示例中由电平移位器向触发器提供的波形的时序图。
[0010] 图5是在一些示例中具有嵌入式TDC的7级环形振荡器的有效和无效代码的表。
[0011] 图6是在一些示例中的亚稳态校正方法的流程图

具体实施方式

[0012] 数字PLL在输入处接收具有相对稳定频率的参考信号FREF,并且在输出处产生频率为参考信号的频率的倍数的输出信号,称为FOUT。数字PLL还利用输入信号锁定输出信号的相位。为了锁定两个信号的相位,测量两个信号之间的相位误差。为了测量相位误差,TDC可能是有用的。经典的TDC包括一组布置成链的反相器。当数字信号的边沿出现在第一反相器的输入处时(例如,上升边沿或下降边沿),该边沿通过反相器链传播。每个反相器在输入处接收边沿时与反相器的输出改变时均有一个很小的有限延迟。可使用触发器在特定时间对链中反相器的输出进行采样。由触发器收集的样本指示边沿穿过反相器链的距离。例如,如果对七个反相器的链进行采样,并且采样结果为1110000,则边沿已经穿过前三个反相器,但没有穿过后四个反相器(由三个1后跟四个0指示)。这些样本创建一个数字代码,指示FREF与FOUT之间的相位误差,通过反相器延迟的数目来测量。相位误差对于将输入信号和输出信号锁相是有用的。
[0013] 数字PLL可包括具有嵌入式TDC的环形振荡器。嵌入式TDC使用触发器直接从构成环形振荡器的反相器中捕获相位信息。嵌入式TDC耦合至每个环形振荡器级的输出,并且响应于参考信号的接收,在特定时间点用触发器对输出处的数据进行采样。由触发器收集的样本创建如上所述的数字代码。数字代码的值指示环形振荡器的分数相位信息(例如,对于具有七个反相器的TDC,2/7、3/7、6/7等)。分数相位信息然后用于确定输入信号与输出信号之间的相位误差。在嵌入式TDC系统中,指示应当何时对反相器进行采样的参考信号可在接近一个或多个触发器的数据转变时间时到达。如果在接近触发器的数据转变时间采样数据,则可出现亚稳态问题,并且可对旧值而不是本应被采样的新值进行采样,反之亦然。因此,触发器可能收集无效的数字代码。无效代码会致使抖动性能不佳、锁定时间变慢和/或PLL无法保持锁定。在一些替代解决方案中,可使用附加电路系统来减轻无效代码的影响。然而,这些解决方案增加了复杂性和功耗。在其他替代解决方案中,可丢弃无效代码。丢弃无效代码可防止PLL针对该周期调整环形振荡器,这可影响抖动。
[0014] 本说明书描述了具有嵌入式TDC的数字PLL的各种示例,该数字PLL被配置成将无效代码解码成最接近的有效代码。在一个示例中,具有嵌入式TDC的N级环形振荡器具有N个循环TDC状态。因为嵌入式TDC中的反相器的输出信号的上升和下降变沿不是瞬时上升和下降的,所以可出现短暂的过渡状态。这些过渡状态是一些但不是全部边沿转变已经发生的状态。过渡状态可被解码,并且被认为是有效的代码。过渡状态与N个循环有效TDC状态组合产生2N个有效代码,如下所述。产生的除了2N个有效代码之外的代码被解码成2N个有效代码中的一个,而不是被丢弃。在本文的示例中,描述了一种7级环形振荡器。然而,在其他示例中可使用其他大小的环形振荡器。
[0015] 图1是在一些示例中包括具有环形振荡器和嵌入式TDC的数字PLL的系统100。在系统100的一个示例中,图1左侧上的组件可为数字组件,而图1右侧上的组件可为模拟组件。系统100包括相位频率检测器(PFD)102、数字滤波器104和数模转换器(DAC)106。振荡器108是嵌入式TDC系统110的组件。嵌入式TDC系统110包括振荡器108、电平移位器112和TDC 
113。PFD 102包括第一输入114、第二输入115、第三输入116和输出118。输出118提供相位误差119。系统100包括格雷码计数器117、反馈回路120、链路122、输出124、输出126、解码器
128和求和器130。振荡器108提供输出132,输出132可包括七个位,如图1中的<6:0>所示。电平移位器112接收输出132并提供输出134和136。电平移位器112在到TDC 113的输出134处产生标记为B<6:0>的七位输出,并且在输出136处产生输出位B<0>。TDC 113使用位B<6:0>来产生TDC_OUT<6:0>值。格雷码计数器117使用位B<0>来确定整数相位信息,如下所述。
[0016] 嵌入式TDC系统110在振荡器108的输入138处接收输入信号,并且在输出124处产生输出频率信号FOUT。嵌入式TDC系统110还在输出126处产生TDC_OUT值,在一些示例中,该值被提供给解码器128。下面参考图3A和3B描述嵌入式TDC系统110的细节。在其他示例中,嵌入式TDC系统110的各种组件可在振荡器108内,或者可位于振荡器108的外部。
[0017] 在系统100中,计数器(诸如格雷码计数器117)递增以表示反馈回路120上的整数相位信息(例如,INTEGER_COUNT<7:0>),而TDC 113提供分数相位信息。整数相位信息指示对于FREF信号的每个周期,FOUT信号完成多少个周期。例如,如果系统100被编程以产生四倍于输入信号FREF频率的FOUT信号,则格雷码计数器117对FOUT的周期进行计数。如果系统100按编程那样操作,则对于每个FREF循环,将完成四个FOUT循环。格雷码计数器117沿着反馈回路120向求和器130提供该信息。分数相位信息是针对FOUT信号的单个周期捕获的FREF相位信息。这两条信息被分别捕获,并且由求和器130合并,以在第三输入116向PFD 102提供整数加分数相位信息,如图1中的反馈相位所示。例如,如果输出124处的FOUT被编程为第一输入
114处的参考信号FREF的12.5倍,则对于每个FREF周期,来自格雷码计数器117和TDC 113的输出加在一起(通过求和器130)将增加12.5个周期。以这种方式,系统100可在比FREF高的频率提供输出信号FOUT。
[0018] 系统100锁定FOUT与FREF的相位。为了锁定FOUT和FREF的相位,首先测量FOUT与FREF之间的相位误差,然后用于调整FOUT。在替代系统中,利用PFD 102内部的TDC来测量相位误差。PFD 102内部的这个TDC具有一组布置成链的缓冲器或反相器。在参考信号的边沿出现之后(例如,上升边沿或下降边沿),该边沿通过反相器链传播,如上所述。每个反相器均有一个小的有限延迟。然后,在反馈时钟信号到达PFD 102时,使用TDC内的触发器对通过反相器传播的参考信号进行采样,其中一个触发器耦合至每个反相器的输出。在这个替代系统中,来自触发器的样本可为三个1(111),后面跟着多个零,因为参考信号没有穿过链中的所有反相器,而是只穿过其中的三个。这三个1以反相器延迟量指示参考信号与反馈时钟信号之间存在多少相位误差。
[0019] 如上所述,在替代系统中,PFD 102内部的TDC可能是面积密集型的,并且消耗大量功率。替代系统中反相器的延迟也需要校准,以了解每个反相器延迟消耗多少时间。在本文的示例中,振荡器108是环形振荡器,其包括布置成环形的反相器链。环形振荡器在环中包括奇数N个反相器,其输出在两个值之间振荡。最后一个反相器的输出被提供回第一个反相器中。调整提供给反相器的电压电流可改变通过反相器的延迟,从而改变其频率。在本示例中,不需要像在上述替代系统中那样需要校准。
[0020] 在本文的一些示例中,振荡器108中的反相器链可用作嵌入式TDC。TDC嵌入在振荡器108内,因此被称为嵌入式TDC系统110。在此,为了清楚起见,TDC 113在图1中被示为单独的组件,尽管TDC 113实际上嵌入在振荡器108内。振荡器108内的反相器输出处的数据可被采样并用于确定由振荡器108产生的信号的相位。因此,振荡器108的一些硬件(例如,反相器链)可重新用于时间‑数字转换(例如,TDC 113)以测量振荡器信号的相位误差。在一些示例中,重用该硬件可减少面积需求和功耗。
[0021] 在本文的示例中,TDC 113在输出126处产生TDC_OUT信号,该信号包括一系列位。如上所述,这一系列位指示由振荡器108产生的信号的相位。输出126处的TDC_OUT信号被提供给解码器128。如果解码器128确定TDC_OUT信号是有效代码,则解码器128经由求和器130在第三输入116处向PFD 102提供有效代码。然后,PFD 102根据有效代码确定相位,并且将其与第二输入115上的FREF的预期相位进行比较。PFD 102产生相位误差119,并且将相位误差119提供给数字滤波器104。由DAC 106接收相位误差,然后将其提供给振荡器108,其中振荡器108响应于相位误差而被调整。执行调整以将输出信号FOUT与输入信号FREF锁相。
[0022] 如果解码器128确定TDC_OUT信号为无效代码,则无效代码被解码成有效代码,如本文示例中所述。然后,解码器128经由求和器130将有效代码提供给PFD 102,并且PFD 102基于有效代码如上所述计算相位误差119。在一些示例中,解码器128可为PFD 102的组件,或者可在系统100的另一组件内。解码器128被配置成使用任何合适的解码方案或算法来对无效代码进行解码。解码器128可用硬件、软件或两者的组合来实施。在一个示例中,解码器128使用查找表对代码进行解码,如下面参考图5所述。在一个示例中,提供了非暂时性计算机可读介质。非暂时性计算机可读介质包括除信号之外的所有电子介质或存储介质。非暂时性计算机可读介质存储可执行代码。当由电子设备的处理器或控制器执行时,可执行代码执行本文所描述的步骤,以确定代码的有效性,并且对无效代码进行解码。在一个示例中,下面关于图6描述的步骤中的一些或所有由执行可执行代码的处理器或控制器来执行。
在其他示例中,本文所描述的附加过程由执行可执行代码的处理器或控制器来执行。在一些示例中,处理器或控制器可为解码器128。在其他示例中,处理器或控制器可为与解码器
128分离的组件。
[0023] 图2是本文一些示例中TDC的时序图200。图2示出了具有工作在240MHz的7级环形振荡器的示例系统的时序图。时序图200包括波形202、TDC、输入数据204和设置206。波形202是经由链路122提供给TDC 113的参考频率FREF。FREF是变高(例如,上升边沿)的参考信号,以指示TDC 113中的触发器应当捕获在它们各自的输入处的值(例如,0或1)。例如,D触发器在接收到时钟的指定边沿(例如,上升或下降)时捕获D输入处的值。在上升/下降时钟边沿之后,捕获的值在D触发器的Q输出处可用。然而,触发器可存在亚稳态问题。触发器在操作期间有设置和保持时间。在一个示例中,设置时间是在时钟的有效边沿之前的最小时间量,在该时间量内,被采样的数据必须稳定,以便数据被触发器正确地锁存。设置时间的违规可促使触发器捕获不正确的数据,这就是所谓的设置违规。保持时间是时钟的有效边沿之后数据必须保持稳定的最短时间。保持时间违规可促使锁存不正确的数据,这就是所谓的保持违规。
[0024] 示例设置/保持时间如图2中设置206所示。在本示例中,设置206大约是100皮秒。TDC 113的三个状态以时间顺序示出,并且标记为N‑2、N‑1和N。7级环形振荡器包括7个反相器,因此TDC 113捕获7个位,从左至右标记为位6至位0。在本示例中,N‑2是具有三个1的循环有效状态。当没有设置或保持违规发生时产生的有效状态可被称为循环有效状态。在所示示例中,每个循环有效状态具有三个1(例如,对于N‑2,位5、4和3是1,而位6、2、1和0是0),尽管1和0的数目仅仅是示例性的。此外,N是具有三个1的循环有效状态。在状态N中,位6、5和4是1,而位3、2、1和0是0。当状态N‑2变为状态N时,位6从0变为1,而位3从1变为0。其他位保持不变。相应地,0111000变为1110000。TDC 113中的触发器是独立的,因此由触发器捕获的位也彼此独立地改变。
[0025] 在本示例中,在状态N‑2与N之间有一个短的转变状态。该转变状态被标记为状态N‑1。在状态N‑1中,位6已经从0变为1,但是位3还未从1变为0。因此,状态N‑1的代码有四个1,而不是三个1。具有四个1的代码在在本文中被称为转变状态。转变状态可出现在具有三个1的循环有效状态之间。在7级环形振荡器的示例中,有七个具有三个1的循环有效状态(1110000、0111000,等等)和七个具有四个1的转变状态(1111000、0111100等)。如下所述,转变状态持续时间短,并且可违反触发器的设置和保持时间。在图2的示例中,转变状态N‑1大约为70皮秒长。设置206大约是100皮秒,因此N‑1状态可违反设置和保持时间。
[0026] 在图2的示例中,FREF的上升边沿到达时间t1。时间t1接近位从N‑2状态更新至N状态的窗口,因此可出现亚稳态。在时间t1,位6和3中的一个或两个可仍处于更新过程中。在一个示例中,在时间t1,位6可能尚未从0更新至1,而位3可能已经从1更新至0。因此,在本示例中,捕获的代码是0110000。此代码是只有两个1的无效代码。在本文中的示例中,只有两个1的无效代码被解码成最接近的具有四个1的转变状态。在7级环形振荡器示例中,当数据被触发器锁存时,最多只有2位改变。对于代码0110000,位6和位3是发生变化的位。因此,代码0110000被解码成1111000,其中位6和位3从0变为1。根据本文中的示例的解码器可将每个具有2个1的代码解码成对应的具有4个1的转变代码。在其他示例中,可执行其他类型的解码。在其他示例中,可使用其他类型的代码。如图2的示例所示,如果在时间t1捕获的代码是
0110000,则在时间t1的上升边沿可出现在转变状态N‑1期间,这由于与设置/保持时间(100皮秒)相比,转变状态的长度(70皮秒)导致了亚稳态问题。因此,具有两个1的代码被解码成具有四个1的最接近的转变代码。
[0027] 在替代系统中,通过减少设置和/或保持时间,可使触发器的亚稳态窗口更小。然而,这种替代解决方案可能会增加功耗、面积或需要更昂贵的组件。在上述的另一个替代解决方案中,可丢弃无效代码。然而,这种替代解决方案可影响抖动。
[0028] 本文中的示例利用振荡器中三个连续1的序列将无效代码解码成有效状态。三个连续1的序列出现在具有3/7占空比的7级环形振荡器的位序列中,如下所述。
[0029] 图3A是本文一些示例中嵌入式TDC的电路图300。电路图300包括环形振荡器302、动态电平移位器304、触发器306A至306G(统称为触发器306)和8位格雷码计数器308。环形振荡器302是具有七个反相器310A至310G(统称为反相器310)的7级环形振荡器。动态电平移位器包括耦合至提供电压VDD的电压源的端子312和耦合至接地的端子314。参考频率FREF经由端子316被提供给触发器306。触发器306在输出318处提供TDC_OUT<6:0>。8位格雷码计数器308包括接收B<0>的输入320和产生INTEGER_COUNT<7:0>的输出322。
[0030] 在一个示例中,环形振荡器302是图1中的振荡器108。环形振荡器302具有布置成环形的反相器310的链,并且产生在两个值之间振荡的输出。最后一个反相器310G的输出被提供回第一个反相器310A中。此外,调整提供给反相器310的电压或电流可改变通过该反相器310的延迟。
[0031] 每个反相器310的输出信号被提供给动态电平移位器304。在本示例中,提供给动态电平移位器304的来自反相器310输出的信号被标记为D<0>至D<6>。动态电平移位器304的细节将在下面参考图3B进行描述。
[0032] 动态电平移位器304向触发器306提供七个输出位。这些输出位被标记为B<0>至B<6>,并且表示从环形振荡器302采样并存储在触发器306中的TDC代码的位。当信号参考FREF的边沿(例如,上升或下降边沿)在时间t1被提供给触发器306时,触发器读取由动态电平移位器304提供的值B<0>至B<6>,并且将这些值存储在相应的触发器306中。存储在触发器306中的值被提供给输出318,以创建代码TDC_OUT。在本示例中,TDC_OUT代码有七个二进制数字。
[0033] 提供给触发器306A的B<0>的值也提供给8位格雷码计数器308的输入320。格雷码计数器通过一次仅改变一位来递增,以改变至相邻状态。8位格雷码计数器308对边沿已经经历的完整旋转的次数进行计数。8位格雷码计数器308在输出322处提供表示全相位旋转的次数的8位INTEGER_COUNT值。如上所述,INTEGER_COUNT和TDC_OUT值被组合以形成整数加分数格式的环形振荡器302的数字相位关系(经由图1所示的求和器130)。INTEGER_COUNT提供整数相位信息,并且TDC_OUT提供分数相位信息。将该测量相位与预期相位进行比较,并且计算相位误差。
[0034] 图3B是本文一些示例中的动态电平移位器304的电路图。动态电平移位器304从反相器310输出接收值D<6>至D<0>。动态电平移位器304将这些反相器310输出样本转换成输出位B<6>至B<0>,然后将这些输出位提供给触发器306。动态电平移位器304分别在晶体管350A至350G的栅极接收值D<0>至D<6>。基于反相器310的输出,D<0>至D<6>的值是0或1。晶体管350A至350G基于D<0>至D<6>的值导通和截止。节点352A至352G处的电压值(分别由S<0>至S<6>表示)也随着D<0>至D<6>的改变而改变。节点352A至352G耦合至晶体管354A至354G的栅极,并且耦合至晶体管356A至356G,其中标记为S<0>的节点和栅极耦合在一起,标记为S<1>的节点和栅极耦合在一起,等等。例如,节点352D(S<0>)耦合至晶体管354A的栅极(S<0>),并且还耦合至晶体管356B的栅极(S<0>)。当值D<0>至D<6>基于反相器310输出的改变而改变时,S<0>至S<6>的值也在整个动态电平移位器304中改变。
[0035] 动态电平移位器304执行两种操作。首先,动态电平移位器304从振荡器108的本地电源电压移至系统100中使用的主要数字电源电压,并且它以功率高效的方式执行该移动。动态电平移位器304是动态的,因此它仅在输出改变时切换并消耗电流。第二,动态电平移位器304将来自反相器310的一串1和0(D<0>至D<6>)转换成更可读的相位信号。例如,如果在任何给定时间对D<6:0>进行采样,则D<6:0>可为0101010,然后是1101010(当第一位改变时),然后是1001010(当第二位改变时),等等。因为对反相器310输出的改变通过环路中的反相器延迟起作用。由于改变的时间,这些反相器310的输出难以被采样,因此动态电平移位器304的逻辑促使每个S位在其转变(例如,从0至1)期间变高(1),并且在变低(0)之前保持高(1)3个周期。通过在三个周期内保持高电平,比直接从反相器310读取D<0>至D<6>更容易捕获位S<0>至S<6>。
[0036] 从动态电平移位器304读取位S<6:0>,并且由反相器358反转。反相器358未示为耦合至图3B中的其他电路系统,但耦合至适当的节点以在反相器358的输入处接收S<6:0>的七个位。在一个示例中,反相器358可表示七个反相器,每个位一个。反相器358的输出产生七个位B<6:0>,然后提供给图3A中的触发器306A至306G。如上所述,这些位B<6:0>(其为位S<6:0>的反转)在三个周期内保持为高,因此可更容易地从触发器306中读取它们。存储在触发器306中的值被提供给输出318,以创建代码TDC_OUT,如上面参考图3A所述。因此,动态电平移位器304接收反相器310的输出(D<0>至D<6>),并且创建如图4中B<0>至B<6>所示的更容易读取的波形,该波形被提供给触发器306。
[0037] 图4是本文一些示例中由动态电平移位器304向触发器306提供的波形B<0>至B<6>的时序图400。在时序图400中,y轴表示以伏特为单位的电压,而x轴表示以纳秒为单位的时间。波形402、404、406、408、410、412和414分别对应于位B<0>至B<6>随时间的电压值。时序图400还包括捕获1 416和捕获2 418,它们是读取位B<0>至B<6>的值的示例时间,如下文所述。波形402、404、406、408、410、412和414每个均具有3/7或大约43%的占空比。3/7的占空比由具有三个1和四个0的有效数字码(例如,循环有效状态)导致。换句话说,该位在3/7的时间内为高电平,而在4/7的时间内为低电平,3个高电平位是连续的。
[0038] 波形402、404、406、408、410、412和414示出从一个波形至下一个波形存在延迟,从波形402开始,至波形414结束。该延迟对应于信号通过环形振荡器302从一个反相器310移动至下一个反相器的延迟。例如,波形402的第一个上升边沿(对应于B<0>)出现在大约34.7纳秒。波形404的第一个上升边沿(对应于B<1>)出现在大约35.4纳秒。波形406的第一个上升边沿(对应于B<2>)出现在大约35.9纳秒。后续波形408、410、412和414的上升边沿以相似的间隔出现。
[0039] 时序图400具有两个捕获时间,捕获1 416和捕获2 418。捕获时间指示参考信号FREF的上升边沿到达触发器306的时间。当接收到参考信号FREF的上升边沿时,从触发器306读取值B<0>至B<6>。捕获1 416出现在大约35.7纳秒。此时,B<0>、B<1>和B<6>是高值(1)。其他位(B<2>、B<3>、B<4>和B<5>)为低(0)。因此,对于捕获时间1 416,从B<6>至B<0>的代码是1000011。因此,TDC_OUT为1000011,这是一个有效的代码。
[0040] 捕获2 418是捕获时间的另一个示例。在大约39.4纳秒时,捕获2 418出现。此时,位B<0>和B<6>为高(1)。然而,该捕获时间违反了对应于位B<1>和B<5>的触发器306的设置/保持时间。在捕获2 418时,位B<1>和B<5>正在转变。TDC_OUT可为1100011、1100001、1000001或1000011。如果TDC_OUT是1100001或1000011,则那些是具有三个1的循环有效代码,并且那些循环有效代码是可接受的有效代码。如果TDC_OUT为1100011,则这是一个具有四个1的转变状态。转变状态也是有效代码。如果TDC_OUT是1000001,则这就是只有两个1的无效代码。在本文中的示例中,具有两个1的无效代码被解码成具有四个1的最近的转变状态。因此,1000001被解码成转变状态1100011。
[0041] 在一个示例中,状态机可对数据进行解码并将其转换为适当的值。然后,将适当的值与FREF进行比较,以确定相位中的误差。如果相位误差为零,则振荡器不变。如果相位误差高,则振荡器运行过快,PLL将降低振荡器的频率,以累积较少的相位。如果相位低,则振荡器运行过慢,PLL将提高振荡器的频率以积累更多相位。TDC_OUT代码、其校正值和INTEGER_COUNT表示振荡器的相位。
[0042] 图5是在一些示例中具有嵌入式TDC的7级环形振荡器的有效和无效代码的表500。列A包括有效的B<6:0>码,其包括具有三个1的循环有效代码和具有四个1的转变状态。列B指示代码是否为转变状态,用Y指示是,N指示否,列C是每个有效状态可能的TDC_OUT<6:0>代码列表。列D是解码器分数值,其表示与每个可能的TDC_OUT<6:0>码相关联的分数相位值。
[0043] 行1、3、5、7、9、11和13示出了具有三个1的循环有效代码。行2、4、6、8、10、12和14是具有四个1的有效转变代码。在这些转变代码行中,列C指示每个转变状态的可能代码。对应于每个转变状态的具有两个1的TDC_OUT码在列C中示出。如果接收到具有两个1的代码,则该代码被解码成表500中对应行中的转变状态。在一些示例中,诸如表500的查找表可由解码器128用于将TDC_OUT码转换为分数相位值,如列D中所示。
[0044] 图6是本文一些示例中具有嵌入式TDC的环形振荡器的亚稳态校正方法600的流程图。方法600的步骤可按任何合适的顺序执行。在一些示例中,以上参考图1、3A和3B描述的硬件组件可执行方法600。在一个示例中,诸如解码器128的处理器或控制器可执行可执行代码来执行方法600的至少一些步骤。
[0045] 方法600始于610,其中一组触发器接收参考信号,诸如FREF。如上所述,触发器306可经由端子316接收参考信号。每个触发器接收参考信号,该信号可为上升边沿或下降边沿。在一个示例中,TDC的N个触发器耦合至环形振荡器的N个反相器,其中一个触发器耦合至每个反相器的输出。在一些示例中,电平移位器驻于反相器与触发器之间。电平移位器从N个反相器接收第一数据样本,并且将第二数据样本提供给N个触发器。
[0046] 方法600在620继续,其中响应于接收到参考信号,触发器中的每一个捕获多级环形振荡器的不同级的输出。在一些示例中,环形振荡器的级可为反相器,诸如反相器310。
[0047] 方法600在630继续,其中触发器向解码器提供代码,并且该代码至少部分地基于各级的输出。在上述示例中,代码包括N个二进制位,它们是N个反相器310的输出。N个二进制位构成对振荡器信号的相位信息进行编码的代码。
[0048] 方法600在640继续,其中响应于代码无效,将无效代码解码成有效代码。如上所述,由于TDC的亚稳态问题,一些代码无效。在一些示例中,无效代码可包括两个二进制1(X个二进制1),而不是三个(X+1)或四个(X+2)二进制1。在其他示例中,可存在其他类型的有效或无效代码。
[0049] 方法600在650继续,其中有效代码被提供给相位频率检测器,诸如PFD 102。有效代码可由解码器128提供给PFD 102。在一些示例中,代码可从触发器306提供给PFD 102。PFD 102使用该代码来确定振荡器相位与参考频率的相位之间是否存在相位误差。PFD 102提供相位误差,并且如果振荡器异相,那么锁相环使用该相位误差来调整振荡器的相位。
[0050] 在本文的示例中,利用环形振荡器的相位可预测性来校正被TDC的亚稳态破坏的相位数据。此外,可使用低功率单端环形振荡器拓扑结构。可包括具有低功率和大亚稳态窗口的标准数字库触发器来捕获TDC数据。本文中的示例使用环形振荡器的反相器作为TDC,节省了电路面积和功耗。此外,无效代码被解码而不是被丢弃,这使得相位能够在每个更新周期被校正或验证。用简单的解码方案来执行解码。解码逻辑可随着位数的改变而调整。
[0051] 术语“耦合(couple)”在整个说明书中使用。该术语可涵盖实现与本描述一致的功能关系的连接部、通信或信号路径。例如,如果设备A生成信号来控制设备B执行动作,则在第一示例中,设备A耦合至设备B,或者在第二示例中,如果中间组件C基本上不改变设备A与设备B之间的功能性关系,使得设备B由设备A经由设备A生成的控制信号来控制,则设备A通过中间组件C耦合至设备B。
[0052] “被配置成(configured to)”执行任务或功能的设备可由制造商在制造时配置(例如,编程和/或硬连线)以执行功能,和/或可由用户在制造后配置(或重新配置)以执行功能和/或其他附加或替代功能。该配置可通过设备的固件和/或软件编程,通过设备的硬件组件和互连件的构造和/或布局,或者它们的组合。
[0053] 本文所描述的包括某些组件的电路或设备可改为适于耦合至这些组件,以形成所描述的电路系统或设备。例如,被描述为包括一个或多个半导体元件(诸如晶体管)、一个或多个无源元件(诸如电阻器、电容器和/或电感器)、和/或一个或多个源(诸如电压和/或电流源)的结构可改为仅包括单个物理设备(例如,半导体管芯和/或集成电路(IC)封装)内的半导体元件,并且可适于在制造时或者在制造时间之后,例如由终端用户和/或第三方耦合至无源元件和/或源中的至少一些,以形成所描述的结构。
[0054] 本文所描述的电路可被重新配置成包括被替换的组件,以提供至少部分地类似于组件替换之前可用的功能性的功能性。
[0055] 前述术语“接地(ground)”的使用包括底盘接地、大地接地、浮动接地、虚拟接地、数字接地、公共接地和/或适用于或适合本说明书教导的任何其他形式的接地连接。除非另有说明,数值前的“约(about)”、“大约(approximately)”或“基本上(substantially)”意指所陈述值的+/‑10%。在所描述的示例中修改是可能的,并且在权利要求的范围内其他示例也是可能的。
QQ群二维码
意见反馈