一种通过CPLD或FPGA实现PCIE设备热插拔的方法技术

技术编号:7759078 阅读:804 留言:0更新日期:2012-09-14 00:56
本发明专利技术提供一种通过CPLD或FPGA实现PCIE设备热插拔的方法,硬件系统:包括PCIEHOST、CPLD/FPGA、PCIEHOT-PLUGCONTROLLER、PCIE插槽共同搭建系统硬件平台,其中:PCIEHOST下面挂接多个PCA9555功能模块,通过PCA9555功能模块,在CPLD/FPGA内部模拟实现SMBUS转GPIO的功能;通过地址A2、A1、A0区分不同的PCA9555;PCIEHOST与PCA9555通过SMBUS相互通信;把计算机系统的时序控制和PCIE设备热插拔控制整合到一起,用可编程逻辑器件CPLD/FPGA实现PCA9555的功能。这样,就不用使用PCA9555芯片,减少器件的使用,降低系统成本,降低功耗,节省板卡空间,使得计算机系统更加低功耗,可靠、稳定、可扩展性提高。

【技术实现步骤摘要】

本专利技术涉及一种计算机应用
,具体地说是ー种通过CPLD或FPGA实现PCIE设备热插拔的方法
技术介绍
PCIE设备的热插拔,对提高计算机系统的Reliability, Availability,Serviceability (RAS)有着重要作用。之前的热插拔系统由PCIE HOST、PCA9555、PCIEHot-Plug Controller 实现。每个PCIE HOST下面最多可以挂九个可以热插拔的PCIE设备,大型计算机系统中,有多个PCIE HOST。这样,有多个要热插拔的PCIE,就得用很多个PCA9555芯片。不仅所用器件多,成本大,功耗高;而且占很大的板卡空间。不利于系统的小型化,低成本化,低功耗化。传统平台中,PCIE热插拔的时候,P12V、P3V3断电,而P3V3_STBY电依然存在。热插拔是在带电的情况下进行的。有烧坏PCIE设备的风险。故需优化。传统平台中,是在计算机系统运行中,通过按按钮去通知系统需要热插拔PCIE设备。设计时,需要在计算机硬件板卡上添加热插拔按钮,増加成本。操作时,需要对计算机进行带电开箱操作。操作不便,不安全。
技术实现思路
本专利技术的目的是提供一种通过CPLD或FPGA实现PCIE设备热插拔的方法。硬件系统包括PCIE HOST、CPLD/FPGA、PCIE HOT-PLUG CONTROLLER、PCIE 插槽共同搭建系统硬件平台,其中 PCIE HOST下面挂接多个PCA9555功能模块,通过PCA9555功能模块,在CPLD/FPGA内部模拟实现SMBUS转GPIO的功能;通过地址A2、A1、A0区分不同的PCA9555 ;PCIE HOST与PCA9555通过SMBUS相互通信; IIC/SMBUS CONTROL模块在写操作吋,负责从SMBUS上读取8bit的串行数据,传送给INPUT/OUTPUT PORT,在读操作时,负责把INPUT/OUTPUT PORT的信息转换成8bit的串行数据,通过 SMBUS 传送给 PCIE HOST, INPUT/OUTPUT PORT 中 8 byte 的 register 有着各自不同的功能, P3V3_STBY_EN MODE:对PCIE设备的P3V3_STBY电进行控制,完成在不插卡及在PCIE设备的P12V、P3V3掉电情况下,去掉P3V3_STBY电,实现不带电热插拔,而在P12V、P3V3上电时,P3V3_STBY正常供电,实现PCIE设备正常工作; BMC_C0NTR0L:BMC向CPLD/FPGA发送热移除或热添加命令,CPLD/FPGA检测到命令以后,模拟ー个低脉冲按钮的功能,使PWR_SW# bit置O ; 操作过程如下 热移除设备操作1)在开机以后,在OS下。用户按下ATTN(注意)按钮,或BMC发出热插拔命令给CPLD/FPGA,表示将热移除 PCIE, PWR_SW# bit 置 O ; 2)引发中断,通过SMBUS通知系统有热插拔动作发生; 3)系统试图断开与该PCIE设备的信息传递,并将其从PCIE总线上卸除; 4)如果卸载成功,系统将PWREN置O,关闭PCIE设备的P3V3,P12V电压; 5)PCIE设备的电压P3V3,P12V关闭以后,P12V_PWRGD为低,关闭P3V3_STBY ; 6)Present Pin侦测PCIE插槽是否存在设备,侦测不存在PRSNT# bit置I ; 热添加设备操作 1)把PCIE设备卡插入未上电的PCIE插槽; 2)侦测PCIE插槽是否存在设备,侦测存在,P3V3_STBY_EN置高开启P3V3_STBY; 3)进入OS以后,用户按下ATTN(注意)按钮,或BMC发出热插拔命令给CPLD/FPGA,表示发生热添加事件,PWR_SW# bit置O ; 4)通过SMBUS,通知系统PCIEHOST有热插拔动作发生; 5)PffR EN信号置高,给PCIE设备供电P12V、P3V3 ; 6)重新列举PCI总线器件,发现新设备时,给相应驱动器加载,然后初始化该设备并准备处理相应I/o设备。本专利技术的有益效果是PCIE热插拔,可以有效的避免因更换、添加系统硬件而需关机计算机系统的情況,对于提高系统的可靠性、可用性、实用性以及可扩展性有着重要的意义。针对技术背景中提到的缺陷,把计算机系统的时序控制和PCIE设备热插拔控制整合到一起,用可编程逻辑器件CPLD/FPGA实现PCA9555的功能。这样,就不用使用PCA9555芯片,減少器件的使用,降低系统成本,降低功耗,节省板卡空间,使得计算机系统更加低功耗,可靠、稳定、可扩展性提高。本专利技术的目的是按以下方式实现的,增加对PCIE设备P3V3_STBY的控制,使PCIE可在完全不带电的情况下热插拔。 采用BMC (基板管理控制器)向CPLD/FPGA发送命令去实现热插拔,可实现远程控制PCIE的热插拔,操作方便、快捷,安全。I、用可编程逻辑器件CPLD/FPGA去实现PCIE设备热插拔功能。減少系统中PCA9555或PCA9554芯片的使用(以下所有的PCA9555代指PCA9555或PCA9554)。减少硬件成本,減少硬件系统所占板卡空间,降低系统功耗。还可以通过修改代码,改变、添加热插拔的相关功能,能对系统不断改进,具有可塑性、可扩展性; 2、传统平台中,PCIE设备热插拔吋,P12V、P3V3断电,而P3V3_STBY电依然存在。热插拔是在带电的情况下进行的,有烧坏PCIE设备的风险。针对该问题,对系统进行改进,实现在完全不带电情况下热插拔PCIE设备; 3、PCIE的热插拔操作,可通过两种方式实现。一是在计算机机体上按按钮去通知系统,需要热插拔PCIE设备。ニ是通过BMC (基板管理控制器)向CPLD/FPGA发送命令去实现热插拔,采用这种方法,可实现PCIE热插拔的远程操作。附图说明图I是系统结构如 图2是功能框 图3是写操作流程 图4是读操作流程图。具体实施例方式參照说明书附图对本专利技术的方法作以下详细地说明 (1)硬件系统由PCIE HOST、CPLD/FPGA、PCIE HOT-PLUG CONTROLLER、PCIE 插槽按照图2搭建系统硬件平台; (2)模块介绍 PCA9555 :根据PCA9555功能。在CPLD/FPGA内部模拟实现SMBUS转GPIO的功能。功能框图如图2所示 PCIE HOST下面挂接多个PCA9555,通过地址A2、Al、AO区分不同的PCA9555。PCIEHOST与PCA9555通过SMBUS相互通信。IIC/SMBUS CONTROL模块在写操作时,负责从SMBUS上读取8bit的串行数据,传送给INPUT/OUTPUT PORT。在读操作时,负责把INPUT/OUTPUTPORT的信息转换成8bit的串行数据,通过SMBUS传送给PCIE HOST。INPUT/OUTPUT PORT中8 byte的register有着各自不同的功能,描述如下表权利要求1.一种通过CPLD或FPGA实现PCIE设备热插拔的方法,其特征在于硬件系统包括PCIE HOST、CPLD/FP本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:孙鹏
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1