cathy的头像

【原创深度】时钟电路设计的这些要点,你都知道吗?

cathy 发布于:周五, 12/08/2017 - 10:27 ,关键词:

贸泽电子 Steven Keeping

在电路中,时钟的不良设计可能导致整个设计的失败。尽管最简单的时钟分布是最好的,但是在很多应用中,电路板上某些位置的芯片需要同步时钟信号,而在另外一些位置又需要非同步(即不同频率)时钟信号,时钟的分布形成了一个多分支时钟树,给设计带来了巨大的挑战。

“”

满足设计规范中抖动(jitter)的要求是时钟设计中最关键的。抖动是时钟周期实际值与理想值之间的差异,并且通常随着时钟树而变得更复杂,操作频率越高,jitter越大。更糟糕的是,它的容差通常非常小,在超高速应用中甚至只允许有几个飞秒(10-15s)的容差。偏斜(Skew)是指同步时钟信号从一个芯片到另一个芯片之间的时间差异,在采用网络级同步通信的应用中,它是一个很大的问题。相对而言,Jitter是一个普遍存在的问题,因为它直接影响自由振荡电路和同步电路,本文将重点讨论如何降低他对电路时钟的影响。

设计约束要求工程师不仅选择高精度时钟芯片、设计优秀的电路布局,还要确保时钟信号在传输到目标IC的过程中不受电磁干扰(EMI)或其他信号线的串扰。但是在很多时候,即使选择了高精度的芯片和优秀的时钟树设计,也不能保证抖动是最小的。制造工艺、供应电压、温度和频率的变化都会影响到时钟特性。测试和故障排除是必要的,而在测试和排除故障的过程中,通常又会导致器件的更改,甚至是添加诸如抖动衰减器等来清理时钟信号,以满足产品规范。

(注:在描述时钟树精度时,工程师有时会提到相位噪声。抖动是时钟在时域上不确定性的度量;而相位噪声是抖动在频域的表现,尽管本文仅限于时域技术,但所提到的解决方案,也适用于频域。)

时钟树芯片

不同产品对时钟的要求像人类的指纹一样各不相同,所以没有典型的时钟树结构。图1给出了一个时钟树的例子,图中的芯片来源于Silicon Labs。

“”
图1:专用芯片可以从单晶体和时钟发生器中生成多个时钟,结果就是一个时钟树。 (来源:Silicon Labs)

虽然时钟电路具有多样性,但通常每个电路具有以下一个或多个器件:

  • 石英晶体:生成特定时钟信号频率的压电谐振器。
  • 晶体振荡器:以晶体频率为参考,生成多个频率和输出的电路。压控振荡器是晶体振荡器的一个变体,可以通过调谐产生更精确频率的时钟输出。
  • 时钟缓冲器:将单时钟生成多路副本,分发给工作在相同频率下的芯片。时钟缓冲器的一个变体是零延迟缓冲器。
  • 时钟发生器:以输入频率为参照而生成多个频率输出的芯片。
  • 抖动衰减器:通过衰减输入的抖动来清理时钟信号的芯片。

石英晶体

石英晶体(X)被用作压电谐振器,当施加电信号时,它能够以精确的频率谐振,然后被用作时钟生成器的参考频率。作为参考频率,晶体有一些关键优势:

  • 根据晶体的切割和安装方式,石英晶体可以提供32kHz至50MHz范围内的特定频率。
  • 频率不受温度的影响(但也不是完全无关)。
  • 晶体产生的相位噪声很少(抖动的频域表现)
  • 它们呈现高Q因子(即,频率输出在标称或中心频率附近呈现窄带宽)。

石英晶体通常与振荡器电路一起使用,振荡器电路增强了晶体的温度独立性,放大了晶体的输出,通过乘或除,可以通过晶体的参考频率产生一个或多个不同频率的输出,也可以将晶体的正弦波输出改变为数字电路所要求的方波。振荡器电路可以内置在目标IC中,也可以与晶体振荡器(XO)相配对,该器件的输出将成为目标IC的时钟输入。 Microchip的PL602-03就是一个例子,它产生的时钟抖动极小,可以使用12到25MHz的石英晶体,产生48到100MHz的输出频率。

晶体振荡器

晶体振荡器(XO)的方波输出可以是单端信号也可以是差分信号。差分信号一般应用于高速并且对抖动敏感的电路。使用晶体振荡器是一般要考虑成本,除非应用需要多个时钟频率或对时钟精度要求特别严格。

