1 简介
抖动是时钟信号边沿事件的时间点集合相对于其理想值的离散时序变量。时钟信号中的抖动通常是由系统中的噪声或其他干扰导致的。具体因素包括热噪声、电源变化、负载条件、器件噪声以及相邻电路耦合的干扰等。
2 抖动的类型
时钟信号抖动定义有多种主要是:
- 周期抖动 (Period Jitter)
- 相邻周期抖动 (Cycle to Cycle Period Jitter)
- 长期抖动 (Long Term Jitter)
- 相位抖动 (Phase Jitter)
- 时间间隔误差 (Time Interval Error or TIE)
2.1 周期抖动
周期抖动是时钟信号的周期时间相对于一定数量、随机选定的理想时钟信号周期的偏差。如果我们能对一定数量的时钟周期进行测量,就可以计算出这一段时间测量窗口内的平均时钟周期以及其标准偏差与峰峰值。我们通常将标准偏差和峰峰值分别称作 RMS 值和 Pk-Pk 周期抖动。
许多已发表的文献中往往将周期抖动定义为测得的时钟周期与理想周期之间的差异,但在实际应用中,想要量化理想周期往往有困难。如果用示波器观察设定频率为 100 MHz 的振荡器的输出,测得的平均周期可能是 9.998 ns,而非理想周期的 10 ns。因此,在实际测量中可将测量时间窗口内的平均周期视为理想周期。
2.1.1 周期抖动应用
周期抖动在数字系统中的时序冗余度计算方面非常实用。例如,在一个基于微处理器的系统中, 处理器在时钟上升之前需要 1 ns的数据建立时间。如果时钟的周期抖动为 -1.5 ns,则时钟的上升沿可能发生在数据有效前,因而微处理器可能得到不正确的数据。该实例如图 1 所示。
图 1. 因时钟抖动造成的数据建立时间冲突
同样,如果另一个微处理器的数据保持时间要求为 2 ns,但时钟抖动为 +1.5 ns,则数据保持时间缩短至 0.5 ns。微处理器也会得到不正确的数据。这种情况如图 2 所示。
图 2. 因时钟抖动造成的数据保持时间冲突
2.1.2 根据RMS抖动计算峰峰值抖动
周期抖动的任意随机性表现为高斯分布,可用均方根 (RMS)完整表达,单位是皮秒 (ps)。但是,峰峰值与计算设置和保持时间相关。下列等式是将 10,000 样本量的 RMS 抖动转换为峰峰 (Pk-Pk) 抖动:
峰峰值 = ±3.719 x (x为RMS抖动值)
例如,若RMS抖动为 3 ps,则峰峰值抖动为 ±11.16 ps。
公式 1 是利用高斯概率密度函数 (PDF) 表推导的结果。例如,如果样本量为 100,那么这些样本中的 99 个都将对分布均值的偏差在 ±2.327σ 以内,而且平均只有一个样本落在该区域以外。
表 1. 高斯概率密度函数
2.1.3 周期抖动测量方法
根据 JEDEC 标准 65B 的定义,周期抖动是指信号周期时间相对于一定数量、随机选定的理想时钟信号周期的偏差。JEDEC 标准进一步规定周期抖动测量的样本量应在 10,000 左右。SiTime 建议用下列流程来测量周期抖动:
- 测量一个时钟周期的时长(上升沿至上升沿)
- 等待随机数量的时钟周期
- 重复上述步骤 10,000 次
- 根据这 10,000 个样本计算平均值、标准偏差 (σ) 和峰峰值。
- 重复上述测量 25 次。从这 25 个结果中计算平均峰峰值。
从测量 10,000 个随机样本(步骤 4)中计算出的标准偏差 (σ) 或 RMS 值非常准确。使用下列公式能够计算 RMS 值中的误差:
其中 σ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是 Wavecrest SIA-4000C 捕捉到频率为125 MHz 的 3.3V SiT8102 振荡器的周期抖动直方图。其代表的是从 10,000 个样本(步骤 4)所测量到的一组RMS 和峰峰值。
图 3. 10,000个周期抖动测量的直方图
2.2 相邻周期抖动
相邻周期 (C2C) 抖动,根据 JEDEC 标准 65B,是通过一定数量的相邻周期随机样本的计算得出相邻周期的时间变化。JEDEC 标准进一步规定:每个样本的大小应大于或等于 1,000。请注意,相邻周期抖动仅涉及两个连续周期之间的周期差,与理想周期无关。
相邻周期抖动一般体现为以 ps 为单位的峰值,用于定义任意两个连续时钟上升沿之间的最大偏差。此类型的抖动规范常用于体现扩频时钟的稳定性,因为周期抖动对频率扩展特性更加敏感,而相邻周期抖动则不然。相邻周期抖动有时也表达为以 ps 为单位的 RMS 值。
2.2.1 相邻周期抖动测量方法
SiTime 建议使用下列流程来测量相邻周期抖动:
- 测量两个相邻时钟周期 T1 和 T2 的周期时间;
- 计算 T1-T2 的值。记录这一数值的绝对值;
- 等待随机数量的时钟周期;
- 重复上述步骤 1,000 次;
- 计算这 1,000 个样本的标准偏差 (σ) 和峰值。峰值是数据中的最大绝对值;
- 重复上述测量 25 次,并从这 25 组结果中计算出平均峰值。
此外,与峰峰周期抖动类似,相邻周期抖动的峰值也会随样本数量的增多发散,而非收敛。在流程中增加步骤 6 以便从 25 个样本中取得相邻周期抖动的平均峰值。
图 4 是相邻周期抖动直方图的范例。在本例中,其峰值为 25.66 ps(两个数值的较大者:21.22ps 和 -25.66 ps 的绝对值)。
图 4. 相邻周期抖动直方图
2.3 长期抖动
长期抖动测量的是在多个连续周期后时钟信号边沿与理想位置的变化。在实际测量中使用的周期数量取决于不同的应用。长期抖动与周期抖动和相邻周期抖动不同,因为其代表的是抖动在长时间间隔期间连续时钟周期流上的抖动累积效应。因此,长期抖动有时也被称为累积抖动。长期抖动通常对图形/视频显示以及测距器等长范围遥测应用非常实用。
SiTime 建议使用下列方法测量长期抖动;在本例中,我们测量的是 10,000 个时钟上的长期抖动:
- 测量 10,000 个连续时钟周期的时间间隔,如图 5 所示;
- 等待随机数量的时钟周期;
- 重复上述步骤 1,000 次;
- 根据这 1,000 个样本计算平均值、标准偏差 (σ) 以及峰峰值。
- 重复上述测量 25 次。从这 25 组结果中计算平均峰峰值。
图 5. 测量 10,000时钟周期时间间隔
再次重述,增加步骤 5 是因为峰峰值的发散属性。
2.4 相位抖动
一般将相位噪声描述为某一给定频率偏移处的dBc/Hz 值,也称噪声频谱密度值(例如:在 20KHz时为 -60 dBc/Hz,在 10MHz 时为 -95dBc/Hz),或是一段频率偏移范围内的连续曲线图。相位抖动是一定频率偏移范围内相位噪声的积分,以秒为单位表示。
在方波中,大部分能量均位于载波频率上。但是,部分信号能量会“泄漏到”位于载波两侧附近的频率上。相位抖动指的是相对于载波 (fc)的两个偏移频率之间包含的相位噪声能量总量。图 6是未经滤波或带宽限制的相位噪声图,阴影部分代表偏移频率 f1 和 f2 之间的相位抖动。
图 6. 相位噪声图
f1 和 f2 之间的 RMS 相位抖动由公式 3 定义。
其中 是载波频率 fc 每一侧 f1 和 f2 之间的噪声功率。
在各种数字通信应用中,计算系统的 RMS 相位抖动值之前,需要考虑传送端和接收端锁相环电路的系统组合对源于参考时钟的相位噪声的带通滤波效应。下面是常见系统应用及其相关的锁相环电路对参考时钟源相位噪声的等效带通滤波和相位抖动积分的截止频率:
- SONET OC-48: 12 kHz to 20 MHz
- 光纤通道:637 kHz 至 10 MHz
- SATA/SAS: 900 kHz to 7.5 MHz
- 10 千兆位以太网 XAUI:1.875 MHz 至 20 MHz
如果滤波器函数为 H(f),则滤波后的RMS相位抖动使用公式 4 进行计算。
3 时间间隔误差(TIE)
时间间隔误差 (TIE) 是指实际信号的事件边沿时间点相对于理想信号的事件边沿时间点的时间偏差。实际上,TIE 是相位噪声频谱在时域离散信号序列的表达,以秒或 ps 为单位。图 7 是 TIE的基本概念。理想信号通常是信号处理软件利用对实际信号周期的平均估算而得到的参考信号。
图 7. 测量边沿的 TIE
3.1 绘制 TIE的时间关系图
两组时钟波形的上升沿序列如图 8 顶部所示。红色脉冲是时间长度为 1000 ps 的理想时钟周期。黑色脉冲是含有抖动的时钟周期。为了简化示意图,所有时钟脉冲的下降沿在图中均没有显示。在时间序列的起点,红色时钟和黑色时钟的上升沿彼此对齐。由于抖动的存在,黑色时钟边沿,相对于红色时钟边沿,将开始在时间上偏移,有时出现在红色时钟边沿之前,有时在其之后。
图 8 标识为“时钟周期”的序列表达的是随时间推移所测得的黑色时钟周期。在本例中,黑色时钟周期可能是 990 ps,也可能是 1010 ps。图8“相邻周期变化”序列展示的是黑色时钟信号每个时钟周期相较于上一个时钟周期的变化。只要两个连续时钟周期保持不变,该序列值曲线就保持平坦。但是一旦前后两个时钟周期有差异,该趋势就会改变。例如:前四个时钟周期稳定为990 ps,故“相邻周期变化”序列保持平坦;但第五个时钟的周期从 990 ps 延长到了 1010 ps ,该序列值则跳变到 +20 ps 位置,体现这一变化。换言之,“相邻周期变化“序列体现了“时钟周期”序列中相邻时钟周期的变化值。
“时间间隔误差”(TIE) 序列记录的是理想边沿(红色时钟)与实际边沿(黑色时钟)之间的累积误差。在本例中,TIE 序列值在刚开始的趋势是向负方向变化,因为前四个黑色脉冲的时钟周期每个都比理想周期短 10 ps。在累积了 -40 ps 的抖动误差后,该序列的变化趋势在第五个时钟周期改变方向,朝正方向移动,因为第五个时钟周期比理想周期长 10 ps。
TIE 测量对于使用时钟数据恢复 (CDR) 电路来从数据信号中提取参考时钟的串行数据传送系统极为有用。较大的 TIE 值表明 CDR 中的锁相环电路响应速度可能过慢,无法跟随数据流的比特率变化。
图 8. 时间间隔误差 (TIE) 图
4 使用实时数字示波器进行抖动测量
4.1 示波器设置指南
测量时钟抖动最常用的仪器是实时数字示波器。本节主要介绍能提高抖动测量准确度的示波器设置注意事项。
实时数字示波器使用内部时钟基准,以固定时间间隔对输入信号进行采样。采样速率可从1Gsps(每秒千兆样本)到用于高性能设备的40Gsps。图10所示为实时数字示波器采样其输入端的信号并加以显示的方式。该图最下方的箭头代表采样时间点,实线代表实际信号,虚线上的圆点代表采样值。示波器(以虚线表示)显示的信号是对采样值圆点的最佳拟合曲线。
读者可能会注意到,采样值并非始终与实际信号的值相匹配。导致这些差异的是示波器中的量化误差。此类误差大部分都源自于示波器的设置。不过,恰当地设置示波器能够减少部分误差。在下面的章节中,我们将探讨造成这些误差的主要原因以及怎样减少这些误差对抖动测量的影响。
图 9. 通过实时数字示波器对信号进行采样
4.1.1 前端放大器噪声
实时数字示波器的输入在经模数转换器 (ADC) 数字化之前,会先通过模拟放大器。该放大器带来的噪声与示波器的输入带宽成正比例关系:带宽越大,噪声越大。但是,过度减小该带宽会影响采样信号的上升及下降时间,从而给抖动测量带来较大的误差。
用于计算时钟信号带宽和时钟信号上升时间/下降时间之间关系的通用等式是:
这里,我们在时钟信号边沿的 20% 和 80% 幅度值之间测量上升时间或下降时间。SiTime 建议将示波器的输入带宽设置为时钟信号带宽的 3 倍。在某些示波器中,只有在选择最大采样率的情况下才能设置带宽。在有些示波器中,带宽可能不能由用户自由设置。
4.1.2 因垂直增益设置产生的量化噪声
量化误差是指采样值与采样时间点上实际信号值之间的差异,如图 10 所示。该误差的一部分来自于示波器的垂直增益设置方式。如果将垂直增益设置为较小值,则示波器可能没有运用到其内部 ADC 的最高分辨率。
SiTime 建议调整示波器的垂直增益控制,直至信号幅度完全填满显示屏。在某些示波器中,在调整信号显示幅度到满屏后,还需要调节垂直增益至更大一级,以便让少量信号钳位在显示器的顶部与底部,从而进一步减少量化误差。这样的优势是更高的垂直增益设置可能让示波器利用 ADC最高分辨率对信号边沿进行数字化。但是,这一特性取决于具体的示波器,故请参阅示波器使用手册。
4.1.3 因低采样率导致的量化噪声
前面提到示波器的量化误差中,有一部分的来源是由于沿水平轴的采样点不够所致。SiTime 建议在时钟信号抖动测量中,上升或下降边沿的 20%至80%幅度值之间至少应该有3 个采样点。这一建议也可解读为对示波器的最小采样率要求。例如:如果信号的20%-80%上升时间是 1 ns,并且在这个时间内需要四个采样点,则示波器的采样率必须高于 4 Gsps。如果用户示波器的采样率高于上述指定的最低要求,应该选择最高的采样率设置。
4.1.4 时钟基准抖动
实时数字示波器中的采样时间点是由内部时钟基准生成的。该时钟基准作为参考时钟源,本身含有一定抖动,会导致抖动测量的误差。一般来说,为了使抖动测量的准确度优于 3%,时钟基准的抖动应保持在测试信号抖动的 25% 以下。SiTime 建议使用您实验室中最好的示波器来测量抖动,因为它采用的是抖动更低,更稳定的时钟基准。
4.2 使用实时数字示波器的抖动测量程序
4.2.1 测量周期抖动
方法A:
- 配置示波器以测量所有已采样的时钟周期,而非仅测量第一个时钟;
- 配置示波器以便在屏幕上捕获 10,000 个时钟周期。例如:对于 100 MHz 的时钟,10,000周期 = 100 us。 由于显示器通常包含 10 个水平分区,应将水平控制设置为每个分区10 us;
- 记录示波器报告的平均值、标准偏差以及峰峰值;
- 平均值与标准偏差值非常准确。但是,由于峰峰值的发散特性,单组样本测量可能不准确(见 2.1.3 节)。请遵循接下来的步骤,以取得更准确的峰峰值;
- 重复25 次,步骤 2 和步骤 3 。记录每次运行后的峰峰值,并计算这 25 个结果的平均峰峰值。
方法 B(JEDEC 方法)
- 配置示波器,以便测量第一个时钟的周期,然后打开直方图功能(如有);
- 配置示波器,以便在屏幕上捕获单个时钟周期;
- 重复上述步骤 10,000 次;
- 记录示波器报告的平均值、标准偏差及峰峰值;
- 平均值与标准偏差值非常准确。但是,由于峰峰值的发散特性,单组样本测量可能不准确(见 2.1.3 节)。请遵循接下来的步骤,以取得更准确的峰峰值;
- 重复25 次,步骤 2 至步骤 4。记录每次运行后的峰峰值,并计算这 25 个结果的平均峰峰值。
4.2.2 测量相邻周期抖动
- 打开示波器的直方图功能(如果有);
- 打开示波器的 C2C 测量工具。如果示波器上没有该测量工具,则配置示波器在屏幕上捕获两个连续时钟周期;用第一个时钟周期减去第二个时钟周期,并记录差值的绝对值;
- 重复上述步骤 1,000 次;
- 如果示波器具备直方图特性,则记录标准偏差和峰值。若直方图特性不可用,则从这 1000个数据集计算标准偏差和峰值。峰值为数据采集中任意两个连续时钟周期的最大差值的绝对值;
- 标准偏差值非常准确。但是,由于峰峰值的发散特性,单组样本测量可能不准确(参见
- 2.1.3 节)。请遵循接下来的步骤,以取得更为准确的峰值;
- 重复25 次,步骤 2 至步骤 5。记录每次运行后的峰值,并计算平均峰值。
4.2.3 测量长期抖动
方法A:
- 配置示波器,以便在屏幕上捕获 N+1 个时钟周期。N 是用于定义长期抖动测量中所需的时钟周期数量;
- 设置示波器,以便测量第一个时钟的上升边沿与第 N+1 个时钟的上升边沿之间的时间;
- 重复上述步骤 1,000 次;
- 计算这 1,000 个样本的平均值、标准偏差及峰峰值;
- 平均值与标准偏差值非常准确。但是,由于峰峰值的发散特性,单组样本测量可能不准确(参见 2.1.3 节)。请遵循接下来的步骤,以获得更准确的峰峰值;
- 重复25 次,步骤 1 至步骤 4。记录每次运行后的峰峰值,并计算平均峰峰值。
方法B:
- 配置示波器,以便在屏幕上显示时钟周期的上升边沿;
- 假定长期抖动测量的是N 个周期为 T 的时钟周期抖动,设置示波器触发在所显示边沿之前的 N*T 时间;
- 打开直方图模式,根据应用要求捕获波形边沿50%门限点1,000 次或 10,000 次。对于某些示波器,可能需要手动设置波形的边沿检测定义垂直及水平门限值;请参阅示波器使用手册;
- 等待,直至直方图中记录满足目标数量的测量。一旦达到目标数量即停止捕获;
- 设置屏幕显示为无限余晖,上升边沿显示条带的时间宽度就是长期抖动峰峰值(见图 11);
- 记录示波器的平均值、标准偏差及峰峰值;
- 平均值与标准偏差值非常准确。但是,由于峰峰值的发散特性,单组样本测量可能不准确(参见 2.1.3 节)。请遵循接下来的步骤,以取得更准确的峰峰值;
- 重复25 次,步骤 3 至步骤 4。记录每次运行后的峰峰值,并计算平均峰峰值。
图 10. 长期抖动