REQ-CLK
PCIe REQ-CLK GPIO(Request Clock GPIO) 是在某些 SoC 或平台上用于 控制 PCIe 参考时钟(REFCLK)请求/使能 的信号,通常与 CLKREQ#(Clock Request) 功能相关。它的作用主要体现在 低功耗管理 和 链路唤醒 场景。
核心作用
- 请求参考时钟(REFCLK)
- 在 PCIe 规范中,设备可以通过 CLKREQ# 信号 向上游(Root Complex 或时钟源)请求开启参考时钟。
- 当设备进入 L1 低功耗状态 或 D3hot/D3cold 时,REFCLK 可能被关闭以节能;当设备需要恢复链路时,通过拉低 CLKREQ# 请求重新开启时钟。
- GPIO 实现平台级控制
- 在很多 SoC/嵌入式平台,CLKREQ# 可能不是直接硬连,而是通过 GPIO 模拟或控制。
- 驱动或固件通过配置这个 GPIO 来:
- 拉低 → 请求时钟(设备要唤醒)
- 释放 → 允许关闭时钟(设备可休眠)
- 配合 ASPM(Active State Power Management)
- 当启用 ASPM L1/L1.1/L1.2 时,REFCLK gating 是节能关键。
- REQ-CLK GPIO 作为 时钟 gating handshake 的一部分,确保在设备需要时钟时能及时恢复。
基本逻辑
- CLKREQ# 低电平 → 请求开启 REFCLK。
- CLKREQ# 高电平 → 允许关闭 REFCLK(设备不再需要时钟)。
典型时序流程
- 进入低功耗(L1/L1.2)
- 链路空闲,Root Complex 和设备协商进入 L1。
- 当设备确认不再需要 REFCLK 时,释放 CLKREQ#(拉高)。
- 平台在满足延时后关闭 REFCLK(通常通过时钟 buffer gating)。
- 唤醒(退出 L1/L1.2)
- 设备需要恢复链路 → 拉低 CLKREQ#。
- 平台检测到 CLKREQ# 低电平 → 打开 REFCLK。
- 等待 REFCLK 稳定(典型 100ns~μs 级)。
- 设备开始恢复 LTSSM(链路训练),退出低功耗
PERSET
PERST#(PCIe Reset)管脚的作用是为 PCIe 设备提供复位信号,确保在上电或重新初始化时,设备处于一个已知的安全状态。它是 低电平有效 的信号,通常由 Root Complex(主控)或平台控制逻辑驱动。
主要功能
- 上电复位(Power-On Reset)
- 当系统上电时,PERST# 保持低电平,强制 PCIe 设备保持复位状态,直到电源和参考时钟稳定。
- 释放 PERST#(拉高)后,设备开始初始化 PCIe 链路。
- 热复位(Hot Reset)
- 在运行过程中,如果需要重新初始化 PCIe 设备(例如驱动重载、错误恢复),可以通过拉低 PERST# 来触发复位。
- 配合时序要求
- PCIe 规范要求 PERST# 必须在 REFCLK 稳定后释放,并且在复位释放后,设备才会开始链路训练(LTSSM)。
典型时序
- 上电顺序:
- 电源稳定 → REFCLK 稳定 → 保持 PERST# 低电平一段时间(通常 >100 ms)。
- 拉高 PERST# → 设备退出复位 → 链路训练开始。
- 低功耗唤醒:
- 某些平台在 D3cold 状态下会重新拉低 PERST#,再重新上电和初始化。
WAKE#
WAKE# 是 PCI Express 规范定义的一个低功耗唤醒信号,主要用于 从低功耗状态唤醒系统。它是一个由设备驱动、低电平有效的信号,通常连接到主机(Root Complex)或平台的电源管理控制逻辑。
作用
- 当 PCIe 设备进入 D3cold 或 L2/L3 Ready 等深度低功耗状态时,主机可能关闭设备电源或时钟。
- 如果设备需要向主机发起事件(例如网络唤醒、外设中断),它会拉低 WAKE#,通知主机恢复电源和时钟,重新初始化链路。
信号特性
- 方向:设备 → 主机。
- 电平:低电平有效(Active Low)。
- 时序要求:WAKE# 触发后,主机必须重新上电并重新训练 PCIe 链路。
PRSNT1# 和 PRSNT2#
PRSNT1# 和 PRSNT2# 是 PCIe 插槽规范中的 卡存在检测(Presence Detect)信号,主要用于判断插槽中是否插入了扩展卡,并且可以用于识别卡的机械尺寸(x1、x4、x8、x16 等)。
作用
- 检测卡是否插入
- 主板通过读取 PRSNT1# 和 PRSNT2# 的连接状态,判断插槽中是否有卡。
- 如果卡未插入,这两个信号保持开路(逻辑高电平)。
- 识别卡的长度(Lane 数)
- PCIe 插槽在不同位置布置 PRSNT2# 接点,卡插入后会将 PRSNT1# 与某个 PRSNT2# 短接。
- 主板通过检测哪一对 PRSNT2# 被短接,推断卡的机械尺寸(x1、x4、x8、x16)。
- 注意:这只是机械尺寸,不代表实际电气 Lane 数。
信号特性
- PRSNT1#:固定在插槽一端(通常是金手指 A1)。
- PRSNT2#:在插槽不同位置(如 A64、A82、A98、A164 等),对应不同卡长。
- 低电平有效:卡插入后,PRSNT1# 与某个 PRSNT2# 短接,信号被拉低。