微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 利用PCI1510实现PCI板卡的热插拔测试

利用PCI1510实现PCI板卡的热插拔测试

时间:05-23 来源:21IC 点击:

对于普通的PCI板卡,无论是总线的硬件结构还是操作系统(如Windows序列操作系统)都不支持热插拔。在批量生产PCI板卡时,必须在关机的情况下插拔PCI板卡,然后开机测试,因此测试工作十分费时费力。本文介绍利用TI公司的PCI1510制作一个PCI-to-PCI转接卡,从硬件和软件两个方面实现PCI板卡的热插拔。

1 系统总体结构

利用PCI1510制作的PCI-to-PCI转接卡的总体结构框图如图1所示。在电气原理上类似于一款PCI总线到CardBus总线的接口电路板,但在物理形式上,CardBus总线并没有使用PCMCIA插座,而是使用PCI插座。由于PCI板卡的电源要求同PCMCIA板卡的电源要求相差很大,这款PCI-to-PCI板卡的电源处理方法同一般PCMCIA接口板的电源处理方法有较大的差别。

需要说明的是,一般PCMCIA接口板卡插入PCMCIA插槽后,系统能自动识别板卡是否插入,但本文所设计的PCI-to-PCI转接板卡,由于PCI总线没有板卡插入识别信号,所以在设计时增加了一个控制开关。当控制开关断开时,表示没有待测PCI板卡插入;当有待测PCI板卡插入时,操作者合上控制开关,通知系统已有待测PCI板卡插入,此时控制逻辑电路接收此信号并按PCI1510所要求的方式给出板卡插入识别信号。

图1中的PCI-to-PCI转接卡主要由以下几个部分组成:总线转换电路,主要由PCI1510及其配置电路24C02组成;控制逻辑电路,由ATF16V8C实现,其作用是根据操作者手动给出的开关信号向PCI1510给出相应的板卡插入和拔出信号,同时给出电源开关电路的控制信号;电源开关电路,由两片IRF7404组成,根据控制逻辑电路给出的电源控制信号,分别接通或断开PCI插槽的+5V和3.3V电源(如果需要+12V电源,还要增加一片IRF7404)。


2 PCI板卡热插拔测试的硬件实现

从硬件上讲,对于图1所示的PCI-to-PCI转接卡,要实现外部PCI板卡的热插拔,必须解决两个问题:一是CardBus总线到PCI总线的转换,二是要处理好转接卡上PCI插座的电源问题。

2.1 从CardBus总线到PCI总线的转换

根据PCMCIA的设计规范[1]可知,CardBus总线类似于PCI总线,但CardBus总线是一种点对点总线,与PCI总线有较大差别。

关于二者引脚的定义可以参考PCI设计规范[2]和PC卡设计规范[1]。下面着重叙述二者引脚定义的不同点并给出相应的解决办法:

(1)CardBus总线没有IDSEL信号,而PCI总线和PCI桥芯片必须有IDSEL信号,用来支持对PCI桥芯片配置空间的读和写操作。由于CardBus总线是点对点操作,在它上面只有一个设备,因此可在本转接卡PCI插座的IDSEL引脚通过一个电阻(阻值为4.7~33)接到3.3V电源;

(2)CardBus总线没有SBO#和SDONE#信号,但一般的PCI板卡并不需要这两个信号;

(3)CardBus总线不支持64位总线扩展,这对32位总线的PCI卡不产生影响。本文所述转接卡也不支持64位总线的PCI板卡;

(4)CardBus总线没有JTAG引脚,而通常的PCI板卡并没有利用JTAG功能,因而这一点并不影响本文所述转接卡的适应性;

(5)CardBus总线有CSTSCHG引脚,这是CardBus总线的独有功能,PCI总线并不需要,因而在设计时将它悬空;

(6)CardBus总线有CAUDIO引脚,这也是CardBus总线的独有功能,PCI总线也不需要它,因而在设计时将它悬空;

(7)CardBus总线有CCLKRUN#引脚,PCI总线中没有该引脚,本文在设计中按CardBus接口设计要求将其通过330?赘电阻接地;

(8)CardBus总线只有一个INT#引脚,但对于常见的PCI板卡而言,通常只使用(或不用)一个PCI中断信号INTA#,因而这个限制对大多数PCI板卡不构成限制。

2.2 外部板卡插入的检测和控制逻辑电路的设计

PCI1510有四个控制信号:CCD1#、CCD2#、CVS1和CVS2,用来检测是否有外部板卡的插入,并判别插入板卡的类型。PCI1510是一款PCMCIA接口的接口芯片,对于PCMCIA接口而言,可以在PCMCIA插座上插入三种类型的板卡[1]:16位数据/地址总线的存储卡,32位数据/地址总线的CardBus卡和CardBay卡。由于将CardBus总线当作PCI总线使用,因而当本文所述转接卡的PCI插座上有待测PCI板卡插入时,控制逻辑电路必须给PCI1510提供一个与CardBus板卡插入相似的板卡识别信号。

根据PCI1510的数据手册[3]和PCMCIA卡设计规范[1],当PCI1510检测到CCD2#为低电平且CCD1#接CVS1、CVS2悬空时,PCI1510认为外部总线接口已经插入一个CardBus板卡;而当CCD1#、CCD2#有一个为高电平时,PCI1510认为外部总线上没有板卡插入。因而本文按如下方式设计电路:CCD1#与CVS1短接,CVS2悬空,CCD2#通过上拉电阻接至可编程逻辑芯片ATF16V8C。PCI-to-PCI转换卡逻辑电路和电源控制电路如图2所示。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top