0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCIe总线的两种复位方式

aIpM_gongkongwo 来源:工程师曾玲 2018-12-30 09:37 次阅读

本篇主要介绍PCIe总线的复位方式。

PCIe总线规定了两个复位方式:Conventional Reset和FLR(Function Level Reset),而Conventional Reset又可以进一步分为两大类:Fundamental Reset和Non-Fundamental Reset。Fundamental Reset方式包括Cold和Warm Reset方式,可以将PCIe将设备中的绝大多数内部寄存器和内部状态都恢复成初始值;而Non-FundamentalReset方式为Hot Reset方式。

1、传统复位方式(Conventional)

传统的复位方式分为Cold、Warm和Hot Reset。PCIe设备可以根据当前的设备的运行状态选择合适的复位方式,PCIe总线提供多种复位方式的主要原因是减小PCIe设备的复位延时。其中传统复位方式的延时大于FLR方式。使用传统复位方式时,Cold Reset使用的时间最长,而Hot Reset使用的时间最短。

1.1、Cold Reset

当一个PCIe设备的Vcc电源上电后,处理器系统将置该设备的PERST#信号为有效,此时将引发PCIe设备的复位方式,这种方式属于Fundamental Reset。PCIe设备进行Clod Reset时,所有使用Vcc进行供电的寄存器和PCIe端口逻辑将无条件进入初始状态。但是使用这种方式依然无法复位使用Vaux(备用电源)供电的寄存器和逻辑,这些寄存器和逻辑只能在处理器完全掉电时彻底复位。

PCIe总线的两种复位方式

1.2、Warm Reset

在PCIe的设备完成上电后,也可能重新进行Fundamental Reset,这种复位方式也被称为Warm Reset。PCIe并没有定义Warm Reset的具体实现方式。

1.3、Hot Reset

当PCIe设备出现某种异常时,可以使用软件手段对该设备进行复位。如系统软件将Bridge Control Register 的Secondary Bus Reset位置为1,该桥片将secondary总线上的PCIe设备进行Hot Reset。PCIe总线将通过TS1和TS2序列对下游设备进行Hot Reset。

在TS1和TS2序列中包含一个Hot Reset位。当下游设备收到一个TS1和TS2序列,而且Hot Reset位为1时,下游设备将使用Hot Reset方式进行复位操作。

Hot Reset方式并不属于Fundamental Reset。PCIe设备进行Hot Reset方式时,也可以将PCIe设备的多数寄存器和状态恢复为初始值。

同时,在PCIe总线中,如果需要对链路的Link Width进行改变时,也将会用到Hot Reset。具体的流程如下:

Ensure the Link is in the L0LTSSM state.

Program the 6-bit “Link ModeEnable” field of the “Port LinkControl Register” on page 732. This isused bythe LTSSM in DETECT.

Programthe 9-bit “PredeterminedNumber of Lanes” field of the “Gen2 Control Register” on page 771. Thisindicatesto the LTSSM, the number of lanes to check for exiting from L2.IDLE orPOLLING.ACTIVE.

Trigger a Hot Reset, by settingthe Secondary Bus Reset bit in the RC Bridge ControlRegister (of the Type 1 PCIConfiguration Space Header) to 1.

Wait for 2 mS. The core’s LTSSMwill transition from L0 -》 RCVRY -》 HOTRESET.

Clear theSecondary Bus Resetbit. The core’s LTSSM will transition from HOTRESET -》 DETECT.

2、FLR(Function Level Reset)

除了传统的复位方式之外,PCIe总线还提供了FLR方式。系统软件通过填写某些寄存器,如synosys的PCIe的IP是可以通过配置PCI ExpressCapability的DeviceControl Register的第16bit完成FLR。支持FLR方式的PCIe设备需要在其BAR空间中提供一个寄存器,当系统软件对该寄存器的Function LevelReset位写1时,PCIe设备将使用FLR方式复位PCIe设备的内部逻辑。FLR方式对PCIe设备是可选的。

在一个大规模的并行处理系统中,系统软件使用分区的概念管理所有硬件资源,包括处理器资源和所有IO资源,这些IO资源中通常会包含PCIe设备。在这种处理器系统中,任务在指定的分区中运行,当这个任务执行完毕后,系统软件需要调整硬件资源的分区。此时受到影响的PCIe设备需要使用FLR方式复位内部的逻辑,以免造成对新的分区的资源污染,并保护之前任务的结果。

当PCIe设备使用FLR方式进行复位时,有些与PCIe链路相关的状态和寄存器并不会被复位:

