单板热插拔控制方法及具有热拔插控制模块的板卡的制作方法

文档序号:6390625阅读:270来源:国知局
专利名称:单板热插拔控制方法及具有热拔插控制模块的板卡的制作方法
技术领域
本发明涉及电子技术,特别涉及通讯产品热插拔控制技术。
背景技术
I2C总线(或称I2C总线、IIC总线)是一种由飞利浦公司开发的两线串行总线,最主要的优点是其简单性和有效性,其占用的空间非常小,从而减少了电路板的空间和芯片管脚的数量,进而降低了互联成本。同时I2C是一种通用规范,大多数嵌入式处理器都集成这种总线,在硬件体系上方便移植。
热插拔(HOT SWAP)技术是一种用于实现在通讯设备通电正常工作的情况下,在空闲的板卡槽位插入板卡(热插入)或在板卡工作过程中从通讯设备主机拔除板卡(热拔除),并且使板卡(热插入时)和通讯设备保持(开始)正常运作而不需要重新启动的技术。
热插拔技术一般用于对系统稳定性和持续运转有较高要求的设备上,用于保障在某一块板卡需要修理、更新或者加入的情况下,设备仍然能正常运转。目前,具有单板热插拔功能的通讯产品已逐渐成为对此类产品的一个基本要求。对于多板卡的通讯设备而言,一种良好的热插拔控制方法将是其热插拔功能实现的基础。
目前使用的热插拔方案一般都通过PCI接口芯片和硬件电路共同完成,缺乏有效的统一管理途径,方案也因板卡硬件结构的不同而不同,缺乏良好的移植性。

发明内容
本发明所要解决的技术问题是,提供一种易实现、易移植、开销低、工作稳定的热插拔控制方法。
本发明解决所述技术问题所采用的技术方案是,提供一种单板热插拔控制方法,主系统通过I2C总线控制板卡热拔插状态。
本发明在板卡上增设具有I2C接口的处理器件,处理器件监视CompactPCI(简称CPCI)接口判断是否发生热插入,若发生热插入则激活热插入程序,通知主系统发生热插入,主系统收到后,通过I2C总线应答,并加载接口驱动。处理器件监视CPCI接口的BD_SEL信号,通过对此信号连续采样判断板卡是否发生热插入动作。当BD_SEL电平稳定以及板上所有可编程器件代码下载完成之后,处理器件开始发送ENUM和HSS信号到主系统表示有热插入发生,直到主系统应答为止;主系统接收到中断信号和热插拔状态信号之后通过I2C总线发送命令将处理器件内部中断寄存器清零,将中断复位,并开始加载板卡接口驱动程序,完成之后通过I2C总线将处理器件内相应寄存器置位表示加载完成。在板卡上增设具有I2C接口的处理器件,处理器件监视CPCI接口判断是否发生热拔除,若发生热拔除则报告主系统,并发送中断,主系统通过I2C总线发送命令将处理器件内部中断寄存器清零,将中断复位,并开始卸载板卡接口驱动程序。在拔除过程中,主系统若需要读取板卡上芯片寄存器内容,先通过I2C访问处理器件内一固定寄存器,通过读出值正确与否来判断板卡是否还在插槽中。处理器件通过将信号灯设置成不同的状态来通知用户当前处于热插拔的具体程序阶段。所述处理器件为CPLD或带I2C接口的单片机。
本发明还提供一种具有热拔插控制模块的板卡,包括插槽、处理器件、板卡功能功能电路,处理器件、板卡功能功能电路分别与插槽连接,处理器件与插槽的连接中,存在基于I2C总线架构的连接部分,板卡功能电路与插槽的连接为基于PCI总线架构的部分连接。所述板卡功能电路与插槽之间还有电源控制器与处理器件和板卡功能电路连接,电源控制器与插槽连接。所述处理器件为CPLD或带I2C接口的单片机。
本文所述“处理器件”包括可编程逻辑器件与带I2C接口的单片机等处理器。
关于“存在基于I2C总线架构的连接部分”的解释如下以CPLD为例,板卡插上背板后,通过插槽,CPLD与主系统之间有基于I2C总线的连接关系,当板卡独立时,或者说,未插上背板时,CPLD与主系统之间的连接被割裂,但在将插槽视为一个部件时,上述连接中(即CPLD与主系统之间基于I2C总线的连接),CPLD至插槽这一段的连接是客观存在的,因此以“存在基于I2C总线架构的连接部分”表述之。
“板卡功能电路与插槽的连接为基于PCI总线架构的部分连接”亦同样解释。
本文所述ENUM为热插拔中断信号,低电平有效;HSS为热插拔状态信号,用于表示当前发生的动作为插入还是拔除。
本发明的有益效果是,热插拔控制总线与PCI总线隔离,为热插拔管理提供了一条专有的低速管理通道,同时在板卡端通过CPLD以硬件的方式完成对控制命令的接收和热插拔控制,提高了板卡对热插拔动作的响应速度和稳定度。由于本项目基于通用的I2C总线架构,因此具有简易的接口,很好的扩展性和移植性,可以作为一种通用硬件单元整合到相同架构的单板上,减少了重复劳动,提高了硬件系统模块化程度。使用CPLD不仅在使用少量外围电路的情况下,使板卡对热插拔动作的响应速度加快,由于CPLD拥有多IO口资源和可编程的特性,使得本项目有很好的扩展性和灵活性,方便升级和错误处理。
以下结合附图和具体实施方式
对本发明作进一步的说明。


