一种用于PCIE电源可靠复位的方法技术

技术编号:19098232 阅读:29 留言:0更新日期:2018-10-03 02:32
本发明专利技术涉及一种用于PCIE电源管理的技术,其特征在于:在接收端收到将要进行复位的信号后,与发送端进行握手,通过握手信号来确定发送端正在发送的数据包是否传输完成,若传输完成则进行复位,若传输未完成,发送端停止继续发包,并将记录剩余数据包的发送状态,而接收端则对接收到的数据包进行接收并且对已经接收到的数据包进行存储,然后将握手的响应信号返回给发送端,告知发送端可以对本设备进行复位操作。本发明专利技术能够进一步降低功耗,提高对电源管理状态切换的保护。

【技术实现步骤摘要】
一种用于PCIE电源可靠复位的方法
本专利技术涉及一种用于PCIE电源可靠复位的方法。
技术介绍
现有的复位方式包括冷复位,暖复位和热复位三种。冷复位:PCIE上电后便自行开始的初始化复位暖复位(链路关断复位):在正常的操作中,链路关断或者工作在低功耗的状态,PCIE核要求链路复位请求。一根从高到低的link_req_rst_not信号传输表示PCIE请求外部的逻辑复位PCIE,由PHY链路关断引起的。热复位:上游设备(RC,SW上游端口,或者DM在RC模式)能够热复位下游设备(EP,SW上游端口,DM在EP模式),在热复位bit被采样到之后通过发送两个连续的链路TS1有序集实现。热复位也称为‘训练复位’。相似于暖复位,下游设备要求外部逻辑复位PCIE。冷复位和暖复位都属于基本复位,在之前的PCIE技术当中,提到过基本复位可以通过两种方式实现:一种是通过PERST#信号引发;另一种是通过自主生成基本复位。PERST#信号引发的基本复位都是指PCIE系统中的一个边带信号,用来传递复位信号,然后触发整个PCIE系统进行复位。通过自主生成的基本复位指设备可以在不适用PERST#信号来复位自己的电路,而是在检测到主电源加电的情况下自己产生基本复位信号复位自身电路。比如,在一个插卡上,设计有这种复位产生机构,对加电进行检测并产生该设备的本地复位信号。如果设备检测到它的电源超过规定的限度,它也必须产生一个自主的复位信号。热复位是指通过软件的方式进行复位的方法,软件在根复合体生成热复位。通过发送PCIE中固有的TS1有序集来进行带内传播,由上级向下游传播,即只有根复合体和交换开关能够产生热复位,端点不能产生热复位。现有PCIE电源管理简单,不适合超低功耗器件的应用,电源管理的不同状态切换容易造成包的丢失。现有的复位方式,是当设备采样到复位信号之后,不关注链路上是否有包传送,并且也不能够确定链路上的包是否传送成功,更不能确定链路上的包已经传送成功的位数,而会直接复位,将准备复位的设备进行初始化,清空其内存,复位它的寄存器,并没有考虑到目前的数据传输情况和PCIE对端的情况,只是简单的将要复位的设备进行复位,例如将设备寄存器重置,将缓冲区的数据清空,将链路上的包丢弃。
技术实现思路
本专利技术的目的在于克服上述不足,提供一种用于PCIE电源可靠复位的方法,能够进一步降低功耗,提高对电源管理状态切换的保护。本专利技术的目的是这样实现的:一种用于PCIE电源可靠复位的方法,所述方法在接收端收到将要进行复位的信号后,与发送端进行握手,通过握手信号来确定发送端正在发送的数据包是否传输完成,若传输完成则进行复位,若传输未完成,发送端停止继续发包,并将记录剩余数据包的发送状态,而接收端则对接收到的数据包进行接收并且对已经接收到的数据包进行存储,然后将握手的响应信号返回给发送端,告知发送端可以对本设备进行复位操作。其进一步的技术方案为:接收端(即链路下游的PCIE设备)进行如下操作:1)保持接收任何的读/写请求但是不转发到PCIE链路;2)对于已经接收到的任何写请求和任何新的写请求,操作如下:2a)允许链路发送端完成所有的写数据传输,停止发送发送端中的数据;2b)当完成写数据传输,生成接收端反馈给发送端的写响应错误位;3)对于已经接收到的读请求或者任何新的写请求,生成接收端错误响应并反馈给发送端,数据阻塞到链路恢复后再次反送;AXI桥主机接口依次执行以下步骤:4)停止生成任何新的读和写请求;5)当完成所有的这些操作之后,并且平滑复位信号(down_flush_not)被采样到,同时在外部复位控制器生成复位(pcie_reset_n)信号,使接收端得以复位。与现有技术相比,本专利技术的有益效果是:本专利技术通过在得知将要进行复位的信号后,对两端交互的设备进行握手,通过握手信号来确定正在发送的包传输完成,发送端则停止继续发包,并将记录剩余包的发送状态,而接收端则对接收到的包进行接收并且对已经接收到的包进行存储,然后将握手的响应信号返回给发送端,告知发送端可以本设备可以进行复位操作。这样的握手复位可以保证包的不丢失,而且在复位之后可以正常的继续传输还未传完的数据报文,进一步节省了功耗和保证了数据报文传输的正确性和完整性。具体实施方式link_req_rst_not是指链路复位信号,down_flush_not信号是指链路上游设备要求下游设备复位信号,即平滑复位信号,要想触发复位必须要在link_req_rst_not和down_flush_not信号上升沿和下降沿到来后开始复位。为了保护在下游设备复位时间段上有设备发送到链路上的数据不丢失,在复位的情况下必须要握手。在复位的时候,必须要终止所有的数据包传输。当link_req_rst_not信号被采样到的时候,操作如下:1)保持接收任何的读/写请求但是不转发他们到PCIE链路;2)对于已经接收到的任何写请求和任何新的写请求,操作如下:2a)允许发送端完成所有的写数据传输,停止发送端内部的数据发送,并进行存储;2b)当完成写数据传输,生成接收端写响应错误位;3)对于已经接收到的读请求或者任何新的写请求,生成下游错误响应,并传输给发送端;链路的发送端依次执行以下步骤:4)停止生成任何新的读和写请求;5)当完成所有的这些操作之后,并且接收端的响应信号down_flush_not被采样到并且在外部复位控制器生成pcie_reset_n信号,进行复位操作。当所有的这些操作已经完成,才将down_flush_not信号置位(让其有效)并且你能用它生成外部复位信号生成pcie_reset_n信号。以上所述的仅是本专利技术的优选实施方式,本专利技术不限于以上实施例。本领域技术人员在不脱离本专利技术的精神和构思的前提下直接导出或联想到的其他改进和变化,均认为包含在本专利技术的保护范围之内。本文档来自技高网
...