XO的一个替代方案是压控XO(VCXO)。VCXO的参考时钟仍然由石英晶体决定,但通过调整控制电压,该频率可以在某个范围内略微调整。VCXO的电压调整范围约为±100-200ppm。VCXO可用于机顶盒等系统,以满足所需的闭环频率响应,同时保持干净的时钟输出。安森美半导体的NB3N508S就是一个例子,它是一款低相位噪声的VCXO,可以从27MHz的石英晶体信号中产生216MHz的时钟输出。在0-3.3V范围内调节VIN引脚的电压,可获得±100ppm的电压输出。

在电路中,将石英晶体,XO或VCXO放置在目标IC附近,可以使用更少的时钟器件,以最低的成本构建时钟树。然而,随着目标IC数量的增加,这种方法也变得不切实际。

时钟缓冲器

对于需要多个相同时钟输入的电路,一个可选的方案是添加时钟缓冲器。时钟缓冲器的参考时钟可以由石英晶体、晶体振荡器或时钟芯片(如时钟发生器)来提供。参考时钟从输入引脚输入,时钟缓冲器可以复制出2至10个时钟副本给需要同一频率的IC。使用一个时钟缓冲器,可以省去原本需要的多个石英晶体和晶体振荡器,降低了成本,也节省了电路板空间,但给布线带来了麻烦。一个经验法则是,如果需要四个或更多时钟,使用时钟缓冲器通常比使用单独的晶体和晶体振荡器更加经济实惠。

精度更高的时钟缓冲器叫做零延迟时钟缓冲器,它的成本更高些。如针对PCIe应用的IDT 9DBL0是一种3.3V双输出时钟缓冲芯片,它将一个时钟信号扇出为多个时钟信号,而不产生延迟,输出之间的偏差也很小。这些器件一般采用锁相环(PLL)技术,该锁相环使用参考输入和由输出驱动的反馈输入。PLL内的相位检测器能够调节VCXO的输出频率,使多路输出无相位或频率差异,因此无抖动差异。

时钟发生器

与时钟缓冲器一样,时钟发生器的参考时钟也由石英晶体、晶体振荡器或其他时钟电路提供。前面提到的时钟缓冲器是用来生成多个相同频率的信号副本,而时钟发生器可以通过单个参考时钟输入生成多个不同频率的时钟输出。此外,时钟发生器还包括其他功能,如时钟输出的使能与关闭、频率偏移和频谱扩展。通过使用差分信号,时钟skew的控制,传输线的精心设计等可以保证集中式时钟源可以提供与多个分立晶体和晶体振荡器相似的时钟精度。

时钟发生器的一个例子是Silicon Labs的Si5338Q,该芯片是一款高性能,低抖动的时钟发生器,它能够合成四个独立的高达350MHz的用户可编程时钟频率并能够选择高达710MHz的输出频率。它的输出支持四个差分时钟,八个单端时钟或两者的组合(图2)。

“”
图2:时钟发生器通过单个晶体时钟输入产生多个频率的时钟输出,节省元件数量。 (来源:Silicon Labs)

抖动衰减器

时钟树可能需要的另一个芯片是抖动衰减器。抖动衰减器是专用芯片,用于“clean-up”时钟信号。它一般用在高速电路中,必须要将抖动减小到可以忽略的程度以确保电路正常工作的场合。

抖动定义

抖动是与理想时钟相比,实际周期变化的值,以秒(s)为单位。

抖动的类型

抖动有两种形式,随机性抖动和确定性抖动:

随机抖动

随机抖动在本质上是系统的固有噪声。该噪声遵循高斯曲线,不是一个可识别的噪声源,这给抖动的分析带来了麻烦。但幸运的是,在大多数系统中,随机抖动可以忽略不计,不会影响电路性能。但是,有时候本底噪声可能会非常高,以至于必须要进行一些故障排除来提高电路性能。

确定性抖动

确定性抖动有一个特定的原因并且通常是重复的。这使得分析其原因要比随机抖动更容易些。确定性抖动可以进一步分类为周期性抖动和数据相关性抖动。例如,由开关电源引起的抖动是确定性的和周期性的,与电源的工作频率相一致。相反,数据相关性抖动可能是周期性的也可能是非周期性的,因为它是由诸如以太网或PCIe通信中的串行数据流的动态变化和不规则时钟边缘等因素造成的。数据相关性抖动因系统、功能和其他因素等而发生变化,难以被诊断。

在某些系统中,确定性的抖动可能看起来是随机的,因为多个噪声源相互重叠,掩盖了与原本独立的噪声源。

抖动度量

抖动可有三种形式:绝对抖动,周期抖动和周期间抖动。

绝对抖动

绝对抖动,也称为时间间隔误差(JTIE)-表示某时刻信号与理想时钟的偏移量

周期抖动

周期抖动(Jper)-不要和上面描述的周期性抖动混淆。他是是在固定周期数(通常为1,000或10,000)内(图3)所有独立时钟周期的最长和最短时钟周期之差。

