【deepseek】PCIe上电时序的详细

PCIe(Peripheral Component Interconnect Express)的上电时序是硬件设计中非常关键的一环,严格遵守时序规范是确保设备正常识别、稳定运行的前提。

PCIe的上电时序主要遵循 PCI Express Card Electromechanical Spec (CEM) 规范。以下是关于PCIe上电时序的详细介绍,包括电源轨定义、时序阶段、关键参数以及热插拔的特殊处理。


1. PCIe 涉及的电源轨

在介绍时序之前,需要明确PCIe插槽或设备通常涉及的主要电源轨:

  • 12V (12Vaux12V_{aux}12Vaux / 12V12V12V): 主要用于驱动大功率设备(如显卡)或作为辅助电源。
  • 3.3V (3.3V3.3V3.3V): 主电源轨,用于设备核心逻辑、配置空间等。
  • 3.3Vaux (3.3Vaux3.3V_{aux}3.3Vaux): 辅助电源,用于支持唤醒功能,即使在系统处于低功耗状态(如D3cold)时也必须保持供电。
  • 内部电源 (VddV_{dd}Vdd): 设备内部逻辑使用的电源(如1.8V, 1.5V, 1.2V等),通常由板载LDO或DC-DC从3.3V转换而来。

2. 上电时序流程图

PCIe CEM规范定义了严格的电源开启顺序。典型的上电时序流程如下:
PCIe设备 PCIe插槽 电源管理逻辑 系统电源/主板 PCIe设备 PCIe插槽 电源管理逻辑 系统电源/主板 阶段 1: 电源启动 阶段 2: 电源稳定与复位 电源稳定时间 阶段 3: 链路训练 开启系统电源 输出 12V 输出 3.3V 输出 3.3Vaux 电压上升 (斜率需符合规范) 释放 PERST 参考时钟 就绪 检测接收端 链路训练 开始 链路建立


3. 详细时序步骤解析

第一阶段:主电源上电

规范要求电源轨之间没有严格的先后顺序,但通常建议先稳定高压轨或同时上电,以避免闩锁效应。

  1. 12V12V12V 上电: 对于标准插槽,12V通常最先或与3.3V同时上电。
  2. 3.3V3.3V3.3V 上电: 主逻辑电源。
  3. 3.3Vaux3.3V_{aux}3.3Vaux 上电: 辅助电源。如果系统支持唤醒,此电源可能一直存在,或者在主电源上电前就已经稳定。
第二阶段:电源稳定与复位

这是最关键的阶段。电源必须稳定之后,复位信号才能撤销。

  1. 电源斜率 : 电压上升必须单调,不能有回沟。上升时间通常要求在 0.1ms 到 20ms 之间。
  2. PERST# (Power Good/Reset) :
    • 这是PCIe的全局复位信号。
    • 在电源稳定之前,主机必须将 PERST# 保持为低电平(复位状态)。
    • 当所有电源轨稳定后,主机将 PERST# 拉高。
第三阶段:链路训练

PERST# 拉高后,物理层链路开始工作。

  1. 参考时钟: 主机提供 100MHz 差分参考时钟。
  2. 检测: 设备检测接收端的终端电阻。
  3. 训练: 开始发送 TS1/TS2 序列,协商链路宽度和速率。

4. 关键时序参数

根据 PCIe CEM 规范,以下是几个核心的时间参数(具体数值请参考对应版本的规范,以下为典型值):

参数符号 描述 最小值 最大值 备注
TPower_ValidT_{Power\_Valid}TPower_Valid 电源电压从10%上升到90%的时间 0.1 ms 20 ms 上升沿必须单调
TPV_PERSTT_{PV\_PERST}TPV_PERST 电源稳定到PERST#解除复位的时间 100 ms - 最关键的参数
TPERST_CLKT_{PERST\_CLK}TPERST_CLK PERST#解除到参考时钟稳定的时间 - - 通常时钟在复位前或复位时已稳定
TPERST_ConfigT_{PERST\_Config}TPERST_Config 复位后到配置空间可访问的时间 - - 取决于设备初始化速度

重点说明:

  • TPV_PERSTT_{PV\_PERST}TPV_PERST (Power Valid to PERST#) : 规范要求电源稳定后,必须等待至少 100ms 才能将 PERST# 拉高。这是为了给PCIe设备内部电容充电和内部控制器初始化留出足够时间。如果这个时间太短,设备可能无法完成内部初始化,导致链路训练失败。

5. 热插拔时的上电时序

热插拔对时序要求更为严格,因为涉及到在系统运行时插入/拔出设备。

  1. 预充电: 插槽的长针(电源针)和短针(信号针)设计确保电源先接通。
  2. 电源隔离: 热插拔控制器会检测卡插入,然后开启MOSFET给插槽供电。
  3. 浪涌电流控制: 必须限制上电瞬间的浪涌电流,防止拉垮系统电源。
  4. 复位逻辑: 插入检测 -> 电源开启 -> 等待稳定 -> 拉高 PERST#。

6. 常见问题与调试建议

如果在实际设计中遇到PCIe设备无法识别或频繁掉线,建议检查以下几点:

  1. PERST# 时序不足: 使用示波器测量 3.3V 稳定到 PERST# 拉高的时间,确认是否满足 100ms 的要求。很多BIOS设置或CPLD逻辑中可以调整这个延时。
  2. 电源质量: 3.3V 或 12V 上是否有纹波或跌落。PCIe设备在链路训练切换速率时会有瞬态大电流,如果电源响应慢,会导致电压跌落引起复位。
  3. 时钟稳定性: 检查 100MHz 参考时钟的幅度和抖动。时钟必须在 PERST# 拉高之前稳定。
  4. 上电顺序冲突: 某些设备可能要求内部核心电源先于接口电源上电,这需要查阅具体芯片的Datasheet,可能需要调整板级电源设计。

总结

PCIe上电时序的核心在于**"电源先稳定,复位后解除"**。

  • 核心公式 :TPowerOn→Delay(>100ms)→PERST#=High→LinkTrainingT_{PowerOn} \rightarrow Delay(>100ms) \rightarrow PERST\#=High \rightarrow Link TrainingTPowerOn→Delay(>100ms)→PERST#=High→LinkTraining。
  • 设计要点:确保电源单调上升,控制好上电浪涌电流,并严格遵守 PERST# 相对于电源稳定的延时要求。
相关推荐
’长谷深风‘2 小时前
51单片机入门
c语言·单片机·嵌入式硬件·51单片机
沐欣工作室_lvyiyi2 小时前
基于物联网的体温心率监测系统(论文+源码)
stm32·单片机·嵌入式硬件·物联网·体温心率
电子工程师成长日记-C512 小时前
51单片机蓝牙智能台灯
单片机·嵌入式硬件·51单片机
电子工程师成长日记-C512 小时前
51单片机无线病床呼叫系统
单片机·嵌入式硬件·51单片机
somi72 小时前
51单片机-05-DHT11 温湿度传感器 | DS1302 实时时钟
单片机·嵌入式硬件·51单片机
辰哥单片机设计2 小时前
STM32心率血氧手环(机智云)
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi3 小时前
基于单片机的机房火灾预警系统(论文+源码)
单片机·嵌入式硬件·云平台·火灾预警
天天爱吃肉82183 小时前
【新能源汽车NTC+VCU温度采集全链路解析:原理、试验与测不准根源定位】
功能测试·嵌入式硬件·机器学习·信息可视化·汽车
somi715 小时前
51单片机-02-中断系统
单片机·嵌入式硬件·51单片机·中断