您的位置: 嵌入式在线 > 技术中心 > 总线设计 > 利用PCIl 510实现PCI板卡的热插拔测试

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

2007-04-06      嵌入式在线      收藏 | 打印

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

       1 系统总体结构

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

 

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

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

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

       从硬件上讲,对于图l所示的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.7kΩ~33kΩ)接到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 外部板卡插入的检测和控制逻辑电路的设计

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

       根据PCIl510的数据手册[3]和PCMClA卡设计规范[1],当PCIl510检测到CCD2#为低电平且CCDI#接CVSl、CVS2悬空时,PCIl510认为外部总线接口已经插入一个CardBus板卡;而当CCD1#、CCD2#有一个为高电平时,PCIl510认为外部总线上没有板卡插入。

       因而本文按如下方式设计电路:CCDI#与CVSl短接,CVS2悬空,CCD2#通过上拉电阻接至可编程逻辑芯片ATFl6V8C。PCI-t0-PCI转换卡逻辑电路和电源控制电路如图2所示。

 

       在图2所示的电路中,U300和U301为电源开关芯片IRF7404,实际上它们是P沟道场效应管,其输入电源引脚分别接转接卡上的+5V和+3.3V电源,输出引脚则分别接至转接卡PCI插座上的+5V和+3.3V电源引脚。U300和U301的控制信号由可编程逻辑芯片U302(ATF16V8C)的POWER_EN#提供。

       U302的输入信号为:CARD_IN、PCIl510提供的电源控制信号VccDO和VccDl,输出信号为CCD2#和POW.ER-EN#。输入输出关系式为:

       CCD2#=CARD_IN;

       POWER EN#=!VccDO+VccDl;

       在转接卡的PCI插座上没有插入PCI板卡时,CON300断开,CARD_IN为高电平,此时,CCD2#也为高电平;PCIl5lO给出的VocDO、VccDl均为高电平,POW.ER-EN#也为高电平,U300和U301没有电源输出,转接卡的PCI插座上也没有电源,同时插座上的信号线均处于高阻状态;在待测PCI板卡插入后,当操作者合上CON300时,CARD_IN为低电平,CCD2#也变为低电平,PCIl510检测到有板卡插入,给出VccD0为高电平,VccDl为低电平,在逻辑电路中,POWER_EN#为低电平,电源电路给PCI插座提供+5V和+3.3V(也可以增加电路提供+12V电源)电源,同时PCIl510激活板卡插座上的信号线,此时,待测PCl板卡开始正常工作。

       当测试完毕时,操作者首先断开CON300。此时根据前面的分析可知,转接卡的PCI插座上的电源被切断。信号线处于高阻状态,这时,操作者可以在不关机的情况下拔下PCI板卡。

       3 PCI板卡热插拔测试的软件实现

       图1所示的PCI-t0-PCI转接卡在电气原理上类似于一款PCI-t0-PCMCIA转接卡,常见的操作系统(如Windows XP,Windows 2000,Windows 98等)都支持PCMCIA板卡的热插拔,而且这些常见的操作系统都带有PCIl510的驱动程序。当本文所述PCI-to-PCI转接卡插入桌面计算机后,操作系统能自动装好转接卡的驱动程序。

       另外,待测PCI板卡插入转接卡的PCI 插槽后,操作者合上控制开关,操作系统将检测到外部板卡的插入,并将待测PCI板卡识别成CardBus板卡,这 样就可以像测试CardBus板卡一样测试PCI板卡,从而实现了PCI板卡的热插拔测试。

       要使本文所述转接卡正常工作,还必须正确配置图1中E2ROM芯片,本文所述转接卡的配置如表l所示。

 

       尽管本文所述PCI-to-PCI转接卡对待测PCI板卡存在着一些限制,即要求待测PCI板卡是32位数据/地址总线,只使用(或不用)一个PCI中断(即INTA#),并且不使用SDO#和SDONE#信号线,不使用PCI总线上的_JTAG接口,但这对于一些常见的PCI板卡而言并不是一个问题,本文所述转接卡仍然具有广泛的适应性和较高的使用价值。

 
 

本文来源:《电子技术应用》    作者:王琨强 赵志珩
热点资讯(一周点击率)
热评博文
评一评已有 0 位网友对此文发表了看法。  我也来评一下

验证码:  看不清?换一张

 

快乐大本营

    无线时代来临,移动产业生态系统将发生一些根本变化。今日头条推荐“芯片是嵌入式4G技术的关键 产业生态系统将发生变化”。

    想了解嵌入式开发工具的市场情况吗?先来体验下我们的在线调查吧!填写调查问卷

工程师之星
朱礼昆
电子信息工程专业,擅长硬件编程
  • 胡菲菲  技术专长:嵌入式系统linux
  • 柳如峰  技术专长:模电,电源
热门招聘
论坛热贴