0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何优化PCIe应用中的时钟分配

电子设计 来源:网友电子设计发布 作者:网友电子设计发布 2021-11-23 11:07 次阅读

作者:Julian Hagedorn

PCI Express® (PCIe®) 是一项业界领先的标准输入/输出 (I/O) 技术,是服务器、个人电脑以及其它应用中最常用的 I/O 接口之一。该标准多年来不断发展,以适应更高的数据速率(见表 1)。第 3 代 PCIe 引入了全新的编码方案,其可在不增加数据速率一倍的情况下,将数据吞吐量提升一倍。PCI-SIG 近期宣布推出的第 4 代 PCIe 具有 16 G 每秒传输 (GT/s) 的比特率。第 4 代的规范预计将在 2014 或 2015 年发布。

poYBAGGKb7-ALitxAABMfU84bTA871.jpg

表 1:各代 PCIe 的数据吞吐量

随着数据速率的提升,参考时钟需求也在不断提高。本文将重点介绍参考时钟需求。

PCIe 参考时钟 (RefClk) 规范可针对 3 种不同架构定义,分别是:数据时钟、独立 RefClk 以及通用 RefClk。每个架构都具有特定的滤波器函数。在接收器时钟数据恢复输入端出现的有效抖动是接收器及发送器 PLL 带宽与 RefClk 抖动频谱所涉及峰值之差的函数。此外,它还取决于 RefClk 架构。

在独立 RefClk 架构中,发送器 (TX) 与接收器 (RX) 都可接收独立的 RefClk。这会导致严格的抖动需求,而且不能应用扩展频谱时钟 (SSC)。

在数据时钟架构中,单个 RefClk 可连接至发送器,而接收器则使用来自数据流的嵌入式时钟信号。时钟数据恢复 (CDR) 电路可提取数据流中的时钟。它最大限度地缓解了抖动要求,而且也可应用 SSC。但是,这是一种相对较新的标准,很多器件都不支持。

最佳备选标准(也是最常用的标准)是通用 RefClk 架构。它不仅可向发送器与接收器提供相同的 RefClk,而且还支持可减少电磁干扰 (EMI) 的 SSC,其实施非常便捷。这种架构的缺点是 RefClk 需要满足不足 12ns 的偏移需求。下列是通用 RefClk 架构及其应用实例。

pYYBAGGKb8KAd8OXAAA5Xb4cjpk546.jpg

表 2:应用滤波器函数后的通用 RefClk 抖动规范

服务器卡等通用 PCIe 应用包含几个构建块。系统的核心是根联合体,其代表 I/O 系统的根。根联合体连接 CPU 和存储器,可能具有多个 PCIe 端口。此外,它还包含开关和 PCIe 端点(例如显卡)。I/O 系统的所有组件都要符合发送器/接收器与 RefClk 的抖动要求。如果所有构建块都兼容于第 3 代 PCIe,那么都要达到 1ps rms 的 RefClk 要求(图 1)。

pYYBAGGKb8WASm2EAAC8t9mGNUg726.jpg

图 1:解决方案 1:支持第 3 代 PCIe 通用 RefClk 抖动限制的服务器卡实例

图 1 所示系统可使用一个 7 输出时钟生成器实现。这种实施方案最终可能需要一个以上基于时钟生成器的时钟树解决方案,因为还需要生成其它系统时钟。系统时钟生成器可为千兆位以太网器件、SATA 控制器DDR 时钟等生成参考时钟。在图 2 中,RefClk 生成器由时钟缓冲器取代。这不仅可简化时钟树,而且还可提供成本更低、空间更优化的解决方案。

poYBAGGKb8mAJtvfAAAnLPBR0i8295.jpg

表 3:解决方案 1 与解决方案 2 以及空间与成本的对比

pYYBAGGKb8uAY3dhAAC73cOESq0073.jpg

图 2:解决方案 2:使用 LMK00338 等 RefClk 缓冲器的服务器卡实例

在使用缓冲器分配 RefClk 时,需要考虑缓冲器引起的附加抖动。附加抖动的定义是器件本身对输入信号产生的额外抖动量,计算方法是:poYBAGGKb86APMz_AAAKwu6n2f0754.jpg

