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

    文章

    2882

    浏览量

    88106
  • PCIe
    +关注

    关注

    15

    文章

    1239

    浏览量

    82673
  • 复位
    +关注

    关注

    0

    文章

    172

    浏览量

    24220

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

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

收藏 人收藏

    评论

    相关推荐

    两种采样方式

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

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

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

    PCIe总线复位方式是什么?

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

    编译环境的两种搭建方式

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

    SQL语言的两种使用方式

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

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

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

    逆变器的两种电流型控制方式

    逆变器的两种电流型控制方式 摘要:研究分析了逆变器的两种双环瞬时反馈控制方式——电流型准PWM控制方式和三态DPM
    发表于 07-10 11:21 4005次阅读
    逆变器的<b class='flag-5'>两种</b>电流型控制<b class='flag-5'>方式</b>

    PCIe两种中断传递方式

    MSI/MSI-X是后续的PCI/PCI-X总线改进后的中断机制,其中MSI-X(MSI-eXtented)是PCI-X中提出的升级版本。需要特别注意的是,MSI/MSI-X与PCIe总线中的消息(Message)的概念完全不同
    的头像 发表于 08-31 15:31 9253次阅读

    单片机实现利用中断复位两种方式

    如果想要实现利用中断复位,我所知道的有两种方式:看门狗中断和无中断服务程序的中断。
    的头像 发表于 10-30 15:55 9654次阅读

    Wincc如何与PLC进行通讯两种常用的方式介绍

    西门子WINCC与SiemensPLC通讯连接有多种方式,下面介绍两种常用的通讯方式
    的头像 发表于 02-17 09:27 3w次阅读
    Wincc如何与PLC进行通讯<b class='flag-5'>两种</b>常用的<b class='flag-5'>方式</b>介绍

    两种总线数据两种传递形式:PIO、DMA介绍资料下载

    电子发烧友网为你提供两种总线数据两种传递形式:PIO、DMA介绍资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-19 08:46 4次下载
    <b class='flag-5'>两种</b><b class='flag-5'>总线</b>数据<b class='flag-5'>两种</b>传递形式:PIO、DMA介绍资料下载

    MSP430单片机的两种SPI总线实现方式

    MSP430单片机上的SPI总线的实现方式分为两种:硬件实现和软件实现。二者的抽象层次不同,硬件实现方式下程序员只需要完成总线协议的寄存器层
    发表于 11-19 15:51 9次下载
    MSP430单片机的<b class='flag-5'>两种</b>SPI<b class='flag-5'>总线</b>实现<b class='flag-5'>方式</b>

    在MATLAB/simulink中建模时的两种不同实现方式

    导读:本期文章主要介绍在MATLAB/simulink中建模时的两种不同实现方式,一是直接用现成的文件库中的模块进行搭建,一是用Sfunction代码实现。接下来以电压型磁链观测器
    的头像 发表于 09-15 10:07 1894次阅读

    MATLAB/simulink中两种实现建模方式的优势

    导读:本期文章主要介绍在MATLAB/simulink中建模时的两种不同实现方式,一是直接用现成的文件库中的模块进行搭建,一是用Sfunction代码实现。接下来以电压型磁链观测器
    的头像 发表于 09-15 10:10 5060次阅读

    MIMXRT并口连接外围器件的两种方式

    MIMXRT 有类似Kinetis FlexBUS的接口用于外接FPGA或者并口的液晶屏或者并口采集芯片。可以参考如下的应用笔记,有两种方式: Flexio方式以及SEMC的DBI总线
    的头像 发表于 01-09 11:03 1339次阅读