当前位置: 首页 > article >正文

时钟抖动定义和测量方法

1. 简介

抖动是一组信号边沿与其理想值的时序变化。时钟信号中的抖动通常是由系统中的噪声或其他干扰引起的。影响因素包括热噪声、电源变化、负载条件、设备噪声以及附近电路耦合的干扰。

2. 抖动的类型

抖动可以通过多种方式测量。以下是抖动的主要类型:

  • 周期抖动
  • 周期间抖动
  • 长期抖动
  • 相位抖动
  • 时间间隔误差 (TIE)

2.1 周期抖动

周期抖动是在多个随机选择的周期内时钟信号的周期时间相对于理想周期的偏差。如果给我们一些单独的时钟周期,我们可以测量每个时钟周期并计算平均时钟周期以及标准偏差峰峰值标准偏差峰峰值通常分别称为 RMS 值Pk-Pk 周期抖动

许多出版物将周期抖动定义为测量的时钟周期理想周期之间的差异。在现实应用中,通常很难量化理想周期。如果我们使用示波器观察设置为 100 MHz 的振荡器的输出,则平均测量时钟周期可能为 9.998 ns,而不是 10 ns。因此,将平均周期视为理想周期通常更为实际。

2.1.1 周期抖动应用

周期抖动对于计算数字系统中的时序裕度很有用。考虑一个基于微处理器的系统,其中处理器在时钟上升之前需要 1 ns 的数据设置。如果时钟的周期抖动为-1.5 ns,则时钟的上升沿可能出现在数据有效之前。因此,微处理器将收到不正确的数据。该示例如图 1 所示。

Figure 1. Data Setup Violation Caused by Clock Jitter
类似地,如果另一个微处理器的数据保持时间要求为 2 ns,但现在时钟抖动为 +1.5 ns,则数据保持时间实际上会减少到 0.5 ns。微处理器将再次看到不正确的数据。这种情况如图 2 所示。
Figure 2. Data hold time violation caused by clock jitter

2.1.2 根据 RMS 抖动计算峰峰值抖动

由于时钟的周期抖动本质上是随机的,具有高斯分布,因此可以完全用其以皮秒 (ps) 为单位的均方根 (RMS) 值来表示。然而,峰峰值在计算建立和保持时间预算时更为相关。要将样本量为 10,000 的 RMS 抖动转换为峰峰值 (Pk-Pk) 抖动,读者可以使用以下公式:

𝑃𝑒𝑎𝑘 - 𝑡𝑜 - 𝑝𝑒𝑎𝑘 𝑝𝑒𝑟𝑖𝑜𝑑 𝑗𝑖𝑡𝑡𝑒𝑟 = ±3.719 𝑥 (𝑅𝑀𝑆 𝑗𝑖𝑡𝑡𝑒𝑟) 公式 1

例如,如果 RMS 抖动为 3 ps,则峰峰值抖动为 ±11.16 ps。

公式 1 源自高斯概率密度函数 (PDF) 表。例如,如果样本数量为 100,则其中 99 个样本将落在分布平均值的 ±2.327σ 范围内,平均而言,只有 1 个样本将落在该区域之外。 SiTime 根据 JEDEC 标准的规定,测量 10,000 个样本大小的 RMS 周期抖动。
Table 1. Gaussian probability density function

2.1.3 周期抖动测量方法

JEDEC 标准 65B 中将周期抖动定义为信号周期时间相对于多个随机选择周期内的理想周期的偏差。JEDEC 标准进一步规定,应在 10,000 个周期的样本上测量周期抖动。建议使用以下过程测量周期抖动:

  1. 测量一个时钟周期的持续时间(上升沿到上升沿)。
  2. 等待随机数量的时钟周期。
  3. 重复上述步骤 10,000 次。
  4. 计算 10,000 个样本的平均值、标准差 (σ) 和峰峰值。
  5. 重复上述测量 25 次。从 25 组结果中计算平均峰峰值。

根据 10,000 个随机样本的测量(步骤 4)计算出的标准偏差 (σ) 或 RMS 值非常准确。RMS 值的误差可以使用以下公式计算:
Equation 2
其中 σn 是所收集样本的 RMS(或 sigma),N 是样本大小。对于 10,000 个样本量,ErrorRMS 为 0.0071σn。该误差是随机的并且遵循高斯分布。最坏情况下的测量误差通常计算为 ±3 ErrorRMS。

