【博文连载】PCIe扫盲——关于PCIe参考时钟的讨论 2024-06-23 18:41:51 本文来聊一聊PCIe系统中的参考时钟,主要参考资料为PCIe Base Spec和CEM Spec。在1.0a和1.1版本的PCIe Base Spec中并没有详细的关于参考时钟的描述,而是在与之对应的CEM Spec中提及。从V2.0版的PCIe Base Spec开始,在物理层电气子层章节中增加了参考时钟相关的内容,同时提出了PCIe参考时钟的三种架构:1、Common Refclk (Shared Refclk) Architecture2、Data Clocked Rx Architecture3、Separate Refclk Architecture以及扩频时钟(Spread Spectrum Clocking,SSC),时钟测试测量等内容。关于扩频时钟,可以参考之前的文章:http://blog.chinaaet.com/justlxy/p/5100064134。扩频时钟对于PCIe来说是可选的,并非是强制的。如果选择支持扩频时钟的话,需满足以下要求:※ 调制范围为+0%到-0.5%,即向下扩频(Down Spreading),如下图所示※ 调制频率必须在30KHz到33KHz,一般为三角波※ 参考时钟源的抖动(Jitter)需在300ppm以内带有SSC的参考时钟频率变化曲线如下图所示:注:为什么选用的是向下扩频,而不是中心扩频或者向上扩频?主要是考虑到,当100MHz已经是系统最靠基准频率的话,向上扩频或者中心扩频会导致系统基准频率超过最高值,进而可能引发系统工作异常。注:三角波的能力较为集中在低次谐波中,相比于正弦波,方波或者锯齿波,更适合用于SSC中。关于参考时钟详细参数需求,已经测试测量等相关内容,本文将不会涉及,具体请参考PCIe CEM Spec和2.0或以上版本的PCIe Base Spec中的相关章节。下面,我们来简单地聊一聊前面说到的三种参考时钟架构。Common Refclk (Shared Refclk) ArchitectureCommon Refclk (Shared Refclk) Architecture的示意图如下图所示,这种参考时钟架构是Spec推荐使用的,链路两端的器件均使用同一个参考时钟源。即使系统使用了带有扩频的参考时钟源,时钟抖动也只有-300~+2800ppm,这对于物理层中的RxCDR和TxPLL就比较友好了,可以降低RxCDR和TxPLL的复杂程度,达到节约成本的目的。其次,当PCIe链路处于L0s或者L1状态时,即使链路上没有数据流,RxCDR依然可以设计出保持锁定的状态,这样做的好处是,链路从L0s或L1状态恢复到L0状态的时间将会更短。Data Clocked Rx ArchitectureData Clocked Rx Architecture的示意图如下图所示:从示意图来看,这种参考时钟架构最为简洁,Rx端器件的CDR并不需要参考时钟,而是直接从数据流中恢复出时钟。不过这种结构的RxCDR几乎很少在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来说行得通,对于其他的某些串行协议来说可能是无法实现的。Separate Refclk ArchitectureSeparate 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相关章节。 赞 (0) 相关推荐 关于抖动与噪声都在这本书里 这本书要完全搞懂,对我来说难度有点大.试着从高速串行链路时钟架构开始,讲一讲这本书理解的四点. 01 任何通信链路系统一般由三个部分组成:发送器(Tx),信号或媒介,接收器(Rx).高速串行链路,特别 ... XILINX IO资源 介绍 Input Delay Reasource (IDELAY): 先来说说IDELAYCTRL资源: 借鉴了这位博主对它的描述:(https://blog.csdn.net/haoxingheng/ar ... 时钟和数据恢复(CDR)电路原理 时钟和数据恢复(CDR)电路原理--基于PLL 作者:夏风喃喃 在光通信系统中,光接收机接收并放大的数据流是不同步而且有噪声的. 为了后续处理,定时信息,时钟必须从数据中提取出,以便同步工作. 而且数 ... PCIe和XAUI协议时钟架构应用实例 引言:本文我们介绍GTX/GTH收发器时钟架构应用,该文内容对进行PCIe和XAUI开发的FPGA逻辑设计人员具有实际参考价值,具体介绍: PCIe参考时钟设计 XAUI参考时钟设计 1.PCIe参考 ... 串行总线技术(二)-串行总线中的先进设计理念及SerDes/PMA介绍 字节分割/链路聚合下面以PCIe为例对字节分割加以讨论,如图所示.PCIe使用链路和线路来发送串行数据.链路是一个逻辑实体,能够具有单个线路或多个线路.当逻辑链路包括一个线路时,TLP和DLLP通过单 ... 扩频时钟(SSC):用好了,它是解决问题的利器;用不好,它就是问题的根源! 蒋修国 /文 编者注:扩频时钟是一个非常好的器件或者功能,这是对于EMC工程师而言的,但是对于SI工程师来讲,这可能是导致某些抖动增大问题的根源.在早期做项目的时候,就曾遇到过这类的争执. ~~~~~ ... 【博文连载】Xilinx基于PCIE的部分重配置实现(一) 本博文主要是对基于PCIE(mcap)的部分可重构实现的步骤做一个简单的演示,如有错误之处,欢迎批评指正.值得说明的是,基于PCIE的部分可重构需在ultrascale系列及ultrascale+芯片 ... 【博文连载】PCIe扫盲——PCIe总线性能评估(有效数据速率估算) 前面的文章提到过PCIe总线(Gen1&Gen2)采用了8b/10b编码,因此其有效数据速率为物理线路上的速率的80%.即Gen1的有效速率为2.0Gbps=2.5Gbps*80%,而Gen2 ... 【博文连载】PCIe扫盲——基于WinDriver快速开发PCIe驱动简明教程 ※操作系统:Win7 SP1 64bit ※驱动开发工具:WinDriver12.1 ※应用程序开发工具:MSVS2012 ※PCIe测试板卡:Lattice ECP5 Versa Board ※FP ... 【博文连载】PCIe扫盲——PCIe演进方向?CCIX简介 摩尔定律逐渐降速,业界需要一同寻找提升计算性能.同时保持低功耗的方法.CCIX联盟的成立旨在实现一种新型互联,专注于新兴的加速应用,如机器学习.网络处理.存储卸载.内存数据库和4G/5G 无线技术.这 ... 【博文连载】PCIe扫盲——PCIe配置空间寄存器快速定位表 注:这个表格是基于PCIe Spec V2.0的,也就是Gen2的Spec正式版.其中有很多空白的地方,只是在Gen2中没有明确定义,但是在Gen3/Gen4可能会被用到的.具体以Spec为准, Co ... 【博文连载】PCIe扫盲——弹性缓存(Elastic Buffer,or CTC Buffer) 前面在介绍PCIe物理层逻辑子层的文章中,有提到过弹性缓存(Elastic Buffer,又称为CTC Buffer或者Synchronization Buffer).其本质上是一种FIFO,主要用于 ... 【博文连载】PCIe扫盲——PCI Express物理层接口(PIPE) PCIe物理层接口(Physical Interface for PCI Express,PIPE)定义了物理层中的,媒介层(Media Access Layer,MAC)和物理编码子层(Physic ... 【博文连载】PCIe扫盲——热插拔简要介绍 某些特殊的应用场合可能要求PCIe设备能够以高可靠性持续不间断运行,为此,PCIe总线采用热插拔(Hot Plug)和热切换(Hot Swap)技术,来实现不关闭系统电源的情况下更换PCIe卡设备. ... 【博文连载】PCIe扫盲——复位机制介绍(FLR) PCIe总线自V2.0加入了功能层复位(Function Level Reset,FLR)的功能.该功能主要针对的是支持多个功能的PCIe设备(Multi-Fun PCIe Device),可以实现只 ...