积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 接口设计 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
利用PCI1510实现PCI板卡的热插拔测试
 
作者:王琨强 赵志珩   来源:电子技术应用    点击数:115   更新时间:2008-6-23
您可以添加到网摘 让更多人关注此文章:

        对于普通的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所示。

 


    在图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.



相关文章
· 基于PCI的高速媒体网关系统及其驱动程序设计[107]
· Linux下PCI设备驱动程序开发[141]
· 基于USB2.0与FPGA技术的高速数据采集系统的设计[69]
· MAX2140内部ESD二极管的保护电路设计[93]
· Linux内核技术分析[141]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
中嵌联盟嵌入式工程师俱乐部"
e-Shuttle与香港科技园携手
美国国家半导体推出业界首个传感器信号
PAC 2008 
Power Archite
2008上半年中国集成电路市场回顾
日本开发出接近人眼功能的新型电荷耦合
2008上半年中国集成电路市场回顾
Intersil公布产品线重组计划,
IBM进军15纳米芯片领域
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
高级射频工程师(猎头职务-珠海...
[推荐]通讯上通用的一个GSM...
[推荐]ARM培训视频-dsp...
[原创]差压式流量计的精度分析...
[原创]差压式流量计的精度分析...
[转帖]:FPGA与PCB板焊...
[转帖] 美国锐拓(Ridge...
〓特区〓功率模块IGBT、帮兄...
[求助]请问大家有可以烧录大于...
[求助]请问大家有可以烧录大于...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网