例如,如果根据 10,000 个随机样本计算出的 RMS 值为 10 ps,则 ErrorRMS 将为 0.071 ps,并且实际上该测量的所有 RMS 值仍将落在 10 ± 0.213 ps 的狭窄范围内。在实际应用中,10,000 个样本集中的 RMS 误差小到可以忽略不计。

虽然可以从随机的 10000 个样本集计算出准确的 RMS 值,但峰峰值更难以测量。由于周期抖动的随机性,样本量越大,在分布曲线远端拾取数据点的概率就越高。换句话说,随着收集更多样本,峰峰值会发散而不是收敛。这就是我们添加额外步骤(步骤 5)以产生更加一致和可重复的峰峰值测量的原因。

10,000 个随机样本的每次测量(步骤 4)都会产生一个标准偏差值和一个峰峰值。通过随机重复此过程 25 次,我们可以收集一组良好的数据点,从中可以高精度地计算平均峰峰值。我们还可以根据该数据计算平均 RMS 值,但它将非常接近从每次单独运行中得出的 RMS 值。

图 3 是 DSA90804A Infiniium 高性能示波器捕获的以 24 MHz 运行的 3.3V TCXO 振荡器的周期抖动直方图和周期趋势。它代表从 10,000 个样本测量的一组 RMS 值(步骤 4)。
Figure 3. Period Jitter screenshot of 10000 period jitter mesurements

2.2 周期间抖动

周期间 (C2C) 抖动在 JEDEC 标准 65B 中定义为相邻周期对的随机样本上相邻周期之间信号周期时间的变化。JEDEC 标准进一步规定每个样本量应大于或等于 1000 个。请注意,周期间抖动仅涉及两个连续周期之间的周期差,而不涉及理想周期。

周期间抖动通常以 ps 为单位报告为峰值,它定义了任意两个连续时钟的上升沿之间的最大偏差。这种类型的抖动规格通常用于说明扩频时钟的稳定性,因为周期抖动对扩频功能更敏感,而 C2C 抖动则不然。周期间抖动有时也表示为以 ps 为单位的 RMS 值。

2.2.1 周期间抖动测量方法

建议使用以下过程测量周期间抖动:

  1. 测量两个相邻时钟周期 T1 和 T2 的周期时间。
  2. 计算 T1-T2 的值。记录这个数字的绝对值。
  3. 等待随机数量的时钟周期。
  4. 重复以上步骤 1000 次。
  5. 计算 1,000 个样本的标准差 (σ) 和峰值。峰值是数据集中最大的绝对值 (T1-T2)。
  6. 重复上述测量 25 次,计算 25 组结果的平均峰值。

与峰峰值周期抖动类似,随着采样次数的增加,周期间抖动的峰值也会发散而不是收敛。添加该过程中的步骤 6,以获得 25 个样本组的平均峰值 C2C 抖动。

图 4 是周期间抖动直方图和周期趋势的示例。在这种情况下,峰值周期抖动为 10.03 ps(两个数字中较大的一个:-10.03 ps 和 7.79 ps,以绝对形式表示)。
Figure 4. Cycle to Cycle Jitter Screenshot

2.3 长期抖动

长期抖动测量时钟输出在几个连续周期内相对于理想位置的变化。测量中使用的实际周期数取决于应用。长期抖动与周期抖动和周期间抖动不同,因为它代表了长时间间隔内抖动对连续时钟周期流的累积影响。这就是为什么长期抖动有时被称为累积抖动的原因。长期抖动通常在图形/视频显示和远程遥测应用(例如测距仪)中有用。

建议使用以下方法测量长期抖动。在此示例中,我们测量了超过 10,000 个时钟周期的长期抖动。

  1. 测量 10,000 个连续时钟周期的时间间隔,如图 5。
  2. 等待随机数量的时钟周期。
  3. 重复以上步骤 1,000 次。
  4. 计算 1,000 个样本的平均值、标准差 (σ) 和峰峰值。
  5. 重复上述测量 25 次。从 25 组结果中计算平均峰峰值。
    Figure 5. Measuring a 10,000 clock-cycle time interval
    再次需要执行步骤 5 来克服峰峰值的无界性质。

2.4 相位抖动

