一种热插拔的实现方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种实现热插拔的技术。
背景技术
通常,在应用电子系统中,如果出现电路板硬件失效或软件故障,需要采取的措施是先关闭系统电源,再检修或更换故障设备。这种处理方式必然会消耗较长的停机时间。
在实际应用的很多环境中,如在高可靠通讯、军事应用电子系统中,如果出现单板故障,将要求整个系统在不停机的情况下,允许带电拔出故障板并插入备份板。对于能够实现这一要求的系统称为支持热插拔的系统或高可靠系统。
在热插拔(Hot Swap)系统中,首先需要有一个支持热插拔的系统平台,同时,还需要具有支持热插拔的单板。
目前,热插拔系统通常采用的是无源背板总线平台。在众多的无源背板总线系统中,Compact PCI(紧凑型外部设备互连标准)总线的应用最为广泛。Compact PCI总线是一种基于PCI标准的高性能工业总线,具有完整的支持热插拔的规范。
Compact PCI的热插拔方式有三种:基本热插拔(Basic Hot Swap)、全部热插拔(Full Hot Swap)和高可用热插拔(High Availability)。该三种热插拔方式是相互关联的,高可用热插拔是在全部热插拔基础上增加附加层和新的功能,全部热插拔又是在基本热插拔的基础上实现的。
下面将结合图1简要描述高可用热插拔的正常插入过程:
热插拔过程一般分为三个步骤:物理连接过程(P0-P1)、硬件连接过程(H0-H2)、软件连接过程(S0-S3)。
在H2状态,接口板与系统已建立了电气连接。由接口板自动产生ENUM#信号,并将该信号直接送给CompactPCI标准接插件J1的引脚上,操作系统响应此信号后,对系统作枚举操作,为接口板分配/释放资源,并实现接口板的初始化以及任务的加载(S0到S3状态)。
所述ENUM#信号即系统枚举信号,是热插拔系统中,接口板送给系统板一个信号,用来提示系统板有新的接口板插入/拔出,请求系统板分配/释放资源。系统对该信号的接收处理是实现热插拔的关键。
所述枚举操作是从单板(如接口板)插入系统(如总线系统)开始到单板的驱动程序能够使用该单板还有一段过程,这一段过程就被称作为单板的识别过程,又称为枚举过程或枚举操作。
在现有的技术中,常见的Compact PCI总线平台架构分为标准的CompactPCI总线系统和扩展的Compact PCI总线系统。
其中,标准的Compact PCI 总线系统是在一块无源背板上插一块系统板和最多7块频率为33M或者最多5块频率为66M的接口板。各接口板的ENUM#信号被做成总线形式,在背板上共用走线。
在实际应用中经常需要系统板以主备方式工作,且需要用到更多数量的接口板。为满足这一需求,便对标准的Compact PCI总线热插拔系统做了扩展,生成了所述的扩展的Compact PCI总线系统。在扩展的Compact PCI总线系统架构下,系统板包括一主一备共两块,其中每个系统板备有一块桥板,用来桥接更多的接口板,且各接口板的ENUM#信号在背板上单独走线,并全部接入桥板处理。
在扩展的cPCI系统中,热插拔功能在桥板上实现。桥板提供足够的引脚并为每个接口板都分配一个独立的引脚作为ENUM#信号引脚。当某个接口板产生热插拔操作时,桥板上会有对应的且唯一的一个引脚收到该接口板的ENUM#信号。而在标准的Compact PCI总线系统中,所有接口板的ENUM#信号都做成总线形式,最后汇成一个引脚接入系统板处理。当其中的任意一个接口板产生热插拔操作时,都会导致系统板的ENUM#信号有效。系统板接收到该信号后需要一一查询所有接口板设备相应的寄存器状态,即对所有接口板做枚举操作,才能判断到底是哪一个接口板产生的ENUM#信号。
两种不同的ENUM#信号处理机制决定了扩展的Compact PCI总线系统和标准的Compact PCI总线系统在ENUM#信号的走线上是不一致的,二者无法实现兼容,从而当标准Compact PCI系统板和接口板应用在扩展Compact PCI总线系统的背板上时,无法实现热插拔。
发明内容
本发明提供了一种热插拔的实现方法及装置,通过对上述ENUM#信号进行逻辑转换处理,使得标准Compact PCI系统板和接口板之间的热插拔信号借助扩展的Compact PCI系统的背板上的中断信号的物理路径得以传递,从而解决了标准Compact PCI系统板和接口板在扩展的Compact PCI 总线系统背板上实现热插板的问题。
本发明的目的通过以下技术方案实现:
本发明提供一种热插拔的实现方法,包括:
A、在紧凑型外部设备互连标准Compact PCI的总线系统中,将外围单板激活的系统枚举信号ENUM#信号作逻辑转换处理,并送给系统处理器;
B、系统处理器获取经过逻辑转换处理后的信号,并根据接收到的信号完成外围单板的热插拔处理。
所述的外围单板包括:
标准Compact PCI的总线系统中的接口板。
所述的系统处理器包括:
标准Compact PCI的总线系统中的系统板。
所述步骤A包括:
ENUM#信号的逻辑转换处理由逻辑转换器完成。
所述的步骤A包括:
对所述ENUM#信号作逻辑转换处理,生成中断信号。
所述的中断信号由逻辑转换器送到Compact PCI总线系统接插件的中断信号引脚上。
所述步骤B包括:
B1、系统处理器查找中断向量表,启动中断服务程序并响应中断请求
B2、中断服务程序对所述中断信号进行分析,如果所述中断请求是由新的外围单板的插入提出的,执行步骤B3;如果所述中断请求是由CompactPCI总线系统中外围单板的拔出而提出的,执行步骤B4;
B3、系统处理器对Compact PCI总线上的所有外围单板进行枚举操作,确定并分配资源,加载相应外围单板的驱动程序。
B4、系统处理器对Compact PCI总线上的所有外围单板进行枚举操作,确定并释放资源,卸载相应外围单板的驱动程序。
本发明还提供一种热插拔的实现装置,包括:
信号转换模块,设置于Compact PCI总线系统外围单板上,用于对外围单板激活的ENUM#信号作逻辑转换处理;
热插拔处理模块,设置于Compact PCI总线系统处理器上,用于根据逻辑转换处理后的信号实现外围单板的热插拔处理。
所述信号转换模块为逻辑处理器,用于将ENUM#信号作逻辑转换处理,产生与之对应的中断信号,并将该中断信号送给热插拔处理模块。
所述的热插拔处理模块包括中断信号响应模块和系统枚举模块,所述的中断信号响应模块用于对接收到的中断信号进行处理,并将处理结果传送给系统枚举模块,所述系统枚举模块根据所述处理结果对外围单板进行枚举操作,分配/释放资源,实现热插拔处理。
由上述本发明提供的技术方案可见,本发明技术方案的实现可有效解决标准Compact PCI系统板和接口板在扩展的Compact PCI总线系统背板上的热插板问题。另外,由于背板设计的所要投入的成本通常非常高,因此,本发明的实现还可有效避免为实现上述热插拔目的而对系统背板走线进行重新设计的事宜,从而节约了背板设计成本。
附图说明
图1是高可靠热插拔系统中接口板插入Compact PCI总线系统的过程模型;
图2是本发明对ENUM#信号的逻辑处理过程;
图3是本发明与现有技术对ENUM#信号的处理方式对比图;
图4是本发明实现热插拔的装置图。
具体实施方式
本发明的基本技术方案是在Compact PCI的总线系统中,将外围单板激活的系统枚举信号ENUM#信号作逻辑转换处理,然后系统处理器获取经过逻辑转换处理后的信号,并根据接收到的信号完成外围单板的热插拔处理。
进一步讲,上述对ENUM#信号所作的逻辑转换处理就是将ENUM#信号转换为中断信号,借助中断信号的物理走线,使得信号得以传递。ENUM#信号在标准Compact PCI总线系统的背板与扩展Compact PCI总线系统的背板上的走线方式不同,但是中断信号在上述两种背板上的走线方式相同,都是以总线形式共用走线。因此,经过将所述的ENUM#信号转换成中断信号的处理,就能够启动系统处理器对外围单板资源作配置的程序,加载/卸载外围单板的驱动程序,实现外围单板的热插拔。
上述外围单板即Compact PCI的总线系统中的接口板,上述系统处理器即Compact PCI的总线系统中的系统板。
本发明通过将从接口板送出的ENUM#信号转化为中断信号,之后将该中断信号送到接插件的中断信号引脚上,系统板在响应该中断信号后,由中断服务程序分析该信号是由新的接口板插入而提出的,还是由接口板将要拔出而提出的,之后,系统板对总线上的接口板进行枚举操作,确定并分配/释放资源,并加载/卸载接口板的驱动程序。
下面结合图2具体说明本发明的实现过程:
步骤21、接口板与总线系统间建立完电气连接;
步骤22、图3所示的接口板的PCI桥片(PCI BRIDGE)自动产生ENUM#信号,即ENUM#信号被激活,并将该信号送到图3所示的逻辑转换器(LOGIC)中;
步骤23、逻辑转换器将该ENUM#信号经逻辑转换处理,生成中断信号(INTX#);
步骤24、逻辑转换器将该中断信号送到接插件的中断信号引脚上;
步骤25、系统板在收到上述由ENUM#信号转化的中断信号后,进入中断服务程序后,查找中断向量表响应该中断请求;
步骤26、中断服务程序分析该中断信号,如果该中断是由于有新的接口板插入而被提出,执行步骤27与步骤28;否则,执行步骤29与步骤210;
步骤27、系统板对整个总线系统上的接口板作枚举操作,确定并分配接口板需要的资源;
步骤28、安装设备驱动程序,过程结束。
步骤29、系统板对整个总线系统上的接口板作枚举操作,确定并释放接口板需要的资源;
步骤210、卸载设备驱动程序,过程结束。
上述步骤的完成在本发明中为ENUM#信号提供了一条新的与系统板连接的物理通道,与现有技术中系统对ENUM#信号的处理形成对比:如图3中实线箭头所指通道为本发明对ENUM#信号的处理方式,虚线箭头所指为现有技术对ENUM#信号的处理方式。
需要说明的是与现有技术相同,在接口板插入系统的时候,ENUM#信号在图1中的H2/S0点被激活,之后继续执行本发明的技术方案;而当接口板从系统中拔出的时候,ENUM#信号在图1中的S3/SQ3点被激活,之后继续执行本发明的技术方案。
本发明还提供了一种热插拔的实现装置,该装置的具体实现方式如图4所示,具体包括设置于Compact PCI总线系统接口板上的信号转换模块,以及Compact PCI总线系统系统板上的热插拔处理模块,其中:
所述信号转换模块为逻辑转换器,用于将ENUM#信号通过逻辑转换处理,产生与之对应的中断信号,并将该中断信号送给热插拔处理模块。
所述的热插拔处理模块包括中断信号响应模块和系统枚举模块,所述的中断信号响应模块用于对接收到的中断信号进行处理,分析中断信号是由外围单板的插入提出的,还是由系统中外围单板的拔出而提出的,并将分析的结果传送给系统枚举模块。所述系统枚举模块根据所述处理结果对系统中的所有外围单板进行枚举操作,分配/释放资源,实现热插拔处理。
由上述本发明提供的技术方案可见,本发明通过对ENUM#信号作简便的逻辑变换处理,提供了一种标准的Compact PCI系统板和接口板在扩展的CompactPCI总线系统背板上实现热插拔的方法。同时,由于Compact PCI总线系统背板设计成本通常较高,通过本发明提出的技术方案能够有效节约背板的设计成本,并实现单一背板的多架构共用的目的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。