PCIE时钟解说

文章讨论了PCIE时钟的三种架构,强调最常用的是CommonClockArchitecture,并提供了PCIE_CLK_P/N的信号要求,包括差分阻抗、电平、频率稳定度和抖动等参数。此外,还提到了可选信号CLKREQ#在支持电源管理状态时的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上篇文章《clock oscillator,generator,buffer选型杂谈》,今天我们来说下PCIE时钟的要求:

首先先看下PCIE架构组件:下图中主要包括了CPU(ROOT COMPLEX),PCIE SWITCH,BUFFER以及一些PCIE ENDPOINT;而且可知各个器件的时钟来源都是由100MHz经过Buffer后提供。

在这里插入图片描述

接着上图的架构,我们来简单看下PCIE时钟的三种架构:

Common Clock Architecture:所有设备的参考时钟分布必须匹配到15英寸以内在系统板上。在接收端数据和时钟之间的传输延迟增量必须要小于等于12ns。通常允许PCIE卡上的时钟线长不大于4inch。特别注意这点,涉及到我们实际PCB走线。

图片

Data Clock Architecture:时钟从数据中恢复出来。慎用,有些不支持。
图片

Separate Clock Architecture:
根据有无 SSC 可进一步分为 SRNS ( Separate Refclk with No SSC) 及 SRIS (Separate Refclk with Independent SSC)。

图片

注意,虽说PCIE时钟有三种架构,但是最常用的还是CC架构,无特殊情况,不要使用其他时钟架构,如果真的要使用其他两种架构,也需要严谨评估先。

从下表可知,展频跟非CC架构慎用。

图片

鉴于PCIE时钟要求多且复杂的,故此文章主要鉴于上一篇文章,给出主要的参数要求,其它详细的要求以及测试方法,后续有机会再编写分享。

信号要求:

图片

PCIE_CLK_P/N是差分信号,通常差分阻抗为100Ω,少部分要求85Ω。

电平:HCSL or LP-HCSL。

频率:100±0.03MHz。

频率稳定度:±300ppm,越小越好。

占空比:50%±10%。

抖动:如下CC模式的要求:

图片

注意:上图给出的是CC时钟架构下的抖动要求;仿真PCIE4.0时候,抖动是按照0.7ps RMS来的;仿真PCIE5.0时候,抖动是按照0.25ps RMS来的;因为标准考虑了实际系统中的额外噪声,故会比较严格。

提到PCIE时钟,相信大部分人会联想到CLKREQ#:

很多时候有疑问,CLKREQ#是否要接,首先要知道的是,这个信号是可选的,可要可不要。那么什么时候需要呢?如果要支持L1-PM子状态(ASPM(Active State Power Management)中的状态)和/支持时钟电源管理,那么这个信号就是必要的(即使你不是使用的CC模式)。

注意:如果硬件电路这个CLKREQ#没接的话,可让BIOS把PCIE中的ASPM的L1状态默认关闭,不然容易出现异常现象。

好了,今天分享就到这里,喜欢的三连,谢谢。

### PCIE时钟设计规范与实现方案 #### PCIe时钟架构概述 PCI Express (PCIe) 是一种高速串行计算机扩展总线标准,其时钟设计对于系统的稳定性和性能至关重要。在PCIe的设计中存在两种主要的时钟架构:共享时钟架构和独立时钟架构。 - **共享时钟架构** 在这种架构下,发送端(TX)和接收端(RX)共用同一个参考时钟源。这种设计简化了同步机制,但由于单一时钟源可能成为瓶颈,在高带宽需求场景下的应用受到一定限制[^1]。 - **独立时钟架构** 此架构允许TX和RX各自拥有独立的参考时钟。它进一步细分为无展频的独立参考时钟(SRNS, Spread Spectrum Technology Not Supported) 和带有展频技术的独立参考时钟(SRIS, Spread Spectrum Technology Is Supported)。通过采用不同频率或相位偏移的时钟,能够有效减少电磁干扰(EMI),并提高数据传输可靠性。 #### 差分时钟的具体配置 按照实际工程实践中的指导原则,PCIe通常配备一对运行于100MHz频率上的差分时钟信号来支持设备操作。这些时钟既可以由中央处理器(CPU)直接供给也可以借助专门的时钟生成芯片完成生产制造过程[^2]。值得注意的是,尽管数据流(Data Stream)源自CPU内部路径传出,但是对应的时钟却未必一定要跟随相同路由方式;也就是说CLK线路完全可以依据项目特定条件选择其他类型的振荡器作为源头供应方之一。 #### 实现注意事项 当构建基于上述任一模型的实际物理层(PHY Layer)连接时候需要注意几个方面事项: 1. **时钟质量控制** - 对于任何选定模式而言都需要特别关注输入到各个组件内的时钟品质参数比如周期误差(Jitter),漂移(Drift)以及噪声水平等等因素的影响程度评估工作。 2. **布线策略优化** - 鉴于高频特性容易引发反射丶串扰等问题所以必须精心规划PCB板上走线布局确保最佳电气性能表现同时也要兼顾成本效益分析结果做出合理取舍决定。 3. **电源管理考量** - 考虑到现代电子器件功耗敏感度日益增加的趋势因此在整个链路供电环节当中应当实施精细化分区处理措施从而达到降低整体能耗目标的同时还能维持良好的运作状态。 ```python # Python伪代码示例展示如何初始化一个简单的PCIe控制器设置部分属性包括时钟源定义等功能模拟片段 class PcieController: def __init__(self, clock_source="internal", spread_spectrum=False): self.clock_source = clock_source # 可选值:"internal","external" self.spread_spectrum = spread_spectrum # 是否启用扩频功能 def configure_clock(self): if self.clock_source == "internal": print("Using internal oscillator as the reference clock.") elif self.clock_source == "external": print("Configuring external clock generator...") pcie_dev = PcieController(clock_source="external", spread_spectrum=True) pcie_dev.configure_clock() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿徐师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值