相位噪声通常被描述为不同频率偏移处的一组噪声值(例如,20 kHz 时为-60 dBc/Hz,10 MHz 时为-95 dBc/Hz),或者描述为一定频率范围内的连续噪声图。相位抖动是特定频谱上相位噪声的积分,以秒为单位表示。

在方波中,大部分能量位于载波频率处。然而,一些信号能量在载波两侧的一定频率范围内“泄漏”。相位抖动是相对于载波 (fc) 的两个偏移频率之间包含的相位噪声能量。图 6 是未经滤波的相位噪声图,阴影区域代表频率 f1 和 f2 之间的相位抖动。
Figure 6. Phase Noise Plot
f1 和 f2 之间的 RMS 相位抖动由公式 3 定义。
Equation 3 RMS Phase Jitter
在通信应用中,在计算最终 RMS 相位抖动值之前,将组合 TX PLL 和 RX PLL 的带通滤波器效应应用于原始相位噪声数据。以下是常见应用及其相关滤波器的带宽(转角频率):

  • SONET OC-48:12 kHz 至 20 MHz
  • 光纤通道:637 kHz 至 10 MHz
  • SATA/SAS:900kHz 至 7.5MHz
  • 10 Gb 以太网 XAUI:1.875 MHz 至 20 MHz

如果滤波器函数为 H(f),则可以使用公式 4 计算滤波后的 RMS 相位抖动。
Equation 4. RMS Phase Jitter (filtered)

2.5 时间间隔误差(TIE)

边沿的时间间隔误差 (TIE) 是指该边沿从参考点测量的理想位置的时间偏差。实际上,TIE 是相位噪声的离散时域表示,以秒或皮秒为单位。图 7 说明了 TIE 的基本概念。理想信号通常是根据信号周期的平均估计在软件中创建的信号。
Figure 7. Measuring the TIE of an edge

2.5.1 绘制随时间变化的 TIE

图 8 顶部显示了时钟波形。红色脉冲是完全定时的时钟周期,持续时间恰好为 1000 ps。黑色脉冲是带有抖动的时钟周期。这些时钟脉冲的后沿已被移除以增强显示效果。在序列的开始,红色和黑色时钟彼此对齐。由于抖动,黑色时钟边沿将开始及时移动,有时发生在红色时钟边沿之前,有时发生在红色时钟边沿之后。

标有“时钟周期”的图表示随时间测量的黑色时钟周期。在此示例中,黑色时钟周期为 990 ps 或 1010 ps。 “周期变化”图描绘了每个周期相对于上一个周期的变化。只要两个连续黑色时钟之间的周期保持不变,该图就保持平坦。然而,只要检测到周期差异,它就会记录变化。

例如,前 4 个时钟周期的周期恒定为 990 ps,因此“周期变化”图是平坦的;但当第五个时钟的周期从 990 ps 延长到 1010 ps 时,绘图会跳转到 +20 ps 位置来报告此变化。换句话说,该图标识了“时钟周期”图中显示的周期变化。

“时间间隔误差”(TIE) 图记录了理想边沿(红色时钟)和实际边沿(黑色时钟)之间的累积误差。在此示例中,TIE 图首先朝负方向移动,因为前 4 个时钟均比理想周期短 10 ns。在抖动误差累积为 -40 ps 后,绘图在第五个时钟处改变方向并朝正方向前进,因为第五个时钟周期比理想周期长 10 ps。

在检查传输数据流的行为时,TIE 测量特别有用,其中通常使用时钟/数据恢复 (CDR) 电路从数据信号中恢复参考时钟。大的 TIE 值可能表明 CDR 中的 PLL 对数据流变化的比特率的响应太慢。
Figure 8. Time interval error (TIE) plot

3. 使用实时数字示波器进行抖动测量

3.1 示波器设置指南

测量时钟抖动最常用的仪器是实时数字示波器(示波器)。本节包含一般示波器设置指南,以实现更好的抖动测量精度。

数字示波器使用内部时基定期对其输入进行采样。高端设备的采样率范围为 1 Gsps(每秒千兆样本)到 40 Gsps。图 9 说明了数字示波器如何采样和显示提供给其输入的信号。图底部的箭头代表采样点,实线是实际信号,点是采样值。示波器显示的信号(由虚线表示)是采样点的最佳拟合曲线。

