利用PCI1510实现PCI板卡的热插拔测试
在图2所示的电路中,U300和U301为电源开关芯片IRF7404,实际上它们是P沟道场效应管,其输入电源引脚分别接转接卡上的+5V和+3.3V电源,输出引脚则分别接至转接卡PCI插座上的+5V和+3.3V电源引脚。U300和U301的控制信号由可编程逻辑芯片U302(ATF16V8C)的POWER_EN#提供。
U302的输入信号为:CARD_IN、PCI1510提供的电源控制信号VCCD0和VCCD1,输出信号为CCD2#和POWER_EN#。输入输出关系式为:
CCD2#=CARD_IN;
POWER_EN#= !VCCD0+VCCD1;
在转接卡的PCI插座上没有插入PCI板卡时,CON300断开,CARD_IN为高电平,此时,CCD2#也为高电平;PCI1510给出的VCCD0、VCCD1均为高电平,POWER_EN#也为高电平,U300和U301没有电源输出,转接卡的PCI插座上也没有电源,同时插座上的信号线均处于高阻状态;在待测PCI板卡插入后,当操作者合上CON300时,CARD_IN为低电平,CCD2#也变为低电平,PCI1510检测到有板卡插入,给出VCCD0为高电平,VCCD1为低电平,在逻辑电路中,POWER_EN#为低电平,电源电路给PCI插座提供+5V和+3.3V(也可以增加电路提供+12V电源)电源,同时PCI1510激活板卡插座上的信号线,此时,待测PCI板卡开始正常工作。
当测试完毕时,操作者首先断开CON300。此时根据前面的分析可知,转接卡的PCI插座上的电源被切断,信号线处于高阻状态,这时,操作者可以在不关机的情况下拔下PCI板卡。
3 PCI板卡热插拔测试的软件实现
图1所示的 PCI-to-PCI转接卡在电气原理上类似于一款PCI-to-PCMCIA转接卡,常见的操作系统(如Windows XP, Windows 2000, Windows 98等)都支持PCMCIA板卡的热插拔,而且这些常见的操作系统都带有PCI1510的驱动程序。当本文所述PCI-to-PCI转接卡插入桌面计算机后,操作系统能自动装好转接卡的驱动程序。另外,待测PCI板卡插入转接卡的PCI插槽后,操作者合上控制开关,操作系统将检测到外部板卡的插入,并将待测PCI板卡识别成CardBus板卡,这样就可以像测试CardBus板卡一样测试PCI板卡,从而实现了PCI板卡的热插拔测试。
要使本文所述转接卡正常工作,还必须正确配置图1中E2PROM芯片,本文所述转接卡的配置如表1所示。
尽管本文所述PCI-to-PCI转接卡对待测PCI板卡存在着一些限制,即要求待测PCI板卡是32位数据/地址总线,只使用(或不用)一个PCI中断(即INTA#),并且不使用SDO#和SDONE#信号线,不使用PCI总线上的JTAG接口, 但这对于一些常见的PCI板卡而言并不是一个问题,本文所述转接卡仍然具有广泛的适应性和较高的使用价值。
参考文献
[1] PC Card Standard release 8.0,www.PCMCIA.org.2001,4.
[2] 刘显庆,刘仁普.微机总线规范.北京:机械工业出版社,1995.
[3] PCI1510 Data Manual.www.ti.com.2004,12.
- PCI9656型64位PCI总线接口电路及其应用(01-18)
- PCI9054芯片接口设计中若干问题的深入研究(01-18)
- TM1300 PCI-XIO口的UART和USB接口设计(01-17)
- 什么是PCI总线?其接口芯片的应用(01-26)
- PCI总线数据输出板驱动程序的开发(05-16)
- 基于PCI9054和LTC4240的CPCI总线接口设计(05-13)