CN101727430B - 一种板卡的热插拔方法和装置 - Google Patents
一种板卡的热插拔方法和装置 Download PDFInfo
- Publication number
- CN101727430B CN101727430B CN2009102216298A CN200910221629A CN101727430B CN 101727430 B CN101727430 B CN 101727430B CN 2009102216298 A CN2009102216298 A CN 2009102216298A CN 200910221629 A CN200910221629 A CN 200910221629A CN 101727430 B CN101727430 B CN 101727430B
- Authority
- CN
- China
- Prior art keywords
- subcard
- jigsaw
- hot plug
- communication
- assembly
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种板卡的热插拔装置,包括:前拼子卡、后拼板;其中,前拼子卡,用于插接于后拼板,进行上电复位并与后拼板进行热插拔通信握手,以及初始化操作;后拼板,用于供前拼子卡插接,与前拼子卡进行热插拔通信握手,并复位前拼子卡,为前拼子卡加载驱动程序,完成前拼子卡的初始化。相应地,本发明提供一种板卡的热插拔方法,包括:前拼子卡插接于后拼板,进行上电复位并与后拼板进行热插拔通信握手;热插拔通信握手成功后,后拼板为前拼子卡加载驱动程序,完成前拼子卡的初始化。因此,本发明能够简单方便灵活地热插拔板卡,并能降低热插拔对系统的影响。
Description
技术领域
本发明涉及硬件系统中单板热插拔技术,特别是涉及一种板卡的热插拔方法和装置。
背景技术
热插拔(hot-plugging或hot swap)即带电插拔,有时也称为热替换(hotreplacement)、热添加(hot expansion)和热升级(hot upgrade)等。热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等。通常,热插拔采用对信号进行隔离缓冲处理,以对热插拔的设备的元器件、芯片进行保护。例如:一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。而热插拔最早出现在服务器领域,是为了提高服务器的实用性而提出的,在平时用的电脑中一般都有USB接口,这种接口就能够实现热插拔。如果没有热插拔功能,即使磁盘损坏未造成数据的丢失,用户仍然需要暂时关闭系统,以便能够对硬盘进行更换。然而,若使用热插拔技术,则只要简单的打开连接开关或者转动手柄就可以直接取出硬盘,而系统仍然可以不间断地正常运行。
目前,热插拔的应用非常广泛,例如:中国专利申请号为200410022180.x“单板热插拔控制方法及具有热拔插控制模块的板卡”的文件中提出:通过I2C(Inter-Integrated Circuit)总线控制对外部设备互连(PCI,Peripheral ComponentInterconnect)总线的隔离来实现板卡热拔插控制,但它存在以下不足:
1)该专利申请文件提出的技术方案采用I2C两线式串行总线,I2C总线接口控制板卡热插拔状态,这样板卡必须增设I2C接口处理器件,增加了系统开销和使用的局限性;另外,热插拔隔离处理系统必须通过I2C总线与各热插拔板卡电连接,也限制了系统的组成结构。
2)在该专利申请文件提出的技术方案中,I2C总线外挂板卡数量受到一定的限制,同时I2C总线通信加重了主处理器的负担,提高了系统的复杂度,增加了系统的开发难度并且降低了系统的可靠性。
又如:美国专利公开号为US6026458“system with pluggable adapter card andhot-swap interface controller”(可插拔适配器卡和热插拔接口控制器系统)的文件中,提出P沟道MOS管进行硬件上电缓启动来判断和实现板卡热插拔,即通过对电源上电缓启动进行保护,但没有对单板总线和其他通信接口热插拔时进行直接保护,而其中最大的不足是采用单向的保护,对对方的热插拔的冲击保护不够,加重了器件的负担,降低了系统的可靠性。
发明内容
有鉴于此,本发明的主要目的在于提供一种板卡的热插拔方法和装置,能简单方便灵活地热插拔板卡,并能降低热插拔对系统的影响。
为达到上述目的,本发明公开了一种板卡的热插拔装置,包括:前拼子卡、后拼板;其中,前拼子卡,用于插接于后拼板,进行上电复位并与后拼板进行热插拔通信握手,以及初始化操作;后拼板,用于供前拼子卡插接,与前拼子卡进行热插拔通信握手,并复位前拼子卡,为前拼子卡加载驱动程序,完成前拼子卡的初始化。
其中,所述前拼子卡还用于:实现各种对外接口;以及,在上电完成后,向后拼板发送通信请求,后拼板在收到前拼子卡的通信请求后,与前拼子卡进行热插拔通信握手。
上述装置中,所述后拼板还用于:检测是否有前拼子卡插入;和/或,检测前拼子卡是否连接于后拼板;和/或,读取前拼子卡的单板信息,并根据读取得到的前拼子卡的单板信息,分别为前拼子卡的现场可编程门阵列FPGA及其他功能芯片加载驱动程序。
其中,所述前拼子卡包括:第一逻辑控制模块,用于逻辑控制各模块间的信号,进行热插拔通信握手,以及控制第一隔离模块、第一通信接口模块的开关;上电复位模块,用于根据后拼板的复位命令和电源开关命令复位前拼子卡、打开或关闭前拼子卡的电源;第一隔离模块,用于实现前拼子卡与后拼板之间接口的物理隔离;第一通信接口模块,用于提供前拼子卡的各种总线接口、及与后拼板之间的通信通道;FPGA及其他功能芯片,用于根据实际需要来实现不同的对外接口。
上述装置中,所述后拼板包括:第二逻辑控制模块,用于逻辑控制各模块间的信号,进行热插拔通信握手,控制第二隔离模块、第二通信接口模块的开关,以及向前拼子卡发送复位信号、程序加载指示信号和电源开关命令;第二隔离模块,用于实现与前拼子卡之间接口的物理隔离;第二通信接口模块,用于提供各种总线接口、以及与前拼子卡之间的通信通道。
其中,所述后拼板还用于:后拼板关闭前拼子卡的电源,拔出前拼子卡;或者,后拼板关闭第二隔离模块,拔出前拼子卡。
相应地,本发明提供一种板卡的热插拔方法,包括:前拼子卡插接于后拼板,进行上电复位并与后拼板进行热插拔通信握手;热插拔通信握手成功后,后拼板为前拼子卡加载驱动程序,完成前拼子卡的初始化。
其中,该方法还包括:后拼板关闭前拼子卡的电源,拔出前拼子卡;或者,后拼板关闭设置于其内的第二隔离模块,拔出前拼子卡。
上述方法中,所述前拼子卡进行上电复位并与后拼板进行热插拔通信握手包括:前拼子卡进行上电,并使前拼子卡在上电过程中处于复位状态直到上电完成;上电完成后,前拼子卡通知后拼板上电完成并向后拼板发送通信请求,后拼板与前拼子卡进行热插拔通信握手;在握手成功时,后拼板返回允许通信应答信号给前拼子卡,并打开设置于后拼板内的第二隔离模块和第二通信接口模块,使前拼子卡与后拼板通信正常;后拼板向前拼子卡输出正常的复位信号,复位前拼子卡。
其中,所述后拼板为前拼子卡加载驱动程序包括:后拼板在前拼子卡上电复位完成后,延迟一定的时间间隔读取前拼子卡的单板信息,并根据读取得到的前拼子卡的单板信息,分别为前拼子卡的FPGA及其他功能芯片加载驱动程序。
由以上技术方案可以看出,本发明通过增设两个隔离模块,实现热插拔过程中对上电、复位信号及相关逻辑的控制,因此本发明对系统要求较低,实现容易,成本很低。例如:逻辑控制通过原来单板中就用的可编程逻辑器件(PLD,Programmable Logic Device)实现。同时,本发明降低了系统开发的难度并提高了系统的可靠性,且本发明的实现电路简单、元件少,这是因为本发明根据可靠性模型进行设计从而减少了所使用的元件,降低了系统开销。
而且,本发明支持单板热插拔的系统功能板包括前拼子卡和后拼板,前拼子卡通过采用上电控制、复位延时及控制逻辑,并引入热插拔通信握手信号完成前拼子卡与后拼板通信握手,以实现了热插拔;并在系统允许后打开后拼板与前拼子卡的通信通道,进行驱动加载,便可完成前拼子卡的初始化使其能够正常工作。此外,本发明可通过更换前拼子卡来实现支持不同的对外接口,如:光纤、网线等。这里,所述对外接口是指对外的用户接口,也就是前拼子卡插入后拼板后的对外接口,用户根据不同需要可以接网线或者光纤等。因此,只要更换前拼子卡就可以实现支持不同的接口,而且本发明对前拼子卡和后拼板之间的通信接口是没有要求的,如PCI接口、局部总线(LOCAL_BUS)接口等均可作为前拼子卡和后拼板的通信接口,所以本发明对接口没有特殊要求,适用范围广。可见,本发明能够方便灵活的实现各种对外接口降低了对支持热插拔电路接口的要求,能够根据具体情况对系统进行选择性设计,实现上灵活、易用,所以更具有普遍性。
另外,本发明利用上电、复位信号控制及相关逻辑控制,在保证热插拔单板时对正在运行系统冲击最小的前提下,实现热插拔电路达到最简单和最优化,最大程度上减小热插拔单板对正在运行中的系统的冲击。因此,本发明能够实现硬件系统单板上电的情况下,对单板进行热插拔并保证单板及系统正常工作。
综上所述,本发明实现了一种对系统要求低、影响小、可靠性高,实现简单方便灵活的支持板卡热插拔的方法及装置。
附图说明
图1为本发明板卡的热插拔装置的组成结构示意图;
图2为本发明板卡的热插拔方法的实现流程示意图。
具体实施方式
本发明的基本思想在于:利用物理接口隔离以及上电、复位(reset)信号及相关逻辑控制,在保证热插拔单板时对正在运行系统冲击最小的前提下,实现热插拔电路达到最简单和最优化。
为使本发明上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施例对本发明作进一步详细的说明。
下面先来描述一下本发明板卡热插拔的装置实施例,如图1所示,该装置的组成结构主要包括:前拼子卡11和后拼板12。其中:
前拼子卡11,即业务接口板,用于插接于后拼板12,进行上电复位并与后拼板12进行热插拔通信握手、以及初始化操作;
这里,通过更换前拼子卡11就能够支持不同的接口,其中,更换前拼子卡11的操作可在系统运行中进行即该前拼子卡11可热插拔,这种更换方式非常方便灵活。
后拼板12,即主控功能板,用于供前拼子卡11插接,与前拼子卡11进行热插拔通信握手,并复位前拼子卡11以及为前拼子卡11加载驱动程序,完成前拼子卡11的初始化。所述后拼板12为系统工作主功能板,具有总线通信、控制、上电、复位、中断控制、逻辑控制等功能。
其中,所述前拼子卡11还用于实现各种对外接口,由于前拼子卡11具有不同的子卡类型,而该子卡类型可按照不同的功能和接口进行划分,所以通过更换前拼子卡11来实现支持不同的对外接口,如光纤接口、网线接口等。而且,本实施例对前拼子卡和后拼板之间的通信接口是没有要求的,因此,本实施例对接口没有特殊要求,能方便灵活地实现各种对外接口,适用范围极广。这里,所述对外接口是指对外的用户接口,也就是前拼子卡插入后拼板后的对外接口, 用户根据不同需要可以接网线或者光纤等。
上述装置中,所述前拼子卡11还用于在上电完成后,向后拼板12发送通信请求,后拼板12与前拼子卡11进行热插拔通信握手。其中,所述前拼子卡11包括:第一逻辑控制模块103、上电复位模块105、第一隔离模块107、第一通信接口模块109、现场可编程门阵列(FPGA)其他功能芯片110等。其中:
第一逻辑控制模块103,用于逻辑控制各模块间的信号,进行热插拔通信握手,以及控制第一隔离模块107、第一通信接口模块109的开关。例如:第一逻辑控制模块103通过对各信号的逻辑控制来打开第一隔离模块107、第一通信接口模块109。其中,第一逻辑控制模块103对各信号的逻辑控制包括:
1)发送第一隔离模块107的开关控制信号(OE1)、中断信号(INT),第一通信接口模块109的开关控制信号(OE3)等。这里,可通过第一逻辑控制模块103输出的开关控制信号OE1来打开/关闭的第一隔离模块107;
需要说明的是,开关控制信号OE1、OE3是控制第一隔离模块107、第一通信接口模块109的开关信号。通常第一隔离模块107、第一通信接口模块109是默认打开的,或者也可在通信握手完成后分别通过OE1、OE3来打开第一隔离模块107、第一通信接口模块109,如设置OE1、OE3的低电平状态为打开信号。
另外,中断信号是指前拼子卡11的第一逻辑控制模块103在检测有异常或出错时,向后拼板12输出的中断信号,报告有异常或出错,INT信号相当于告警信号。这样,后拼板12在收到INT信号后会启动相应逻辑进行检测前拼子卡11的异常或错误。
2)发送热插拔指示、前拼子卡11插入系统指示,并向后拼板12发送通信请求,以及接收后拼板12返回的允许通信应答;例如:前拼子卡11插入指示(MATE_OK)信号、PLD热插拔通信握手(PLD_OK)信号、握手应答(PLD_OK_BK)信号。该第一逻辑控制模块103功能可由PLD和一些外接电阻来实现。
上电复位模块105,用于根据后拼板的复位命令和电源开关命令复位前拼子卡11、打开或关闭前拼子卡11的电源;
其中,前拼子卡11的电源开关POWER_EN在正常情况下处于使能状态,即:前拼子卡11的电源是默认打开的,一插入就有电,只有当上电复位模块105判断到前拼子卡11损坏或工作异常、或者前拼子卡11无业务需要而进入节电状态时,才通过控制命令关闭前拼子卡11的电源。
第一隔离模块107,用于实现前拼子卡11与后拼板12之间接口的物理隔离。其中,该第一隔离模块107由支持热插拔器件构成,所述热插拔器件可由SN74LVTH16245、PI3B16244等芯片形成。
第一通信接口模块109,用于提供前拼子卡11的各种总线接口、以及与后拼板12之间的通信通道,总线接口主要包括:高速串行总线(PCIE,PCI Express)、局部总线LOCAL_BUS、以及其他需要的总线如系统时钟总线等。前拼子卡11的第一隔离模块107和第一通信接口模块109可设置为默认打开,也可通过设置由第一逻辑控制模块103通过开关控制信号OE1、OE3来打开第一隔离模块107和第一通信接口模块109。
FPGA及其他功能芯片110,用于实现不同的对外接口,主要根据实际需要来实现一些基本的逻辑门电路或更复杂一些的组合功能。其中,这里的FPGA和其他功能芯片是前拼子卡11的功能芯片,前拼子卡11就是依靠这些芯片来实现不同的对外接口,如光纤接口、网线接口等。
上述装置中,后拼板12还用于:检测是否有前拼子卡11插入;和/或,检测前拼子卡11是否连接于后拼板或是否在位。后拼板12具体用于:读取前拼子卡11的单板信息,并根据读取得到的前拼子卡11的单板信息,分别为前拼子卡11的FPGA及其他功能芯片110加载驱动程序。其中,所述后拼板12包括:第二逻辑控制模块104、第二隔离模块106、第二通信接口模块108;其中:
第二逻辑控制模块104,用于逻辑控制各模块间的信号,进行热插拔通信握手,控制第二隔离模块106、第二通信接口模块108的开关,以及向前拼子卡11发送复位信号、程序加载指示信号和电源开关命令等。其中,第二逻辑控制模块104还用于控制前拼子卡的电源开关,可通过发送电源开关命令来打开或关闭前拼子卡的电源。
这里,对各信号的逻辑控制包括:
1)发送第二隔离模块106的开关控制信号(OE2)、中断信号INT、复位信号、第二通信接口模块108的开关控制信号(OE4)等;
需要说明的是,开关控制信号OE2、OE4分别是控制第二隔离模块106、第二通信接口模块108的开关信号。通常在通信握手完成后,分别通过OE2、OE4来打开第二隔离模块106、第二通信接口模块108。
2)与前拼子卡11进行热插拔交互,如接收热插拔指示、前拼子卡11插入系统指示、发送后拼板12返回允许通信应答等。该第二逻辑控制模块104功能可由PLD和一些外接电阻来实现;
3)通过控制前拼子卡11的电源开关POWER_EN的使能状态来控制前拼子卡11的电源,即:后拼板12先将POWER_EN由使能状态调整为截止状态,关闭前拼子卡11的电源,再拔出前拼子卡11,如此便实现了热拔前拼子卡11。
第二隔离模块106,用于实现后拼板12与前拼子卡11之间接口的物理隔离,由支持热插拔器件构成。后拼板12打开其第二隔离模块106,与默认打开的第一隔离模块107共同使后拼板12和前拼子卡11之间的信号通道得以开通,实现前拼子卡11与后拼板12之间的正常通信,包括:reset信号、INT信号及其它逻辑信号、LOCAL_BUS转换及寄存器赋初值等都能够在前拼子卡11和后拼板12之间正常进行通信。这里,需要指出的是,后拼板12除了通过关闭前拼子卡11的电源来实现热拔前拼子卡之外,通过关闭第二隔离模块106,也能够实现热拔前拼子卡11。
第二通信接口模块108,用于提供后拼板12的各种总线接口,以及与前拼子卡11之间的通信通道。例如:PCIE、LOCAL_BUS、系统时钟等。
以上说明了板卡的热插拔装置实施例,下面来描述一下本发明板卡的热插拔方法实施例。在本实施例中,系统功能板包括前拼子卡和后拼板,前拼子卡通过采用上电控制、复位延时及控制逻辑,并引入热插拔通信握手信号完成前拼子卡与后拼板的热插拔通信握手,以实现热插拔;并通过打开后拼板的第二隔离模块、第一隔离模块使后拼板与前拼子卡的通信通道开通,实现前拼子卡 与后拼板间的正常通信,后拼板为前拼子卡加载驱动程序并完成前拼子卡的初始化,使前拼子卡能够正常工作。其中,后拼板具有总线通信、控制、上电、复位、中断控制、逻辑控制等功能。这里,本实施例进行的热插拔是通过热插拔前拼子卡来实现的。
这里,本实施例的板卡热插拔的方法实现流程可参照图2所示,主要包括以下步骤:
步骤201,前拼子卡接入系统;
将前拼子卡插入后拼板,接入正在运行的系统。
步骤202,后拼板的第二逻辑控制模块判断是否有前拼子卡插入,如果没有前拼子卡插入,则等待一定时间间隔后继续判断是否有前拼子卡插入;如果有前拼子卡插入,则执行步骤203;
前拼子卡在插入后拼板后且未上电之前,前拼子卡的下拉电阻会将前拼子卡插入指示MATE_OK信号拉低至低电平,表示有前拼子卡插入,因此第二逻辑控制模块读取寄存器得到MATE_OK信号,进而通过判断MATE_OK信号是否为低电平来判断是否有前拼子卡插入,例如:若读取到的MATE_OK信号是逻辑0,则表示有前拼子卡插入。需要指出的是,本实施例的低电平用逻辑0表示,而高电平用逻辑1表示。
由于在前拼子卡上电完成以前,前拼子卡的第一逻辑控制模块没有电,所以没有PLD_OK信号输出。PLD_OK在后拼板上被电阻拉低至低电平(用逻辑0表示),因此后拼板的第二逻辑控制模块接收的PLD_OK信号为逻辑0,则不会打开第二隔离模块和第二通信接口模块。
另外,需要说明的是,后拼板可定时轮询如等待一定时间间隔后继续判断是否有前拼子卡插入、或检测前拼子卡是否连接于后拼板等,或者主动选择时间来查询是否有前拼子卡插入、或检测前拼子卡是否连接于后拼板等,这可根据实际情况选择判断是否有前拼子卡插入的方式。其中,所述一定时间间隔可结合实际情况根据经验而定,如采用10ms为一个时间间隔。
步骤203,前拼子卡进行上电,后拼板则输出复位信号使前拼子卡处于复位 状态;
这里,后拼板会一直输出reset信号复位前拼子卡,前拼子卡的上电复位模块的reset信号被其下拉电阻拉低至低电平,使前拼子卡上的芯片一直处于复位状态。这种状态可持续到通信握手完成后或者第二隔离模块打开之后,即在通信通道正常后,后拼板会输出一个标准的复位信号给前拼子卡,这就是复位延时的过程。此处,使前拼子卡上的芯片一直处于复位状态主要是为了增加可靠性。
另外,前拼子卡输出的中断INT信号并不起作用,因为第二隔离模块没有打开,后拼板的INT信号输入在进入第二逻辑控制模块之前被电阻拉高至高电平(用逻辑1表示),而INT信号为逻辑0时才有效,所以此时前拼子卡输出的中断信号不起作用。
步骤204,前拼子卡上电完成后,向后拼板发送通信请求,后拼板与前拼子卡进行热插拔通信握手并判断热插拔通信是否握手成功,如果握手不成功,则隔一定时间继续判断热插拔通信是否握手成功;如果握手成功,则执行步骤205;
后拼板收到通信请求后,得知前拼子卡上电完成,通过第二逻辑控制模块与前拼子卡的第一逻辑控制模块完成热插拔通信握手。随着前拼子卡上电,第一逻辑控制模块输出PLD_OK信号被拉高,前拼子卡上电完成后,PLD_OK信号被拉至为高电平。因此,后拼板通过判断其第二逻辑控制模块接收到的PLD_OK信号是否为高电平来判断热插拔通信是否握手成功。例如:若接收到的PLD_OK信号为逻辑1,则代表热插拔通信握手成功。
另外,若热插拔通信握手不成功,如接收到的PLD_OK信号为逻辑0,则拼板逻辑控制模块隔一定时间如10ms重新读取寄存器来获取PLD_OK信号,以再次判断热插拔通信是否握手成功。需要说明的是,本实施例在读取到PLD_OK信号为逻辑1后,为了增强可靠性,可再连续读取2~3次的PLD_OK信号,以保证PLD_OK信号确实处于为高电平状态。
步骤205,后拼板返回允许通信应答信号给前拼子卡的第一逻辑控制模块;
热插拔通信握手成功后,后拼板的第二逻辑控制模块向第一逻辑控制模块 反馈允许通信应答信号如握手应答(PLD_OK_BK)信号,表示热插拔通信握手成功。需要说明的是,PLD_OK_BK信号为备用信号,可根据实际情况进行选择性反馈,也就是说,后拼板并不是必须要反馈握手应答信号。
步骤206,后拼板打开第二隔离模块和第二通信接口模块,前拼子卡与后拼板通信正常;
后拼板打开其第二隔离模块和第二通信接口模块,使后拼板和前拼子卡之间的通信通道得以开通,使reset信号、INT信号及其它逻辑信号能够在前拼子卡和后拼板之间进行正常通信。其中,第二逻辑控制模块分别向第二隔离模块和第二通信接口模块发送开关控制信号OE2、OE4,来打开第二隔离模块和第二通信接口模块,而前拼子卡的第一隔离模块和第一通信接口模块则是默认打开,这是因为只要有一个隔离模块关闭即可起到隔离作用。
需要说明的是,也可通过设置由第一逻辑控制模块通过开关控制信号OE1、OE3来打开第一隔离模块和第一通信接口模块。
步骤207,后拼板向前拼子卡输出标准的复位信号,复位前拼子卡;
后拼板通过第二逻辑控制模块给前拼子卡的上电复位模块持续输出标准的reset信号如:输出200ms的低电平信号后输出高电平,将reset信号拉高使reset信号由低电平后变为高电平,并一直保持高电平状态。这样,便给了前拼子卡一个正常的上电复位(power on reset)使得前拼子卡上的芯片处于高电平状态,即正常工作状态。
步骤208,前拼子卡上电复位后,启动第一逻辑控制模块相应逻辑;
所述第一逻辑控制模块的相应逻辑包括:局部总线LOCAL_BUS转换、寄存器赋初值等。其中,PLD逻辑芯片上电完成后,第一逻辑控制模块寄存器赋初始值,该初始值也可为寄存器的默认值。
步骤209,在前拼子卡上电复位完成后,后拼板延迟一定的时间间隔读取前拼子卡的单板信息;
为了稳定和安全,后拼板在上电复位完成后再延迟一定时间间隔如10ms后,允许后拼板底层的驱动程序读取寄存器,获取前拼子卡的单板信息如子卡 类型。其中,所述子卡类型是指:根据前拼子卡功能和接口的不同而分为不同的子卡类型,后拼板通过读取寄存器值得知前拼子卡类型的号码。
步骤210,后拼板根据读取到的前拼子卡板的单板类型,启动第二通信接口模块为前拼子卡的FPGA等其他功能芯片加载相应的驱动程序;
后拼板根据前拼子卡不同的类型加载相应程序,如启动前拼子卡FPGA等其他功能芯片的程序加载;然后,后拼板给前拼子卡加载相应的程序代码。
需要指出的是,后拼板会根据逻辑控制依次加载芯片的驱动程序,以完成前拼子卡初始化。此处,FPGA及其他功能芯片能够实现前拼子卡不同的对外接口,本步骤先对FPGA的程序进行加载。本实施例通过更换前拼子卡来实现支持不同的对外接口,如光纤接口、网线接口等。其中,所述对外接口是指对外的用户接口,也就是前拼子卡插入后拼板后作为整体为用户提供的对外接口,用户根据不同需要可以接网线或者光纤等。而且本实施例对前拼子卡和后拼板之间的通信接口是没有要求的,如PCI接口、局部总线LOCAL_BUS接口等均可作为前拼子卡和后拼板的通信接口。
步骤211,后拼板判断驱动程序是否加载成功,如果未加载成功,则返回步骤210;如果加载成功,则执行步骤212;
其中,后拼板的第二逻辑控制模块通过检测是否收到program_ok信号,来判断FPGA的驱动程序是否加载成功。如果收到加载成功program_ok信号,则FPGA的驱动程序加载成功。
步骤212,后拼板为其他芯片加载驱动程序,完成前拼子卡的初始化,使前拼子卡正常工作;
这里,对前拼子卡进行驱动程序加载是指:先对FPGA的程序进行加载,然后加载其他芯片需要加载的驱动程序,完成所有芯片的驱动程序加载,这样芯片即可按照相应的程序正常工作了。本实施例中,前拼子卡的FPGA加载完成和其他功能芯片初始化的完成可作为前拼子卡的热插入操作的完成标志。
步骤213,结束本次热插前拼子卡的操作流程。
至此,以上描述了热插前拼子卡的实现过程,而对于热拔的操作流程则相 对简单,主要包括以下两种方式:
I、后拼板通过控制前拼子卡的电源开关POWER_EN的使能状态来控制前拼子卡的电源,即:后拼板先将POWER_EN由使能状态调整为截止状态,关闭前拼子卡的电源,再拔出前拼子卡,如此便实现了热拔前拼子卡;
II、后拼板关闭第二隔离模块,然后拔出前拼子卡,这也能够实现热拔前拼子卡。
可见,本发明能够方便灵活的实现各种对外接口降低了对支持热插拔电路接口的要求,能够根据具体情况对系统进行选择性设计,实现上灵活、易用,所以更具有普遍性。
对于上述的各实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述即可。以上所述,仅为本发明的较佳实施例而已,只是用来说明和解释本发明,并非用于限定本发明的保护范围。在本发明的精神和权利要求保护范围之内,对本发明所作的任何修改、等同替换,都落入本发明的保护范围。
Claims (10)
1.一种板卡的热插拔装置,其特征在于,包括:前拼子卡、后拼板;其中,
前拼子卡,用于插接于后拼板,进行上电复位并与后拼板进行热插拔通信握手,以及初始化操作;
后拼板,用于供前拼子卡插接,与前拼子卡进行热插拔通信握手,并复位前拼子卡,为前拼子卡加载驱动程序,完成前拼子卡的初始化。
2.根据权利要求1所述的板卡的热插拔装置,其特征在于,所述前拼子卡还用于:
实现各种对外接口;以及,
在上电完成后,向后拼板发送通信请求,后拼板在收到前拼子卡的通信请求后,与前拼子卡进行热插拔通信握手。
3.根据权利要求1所述的板卡的热插拔装置,其特征在于,所述后拼板还用于:
检测是否有前拼子卡插入;和/或,
检测前拼子卡是否连接于后拼板;和/或,
读取前拼子卡的单板信息,并根据读取得到的前拼子卡的单板信息,分别为前拼子卡的现场可编程门阵列FPGA及其他功能芯片加载驱动程序。
4.根据权利要求1、或2、或3所述的板卡的热插拔装置,其特征在于,所述前拼子卡包括:
第一逻辑控制模块,用于逻辑控制各模块间的信号,进行热插拔通信握手,以及控制第一隔离模块、第一通信接口模块的开关;
上电复位模块,用于根据后拼板的复位命令和电源开关命令复位前拼子卡、打开或关闭前拼子卡的电源;
第一隔离模块,用于实现前拼子卡与后拼板之间接口的物理隔离;
第一通信接口模块,用于提供前拼子卡的各种总线接口、及与后拼板之间的通信通道;
FPGA及其他功能芯片,用于根据实际需要来实现不同的对外接口。
5.根据权利要求1、或2、或3所述的板卡的热插拔装置,其特征在于,所述后拼板包括:
第二逻辑控制模块,用于逻辑控制各模块间的信号,进行热插拔通信握手,控制第二隔离模块、第二通信接口模块的开关,以及向前拼子卡发送复位信号、程序加载指示信号和电源开关命令;
第二隔离模块,用于实现与前拼子卡之间接口的物理隔离;
第二通信接口模块,用于提供各种总线接口、以及与前拼子卡之间的通信通道。
6.根据权利要求5所述的板卡的热插拔装置,其特征在于,所述后拼板还用于:
后拼板关闭前拼子卡的电源,拔出前拼子卡;或者,
后拼板关闭第二隔离模块,拔出前拼子卡。
7.一种板卡的热插拔方法,其特征在于,包括:
前拼子卡插接于后拼板,进行上电复位并与后拼板进行热插拔通信握手;
热插拔通信握手成功后,后拼板为前拼子卡加载驱动程序,完成前拼子卡的初始化。
8.根据权利要求7所述的板卡的热插拔方法,其特征在于,该方法还包括:
后拼板关闭前拼子卡的电源,拔出前拼子卡;或者,
后拼板关闭设置于其内的第二隔离模块,拔出前拼子卡。
9.根据权利要求7所述的板卡的热插拔方法,其特征在于,所述前拼子卡进行上电复位并与后拼板进行热插拔通信握手包括:
前拼子卡进行上电,并使前拼子卡在上电过程中处于复位状态直到上电完成;上电完成后,前拼子卡通知后拼板上电完成并向后拼板发送通信请求,后拼板与前拼子卡进行热插拔通信握手;
在握手成功时,后拼板返回允许通信应答信号给前拼子卡,并打开设置于后拼板内的第二隔离模块和第二通信接口模块,使前拼子卡与后拼板通信正常;
后拼板向前拼子卡输出正常的复位信号,复位前拼子卡。
10.根据权利要求7、或8、或9所述的板卡的热插拔方法,其特征在于,所述后拼板为前拼子卡加载驱动程序包括:
后拼板在前拼子卡上电复位完成后,延迟一定的时间间隔读取前拼子卡的单板信息,并根据读取得到的前拼子卡的单板信息,分别为前拼子卡的FPGA及其他功能芯片加载驱动程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102216298A CN101727430B (zh) | 2009-11-11 | 2009-11-11 | 一种板卡的热插拔方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102216298A CN101727430B (zh) | 2009-11-11 | 2009-11-11 | 一种板卡的热插拔方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101727430A CN101727430A (zh) | 2010-06-09 |
CN101727430B true CN101727430B (zh) | 2012-06-06 |
Family
ID=42448333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102216298A Active CN101727430B (zh) | 2009-11-11 | 2009-11-11 | 一种板卡的热插拔方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101727430B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176935A (zh) * | 2011-12-23 | 2013-06-26 | 闻泰通讯股份有限公司 | 一种支持热插拔的并行总线接口通信方法 |
CN102681968B (zh) * | 2012-05-25 | 2015-03-18 | 山西联华伟业科技有限公司 | 可热插拔槽位识别电路 |
CN104461989B (zh) * | 2013-09-24 | 2018-06-01 | 联想(北京)有限公司 | 一种接口模块带电插拔的方法和设备 |
CN104811016B (zh) * | 2014-01-29 | 2018-07-17 | 安川电机(中国)有限公司 | 电力变换装置、控制回路和电力系统 |
US9892712B2 (en) * | 2014-12-08 | 2018-02-13 | Intel Corporation | Filtering hot plug detect signals |
CN106326167A (zh) * | 2015-06-17 | 2017-01-11 | 中兴通讯股份有限公司 | 一种基于pcie子卡热插拔的方法及装置 |
CN106776421A (zh) * | 2016-11-18 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种带Retimer的PCIE IOBOX及其热插拔方法 |
TWI686692B (zh) | 2018-12-21 | 2020-03-01 | 緯穎科技服務股份有限公司 | 電源控制方法及其相關電腦系統 |
CN110780626B (zh) * | 2019-10-31 | 2020-11-06 | 中国人民解放军海军工程大学 | 用于现场测试总线功能模块的热插拔系统及方法 |
CN112557714A (zh) * | 2020-12-10 | 2021-03-26 | 宁波迦南智能电气股份有限公司 | 一种多芯模组化智能电能表 |
CN112782731A (zh) * | 2020-12-14 | 2021-05-11 | 上海航天控制技术研究所 | 一种可自动适配的模块化卫星导航接收电路 |
CN113900487B (zh) * | 2021-10-15 | 2023-06-27 | 北京航天巨恒系统集成技术有限公司 | 一种板卡、计算机设备、板卡下电控制方法及装置 |
CN116168347B (zh) * | 2023-04-21 | 2023-07-14 | 四川华鲲振宇智能科技有限责任公司 | 一种芯片暴力热插拔自动监测保护系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1678087A (zh) * | 2004-03-31 | 2005-10-05 | 迈普(四川)通信技术有限公司 | 单板热插拔控制方法及具有热拔插控制模块的板卡 |
CN101782884A (zh) * | 2009-12-25 | 2010-07-21 | 福建星网锐捷网络有限公司 | 高速信号电路的热插拔实现方法、系统及热插拔电路板卡 |
CN101876962A (zh) * | 2009-12-15 | 2010-11-03 | 北京龙芯中科技术服务中心有限公司 | 一种实现主从板热插拔控制的方法及装置 |
-
2009
- 2009-11-11 CN CN2009102216298A patent/CN101727430B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1678087A (zh) * | 2004-03-31 | 2005-10-05 | 迈普(四川)通信技术有限公司 | 单板热插拔控制方法及具有热拔插控制模块的板卡 |
CN101876962A (zh) * | 2009-12-15 | 2010-11-03 | 北京龙芯中科技术服务中心有限公司 | 一种实现主从板热插拔控制的方法及装置 |
CN101782884A (zh) * | 2009-12-25 | 2010-07-21 | 福建星网锐捷网络有限公司 | 高速信号电路的热插拔实现方法、系统及热插拔电路板卡 |
Also Published As
Publication number | Publication date |
---|---|
CN101727430A (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727430B (zh) | 一种板卡的热插拔方法和装置 | |
EP1244973B1 (en) | System and method for providing hot swap capability using existing circuits and drivers with minimal changes | |
EP0698240B1 (en) | Apparatus and method for automatic recognition and configuration of a peripheral device | |
US7433991B2 (en) | Selector, selection method, and program product | |
US6141719A (en) | USB selector switch | |
US5898861A (en) | Transparent keyboard hot plug | |
CN1168022C (zh) | 用于检测连接外围设备的接口的类型的方法和装置 | |
US6415342B1 (en) | Universal serial bus controlled connect and disconnect | |
EP1384154B1 (en) | Communication interface for an electronic device | |
US20080098137A1 (en) | Protocol adapter for passing diagnostic messages between vehicle networks and a host computer | |
CN102004708A (zh) | 管理装置及其操作方法 | |
US20090198861A1 (en) | Device With A USB Interface Which Can Be Used As A Time-Sharing Standard I/O Interface And A Method Thereof | |
CN103019991A (zh) | 接口系统及切换方法、USB key及UART终端 | |
JPH10301899A (ja) | 電子機器及びインタフェース回路 | |
CN112463689A (zh) | 一种ocp卡热插拔装置、方法及计算机可读存储介质 | |
CN100361110C (zh) | 控制桥接器的方法与相关的桥接器装置 | |
CN111881074B (zh) | 电子系统、主机端装置及控制方法 | |
CN100476780C (zh) | 电子设备的信号接口自动识别方法 | |
US6886052B2 (en) | Apparatus and method for automatically identifying between USB and PS/2 interface | |
CN100447700C (zh) | 用于电子处理器的多功能便携设备 | |
US6892263B1 (en) | System and method for hot swapping daughtercards in high availability computer systems | |
JPH0567028A (ja) | 情報処理装置 | |
US6919878B2 (en) | Keyboard/mouse switching controller | |
CN115905072A (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 | |
CN113742160A (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 |