【技术保护点】
1.一种用于PCIE电源可靠复位的方法,其特征在于:在接收端收到将要进行复位的信号后,与发送端进行握手,通过握手信号来确定发送端正在发送的数据包是否传输完成,若传输完成则进行复位,若传输未完成,发送端停止继续发包,并将记录剩余数据包的发送状态,而接收端则对接收到的数据包进行接收并且对已经接收到的数据包进行存储,然后将握手的响应信号返回给发送端,告知发送端可以对本设备进行复位操作。

【技术特征摘要】
1.一种用于PCIE电源可靠复位的方法,其特征在于:在接收端收到将要进行复位的信号后,与发送端进行握手,通过握手信号来确定发送端正在发送的数据包是否传输完成,若传输完成则进行复位,若传输未完成,发送端停止继续发包,并将记录剩余数据包的发送状态,而接收端则对接收到的数据包进行接收并且对已经接收到的数据包进行存储,然后将握手的响应信号返回给发送端,告知发送端可以对本设备进行复位操作。2.根据权利要求1所述一种用于PCIE电源可靠复位的方法,其特征在于:接受端进行如下操作:1)保持接收任何的读/写请求但是不转发到PCIE链路中;2)对于已经接收到的任何写请求和任何新的写请求,操作如下:2a)允许发送端完成所有的写数据传输,停止发送端内部的数据发送...

【专利技术属性】
技术研发人员:高璐
申请(专利权)人:青岛璐琪信息科技有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1