图1是本发明实施例的流程图。
图2是本发明实施例的硬件结构示意图。
具体实施例方式
本文涉及到的热插拔状态改变的判断方法完全参照CPCI标准热插拔规范,参看《PICMG 2.1 R2.0@HOTSWAP SPECIFICATION》,本实施方式中涉及到的具有三种长度的CPCI针已有定义,其中,连接到CPLD的电源针为长针即非受控电源(early power),BD_SEL为短针,即,插入过程中,最先接通的是板卡的电源,最后接通的是BD_SEL,拔除时最先离开插槽的是BD_SEL针,而最后离开的是电源针。在BD_SEL接通前,CPLD已经处于接通电源可以工作的状态,拔出时电源最后被切断。
本发明用于采用CPCI总线架构的插卡式通讯产品的单板热插拔控制,使用CPLD(复杂可编程逻辑器件),作为板卡上I2C接口以及提供单板控制的器件,I2C总线作为主系统对板卡热插拔状态的控制通道,通过板卡一端具有I2C接口的CPLD完成对板卡热插拔状态的监视和设置,使用CPCI标准热插拔信号ENUM和HSS作为热插拔中断和状态信号通知主系统,实现以下功能如图1,在板卡热插入(或上电)时,作为板卡上最先上电的芯片,CPLD设置状态灯,并监视CPCI接口上的短针信号BD_SEL信号,通过多次采样来判断是否有热插入发生,若BD_SEL一直为低电平被认为是设备重新上电,不激活热插入过程,主系统正常加载接口驱动,否则激活,直到BD_SEL电平稳定以及板上所有可编程器件代码下载完成之后,开始发送ENUM和HSS信号到主系统表示有热插入发生,直到主系统应答为止。主系统接收到中断信号和热插拔状态信号之后通过I2C总线发送命令将CPLD内部中断寄存器清零,将中断复位,并开始配置板卡驱动程序,完成之后通过I2C总线将CPLD内相应寄存器置位表示配置完成,板卡正常运作。
拔除过程与上述相反,板卡正常运转时,在用户按下热插拔按钮或者直接带电拔除板卡(CPLD检测到BD_SEL信号上升沿),CPLD发送ENUM和HSS信号到主系统表示有热拔除发生,直到主系统应答为止(或者板卡被拔除)。主系统接收到中断信号和热插拔状态信号之后通过I2C总线发送命令将CPLD内部中断寄存器清零,将中断复位,并开始卸载板卡驱动程序,在此过程中,主系统若需要读取板卡上芯片寄存器内容,需要先通过I2C访问CPLD内一固定寄存器,通过读出值正确与否来判断板卡是否还在插槽中,从而决定主系统是否可以读取其他芯片内部寄存器,以保证系统稳定性。完成之后通过I2C总线将CPLD内相应寄存器置位表示卸载完成。在以上过程中,CPLD通过将信号灯设置成不同的状态来通知用户当前处于热插拔的程序阶段。
如图2所示,CPCI插槽的引脚中,部分与CPLD的BD_SEL、非受控电源、HSS、ENUM脚连接,CPLD外接指示灯,以及一个开关,作为热拔除开关。板卡功能电路与插槽的引脚连接,板卡功能电路与插槽之间有隔离逻辑电路。当插槽插进背板时,板卡功能电路通过PCI总线连接主系统,CPLD通过I2C总线连接主系统。
发光二极管HOT LED作为提示用户的状态灯,而开关HOT BUTTON作为热拔除按钮。板卡热插拔过程如下板卡插入时,CPLD控制指示灯开始闪烁,并发送中断信号道主系统,表示系统正在加载程序,此时不允许拔卡;当加载完成后,主系统通过I2C总线通知CPLD,此时CPLD将指示灯设置成长明,表示板卡进入正常运转;拔除时,当用户按下热拔除按钮的时候,CPLD发送热拔除中断,并将指示灯设置成闪烁,表示正在卸载驱动程序,此时不允许拔卡;卸载完成后,主系统通过I2C总线通知CPLD,CPLD将指示灯熄灭,此时允许拔卡。除开以上的常规过程,此板卡也按照上述发明对异常情况作了处理,如没有按下开关拔除,CPLD将中断信号发送到主系统,主系统通过I2C总线的访问来确定板卡是否已经被拔除,保证了热插拔的稳定性。
权利要求
1.单板热插拔控制方法,其特征在于,主系统通过I2C总线控制板卡热拔插状态。
2.如权利要求1所述的单板热插拔控制方法,其特征在于,在板卡上增设具有I2C接口的处理器件,处理器件监视CompactPCI接口判断是否发生热插入,若发生热插入则激活热插入程序,通知主系统发生热插入,主系统收到后,通过I2C总线应答,并加载接口驱动。
3.如权利要求2所述的单板热插拔控制方法,其特征在于,处理器件监视CPCI接口的BD_SEL信号,通过对此信号连续采样判断板卡是否发生热插入动作。
4.如权利要求3所述的单板热插拔控制方法,其特征在于,当BD_SEL电平稳定以及板上所有可编程器件代码下载完成之后,处理器件开始发送ENUM和HSS信号到主系统表示有热插入发生,直到主系统应答为止;主系统接收到中断信号和热插拔状态信号之后通过I2C总线发送命令将处理器件内部中断寄存器清零,将中断复位,并开始加载板卡接口驱动程序,完成之后通过I2C总线将处理器件内相应寄存器置位表示加载完成。
5.如权利要求1所述的单板热插拔控制方法,其特征在于,在板卡上增设具有I2C接口的处理器件,处理器件监视CPCI接口判断是否发生热拔除,若发生热拔除则报告主系统,并发送中断,主系统通过I2C总线发送命令将处理器件内部中断寄存器清零,将中断复位,并开始卸载板卡接口驱动程序。
6.如权利要求5所述的单板热插拔控制方法,其特征在于,在拔除过程中,主系统若需要读取板卡上芯片寄存器内容,先通过I2C访问处理器件内一固定寄存器,通过读出值正确与否来判断板卡是否还在插槽中。
7.如权利要求4或6所述的单板热插拔控制方法,其特征在于,处理器件通过将信号灯设置成不同的状态来通知用户当前处于热插拔的具体程序阶段。
8.如权利要求1-7所述的单板热插拔控制方法,其特征在于,所述处理器件为CPLD或带I2C接口的单片机。
9.具有热拔插控制模块的板卡,包括插槽、处理器件、板卡功能电路和存储器,处理器件与存储器件连接,处理器件、板卡功能电路分别与插槽连接,处理器件与插槽之间是I2C总线的连接,板卡功能电路与插槽之间是符合CPCI总线规范的连接。
10.如权利要求9所述的具有热拔插控制模块的板卡,所述板卡功能电路与插槽之间还有电源控制器与处理器件和板卡功能电路的连接,电源控制器与插槽连接。
11.如权利要求9或10所述的具有热拔插控制模块的板卡,所述处理器件为CPLD或带I2C接口的单片机。
全文摘要
单板热插拔控制方法及具有热拔插控制模块的板卡,涉及电子技术,特别涉及通讯产品热插拔控制技术。本发明的主系统通过I2C总线控制板卡热拔插状态。本发明的有益效果是,热插拔控制总线与PCI总线隔离,为热插拔管理提供了一条专有的低速管理通道,同时在板卡端通过CPLD以硬件的方式完成对控制命令的接收和热插拔控制,提高了板卡对热插拔动作的响应速度和稳定度。由于本项目基于通用的I
文档编号G06F13/00GK1678087SQ200410022180
公开日2005年10月5日 申请日期2004年3月31日 优先权日2004年3月31日
发明者何驰, 唐正涛 申请人:迈普(四川)通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1