时钟抖动的分类:周期抖动、相邻周期抖动、长周期抖动

好,我们正式开始聊抖动的分类。很多刚入行的朋友,一听到「抖动」两个字就头大,觉得这是个玄学概念。其实没那么复杂。

抖动的分类方式很多,按时间尺度分的话,我习惯把它们分成三类:周期抖动、相邻周期抖动和长周期抖动。这三种抖动,对应着不同的应用场景和测试需求。

1. 周期抖动(Period Jitter)

周期抖动,说白了就是测量时钟信号每个周期的宽度,然后看这些宽度变化有多大。

怎么测?你拿示波器抓 N 个时钟周期,记录每个周期的 T1、T2……TN。然后算这些 T 的统计分布,标准差就是周期抖动的 RMS 值,峰峰值就是 Tmax - Tmin。

我个人的习惯:在做周期抖动测量时,至少抓 10000 个周期,否则统计结果不太可信。 很多入门级示波器默认只抓 1000 个,你得手动改一下设置。

周期抖动对什么影响最大?建立时间/保持时间。你想想看,如果时钟周期忽长忽短,那寄存器采数据的时间点就跟着飘。一旦某个周期短到让数据来不及稳定,setup 就崩了。

举个例子,我在一个 5GHz 的 SerDes 项目里遇到过,PLL 的环路带宽设得太宽,导致周期抖动的峰峰值到了 12ps。这看起来不大对吧?但你算一下,5GHz 时钟周期才 200ps,12ps 的抖动占了 6% 的周期裕量,这谁受得了?最后只能把带宽降下来。

2. 相邻周期抖动(Cycle-to-Cycle Jitter)

相邻周期抖动,关注的是相邻两个周期之间的差值变化。即 ΔT = |Tn - Tn-1|。

这个指标在 DLL(延迟锁相环) 和 高速数据接口 里特别重要。

为什么会这样?因为相邻周期抖动直接反映了时钟的短时稳定性。如果相邻两个周期差了好几个皮秒,那你在做高速串行传输时,接收端的眼图就会闭合得快很多。

核心要点:

  • 周期抖动:看值的变化 → 影响 setup/hold
  • 相邻周期抖动:看差值的抖动 → 影响高速串行链路的误码率

我记得有一次在调试 PCIe Gen3 接口时,BER 总是不过。示波器一看,周期抖动的 RMS 值挺正常的,但相邻周期抖动却大得离谱。后面定位到是片上的去耦电容不够,导致电源噪声在每一个时钟周期都有波动。所以,相邻周期抖动对电源噪声特别敏感。

避坑指南:我曾经犯过一个错——只优化了周期抖动就以为万事大吉了。结果在系统联调时, 隔壁的开关电源一启动,时钟的相邻周期抖动就爆了。最后才明白,周期抖动和相邻周期抖动其实是两套优化逻辑。

3. 长周期抖动(Long-Term Jitter)

长周期抖动,测量的是经过 N 个完整周期后的总时间偏差。比如你数了 10000 个周期,用这个总时间跟理想的 10000 * T0 相比,偏差就是长周期抖动。

长周期抖动主要跟 PLL 的低频相位噪声有关。因为低频噪声会在时间上不断累积,随着观测周期数增加,抖动会越来越大。

你想想看,如果一个时钟的长期精度差,那在做同步以太网或者数据采集系统时,时间戳的精度就会非常差。我曾经在一个多通道 ADC 采集项目里,要求所有通道同步采样。结果发现相邻两次采样之间的时间偏移越来越大,查了一圈,是 PLL 的噪声整形不好,低频噪声一直在累积。

抖动类型 测量对象 主要影响因素 典型应用场景
周期抖动 单周期宽度 Tn 高频噪声、PLL 带宽 数字逻辑时序收敛
相邻周期抖动 相邻周期差值 |Tn - Tn-1| 电源噪声、器件工艺 高速 SerDes、DLL
长周期抖动 N 周期总时间偏差 低频相位噪声、VCO 噪声 同步以太网、数据采集

嗯,这里要注意一个很关键的细节:长周期抖动测量的周期数 N 不能随便定。通常要根据你的系统要求来选。我在做 PLL 设计时,习惯把 N 定在 1000 或者 10000,因为绝大多数的应用场景,时间窗口都不会超过这个范围。

三类抖动的内在关系

其实,这三类抖动并不是独立存在的。它们之间的关系可以用一组公式来描述。假设每周期时长为 T[n],相邻周期抖动就是 T[n] - T[n-1],长周期抖动则是 Σ(T[i] - T_ideal)。

所以,长周期抖动 ≈ 相邻周期抖动的积分。一个系统如果相邻周期抖动很大,那么长周期抖动一定会随着观察时间增长而不断发散。

但反过来就不一定了——长周期抖动小,不代表相邻周期抖动也小。因为相邻周期抖动可能正负波动,积分之后可能互相抵消。这也是一些 PLL 在锁定时,周期抖动看起来很好,但相邻周期抖动却不理想的原因。

我个人做时钟树分析时,一般会同时看这三类抖动的仿真结果。如果只给一个指标,很容易被误导。

时钟抖动分类与关系 理想时钟周期 T₀ 周期抖动 PJ = σ(Tn) 相邻周期抖动 CCJ = σ(ΔT) 长周期抖动 LTJ = Σ(Tn-N·T₀) 测量方法 示波器抓 N 周期 测量方法 时间间隔测量 测量方法 累加偏差观测 setup/hold 时序收敛 BER 高速链路误码 采样时间偏移 ADC 精度 PLL 噪声整型 环路带宽相关 补充提示 三类抖动通过 PLL 的环路带宽关联,低频噪声主要影响长周期抖动,高频噪声主要影响周期抖动

嗯,以上就是时钟抖动的三个基本分类。周期抖动看的是单个周期的宽度变化,相邻周期抖动看的是连续周期之间的差异,长周期抖动看的是累积时间偏差。每个都有各自的应用场景和优化重点。