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

技术编号:3658819 阅读:210 留言:0更新日期:2012-04-11 18:40
单板热插拔控制方法及具有热拔插控制模块的板卡,涉及电子技术,特别涉及通讯产品热插拔控制技术。本发明专利技术的主系统通过I2C总线控制板卡热拔插状态。本发明专利技术的有益效果是,热插拔控制总线与PCI总线隔离,为热插拔管理提供了一条专有的低速管理通道,同时在板卡端通过CPLD以硬件的方式完成对控制命令的接收和热插拔控制,提高了板卡对热插拔动作的响应速度和稳定度。由于本项目基于通用的I↑[2]C总线架构,因此具有简易的接口,很好的扩展性和移植性,可以作为一种通用硬件单元整合到相同架构的单板上,减少了重复劳动,提高了硬件系统模块化程度。

【技术实现步骤摘要】

本专利技术涉及电子技术,特别涉及通讯产品热插拔控制技术。
技术介绍
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内一固定寄存器,通过读出值正确与否来判断板卡是否还在插槽中,从而决定主系统是否可以读取其他芯本文档来自技高网...

【技术保护点】
单板热插拔控制方法,其特征在于,主系统通过I↑[2]C总线控制板卡热拔插状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:何驰唐正涛
申请(专利权)人:迈普四川通信技术有限公司
类型:发明
国别省市:90[中国|成都]

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

1
相关领域技术
  • 暂无相关专利