“”
图3:周期抖动是在长期观察中最长和最短时钟周期之间的差异。(来源:Silicon Labs)

周期间抖动

周期间抖动(Jcc)是在固定周期数(通常为1,000或10,000个周期)内测量的连续时钟周期之间的最大差异(图4)。

“”
图4:周期间抖动是连续时钟周期之间的最大差异。 (来源:Silicon Labs)

抖动的影响

有些抖动是不可避免的并且不全是坏事。但是,过度的抖动会影响电路性能。例如,在高频率下运行且需要高精准的同步时序系统必须满足JTIE的规范。同步eEhernet(SyncE)和光传输网络(OTN)应用也是这样的例子。高的JTIE将导致系统的同步失败和故障发生。

Jper和Jcc对于大多数的数字应用都很重要,因为在数字系统中,它们可能会影响锁存器和触发器的建立时间和保持时间:

  • 锁存器:时钟为高电平时,锁存器传输数据,时钟为低电平时,锁存器保持数据。
  • 触发器:触发器在时钟周期的上升沿到来时传输数据。

如果数据流和系统时钟受到Jper和Jcc的影响,则会轮流影响锁存器和触发器的建立时间和保持时间,从而导致数据损坏或丢失,降低了ADC的采样精度,或者限制了处理器的运行频率。在不能忍受时钟频率发生突变的应用中,对Jcc的控制也是很重要的(图5)。

“”
图5:过度的抖动会引发采样和保持问题,从而导致数据丢失或损坏。 (来源:IDT)

时序问题的解决方案

应用这些实践和技巧将会帮助解决时序问题:

采用好的设计实例

减小时序问题的第一步是使电路尽可能地简单。不论每个定时器的性能如何优秀,每个器件都会引入固有抖动,它们的影响是累积的。 器件的数量少就会引起更小的抖动。

每个电路都可以容忍一定程度的抖动而不会影响性能。如果不保证性能,工程师应尽量避免使用对抖动要求严格的电路。识别和减小抖动是一个困难又耗时的过程,只有在重要的情况下才应该被采用。

这个建议扩展到了电路的运行参数。开发者应该评估系统运行频率等要求,因为频率越高,Jper和Jcc就越大。(JTIE与操作频率无关。)

开发者还应该考虑时钟树的最佳拓扑结构。通过使用更少的石英晶体和时钟发生器并增加更多的时钟缓冲器,可以降低成本,但是会在时间精度上进行折衷。 类似地,通过采用VCXO和零延迟缓冲器,可以提高时序精度,从而提高复杂性(由于像晶体这样的元件趋向于需求,所以可能需要更长的交付周期)。

其他的设计技巧包括:

  • 通过保持信号线短路,选择最佳拓扑结构,并选择材料预算可支持的最佳芯片,来限制时钟树的延迟。
  • 控制转换时间以保持时钟边缘的良好定义。
  • 在电路中匹配元件(例如,除非由于操作原因而需要不同类型的元件,一般情况下都使用相同类型的时钟发生器和时钟缓冲器)。
  • 当从单芯片中分配多个信号时要匹配时钟线的长度。
  • 使用间隔和屏蔽来保护时钟线免受串扰。
  • 使用具有积分去耦功能的时钟缓冲器。

开发人员还应该利用商家免费提供的白皮书和时钟电路设计的应用笔记来获取建议。

最后,开发人员应根据时钟树拓扑结构的电路图和所选芯片的数据表来计算容限和抖动的累积量。许多芯片供应商提供线上工具来简化这一过程,并且评估芯片和拓扑结构的影响。这些工具甚至可以被用来为给定的应用程序提供芯片和拓扑结构。

分析时钟树

遵循良好的设计准则,选择合适的时钟树拓扑结构,采用高质量的芯片是非常好的做法,但这也并不能保证时钟是完全令人满意的。很多其他的因素也可以引入抖动,例如不匹配的信号线长度,EMI,电压波动甚至机械应力(影响晶体的压电特性),这些因素都是不可预测的。即使是最好的时钟电路也可能被这些噪声源损害。

如果时钟电路的性能不如预期,则需要使用为此设计的专用仪器进行分析,以便确定时钟问题的根源。

每种类型的抖动都是以皮秒(高精度的定时系统用飞秒)为单位来表示的。大的偏差意味着时钟质量低,抖动也常用时钟增量的均方根(RMS)值来表示。计算RMS值通常假定时序偏差服从高斯分布,计算结果是抖动测量值的标准差(图6)。

“”
图6:抖动通常用RMS值来表示,被定义为时序偏差高斯分布的标准差。 (来源:IDT)

通常使用高速数字示波器对抖动进行测量(时域值)。示波器可以直接测量出JTIE,Jper和Jcc,并可以还可以测量高频或低频时钟信号的抖动。示波器特别适合测量数据相关性抖动(图7)。