读者可能会注意到采样值并不总是与实际信号匹配。这些差异是由示波器中的量化误差引起的。大多数这些错误是示波器的设计/成本权衡所固有的,但正确的示波器设置可以减轻一些不准确性。在以下部分中,我们将探讨这些误差的主要原因,并推荐减少其对抖动测量影响的步骤。
Figure 9. Sampling of a signal by a digital scope

3.1.1 前端放大器噪声

数字示波器的输入先经过模拟放大器,然后再由模数转换器 (ADC) 进行数字化。该放大器产生的噪声与示波器的输入带宽成正比:带宽越宽,噪声越高。然而,过多地减小带宽会影响采样信号的上升和下降时间,从而给抖动测量带来显着的误差。

描述上升时间/下降时间与信号边沿带宽之间关系的一般方程为:

Equation 5. Bandwidth
其中上升时间(或下降时间)是在信号边缘的 20% 和 80% 点之间测量的。建议将示波器带宽设置为信号带宽的 3 倍。在某些示波器中,只有选择最大采样率才能设置带宽。在其他范围内,带宽可能根本不可选。

3.1.2 垂直增益设置引起的量化噪声

量化误差是采样点信号的采样值与实际值之间的差异。该误差如图 9 所示。示波器中的该误差的一部分是由显示器的垂直增益设置引起的。如果垂直增益设置为较小值,示波器可能无法利用其内部 ADC 的全分辨率。

建议调整示波器的垂直增益控制,直到信号填满显示器的整个高度。在某些示波器中,将垂直增益再调高一个档次,以便在显示器的顶部和底部剪切一小部分信号,可以进一步减少量化误差。实现这一好处是因为较高的垂直增益设置可能会导致示波器利用 ADC 中的额外位来数字化信号。但是,此功能取决于范围,因此请查阅您的范围手册。

3.1.3 低采样率引起的量化噪声

上一节中描述的一些量化噪声是由水平轴上的采样点不足引起的。建议至少有 3 个采样点落在上升沿或下降沿的 20% 到 80% 点之间。该建议转化为示波器的最低采样率要求。例如,如果信号的上升时间 (20% - 80%) 为 1 ns,并且在此时间范围内需要 4 个采样点,则示波器的采样率必须优于 4 Gsps。如果您的示波器的采样率高于上面指定的最低要求,请选择最高采样设置。

3.1.4 时基抖动

数字示波器中的采样点由内部时基生成。时基作为时钟源,有其自身的抖动特性,它会影响信号的抖动测量误差。一般来说,时基抖动应保持在预期信号抖动的 25% 以下,以支持优于 3% 精度的抖动测量。建议使用实验室中可用的最佳示波器来执行抖动测量,因为高端设备往往具有更好的时基电路和更低的抖动。

3.2 使用实时数字示波器的抖动测量程序

3.2.1 测量周期抖动
方法 A
  1. 配置示波器以测量所有采样时钟周期,而不是仅测量第一个时钟。
  2. 配置示波器以捕获屏幕上的 10,000 个时钟周期。例如,对于 100 MHz 时钟,10K 周期 = 100 us。由于显示器通常包含 10 个水平格,因此水平控制应设置为每格 10 us。
  3. 记录示波器报告的平均值、标准差和峰峰值。
  4. 平均值和标准差值非常准确。然而,由于其无界性质,峰峰值并不是很准确(参见第 2.1.3 节)。按照下一步操作以获得更准确的峰峰值。
  5. 重复步骤 2 和 3 二十五 (25) 次。每次运行后记录峰峰值,并计算 25 次结果的平均峰峰值。
方法 B(JEDEC 方法)
  1. 配置示波器以测量第一个时钟的周期并打开直方图功能(如果可用)。
  2. 配置示波器以捕获屏幕上的单个时钟周期。
  3. 重复上述步骤 10,000 次。
  4. 记录示波器报告的平均值、标准差和峰峰值。
  5. 平均值和标准差值非常准确。然而,由于其无界性质,峰峰值并不是很准确(参见第 2.1.3 节)。按照下一步操作以获得更准确的峰峰值。
  6. 重复步骤 2 至 4 二十五 (25) 次。每次运行后记录峰峰值,并计算 25 次结果的平均峰峰值。
