|
|
www.design-reuse-china.com |
技术洞见 | 介绍PCIe的4种复位机制
mp.weixin.qq.com, Nov. 15, 2024 –
PCIe总线中定义了四种复位名称:冷复位(Cold Reset)、暖复位(Warm Reset)、热复位(Hot Reset)和功能层复位(Function-Level Reset,FLR)。其中FLR是PCIe SPEC V2.0加入的功能,因此一般把另外三种复位统称为传统的复位方式(Conventional Reset)。其中冷复位和暖复位是基于边带信号PERST#的,又被统称为基本的复位方式(Fundamental Reset)。
传统复位(Conventional Reset)
传统复位包括Cold Reset、Warm Reset和Hot Reset三种复位,其中Cold Reset和Warm Reset统称为基本复位(Fundamental Reset);而Hot Reset是非基本的复位方式,它是一种带内复位,来自上游设备,以包的形式通过链路向下游设备传达。
基本复位使设备的状态机、硬件逻辑、端口状态和配置寄存器初始化为它们的默认状态,除了设备的那些能从辅电源Vaux汲取电能的粘性(sticky)配置寄存器(它们在主电源关闭的情况下靠辅电源Vaux仍处于工作状态)。
冷复位
传统复位中的冷复位(Cold Reset)指的是因为主电源断开后重新连接导致的复位。需要注意的是,即使主电源断开了,如果PCIe设备仍有辅助电源Vaux为其供电,该复位仍不会影响到Sticky的bits。
PCIe Spec允许两种实现基本复位的方式。一是直接通过边带信号PERST#(PCI Express Reset);二是不使用边带信号PERST#,PCIe设备在主电源被切断时,自行产生一个复位信号。
暖复位(Warm Rest)是在系统电源稳定的情况下(即不关闭/重加主电源),由硬件触发的复位,比如压下复位按钮。这种复位触发系统电源电路的POWERGOOD信号,进而引发复位。PCIe规范并未明确规定暖复位的产生机制。
基本复位有以下两种生成的方法。
一是通过边带信号PERST#产生基本复位。PERST#(PCI Express复位,低有效)是PCIe系统中的一个边带信号,用来传递复位信号。
二是PCIe设备也可以不使用边带信号PERST#来复位自己的电路,而设计成在检测到主电源加电(或重加电)的情况下自己产生基本复位信号复位自身电路。
下图是通过边带信号PERST#产生基本复位的一个例子。