#PCIE#基础知识分解之 CC/SRNS/SRIS 时钟架构

参考资料为PCIe Base Spec和CEM Spec。

1.1 时钟架构分类

PCIe参考时钟的三种架构:

  1. Common Refclk (Shared Refclk) Architecture
  2. Data Clocked Rx Architecture
  3. Separate Refclk Architecture

下面,我们来简单地聊一聊前面说到的三种参考时钟架构,首先是

1.2 Common Refclk Architecture

Common Refclk (Shared Refclk) Architecture的示意图如下图所示,

这种参考时钟架构是Spec推荐使用的,链路两端的器件均使用同一个参考时钟源。

即使使能了带有扩频的参考时钟源,时钟抖动也只有-300~+2800ppm。其次,当PCIe链路处于L0s或者L1状态时,即使链路上没有数据流,Rx CDR依然可以设计出保持锁定的状态,这样做的好处是,链路从L0s或L1状态恢复到L0状态的时间将会更短。

1.3 Data Clocked Rx Architecture

Data Clocked Rx Architecture的示意图如下图所示:

从示意图来看,这种参考时钟架构最为简洁,Rx端器件的CDR并不需要参考时钟,而是直接从数据流中恢复出时钟。不过这种结构的Rx CDR几乎很少在FPGA的SerDes中使用,因为在没有外部参考时钟的协助下,CDR实现锁定都是一个很大的挑战,还要保证在5600ppm的抖动范围内不失锁(对于带有扩频时钟的PCIe链路来说)。

注: 绝大部分的FPGA SerDes都是多协议SerDes,除了支持PCIe外,往往还需要支持其他主流的串行协议,比如SATA、USB、DisplayPort、HDMI、Ethernet (Q)SGMII、CoaXpress、CPRI、FPD-Link II/III、Serial RapidIO、SLVS-EC等等。这种参考时钟架构对于PCIe来说行得通,对于其他的某些串行协议来说可能是无法实现的。

1.4 Separate Refclk Architecture

Separate Refclk Architecture的示意图如下图所示:

PCIe Spec强烈不推荐使用这种参考时钟架构,尽管这是其提出的三种参考时钟架构之一。PCIe Spec强调,如果使用这种架构,扩频时钟必须被禁止使用(2.5GT/s & 5GT/s),因为这中情况下使用扩频时钟的话,CDR的带宽需甚至需要大于5600ppm,这对于CDR来说是非常大的挑战。

需要注意的是,PCIe Base Spec V3.x中,提到对于8GT/s的PCIe链路而言,在Separate Refclk Architecture下实现扩频时钟也是可行的(即Separate Refclk With Independent SSC (SRIS) Architecture),但是需要更复杂的CDR设计,具体请参考Spec相关章节。

SSC - Spread Spectrum Clocking 作用:扩频时钟技术主要是用来降低EMI。

CC - Common Clocked architectures (CC)

SRIS - Separate Refclk Independent SSC

SRNS - Separate Refclk with No SSC

Note:

Separate Refclk Independent SSC (SRIS) Architecture

Separate Reference Clocks With No SSC (SRNS) Architecture

The maximum difference with SRNS is 600 ppm which can result in a clock shift once every 1666 clocks. The maximum difference with SRIS is 5600 ppm which can result in a clock shift every 178 clocks.

SRNS允许600ppm,而SRIS允许5600ppm(其中SSC允许5000ppm,TX/RX允许600ppm)

如果使用SSC,所有使用SSC芯片的时钟必须同源

如果不使用SSC,各芯片的时钟不要求同源。

相关推荐
那么菜10 天前
S4.2.6.5 LTSSM 之 L0 状态
pcie 协议学习