3.2.2 测量周期间抖动
  1. 打开示波器中的直方图功能(如果可用)。
  2. 打开示波器中的 C2C 功能。如果此功能不可用,请将示波器配置为捕获屏幕上的两个连续时钟周期;从第一个时钟的周期中减去第二个时钟的周期并记录差的绝对值。
  3. 重复上述步骤 1,000 次。
  4. 如果示波器具有直方图功能,请记录标准差和峰值。如果直方图特征不可用,请计算 1000 个数据集的标准差和峰值。峰值是数据集中任意两个连续时钟之间的最大差异。
  5. 标准差值相当准确。然而,由于其无界性质,峰值并不是很准确(参见第 2.1.3 节)。按照下一步操作以获得更准确的峰值。
  6. 重复步骤 2 到 5 二十五 (25) 次。每次运行后记录峰值并计算平均峰值。
3.2.3 测量长期抖动
方法 A
  1. 配置示波器以捕获屏幕上的 N+1 个时钟周期。 N 是您对长期抖动测量所需时钟周期数的定义。
  2. 设置示波器测量第一个时钟的上升沿和时钟 N+1 的上升沿之间的时间。
  3. 重复以上步骤 1000 次。
  4. 计算 1,000 个样本的平均值、标准差和峰峰值。
  5. 平均值和标准差值非常准确。然而,由于其无界性质,峰峰值并不是很准确(参见第 2.1.3 节)。按照下一步操作以获得更准确的峰峰值。
  6. 重复步骤 1 到 4 二十五 (25) 次。每次运行后记录峰峰值并计算平均峰峰值。
方法 B
  1. 配置示波器以在屏幕上显示时钟周期的上升沿。
  2. 假设长期抖动测量涉及 N 个时钟周期,每个周期为 T ns。将示波器设置为在显示边沿之前 N*T ns 触发。
  3. 根据应用需要,打开直方图模式以捕获波形的 50% 交叉 1,000 或 10,000 次。在某些范围内,这可能需要定义边缘检测的垂直和水平阈值;请参阅您的示波器手册。
  4. 等待直方图中记录目标命中数。一旦达到目标数量就停止采集。
  5. 屏幕将把上升沿显示为一条线带(见图 10),线带的宽度就是长期抖动。
  6. 记录示波器的平均值、标准差和峰峰值。
  7. 平均值和标准差值非常准确。然而,由于其无界性质,峰峰值并不是很准确(参见第 2.1.3 节)。按照下一步操作以获得更准确的峰峰值。
  8. 重复步骤 3 至 4 二十五 (25) 次。每次运行后记录峰峰值并计算平均峰峰值。
    Figure 10. Long-term jitter

4. 结论

本应用笔记有两个目的。首先,它描述了读者在当今的高速系统中可能遇到的常见抖动类型。其次,它提供了使用实时数字示波器捕获各种类型抖动的程序。 振荡器相位噪声测量指南 中描述了相位噪声和相位抖动测量技术。

原文链接


http://www.kler.cn/a/451257.html

相关文章:

  • Python|Pyppeteer实现自动化获取reCaptcha验证码图片以及提示词(29)
  • 数字工厂管理系统就是ERP系统吗
  • 内网穿透ubuntu20 docker coplar
  • 国自然面上项目分享|基于人工智能和病理组学的早癌筛查算法研究|基金申请·24-12-24
  • kkfileview代理配置,Vue对接kkfileview实现图片word、excel、pdf预览
  • Move AI技术浅析(二):输入与预处理
  • macos自动制作dmg安装包脚本
  • 深入理解数据结构:数组、链表与列表
  • 【魅力golang】之-通道
  • Unity中如何实现绘制Sin函数图像
  • whisper.cpp: Android端测试 -- Android端手机部署音频大模型
  • 独一无二,万字详谈——Linux之文件管理
  • 虚幻引擎结构之UWorld
  • 16.1、网络安全风险评估过程
  • 基于Spring Boot的九州美食城商户一体化系统
  • HTML+CSS+JS制作外贸网站(内附源码,含5个页面)
  • 3.学习webpack配置 尝试打包ts文件
  • 【Git】-- 版本说明
  • 每天40分玩转Django:Django国际化
  • 【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
  • 学习一下USB DFU
  • AI驱动的数据分析:利用自然语言实现数据查询到可视化呈现
  • 2.在 Vue 3 中使用 ECharts 实现动态时间轴效果
  • Android Studio打开一个外部的Android app程序
  • embeding 层到底是什么
  • YOLOv8 引入高效的可变形卷积网络 DCNv4 | 重新思考用于视觉应用的动态和稀疏算子