同一个 125 MHz 时钟,开不开 SSC,在频谱仪上长得完全不同。差别不在幅度,而在时间的维度上频率摊没摊开。这篇把展频时钟(Spread Spectrum Clocking,SSC)的原理讲透,再用 RGMII TXC 这个最常见的场景走一遍实战。

一、SSC 是什么:给时钟做一次"低频调频"

SSC 的本质,是用一个低频三角波去调制时钟源的输出频率,让瞬时频率在标称值附近小范围往复:

f(t) = f₀ × [1 + d(t)]
d(t) = 三角波,周期 1/f_m,摆幅 ±δ

四个参数记住就够了:

参数典型值说明
调制波形三角波线性扫频,频谱摊得最平
调制频率 f_m30–33 kHz远低于跟踪环带宽,且高出音频段
调制深度 δ±0.5%125 MHz → 124.375 ~ 125.625 MHz
展频方向中心展频平均频率仍是标称值(关键,第五节细说)

展频时钟 SSC 原理:时域调频与频域能量摊薄对比

二、为什么摊频能降 EMI

先看 EMC 测试的"尺子":接收机是带着分辨率带宽(RBW,CISPR 32 常用 120 kHz)的准峰值检波器。它每 120 kHz 切一刀,看这一刀里能量密度的峰值。

未展频时,时钟及其各次谐波是一根根离散谱线,全部能量挤在远窄于 RBW 的一条缝里——峰值自然就高。展频之后,同样的总能量被摊到 Δf = 2·δ·f₀ 的带宽内(125 MHz 配 ±0.5% 就是 1.25 MHz),每一小份的能量密度降下来了。

峰值下降量有个简洁的估算式:

Δ ≈ 10·log₁₀(展宽 / RBW)

代入 1.25 MHz / 120 kHz ≈ 10.4,基频峰值约降 10 dB。而这个收益在高次谐波上还要放大——谐波次数 n 越高,绝对展宽 n×1.25 MHz 越宽,相对 RBW 的倍数越大:

谐波频率展宽峰值下降(120 kHz RBW)
基频125 MHz1.25 MHz≈ 10 dB
10 次1.25 GHz12.5 MHz≈ 20 dB
24 次3 GHz30 MHz≈ 24 dB

RGMII 这种永不停止翻转的方波时钟,超标点往往就在数百 MHz 以上的谐波——那正是 SSC 的主场。行业实测普遍在 6–20 dB 区间,具体取决于调制深度和测量带宽。

三、调制波形:三角波是主流

  • 三角波:线性扫频,频率在每个取值上停留的时间均等,频谱最平,数字 PLL 里一个上下计数器就能实现,是绝对主流
  • 正弦波:数学上干净,但频率在两端极值附近逗留更久,摊均匀反而吃亏
  • Hershey-kiss:在三角波顶上加三次分量,让转折更陡、在极值停留更短,摊得更平,代价是实现复杂

工程上直接选三角波,别纠结。

四、接进 RGMII:为什么开在 TXC 上链路不坏

RGMII 的 TXC 由 MAC 驱动、PHY 接收,双沿采样 TXD[3:0]。看着 125 MHz 时钟开始"摇头",第一反应都是:这采样能不误码?

答案的关键在于 RGMII 是源同步总线——TXC 与 TXD 都从 MAC 同一个 PLL 产出。频率被慢调时,数据边沿和时钟边沿同步移动,PHY 输入端的 setup/hold 窗口原封不动。数据是"乘着同一条波浪"到达的,采样 aperture 不变。

再加上 30–33 kHz 的调制远低于 PHY 跟踪环(CDR / 采样恢复)带宽,慢摆动被环平滑地跟踪掉,不累积相位误差。

所以 SSC 引入的不是误码风险,而是频率容差与速率匹配问题——这才是下面三个坑的由来。

RGMII TXC 接入 SSC 后的链路行为与三个坑

五、三个坑,个个踩过

坑一:中心展频 vs 下扩频,别选错。 PCIe/SATA 惯用下扩频(−0.5%),那是串行链路有 CDR 兜底、且下扩能保证最坏时序。RGMII 不行:−0.5% 下扩频的平均速率只有 124.375 MHz,比线速慢 6250 ppm,PHY 的弹性缓冲会被单向填满,几十毫秒后开始丢包。中心展频平均仍是 125.000 MHz,缓冲只吸收纹波、无净漂移。约束条件不同,别照搬。

坑二:PHY 没声明容差就别开。 GMII/RGMII 时钟精度惯例是 ±100 ppm,展频后瞬时频率达 ±5000 ppm,超出常规输入容差 25 倍。PHY datasheet 不写 SSC 支持(TXC/RXC 输入容差覆盖调制范围),开了就是误码甚至失链。

坑三:调制速率过高。 f_m 若接近或超过 PHY 跟踪环带宽,抖动从"可跟踪"变"累积",直接吃误码预算。30–33 kHz 是行业用教训换来的安全区。

六、SSC 只收拾板内这一段

一个最常被客户误解的点:SSC 不改变线上包速率。IEEE 802.3 对 1000BASE-T 的规定是 ±100 ppm、无展频要求——SSC 只作用于 MAC↔PHY 这一段,压的是板内走线和连接器往外"嘴"的那部分辐射谐波。想让 PHY 也跟着展频?标准不允许,也不该做。

七、实测与备选方案

验证三件套:频谱仪准峰值检波、RBW 120 kHz、对比开关前后 125 MHz 高次谐波峰值;再上暗室 3 m 法定整体余量;最后长时间跑流确认无 CRC 错误计数(防缓冲堆积型丢包)。

备选方案:SSC 不是唯一解。 slew-rate 控制(时钟线上并 10 pF 到地压低边沿)同样有效——阳明交大有篇 RGMII EMI 专题论文实测过两者,结论是都行,但都不能以违反时序规范为代价。若板子还在设计阶段,SGMII 是更彻底的解法:无持续 125 MHz 翻转(无双沿采样收敛问题),EMI 底子天生更好,代价是 PHY 要支持 Serdes。

八、结语

SSC 是个"软件寄存器换 EMC 余量"的买卖——不用加屏蔽、不用加磁珠、不用改 layout,几行配置换来 10 dB 量级的峰值下降。但前提是方向选对(中心展频)、对端容差覆盖、速率留在安全区。三件事任一翻车,省下的屏蔽罩钱都不够赔返工。

那如果 PHY 的 datasheet 通篇没写 SSC 容差,这功能还能开吗?想通这一问,你就抓住了整套设计的边界。

以太网SSC展频EMIRGMII