CN103412836B - 热插拔处理方法、装置以及*** - Google Patents
热插拔处理方法、装置以及*** Download PDFInfo
- Publication number
- CN103412836B CN103412836B CN201310259594.3A CN201310259594A CN103412836B CN 103412836 B CN103412836 B CN 103412836B CN 201310259594 A CN201310259594 A CN 201310259594A CN 103412836 B CN103412836 B CN 103412836B
- Authority
- CN
- China
- Prior art keywords
- pci
- controller
- control signal
- universal input
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 16
- 230000002093 peripheral effect Effects 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
本发明实施例提供一种热插拔处理方法、装置以及***。本发明热插拔处理方法,包括:CPU根据热插拔请求消息生成与PCI-E设备相关的寄存器配置信息;所述CPU将所述寄存器配置信息发送给所述PCI-E交换芯片;所述CPU接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;所述CPU将所述硬件控制信号发送给通用输入/输出控制器;所述CPU根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成。本发明实施例通过CPU直接控制PCI-E设备热插拔,绕开了I2C器件的I2C地址受限的问题,实现支持扩展更多的可热插拔PCI-E设备。
Description
技术领域
本发明实施例涉及计算机热插拔技术,尤其涉及一种热插拔处理方法、装置以及***。
背景技术
高速外设部件互连标准(Peripheral Component Interconnection Express,简称PCI-E)设备的热插拔,对提高计算机***的可靠性,可用性,可维护性(Reliability,Availability,Serviceability,简称RAS)等特性有着重要的作用。
图1为现有技术中热插拔技术方案示意图,如图1所示,目前,实现PCI-E设备热插拔的方案是集成电路总线扩展器(Inter-Integrated Circuit Expander,简称I2C Expander)通过I2C协议对PCI-E交换芯片内部热插拔控制器有关的寄存器进行读写,再通过通用输入/输出控制器(General Purpose Input Output,简称GPIO)对PCI-E交换芯片挂接的PCI-E设备进行硬件操作,以完成对PCI-E设备的热插拔控制。
目前的实现方案中,I2C Expander器件由于受I2C地址的限制,导致PCI-E交换芯片挂接的设备数量也受到相应的限制,使得无法支持更多的可热插拔PCI-E设备。通过增加I2C Expander器件可以实现扩展支持,但是I2C Expander器件的成本、尺寸、功耗等问题对整个***的设计都会带来一定影响。
发明内容
本发明实施例提供一种热插拔处理方法、装置以及***,以解决现有热插拔技术中无法支持扩展更多的可热插拔PCI-E设备的问题。
第一方面,本发明实施例提供一种热插拔处理方法,包括:
处理器CPU接收高速外设部件互连标准PCI-E设备的热插拔请求信息,并根据所述热插拔请求消息生成与所述PCI-E设备相关的寄存器配置信息;
所述CPU将所述寄存器配置信息发送给所述PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
所述CPU接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对所述PCI-E设备相关的硬件进行操作;
所述CPU从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成。
在第一方面的第一种可能的实现方式中,所述寄存器配置信息包括下述至少一种寄存器位配置信息:
在位寄存器位配置信息、手动操作保持锁扣寄存器位配置信息、电源指示灯寄存器位配置信息和热插拔指示寄存器位配置信息。
在第一方面的第二种可能的实现方式中,所述生成所述PCI-E设备的硬件控制信号,包括:
生成所述PCI-E设备的复位控制信号和硬件驱动控制信号。
根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述硬件驱动控制信号包括:
电源驱动控制信号和时钟驱动控制信号。
根据第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对所述PCI-E设备相关的硬件进行操作,包括:
当识别到热插拔请求信息为热***请求信息时,则所述CPU将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行使能;
所述CPU将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行使能;
所述CPU将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器等待预定时间延迟后,停止发送所述PCI-E设备的复位信号。
根据第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对所述PCI-E设备相关的硬件进行操作,包括:
当识别到热插拔请求信息为热拔出请求信息时,则所述CPU将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器向所述PCI-E设备发出复位信号;
所述CPU将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行关闭;
所述CPU将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行关闭。
在第一方面的第六种可能的实现方式中,还包括:
所述CPU根据与所述PCI-E设备相关的寄存器的状态值,对所述指示灯进行控制以显示所述PCI-E设备的工作状态。
在第一方面的第七种可能的实现方式中,所述通用输入/输出控制器与PCI-E设备之间以及所述通用输入/输出控制器与所述CPU之间使用至少包括下述一种硬件通信协议进行通信:
以太网协议、PCI-E协议和I2C协议。
第二方面,本发明实施例提供一种热插拔处理装置,包括:
第一生成模块,用于接收高速外设部件互连标准PCI-E设备的热插拔请求信息,并根据所述热插拔请求消息生成与所述PCI-E设备相关的寄存器配置信息;
第一发送模块,用于将所述寄存器配置信息发送给所述PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
第二生成模块,用于接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
第二发送模块,用于将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对所述PCI-E设备相关的硬件进行操作;
判断模块,用于从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成。
在第二方面的第一种可能的实现方式中,所述寄存器配置信息包括下述至少一种寄存器位配置信息:
在位寄存器位配置信息、手动操作保持锁扣寄存器位配置信息、电源指示灯寄存器位配置信息和热插拔指示寄存器位配置信息。
在第二方面的第二种可能的实现方式中,所述第二生成模块,具体用于:
生成所述PCI-E设备的复位控制信号和硬件驱动控制信号。
根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述硬件驱动控制信号包括:
电源驱动控制信号和时钟驱动控制信号。
根据第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第二发送模块,具体用于:
当识别到热插拔请求信息为热***请求信息时,则将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行使能;
将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行使能;
将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器等待预定时间延迟后,停止发送所述PCI-E设备的复位信号。
根据第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述第二发送模块,具体用于:
当识别到热插拔请求信息为热拔出请求信息时,则将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器向所述PCI-E设备发出复位信号;
将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行关闭;
将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行关闭。
在第二方面的第六种可能的实现方式中,还包括:
控制模块,用于根据与所述PCI-E设备相关的寄存器的状态值,对所述指示灯进行控制以显示所述PCI-E设备的工作状态。
在第二方面的第七种可能的实现方式中,所述通用输入/输出控制器与PCI-E设备之间以及所述通用输入/输出控制器与配置热插拔处理装置的处理器CPU之间使用至少包括下述一种硬件通信协议进行通信:
以太网协议、PCI-E协议和I2C协议。
第三方面,本发明提供一种热插拔处理***,包括:处理器CPU,高速外设部件互连标准PCI-E交换芯片、通用输入/输出控制器以及PCI-E设备,其中:
所述CPU通过PCI-E协议与所述PCI-E交换芯片连接通信;
所述PCI-E交换芯片下挂接PCI-E设备;
所述CPU通过硬件通信协议与所述通用输入/输出控制器连接;
所述通用输入/输出控制器通过硬件通信协议与所述PCI-E设备连接通信;
所述CPU中配置有热插拔处理装置。
本发明实施例提供的热插拔处理方法、装置以及***,通过用CPU中的软件控制代替硬件I2C Expander器件处理PCI-E设备热插拔,使得避免了I2CExpander器件的I2C地址受限的问题,实现支持扩展更多的可热插拔PCI-E设备,且节省成本和有利于单板集成化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中热插拔技术方案示意图;
图2为本发明热插拔处理方法实施例一的流程图;
图3为本发明热插拔处理方法实施例二的流程图;
图4为本发明热插拔处理方法实施例三的流程图;
图5为本发明热插拔处理装置实施例一的结构示意图;
图6为本发明热插拔处理装置实施例二的结构示意图;
图7为本发明热插拔处理***实施例一的架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明热插拔处理方法实施例一的流程图,本实施例的方法适用于PCI-E***中进行热插拔的处理。PCI-E***一般包括处理器(CPU),一个或多个PCI-E交换芯片,通用输入/输出控制器以及PCI-E设备。各PCI-E交换芯片连接至CPU,在CPU控制下进行数据交换。各种PCI-E设备可热插拔在PCI-E交换芯片的接口中工作。该方法由热插拔处理装置执行,该装置通常以软件的方式来实现,集成在CPU中。如图2所示,本实施例的方法包括如下步骤:
步骤200、CPU接收PCI-E设备的热插拔请求信息,并根据所述热插拔请求消息生成与所述PCI-E设备相关的寄存器配置信息;
本步骤中,由软件或者硬件电路向CPU触发设备热插拔请求。例如,当PCI-E交换芯片识别到有PCI-E设备插接在其接口,或从其接口拔出时,即获取相关信息,产生热插拔请求信息发送给CPU。PCI-E设备往往通过PCI-E交换芯片中的寄存器来工作,可对寄存器进行读写来进行设备中的参数配置。与所述PCI-E设备相关的寄存器包括下述至少一种寄存器位配置信息:
在位寄存器位配置信息、手动操作保持锁扣寄存器位配置信息、电源指示灯寄存器位配置信息和热插拔指示寄存器位配置信息。
步骤201、所述CPU将所述寄存器配置信息发送给所述PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
本步骤中,CPU通过CPU和PCI-E交换芯片之间的PCI-E链路,对PCI-E交换芯片的寄存器进行相关配置,完成对PCI-E交换芯片内涉及的如在位、MRL、热插拔指示、电源指示灯等与所述PCI-E设备相关的寄存器位的配置。
步骤202、所述CPU接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
当寄存器配置完成后,PCI-E交换芯片会向CPU返回配置完成消息。具体地,本步骤中,所述生成所述PCI-E设备的硬件控制信号可以包括:生成所述PCI-E设备的复位控制信号和硬件驱动控制信号。
进一步地,所述硬件驱动控制信号,可以包括:电源驱动控制信号和时钟驱动控制信号。
步骤203、所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对与所述PCI-E设备相关的硬件进行操作;
通用输入/输出控制器(GPIO)通过高速硬件通信协议,如I2C,PCI-E,Ethernet等连接在CPU与PCI-E设备之间。根据接收到的硬件控制信号,操作与所述PCI-E设备相关的硬件,比如电源,时钟等硬件模块。
步骤204、所述CPU从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成。
本步骤中,CPU通过PCI-E链路读取PCI-E交换芯片内部的与PCI-E相关的链路状态寄存器,从而判断PCI-E设备的热插拔操作是否完成。
相对于现有技术中,每个PCI-E热插拔设备需要配合一个I2C Expander器件,I2C Expander器件通过I2C协议对PCI-E交换芯片内部热插拔控制器有关的寄存器进行读写才能完成PCI-E热插拔,本实施例通过用CPU中的软件控制代替硬件I2C Expander器件处理PCI-E设备热插拔,使得绕开了I2CExpander器件的I2C地址受限的问题,实现支持扩展更多的可热插拔PCI-E设备,且节省成本和有利于单板集成化。
进一步地,在本实施例的基础上,GPIO与PCI-E设备之间以及GPIO与CPU之间可以使用至少包括下述一种硬件通信协议进行通信:以太网协议、PCI-E协议和I2C协议。当GPIO控制器的接口使用高速接口时,可以进一步的提高设备热插拔的效率。
图3为本发明热插拔处理方法实施例二的流程图,本实施例在实施例一的基础上,以PCI-E设备热***为例进行说明,本实施例的方法包括如下步骤:
步骤300、CPU接收PCI-E设备的热***请求信息,并根据所述热***请求消息生成与所述PCI-E设备相关的寄存器配置信息;
步骤301、所述CPU将所述寄存器配置信息发送给所述PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
步骤302、所述CPU接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
步骤303、所述CPU将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行使能;
步骤304、所述CPU将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行使能;
步骤305、所述CPU将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器等待预定时间延迟后,停止发送所述PCI-E设备的复位信号;
本步骤中,在加载时钟后,根据PCI-E协议规定,需等待预定时间的延迟,比如100ms固定延时后,CPU通过GPIO控制器停止发送设备的复位信号。
步骤306、所述CPU从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热***处理是否完成。
本实施例,通过CPU控制PCI-E交换芯片和GPIO控制器,实现PCI-E的热***操作,绕过I2C扩展器的控制,从而解决因I2C地址有限导致的无法扩展更多PCI-E设备的问题。
在本实施例的基础上,进一步地,还包括:所述CPU根据与所述PCI-E设备相关的寄存器的状态值,对所述指示灯进行控制以显示所述PCI-E设备的工作状态。比如,在本实施例的步骤301后以及步骤306后,都可以根据寄存器的状态值控制指示灯的状态。这样,用户可以根据指示灯的状态,判断目前PCI-E设备的工作状态,比如电源是否关闭,复位是否完成等。
图4为本发明热插拔处理方法实施例三的流程图,本实施例在实施例一的基础上以PCI-E设备热拔出为例进行说明,本实施例的方法包括如下步骤:
步骤400、CPU接收PCI-E设备的热拔出请求信息,并根据所述热拔出请求消息生成与所述PCI-E设备相关的寄存器配置信息;
步骤401、所述CPU将所述寄存器配置信息发送给所述PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
步骤402、所述CPU接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
步骤403、所述CPU将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器向所述PCI-E设备发出复位信号;
步骤404、所述CPU将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行关闭;
步骤405、将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行关闭;
步骤406、所述CPU从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热拔出处理是否完成。
本实施例,通过CPU控制PCI-E交换芯片和GPIO控制器,实现PCI-E的热拔出操作,绕过I2C扩展器的控制,从而解决因I2C地址有限导致的无法扩展更多PCI-E设备的问题。
图5为本发明热插拔处理装置实施例一的结构示意图,如图5所示,本实施例的装置包括:
第一生成模块51,用于接收PCI-E设备的热插拔请求信息,并根据所述热插拔请求消息生成与所述PCI-E设备相关的寄存器配置信息;
第一发送模块52,用于将所述寄存器配置信息发送给所述PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
第二生成模块53,用于接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
第二发送模块54,用于将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对与所述PCI-E设备相关的硬件进行操作;
判断模块55,用于从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成。
本实施例的装置,用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明热插拔处理装置实施例二的结构示意图,本实施例,在上一实施例的基础上,增加控制模块。如图6所示,本实施例的装置包括:
第二生成模块53,具体用于:生成所述PCI-E设备的复位控制信号和硬件驱动控制信号,其中所述硬件驱动控制信号包括:电源驱动控制信号和时钟驱动控制信号;
第二发送模块,具体用于:当识别到热插拔请求信息为热***请求信息时,则将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行使能;将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行使能;将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器等待预定时间延迟后,停止发送所述PCI-E设备的复位信号;以及,
第二发送模块,具体用于:当识别到热插拔请求信息为热拔出请求信息时,则将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器向所述PCI-E设备发出复位信号;将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行关闭;将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行关闭;
控制模块61,与第二生成模块53以及判断模块55连接,用于根据与所述PCI-E设备相关的寄存器的状态值,对所述指示灯进行控制以显示所述PCI-E设备的工作状态。
本实施例中,所述寄存器配置信息包括下述至少一种寄存器位配置信息:
在位寄存器位配置信息、手动操作保持锁扣寄存器位配置信息、电源指示灯寄存器位配置信息和热插拔指示寄存器位配置信息。
所述通用输入/输出控制器与PCI-E设备之间以及所述通用输入/输出控制器与配置热插拔处理装置的CPU之间使用至少包括下述一种硬件通信协议进行通信:以太网协议、PCI-E协议和I2C协议。
本实施例的装置,用于执行图3或图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明热插拔处理***实施例一的架构示意图。如图7所示,本实施例的***包括:
CPU71,PCI-E交换芯片72、通用输入/输出控制器73以及PCI-E设备74,其中:
所述CPU71通过PCI-E协议与所述PCI-E交换芯片72连接通信;
所述PCI-E交换芯片72下挂接PCI-E设备74;
所述CPU71通过硬件通信协议与所述通用输入/输出控制器73连接;
所述通用输入/输出控制器73通过硬件通信协议与所述PCI-E设备74连接通信;
所述CPU71中配置有上述任意一个实施例所述的热插拔处理装置70。
本实施例中所述通用输入/输出控制器与PCI-E设备之间以及所述通用输入/输出控制器与所述CPU之间信号类型可以是多种类型的信号,甚至是高速信号,如PCI-E信号,以太网信号等,而不仅仅局限于I2C,这样一来,便可以设备的热插拔效率将大大提高。
本实施例提供的PCI-E热插拔***通过CPU与PCI-E交换芯片以及PCI-E交换芯片与PCI-E设备之间的PCI-E的带内管理信号,对热插拔需要控制的相关信号进行收集,再通过CPU与通用输入/输出控制器以及通用输入/输出控制器与PCI-E之间的带外信号对PCI-E设备进行相关的硬件级操作。实现了绕开I2C扩展器对PCI-E设备的操作,从而解决因I2C扩展器导致的地址受限,无法扩展更多PCI-E设备的问题。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种热插拔处理方法,其特征在于,包括:
处理器CPU接收高速外设部件互连标准PCI-E设备的热插拔请求信息,并根据所述热插拔请求消息生成与所述PCI-E设备相关的寄存器配置信息;
所述CPU将所述寄存器配置信息发送给PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
所述CPU接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对与所述PCI-E设备相关的硬件进行操作;
所述CPU从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成;
所述CPU生成所述PCI-E设备的硬件控制信号,包括:
CPU生成所述PCI-E设备的复位控制信号和硬件驱动控制信号。
2.根据权利要求1所述的方法,其特征在于,所述寄存器配置信息包括下述至少一种寄存器位配置信息:
在位寄存器位配置信息、手动操作保持锁扣寄存器位配置信息、电源指示灯寄存器位配置信息和热插拔指示寄存器位配置信息。
3.根据权利要求2所述的方法,其特征在于,所述硬件驱动控制信号包括:
电源驱动控制信号和时钟驱动控制信号。
4.根据权利要求3所述的方法,其特征在于,所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对与所述PCI-E设备相关的硬件进行操作,包括:
当识别到热插拔请求信息为热***请求信息时,则所述CPU将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行使能;
所述CPU将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行使能;
所述CPU将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器等待预定时间延迟后,停止发送所述PCI-E设备的复位信号。
5.根据权利要求3所述的方法,其特征在于,所述CPU将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对与所述PCI-E设备相关的硬件进行操作,包括:
当识别到热插拔请求信息为热拔出请求信息时,则所述CPU将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器向所述PCI-E设备发出复位信号;
所述CPU将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行关闭;
所述CPU将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行关闭。
6.根据权利要求2所述的方法,其特征在于,还包括:
所述CPU根据与所述PCI-E设备相关的寄存器的状态值,对所述电源指示灯进行控制以显示所述PCI-E设备的工作状态。
7.根据权利要求1所述的方法,其特征在于,所述通用输入/输出控制器与PCI-E设备之间以及所述通用输入/输出控制器与所述CPU之间使用至少包括下述一种硬件通信协议进行通信:
以太网协议、PCI-E协议和I2C协议。
8.一种热插拔处理装置,其特征在于,包括:
第一生成模块,用于接收高速外设部件互连标准PCI-E设备的热插拔请求信息,并根据所述热插拔请求消息生成与所述PCI-E设备相关的寄存器配置信息;
第一发送模块,用于将所述寄存器配置信息发送给PCI-E交换芯片,以使所述PCI-E交换芯片根据所述寄存器配置信息对PCI-E交换芯片中与所述PCI-E设备相关的寄存器进行配置;
第二生成模块,用于接收所述PCI-E交换芯片发送的寄存器配置完成消息,并生成所述PCI-E设备的硬件控制信号;
第二发送模块,用于将所述硬件控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据所述硬件控制信号对与所述PCI-E设备相关的硬件进行操作;
判断模块,用于从所述PCI-E交换芯片获取与所述PCI-E设备相关的寄存器数值消息,并根据所述寄存器数值消息判断所述PCI-E设备的热插拔处理是否完成;
所述第二生成模块,具体用于:
生成所述PCI-E设备的复位控制信号和硬件驱动控制信号。
9.根据权利要求8所述的装置,其特征在于,所述寄存器配置信息包括下述至少一种寄存器位配置信息:
在位寄存器位配置信息、手动操作保持锁扣寄存器位配置信息、电源指示灯寄存器位配置信息和热插拔指示寄存器位配置信息。
10.根据权利要求8所述的装置,其特征在于,所述硬件驱动控制信号包括:
电源驱动控制信号和时钟驱动控制信号。
11.根据权利要求10所述的装置,其特征在于,所述第二发送模块,具体用于:
当识别到热插拔请求信息为热***请求信息时,则将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行使能;
将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行使能;
将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器等待预定时间延迟后,停止发送所述PCI-E设备的复位信号。
12.根据权利要求10所述的装置,其特征在于,所述第二发送模块,具体用于:
当识别到热插拔请求信息为热拔出请求信息时,则将所述复位控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器向所述PCI-E设备发出复位信号;
将所述时钟驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据时钟驱动控制信号将所述PCI-E设备对应的时钟模块进行关闭;
将所述电源驱动控制信号发送给通用输入/输出控制器,以使所述通用输入/输出控制器根据电源驱动控制信号将所述PCI-E设备对应的电源模块进行关闭。
13.根据权利要求9所述的装置,其特征在于,还包括:
控制模块,用于根据与所述PCI-E设备相关的寄存器的状态值,对所述电源指示灯进行控制以显示所述PCI-E设备的工作状态。
14.根据权利要求8所述的装置,其特征在于,所述通用输入/输出控制器与PCI-E设备之间以及所述通用输入/输出控制器与配置热插拔处理装置的处理器CPU之间使用至少包括下述一种通信协议进行通信:
以太网协议、PCI-E协议和I2C协议。
15.一种热插拔处理***,包括:处理器CPU,高速外设部件互连标准PCI-E交换芯片、通用输入/输出控制器以及PCI-E设备,其特征在于:
所述CPU通过PCI-E协议与所述PCI-E交换芯片连接通信;
所述PCI-E交换芯片下挂接PCI-E设备;
所述CPU通过硬件通信协议与所述通用输入/输出控制器连接;
所述通用输入/输出控制器通过硬件通信协议与所述PCI-E设备连接通信;
所述CPU中配置有如权利要求8-14任一所述的热插拔处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310259594.3A CN103412836B (zh) | 2013-06-26 | 2013-06-26 | 热插拔处理方法、装置以及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310259594.3A CN103412836B (zh) | 2013-06-26 | 2013-06-26 | 热插拔处理方法、装置以及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103412836A CN103412836A (zh) | 2013-11-27 |
CN103412836B true CN103412836B (zh) | 2016-08-10 |
Family
ID=49605849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310259594.3A Active CN103412836B (zh) | 2013-06-26 | 2013-06-26 | 热插拔处理方法、装置以及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412836B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708596B (zh) * | 2015-11-13 | 2020-02-14 | 华为技术有限公司 | 一种输入输出虚拟化资源的调整方法及处理器 |
CN105700975B (zh) * | 2016-01-08 | 2019-05-24 | 华为技术有限公司 | 一种中央处理器cpu热移除、热添加方法及装置 |
US9953001B2 (en) * | 2016-04-01 | 2018-04-24 | Intel Corporation | Method, apparatus, and system for plugin mechanism of computer extension bus |
CN107357754A (zh) * | 2017-07-19 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种优化的pcie设备热插拔下电方法 |
CN109308236A (zh) * | 2018-09-17 | 2019-02-05 | 郑州云海信息技术有限公司 | 一种热插拔功能测试方法、装置及相关设备 |
CN110955624B (zh) * | 2018-09-26 | 2023-08-15 | 阿里巴巴集团控股有限公司 | 一种pcie设备的热插拔方法、装置和*** |
CN114661648B (zh) * | 2022-04-01 | 2024-05-31 | 北京和利时***工程有限公司 | 热插拔方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1936875A (zh) * | 2005-09-23 | 2007-03-28 | 英业达股份有限公司 | 热插拔控制***及方法 |
CN101082894A (zh) * | 2006-05-30 | 2007-12-05 | 英业达股份有限公司 | 高速周边组件连接接口设备的热插拔***及其方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065597B2 (en) * | 2002-06-28 | 2006-06-20 | Intel Corporation | Method and apparatus for in-band signaling of runtime general purpose events |
JP4810349B2 (ja) * | 2006-08-11 | 2011-11-09 | 日本電気株式会社 | I/o装置及び方法 |
-
2013
- 2013-06-26 CN CN201310259594.3A patent/CN103412836B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1936875A (zh) * | 2005-09-23 | 2007-03-28 | 英业达股份有限公司 | 热插拔控制***及方法 |
CN101082894A (zh) * | 2006-05-30 | 2007-12-05 | 英业达股份有限公司 | 高速周边组件连接接口设备的热插拔***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103412836A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412836B (zh) | 热插拔处理方法、装置以及*** | |
CN101930419B (zh) | 热插拔方法、热插拔控制装置和热插拔卡*** | |
CN105677420B (zh) | 一种接口管脚配置的方法及装置 | |
CN103530265B (zh) | 实现电子设备的cf卡安全热插拔的装置及方法 | |
CN105955911B (zh) | 一种热插拔控制电路及其控制方法 | |
CN106487721B (zh) | 网络设备和用于网络设备中的报文转发方法 | |
CN104054064B (zh) | 基于接口耦合的灵活的端口配置 | |
CN105224483B (zh) | 数据传输方法、电子设备及通用串行总线设备 | |
CN105677596B (zh) | 一种控制方法及电子设备 | |
CN106649021A (zh) | PCIe从设备测试装置 | |
CN109271177A (zh) | 一种自动加载PCIE Switch产品配置参数的方法和*** | |
WO2018223253A1 (zh) | 一种运动控制卡、运动控制***、机器人***及数控机床 | |
CN103106113A (zh) | 一种中断事件处理方法和处理设备 | |
CN102073602A (zh) | 计算机***、连接控制装置及连接与断开方法 | |
CN101666855B (zh) | 一种集成电路的通用测试***和方法 | |
CN102508659A (zh) | 一种Linux下PCI EXPRESS热插拔的方法 | |
CN106464824B (zh) | 引脚控制方法及装置 | |
CN102880235A (zh) | 基于龙芯2f cpu的单板计算机及其复位管理和使用方法 | |
CN103795586A (zh) | 切换式通信接口检测方法及其装置 | |
CN102147739A (zh) | 多主机板服务器***及其网络驱动方法 | |
CN105677606A (zh) | 总线设备的热插拔方法及总线装置 | |
CN105068962A (zh) | I2c控制器访问方法及*** | |
CN113630294B (zh) | 一种交换机模块化检测方法和装置 | |
CN204706031U (zh) | 串行外设接口spi总线电路以及电子设备 | |
CN105511995B (zh) | 一种图形处理器验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211221 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |