第三章 时钟架构与参考时钟

各位同学,今天我们来聊聊高速收发器里最容易被忽视、却又最关键的部分——时钟。说它关键,是因为我见过太多项目,逻辑设计明明没问题,结果一上板就跑飞,最后查来查去,都是时钟惹的祸。

3.1 参考时钟的核心要求

参考时钟是收发器的心脏。它跳得稳不稳,直接决定了数据能不能正确传输。我个人习惯把参考时钟的要求归纳为三个维度:抖动、频率精度、以及共模电压。

3.1.1 抖动(Jitter)

抖动,说白了就是时钟边沿在时间轴上的晃动。你想想看,如果时钟边沿忽前忽后,接收端的CDR(时钟数据恢复)电路就会跟着乱跳,误码率自然就上去了。

收发器对抖动的要求通常分为两类:

  • 随机抖动(RJ):由热噪声、散粒噪声等引起,服从高斯分布。一般要求RMS值在皮秒级别。
  • 确定性抖动(DJ):由串扰、电源噪声、码间干扰等引起。这类抖动有固定的模式,更容易通过设计来抑制。

重要指标:对于10Gbps以上的收发器,参考时钟的总抖动(Tj)通常要求小于0.5ps RMS。我建议你直接看芯片手册里的“Reference Clock Jitter Tolerance”表格,那才是硬指标。

3.1.2 频率精度

频率精度,就是参考时钟的实际频率和标称值之间的偏差。收发器内部的PLL(锁相环)虽然能跟踪一定范围的频率偏移,但范围有限。

举个例子:

  • PCIe Gen3要求参考时钟的频率精度在±300ppm以内
  • 10G以太网要求±100ppm
  • 有些专用协议甚至要求±50ppm

我在项目中遇到过一件事:某次用了一个便宜的晶振,标称25MHz,实测25.008MHz。乍一看差得不多,但收发器就是锁不住。后来换了温补晶振(TCXO),问题立刻解决。嗯,这里要注意:不要为了省几块钱,在时钟上冒险。

3.1.3 共模电压与信号摆幅

参考时钟的电气特性也很重要。常见的参考时钟信号有LVDS、LVPECL、HCSL等。不同标准对共模电压和摆幅的要求不同。

信号标准 共模电压(典型) 摆幅(差分) 适用场景
LVDS 1.2V 350mV 低功耗、中速
LVPECL 2.0V 800mV 高速、长距离
HCSL 0.4V 700mV PCIe、SATA

注意:参考时钟的AC耦合电容值不能随便选。我见过有人用0.1μF的电容,结果低频分量被衰减,导致PLL锁定不稳定。一般建议用0.01μF或0.022μF的NP0/C0G电容。

3.2 时钟分配网络

时钟分配网络,就是如何把参考时钟从源头送到每一个收发器通道。这里面的门道不少。

3.2.1 扇出与缓冲

一个参考时钟源通常要驱动多个收发器通道。直接并联是不行的,因为负载电容会变大,信号边沿会变缓。正确的做法是用时钟缓冲器(Clock Buffer)或时钟扇出芯片(Clock Fanout)。

我常用的方案有两种:

  • 1:4 差分扇出:比如TI的LMK00304,可以一路输入分成四路输出,每路都保持信号完整性。
  • 零延迟缓冲:比如Si5332系列,不仅能扇出,还能调整相位,适合多板同步的场景。

3.2.2 走线长度匹配

时钟信号在PCB上走线,每英寸大约产生170ps的延迟。如果两个收发器通道的时钟走线长度差太多,它们之间的相位差就会很大。

我的经验是:

  • 同一组收发器的时钟走线,长度差控制在±50mil以内
  • 差分对内部,P和N的走线长度差控制在±5mil以内
  • 避免在时钟走线附近走高速数据线,减少串扰

小技巧:在PCB布局时,我习惯把时钟源放在所有收发器的几何中心位置,这样走线长度自然就均衡了。如果空间不允许,可以用蛇形走线来补偿长度差。

3.3 多收发器组的时钟同步策略

当你的设计里有多个收发器组(比如4个GTH加上2个GTY),它们之间的时钟同步就成了大问题。

3.3.1 同源时钟方案

最理想的情况是所有收发器共享同一个参考时钟源。这样它们的PLL都锁定在同一个频率上,相位差只由走线延迟决定。

具体做法:

  • 用一个高精度晶振产生主时钟
  • 通过时钟缓冲器扇出到每个收发器组
  • 每个收发器组内部再用PLL做倍频

3.3.2 多PLL同步

如果收发器组之间距离太远,或者需要不同的参考频率,那就得用多PLL同步方案。

我曾经在一个项目里用过这种方法:

  • 主收发器组输出一个同步时钟(SYNC_CLK)
  • 从收发器组用这个同步时钟作为参考,调整自己的PLL相位
  • 通过软件校准,把相位差控制在±50ps以内

核心思想:不管用哪种方案,最终目标都是让所有收发器通道的时钟边沿对齐。对齐的精度越高,数据采样的裕量就越大。

3.4 时钟芯片选型建议

选时钟芯片,我一般按以下步骤来:

  1. 确定频率和精度:先看收发器手册,找到参考时钟的频率范围和精度要求。
  2. 看抖动指标:时钟芯片的RMS抖动要小于收发器要求的1/3。比如收发器要求0.5ps,那时钟芯片最好在0.15ps以下。
  3. 考虑输出格式:LVDS、LVPECL还是HCSL?要和收发器的参考时钟输入匹配。
  4. 评估功耗和封装:小封装、低功耗的芯片更适合密集布局。

我常用的几款芯片:

型号 厂商 抖动(RMS) 输出格式 适用场景
Si5332 Skyworks 0.1ps LVDS/LVPECL/HCSL 多频率、多输出
LMK04828 TI 0.08ps LVDS/LVPECL 超低抖动、多通道
8T49N240 Renesas 0.12ps HCSL PCIe专用

避坑指南:我曾经选了一款号称“超低抖动”的时钟芯片,结果上板后发现抖动超标。后来仔细看手册才发现,它的抖动指标是在特定测试条件下测的,实际应用时差很多。所以,一定要看应用笔记里的实测数据,别只看宣传页。

3.5 时钟架构知识体系

下面这张图是我总结的时钟架构核心逻辑,你可以对照着梳理自己的设计思路。

时钟架构知识体系 参考时钟源 抖动要求 频率精度 电气特性 时钟分配网络 扇出与缓冲 走线长度匹配 阻抗控制 多收发器组同步策略

这张图把时钟架构分成了三层:底层是参考时钟源的要求,中间是分配网络的实现细节,顶层是多收发器组的同步策略。每一层都依赖下一层做支撑。你设计的时候,从底层开始逐层确认,基本不会出大问题。

好了,这一章的内容就到这里。时钟这东西,看起来简单,但坑特别多。希望你能从我的经验里少走些弯路。

可可精品资料库