基于PCI9054和LTC4240的CPCI总线接口设计

这种连接方式十分方便,几乎不需要加多少改动,两块芯片就能互相通信。其部分引脚的逻辑转换关系如图4所示。
热插拔电路设计
CPCI总线不同于PCI总线的最大特点是支持热插拔(Hot Swap)。
热插拔技术概述
CPCI热插拔技术的基本目的是在系统正常工作的同时,CPCI总线上插入或拔出插件板,完成故障插件板的更换与计算机系统的重新配置。热插拔技术主要分为三种处理过程:
1)物理连接过程
热插入--在工作着
CPCI总线上加入插件板。
热拔出-- 在工作着
CPCI总线上移走插件板。
2)硬件连接过程
计算机系统在硬件上的电气连接与断开。
3)软件连接过程
计算机系统在软件上的连接与断开。
这 些连接过程在系统中虽属于不同的连接层,但是彼此相互关联。例如:当物理连接不存在时,硬件连接层就不能产生电气连接。而插件板从计算机系统的CPCI总线上拔出后,软件与硬件连接将自动断开。

热插拔芯片介绍
LTC4240热插拔控制器是凌力尔特公司研制的针对CPCI总线的热插拔控制器,它使线路板能够在带电的CPCI总线插槽中安全地插入或拔出, 能控制全部4个CPCI电源,它使用两个外部N沟道晶体管控制3.3V和5V电源,而±12V电源则由两个片上开关管调节。电子断路器对所有4个电源进行过流保护,"电源良好"输出信号表明所有电源电压都在正常容限之内,另外,LTC4240有 个内置的I 2 C总线兼容接口,从而可用软件控制和监视器件功能及电源状态。它还使用户能够开启或关闭器件、置位RESETOUT、开启状态LED指示驱动器以及不受±12V电源故障的影响。这个器件还可为I/O引脚提供预充电偏压.以及通过将PCI_RST信号和HEALTHY信号整合来产生LOCAL_PCI_RST信号.并能满足PCI定时要求,且不需要外部逻辑电路。其典型应用如图5所示。

LTC4240工作过程
1)板卡插入过程
当板卡插入背板时,在CPCI接插件的防护地连接上,板卡上可能存在潜在的对地电压放电。该热插拔板将首先接触到背板插件的长针(+5V和地),即LTC4240的VCC管脚被加电,将对其后端电路进行复位以关断VGATE3/5输出,从而禁止外部MOSFET管工作,并输出1V参考电压,此1V参考电压对还未接触到背板的I/O管脚加电,同时PWRGD#的输出将被置高,接着I/O管脚接触到背板插针上,BD_SEL#管脚被主机置低,以确认板卡已经被正确的插入,此时LTC4240控制的上电顺序开始。LTC4240通过控制VGATE3/5的输出来打开外部的MOSFET功率管。板卡上的电路都保持在复位状态,直到5和3V电源电压稳定,而且内部复位时间计时器达到一定时间时,复位信号停止,板卡进入正常操作过程。
在 正常工作过程中,LTC4240将持续监控板卡的后端电压,一旦电压超过关断电压阈值,LTC4240将控制PWRGD#输出为低,以使主机检测到该信号并指示板卡电源有问题。
2)板卡拔出过程
板卡拔出时,首先将BD_SEL#与地断开,LTC4240则立即关断VGATE3/5输出,并改变PWRGD#的状态,同时将LOCAL_PCI_RST#输出置低,并将总线I/O接口电路置为高阻态,这时电源依旧对I/O脚加电,以使总线从激活状态平稳转为非供电状态。一旦I/O脚与背板插针断开,板卡上的电路和LTC4240将通过最后断开的长针进行最后的放电过程。
寄存器配置
设计好接口电路后,硬件设计工作还只完成了一半。由于PCI9054是通用PCI接口功能芯片,它的功能还不一定能够满足用户的需求,所 以还要进行功能寄存器设置以使接口电路具有特定的功能。寄存器的配置包括EEPROM初始化、LOCAL功能寄存器和PCI配置寄存器的配置。
1)EEPROM初始化
在计算机的加电自检期间,PCI总线的RST#信号复位,PCI9054内部寄存器的默认值作为回应。PCI9054输出本地LRESET#信号并检测串行EEPROM。如果串行EEPROM中的前33个比特不全为1,那么PCI9054确定串行EEPROM非空,用户可通过向PCI9054的寄存器CNTRL的29位写1来加载EEPROM的内容到PCI9054的内部寄存器,配置的信息(设备识别号、供应商代码号、Local总线三个空间的大小以及三个空间的基址等)事先要利用编程器写入配置存储器中,也可以在主机的专用程序中对EEPROM进行配置。
2)PCI配置寄存器的配置
配置PCI配置寄存器比较简单。主要是填写生产商ID号、器件ID号、类码子系统ID号和子系统生产商ID号。
3)本地配置寄存器的配置
对 于本地配置寄存器的配置就是对本地地址空间及其本地总线属性的配置。这些配置要根据实际开发的硬件板卡的硬件资源进行配置。
设备驱动程序的设计
在完成上述工作以后,还需在主控板(相当一台高性能计算机)上完成设备驱动程序。其关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设置和响应及中断的调用,以及对内存的直接读写。在windows下有很多驱动程序开发环境,只需根据硬件的具体情况,很方便就能完成驱动程序的编制。
- 不一样的热插拔控制器(04-26)
- 热插拔电路的过热保护方案性能比较(05-12)
- 利用PCI1510实现PCI板卡的热插拔测试(05-23)
- 四通道I2C多路复用器提供了地址扩展、总线缓冲和故障管理(06-15)
- 高可靠性电源系统的热插拔原理和应用(11-14)
- 高可靠性电源系统的热插拔原理和应用问答选编(11-14)
