大数跨境

技术洞见 | 介绍PCIe的4种复位机制

技术洞见 | 介绍PCIe的4种复位机制 牛芯半导体
2024-11-14
0
导读:本文转载自信号完整性,转载文章仅供学习和研究使用。

本文转载自信号完整性,转载文章仅供学习和研究使用。

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#产生基本复位的一个例子。
热复位
热复位也称为带内(In-band)复位,它不是由边带的复位信号产生的,而是通过发送TS1有序集在带内传播。热复位是由软件生成的复位,由上游向下游逐级传播,即只有根复合体RC和交换开关Switch能够产生热复位,端点不产生热复位。
当PCIe设备出现某种异常的时候,可以使用软件手段对该设备进行热复位。
软件通知热复位的方法:
软件欲在根复合体或交换开关某端口上生成热复位时,向该端口配置空间头标区中桥控制寄存器的次级总线复位(Secondary Bus Reset)位写1,就会在相应端口物理层上生成Assert Hot Reset 位为1的TS1有序集,并向下传送。
设备对热复位命令的响应:
当设备接收到热复位后,链路训练状态机LTSSM会先进入Recovery状态, 然后进入Hot Reset状态,然后回到Detect状态,并重新开始链路初始化训练。PCIe设备的所有状态机,硬件逻辑,端口状态和配置寄存器(除了Sticky寄存器)都将被初始化为默认状态。


FLR复位(Function Level Reset)


FLR机制使软件能够以function粒度来复位设备。FLR复位主要针对的是支持多个function的PCIe设备(Multi-Fun PCIe Device),可以实现只对特定的Function复位,而其他的Function不受影响。
FLR复位的实现是可选的(不是必需的),但PCIe规范强烈建议使用。软件可以向Device Control Register中的Initiate Function Level Reset bit写1,来产生FLR,该function必须在100ms内完成FLR复位。
FLR只复位对应Function的内部状态和寄存器,并不影响Sticky bits、有硬件初始化的值(Hardware-initialized bits)和链路专用寄存器。

往期推荐

01

牛芯半导体入选2024大湾区高成长企业100强

▲ 点击阅读

02

牛芯半导体荣获2024年度硬核IP产品奖

▲ 点击阅读

03

牛芯半导体荣获国家级专精特新“小巨人”企业认定

▲ 点击阅读


牛芯半导体(深圳)有限公司(简称“牛芯半导体”)成立于2020年,聚焦接口IP的开发和授权,并提供相关整体解决方案,致力成为全球领先的IP供应商。


基于自主可控的核心技术,牛芯半导体在主流先进工艺布局SerDes、DDR等中高端接口IP,产品广泛应用于消费电子、网络通信、数据存储、人工智能、汽车电子、医疗电子等领域。


未来,牛芯半导体持续响应IP国产化需求,适应不断演进的接口技术和日益拓展的接口互联场景,赋能数智时代下的千行百业。

【声明】内容源于网络
0
0
牛芯半导体
牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
内容 96
粉丝 0
牛芯半导体 牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
总阅读84
粉丝0
内容96