假设噪声过程是随机的,而且输入噪声与输出噪声无关。缓冲器的抖动输出可通过该公式计算:poYBAGGKb9GAbiejAAAOsyeZ_wY036.jpg

LMK00338 是一款超低附加抖动 PCIe 时钟缓冲器。对于第 3 代 PCIe 应用而言,一般具有 30fs rms 的附加抖动。表 3 是应用不同 PCIe 滤波器函数时的附加抖动性能。

pYYBAGGKb9aAfWm5AABFqdEw5Q8010.jpg

表 4:LMK00338 的附加抖动性能

CDCM6208 等第 3 代 PCIe 高性能时钟生成器可提供具有 160.66fs rms 抖动(2MHz 至 5MHz 滤波器)的 RefClk。如果对该时钟进行分配,LMK00338 会向 RefClk 信号增加 25fs rms 的抖动。使用以上计算公式计算出的输出抖动仅为 162.54 fs rms(表 5)。在最坏的情况下,RefClk 生成器可能具有 999fs rms 的抖动,使用 LMK00338 不会超出第 3 代 PCIe 的抖动限值。

表 5 是未应用 PCIe 滤波器函数时 LMK00338 的附加抖动性能。由于具有 77 fs rms 的低附加抖动(集成带宽:12kHz 至 20MHz),因此该缓冲器适用于大部分使用 HCSL 信号传输技术的高性能时钟应用。另外还提供更小的 4 输出版本。

poYBAGGKb9mAA3KuAABuf4blM00276.jpg

表 5:低抖动 RefClk 源 (CDCM6208) 驱动的时钟缓冲器的效果。

多个服务器卡中存在的共同问题是电源噪声问题。噪声可能来自多个噪声源,首先是开关电源,以及 CPU、ASICFPGA数字电路。电源旁路将帮助过滤掉其中一部分噪声,而剩下的噪声则将影响器件性能。在剩余噪声影响时钟分配器件电源时,会导致窄带相位调制以及时钟输出的幅度调制。

在 100kHz 至 10MHz 的噪声频率范围内,LMK00338 可在 100MHz 输出频率下表现出低于 -75dBc 的优异电源纹波抑制 (PSRR) 特性。这种噪声抗扰度将帮助简化电源旁路,是 LMK00338 的另一大重要优势。

以上分析表明,只要 RefClk 生成器符合抖动要求,就可以放心大胆地在通用 RefClk 系统中使用超低附加抖动时钟缓冲器。

此外,LMK00338 的通用输入级不仅可接收任何差分或单端信号,而且还可将其转换为 8 HCSL 输出。对于第 4 代 PCIe 而言,最大 RefClk 抖动可假定为远远小于 1ps rms。因此,支持缓冲的通用 RefClk 架构将更适合更严格的较新 PCIe 标准。

如欲了解有关时钟产品的更多详情,敬请查看时钟及定时解决方案指南。

原文请参见: http://e2e.ti.com/blogs_/b/analogwire/archive/2014/03/28/how-to-optimize-clock-distribution-in-pcie-applications.aspx

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6504

    浏览量

    87444
  • 服务器
    +关注

    关注

    12

    文章

    8013

    浏览量

    82209
  • 时钟
    +关注

    关注

    10

    文章

    1477

    浏览量

    130273
  • PCIe
    +关注

    关注

    13

    文章

    1061

    浏览量

    80592