Sticky Registers。与传统的复位方式相同,FLR方式不能复位这些寄存器,但是系统软件对部分Sticky Registers进行修改。当Vaux(备用电源)被移除后,这些寄存器中的保存的数据才会丢失。

HwInit类型的寄存器。在PCIe设备中,有效配置寄存器的属性为HwIint,这些寄存器的值由芯片的配置引脚决定,后者上电复位后从EEPROM中获取。Cold和Warm Reset可以复位这些寄存器,然后从EEPROM中从新获取数据,但是使用FLR方式不能复位这些寄存器。

此外,还有一些特殊的配置寄存器不能被FLR方式复位,如Max_Payload_Size、RCB和一些与电源管理、流量控制和链路控制直接相关的寄存器。

FLR方式不会影响LTSSM状态机。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2704

    浏览量

    87206
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80809
  • 复位
    +关注

    关注

    0

    文章

    159

    浏览量

    24034

原文标题:PLC控制电路设计中常用的电气符号和文字符号

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    针对CAN总线传输距离问题的两种解决方案

    针对CAN总线传输距离问题的两种解决方案
    发表于 08-16 16:13

    两种采样方式

    两种采样方式.....................................
    发表于 08-08 15:04

    请问小车转向两种方式有什么优缺点?

    我知道的小车转向常见的有两种方式,一是通过舵机控制转向,另一是通过控制个轮子的转速,通过转速差实现转向,这
    发表于 05-21 02:37

    SQL语句的两种嵌套方式

    一般情况下,SQL语句是嵌套在宿主语言(如C语言)中的。有两种嵌套方式:1.调用层接口(CLI):提供一些库,库中的函数和方法实现SQL的调用2.直接嵌套SQL:在代码中嵌套SQL语句,提交给预处理器,将SQL语句转换成对宿主语言有意义的内容,如调用库中的函数和方法代替S
    发表于 05-23 08:51

    linux配置mysql的两种方式

    两种方式:a、$ find / -name mysql–print 查看是否有mysql文件夹b、$ netstat -a –n 查看是否打开3306端口
    发表于 07-26 07:46

    请问在PCB设计过程中两种电源分配方式的具体含义是什么?

    在pcb设计过程中,电源分配方式两种总线方式和电源层方式,谁能告诉我这两种
    发表于 08-05 23:00

    PCIe总线复位方式是什么?

    PCIe总线规定了复位方式:conventional Reset和FLR(FunctionLevel Reset),而Conventio
    发表于 10-16 08:19

    Linux实现输入参数求和的两种方式

    Linux实现输入参数求和(两种方式
    发表于 03-26 11:44

    编译环境的两种搭建方式

    编译环境的两种搭建方式putty工具的使用winscp工具的使用
    发表于 12-22 08:00

    串口通信的两种方式

    串口通信由两种方式,第一就是用微机原理课上学过的TX和RX个接口进行通信。不过根据去年的经验,这个板子直接用TX和RX个接口进行通信容
    发表于 08-24 06:59

    SQL语言的两种使用方式

    SQL语言的两种使用方式在终端交互方式下使用,称为交互式SQL嵌入在高级语言的程序中使用,称为嵌入式SQL―高级语言如C、Java等,称为宿主语言嵌入式SQL的实现方式源程序(用主语言
    发表于 12-20 06:51

    vnc和xrdp两种远程连接的方式

    [zju嵌入式]树莓派之远程桌面 之前篇介绍了通过串口和ssh登陆到树莓派的方法,这两种方式的有点在于连接方面,响应速度快,但是也有不够直观的缺点,没办法看到图形界面.在这篇博文中,笔者将介绍vnc和xrdp
    发表于 12-24 07:54

    简单谈谈两种复位电路的工作原理

    单片机最小系统,即单片机能正常工作的最简单的电路。复位电路是单片机最小系统的组成部分之一。对于不同单片机,复位方式有高电平复位和低电平复位
    发表于 01-17 08:52

    CCIX 1.1设备必须支持PCIe 5.0 PHY或CCIX EDR PHY这两种物理层吗

    5 物理层5.1 介绍CCIX 1.1设备必须支持两种物理层中的一PCIe 5.0 PHY,或者是CCIX EDR PHY。5.2 EDR25-SR电气规范EDR25-SR电气规范适用于
    发表于 08-16 15:45

    PCIE总线基本资料

    PCIE总线基本资料 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条
    发表于 05-10 14:45 0次下载