“”
图7:高速数字示波器是分析抖动的最佳工具。(来源:Silicon Labs)

通过对原始数据进行后期处理,可以计算出RMS抖动值。然后可以通过计算“峰值因数”将RMS抖动值转换为峰-峰值。计算波峰因数通常假设时钟的工业标准误码率(BER)为10-12。对于这个BER,RMS到峰-峰值因数是14.069。因此,1ps的RMS抖动值相当于14.069ps的峰-峰抖动值。

如果测得的抖动幅度超出预定的范围,则在使用仪器时需要一些技巧,不仅要确定抖动的大小,还要确定抖动的来源。周期性确定性的抖动是最容易被数据相关性抖动跟踪的,但也更难以排除故障。由于这种类型的抖动可能具有随机抖动的外观表现,因此难点仍然是来自多个源叠加的周期性抖动或数据相关性抖动。对于特别棘手的问题,应该从仪器和芯片供应商处寻求建议。

改善的时钟电路

一旦问题的根源被发现,就有许多方法来解决抖动问题;根据抖动的来源,可以通过以下几种方式来简化电路,从而解决问题:

  • 用一个能够提供多路输出的缓冲器替换多个分立的缓冲器。
  • 更换更高规格、更专业的芯片。
  • 重新布线并匹配走线长度。

具体的解决方案将取决于抖动的类型和来源。

在很多系统中,随机抖动是性能下降主要原因。这时,最好的方法是将时钟电路尽可能的简化,然后用更高规格的元件依次替换每个元件,直到本底噪声被降低到可接受的水平。

其他方面也可以被改进,如开关电源和目标芯片:

开关电源

能够经常显示出随机抖动和确定性抖动来源的区域是电源,特别是开关电源,开关电源因其高转换效率而受欢迎,但也是众所周知的EMI和其他噪声源。这种噪声应该在供应的输出中被滤除。否则,将会损害时钟信号的完整性。另外,设计人员还应该确保电源输出走线不会过于靠近时钟电路线路,限制串扰的机率; 其他信号走线也是如此。一个好的设计建议是在时钟线旁边运行一个接地走线,如果这一点不可行,则应该增加时钟线与其他信号线之间的距离。

目标芯片

目标芯片的一个常见问题是信号的终止。如果没有适当的终止,将会发生阻抗不匹配,并且能量将反射到线路上。这些脉冲可能非常大,以至于使器件错误的触发,导致电路错误操作(并且可能是灾难性的)。对于时钟电路来说,最流行的终止方式是在信号线中串联一个电阻,并把他放到尽可能靠近信号源的位置。电阻要匹配时钟驱动器的输出阻抗与传输线的阻抗。这样,电阻就会吸收掉返回的能量,进而不再影响时钟芯片。

使用抖动衰减器

在很多时候,即使采用了所有故障排除技术,抖动也可能达不到要求。当这种情况发生时,一种方法是可以在时钟树中添加抖动衰减器来clear-up时钟信号。像IDT的8V19N407或Silicon Lab的Si5317等器件采用PLL架构来实现抖动的衰减(通常是倍频)。PLL用于过滤来自输入时钟的噪声并产生低抖动输出时钟。降低环路滤波带宽会增加参考时钟的抖动衰减量,使得从输入到输出传输的抖动较小(图8)。

“”
图8:抖动衰减器使用PLL过滤输入时钟的噪声,并产生一个低抖动的输出时钟。(来源Silicon Labs)

结论

抖动的优化起始于时钟树的设计和电路元件的选择,不同的应用场合有不同的方案,在进行硬件设计之前,工程师应该利用芯片供应商的线上资源来评估时钟电路的性能。这样做可以在设计后期节约时间和成本,并且简化器件选择和采购。

但是,即使利用线上资源,采用已有的设计技术并仔细选择时钟芯片后,也不能保证抖动能够完全符合芯片数据手册上的参数,很多其他的影响也会引入不必要的噪声。因此,测试和故障排除是不可或缺的。

分析并消除抖动不是一个简单的过程。采用优秀的设计原则、选择高质量的元器件、用适当的仪器对电路进行检测、采用系统的方法来分析解决所发现的问题,通常会得到令人满意的结果。如果没有做到这些,建议开发人员求助于时钟芯片供应商。基本上所有优秀的公司都会提供设计和故障排除服务,开发人员所获得的经验可用于下一个项目的时钟电路设计。

原文链接:https://www.mouser.com/applications/timing-circuit-design-solutions/

该发布文章为独家原创文章,转载请注明来源。对于未经许可的复制和不符合要求的转载我们将保留依法追究法律责任的权利。

围观 114