收藏 人收藏

    评论

    相关推荐

    6678通过pcie进行boot时,PC无法写bar空间

    我使用windriver开发了pcie的驱动,可以通过windriver看到分配的bao0和bar1空间,其地址范围对应的是DDR3的空间,此时出现问题:可以通过windriver对bar0
    发表于 03-28 16:06

    矽力杰高性能20路PCIe时钟缓冲器

    高性能20路PCIe时钟缓冲器新品推介SQ82100PCI-Express(PCIe)是一种高速串行计算机扩展总线标准,主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。目前服务器
    的头像 发表于 12-20 08:19 250次阅读
    矽力杰高性能20路<b class='flag-5'>PCIe</b><b class='flag-5'>时钟</b>缓冲器

    基于FPGA的硬件引脚分配设计总结

    随着 FPGA 的不断发展,FPGA本身自带的PCIE硬核的数量越来越多,本文以ZU11EG为例介绍,如何进行对应的 硬件 引脚分配。 设计目标:ZU11EG FFVC1760封装,挂载4组NVME
    的头像 发表于 12-14 15:45 197次阅读

    Xilinx PCIE core管脚分配错误的解决方案

    最近弄PCIE,遇到一个问题,以前我们总认为:Xilinx的PCIE core的管脚是固定的,即指定了PCIE core的位置,对应的管脚也就指定了,真实情况是怎么样的呢?
    的头像 发表于 11-17 17:02 1440次阅读
    Xilinx <b class='flag-5'>PCIE</b> core管脚<b class='flag-5'>分配</b>错误的解决方案

    体验紫光PCIE之使用WinDriver驱动紫光PCIE

    ,这几个信号可以在主机开机时帮助我们判断PCIE链路是否链通。其中ref_led/pclk_led可以表明主机的PCIE接口时钟能够给到FPGA硬核,smlh_link_up/rdlh_link_up
    发表于 11-17 14:35

    请问PCIe模式如何查看VPU内存分配情况?

    PCIe模式如何查看VPU内存分配情况?
    发表于 09-18 08:47

    PCIe相关问题解答

    CPU 发起的,访问PCIe设备配置空间的数据流。这种数据流主要是BIOS/Linux PCIe driver 对设备进行初始化、资源分配时,读写配置空间的。包括PCIe 枚举,BAR
    的头像 发表于 09-15 09:39 914次阅读
    <b class='flag-5'>PCIe</b>相关问题解答

    访问PCI/PCIe设备的流程

    。 主机读取设备配置信息、分配空间 主机上的程序访问 PCI/PCIe 设备,读出配置信息。 分配地址空间:注意,分配的是 PCI/PCIe
    的头像 发表于 07-30 09:44 957次阅读

    PI6CDBL401B低功耗PCIe时钟芯片

    电子发烧友网站提供《PI6CDBL401B低功耗PCIe时钟芯片.pdf》资料免费下载
    发表于 07-25 14:41 0次下载
    PI6CDBL401B低功耗<b class='flag-5'>PCIe</b><b class='flag-5'>时钟</b>芯片

    9ZXL1951D PCIe 时钟发生器评估板用户指南

    9ZXL1951D PCIe 时钟发生器评估板用户指南
    发表于 07-07 19:19 0次下载
    9ZXL1951D <b class='flag-5'>PCIe</b> <b class='flag-5'>时钟</b>发生器评估板用户指南

    jemalloc分配机制的介绍及其优化实践

    C/C++通过libc做内存分配。glibc中默认的分配机制是ptmalloc。除此之外,还有众多的不同侧重的优化,例如tcmalloc,jemalloc。
    的头像 发表于 05-30 09:12 606次阅读
    jemalloc<b class='flag-5'>分配</b>机制的介绍及其<b class='flag-5'>优化</b>实践

    一文读懂PCIe 时钟结构

    参考时钟独立,参考时钟不需要穿越背板和连接器,从而使PCB设计变得更为简单,使得架构更加的灵活。
    发表于 05-29 12:49 5168次阅读
    一文读懂<b class='flag-5'>PCIe</b> <b class='flag-5'>时钟</b>结构

    IMX7D使用内部PCIE_REFCLK,模块上的SoC无法启动怎么解决?

    行: imx6q-pcie 33800000.pcie: PCIe PLL lock timeout 数据表表明 SoC 能够使用内部参考时钟。我们尝试在设备树
    发表于 04-23 08:03

    IMX8 PCIE BAR 15没有空间是怎么回事?

    [5.051843] imx6q-pcie 33800000.pcie: 33800000.pcie supply epdev_on not found, using dummy regulator
    发表于 04-11 06:30

    无法访问s32v234板PCIe是怎么回事?

    ”消息。使用 Lauterbach,尝试访问其内置寄存器机制PCIe 部分,并直接访问参考手册中所述的地址(0x72000000 - 0x72ffffff)。在这两种情况下,我都会收到调试端口超时错误。U-Boot 不为该板上的
    发表于 03-31 06:40