`
huozheleisi
  • 浏览: 1231411 次
文章分类
社区版块
存档分类
最新评论

基于接口芯片PCI 9030的PCI总线接口卡的设计

 
阅读更多

基于接口芯片PCI 9030的PCI总线接口卡的设计

介绍了如何利用接口芯片PCI 9030制作PCI总线接口卡,实现由ISA接口向PCI接口的转换文中从实例出发,详细阐述了接口卡的硬件设计、EEPROM的配置、驱动程序的编写等方面的内容

1、引言

作为对PCI总线在仪器领域的扩展,PXI总线由于具有高性能、低价位等特点,使其在数据采集、工业自动化系统、计算机机械观测系统和图像处理等方面获得了广泛应用

但是PXI总线协议十分复杂,其接口的实现比ISA困难得多,直接为它设计相匹配的数字逻辑控制电路难度很大特别是对于那些没有PCI板卡设计经验的人来说,要想直接设计出能满足要求的PXI模块几乎是不可能的事而PXI总线的电气规范大部份跟PCI相同,只是增加了一些仪器特性基于以上考虑,我们决定通过设计一个PCI接口卡来系统地了解利用接口芯片PCI 9030开发PXI模块的过程和方法

2、硬件设计

目前实现 PCI 接口的方法主要是采用可编程逻辑器件或采用专用接口芯片为降低难度,缩短开发时间 ,我们决定采用专用接口芯片来进行接口的开发因为我们的最终目的是开发PXI模块,所以我们选用了符合PXI性能要求的接口芯片PCI 9030PCI 9030 是 PLX 公司开发的一种为扩展适配卡推出的高性能目标接口芯片,其符合 PCI2.2 规范,3.3V 核心电压,低功耗,176 引脚 PQFP 或180 引脚 BGA 封装,本地总线可以设置为 8 位、16 位、32 位复用和非复用模式

在我们原来的性能测试系统中,功率计模块是基于ISA总线的插件,端口地址是ox100-ox107数据总线宽度是8位,具有输入输出功能我们要设计的接口卡所实现的功能相当于一个从ISA总线到PCI总线的转接卡PCI 9030作为一种桥接芯片,提供了PCI总线、EEPROM和ISA总线三个接口,下面分别介绍各部分的接口电路:

第一部分是PCI9030与PCI总线的接口这些信号包括地址数据复用信号AD[31:0]、总线命令和字节使能信号C/BE[3:0]、奇偶校验信号(PAR) 帧周期信号(FRAME#)、主设备准备好信号(IRDY#) 从设备准备好信号(TRDY#)停止数据传送信号(STOP#)初始化设备选择信号(IDSEL) 设备选择信号(DEVSEL#)、数据奇偶校验错误报告信号(PERR#)、系统错误报告信号(SERR#)、时钟输入信号(CLK)复位信号(RST#)、中断信号(INTA#)等电路连接中,把两边对应的管脚相连就行,中间不需要用电阻隔离

第二部分是PCI9030与EEPROM的接口EEPROM选用NATIONAL公司的NM93CS66L;它是一个4K的低电压串行存储器,用来存储PCI9030的配置信息并在芯片复位时进行加载,从而使PCI板卡具有即插即用的功能PCI9030有四根信号线用于与EEPROM的连接:EESK EEDO EEDI和EECS

PCI9030与EEPROM的电路连接如图1所示:


图1

第三部分是PCI9030与ISA总线的接口

ISA总线功率计模块的主要信号只涉及到I/0且为8位宽的数据总线,数据传输只用到端口读写信号IORD#和IOWR#,用A0-A9作为地址译码在接口芯片的本地端中我们采用非复用模式,地址和数据总线都是8位,所以只需选择LA2、LBE0和LBE1进行地址译码就可以了具体的电路连接见下表:

ISA端

PCI9030本地端

功能描述

A0

LBE0#

用作本地地址LA0

A1

LBE1#

用作本地地址LA1

A2

LA2

本地地址

A3

BLAST#

突发持续

A4

ADS#

本地地址选通

A5

READY#

本地准备好输入

A6

CS1#

片选1

IORD#

RD#

读选通

IOWR#

WR#

写选通

AEN

LW/R#

写/读控制

3、EEPROM的配置

PCI总线能实现“即插即用”是因为它具有一个配置空间当计算机启动时,BIOS会对每个PCI卡的配置空间进行访问,即自动加载EEPROM内容来获取各个PCI卡的配置信息,并根据这些信息进行资源分配配置空间是PCI所特有的一个空间,所有的PCI设备必须提供配置空间

对EEPROM的配置要根据具体的硬件设备来进行,其配置的正确与否是硬件设备能否正常工作的关键下面以我所做的接口卡的串行EEPROM内容为例进行介绍

首先介绍PCI配置寄存器的配置方法主要是填写器件ID号、供应商ID号、类码、子系统ID号和子系统供应商ID号等对于PCI9030,其器件ID号为9030 供应商ID号为lOB5 子系统ID号为9030子系统供应ID号为10B5,类码号为0680,表示其为桥设备中的其它桥设备类另外,由于使用到中断INTA#,所以在中断寄存器中要将其值设为0100

其次介绍本地配置寄存器的配置方法PCI9030本质上是一个桥设备,它的作用是把对某一段PCI总线地址空间的各种操作(包括读、写等)转换为相应的本地地址总线的操作由于在接口卡的本地总线中只用到I/O地址空间,所以我们只需对本地地址空间1的相关寄存器进行配置就行了本地空间1范围寄存器的值为0xFFFFFFF9,表示I/O空间大小为8个字节 bit0为1表示此空间被映射为I/O空间;本地空间1基地址寄存器的值为0x00000101,表示空间1的基地址为0x100 bit0为1表示空间1使能;本地空间1描述寄存器的值为0x00000022表示本地空间1的数据总线宽度为8位本地片选寄存器1的值是0x00000105表示当本地地址落在0x100-0x107内时,片选信号CS1#有效以用来选择本地总线上的外围设备对于其它值的含义可参考PCI9030的数据手册,这里就不再一一介绍图2是PLXmon界面下EEPROM的配置窗口


图2

4、板卡调试

板卡做好后,就可以插入计算机的PCI插槽进行调试如果硬件电路设计正确,在自检过程中,可以在屏幕上看到系统查找到的PCI设备,并且显示出设备的DID和VID等相关信息在系统正常启动后,会提示“发现新硬件”,并要求用户安装相应的驱动程序,跳过以后就可以配置EEPROM进而开始调试对EEPROM的编程有两种方法:一是先用专门的烧录器把数据下载到EEPROM再插入板卡中,这种方法修改起来比较麻烦;二是用专用的软件在线写,如PLX公司提供的专用调试软件PLXmonPLXmon具有以下功能:PCI总线的探测与选择;配置寄存器的检查和修改;内存空间的显示、修改和填充;EEPROM内容的读写等利用这个工具,我们可以随时对EEPROM的内容进行在线修改,大大提高了效率值得注意的是每次修改完EEPROM都要对系统进行重启,使PCI配置寄存器和本地空间配置寄存器能够重新加载新的值

5、驱动程序的编写

在板卡调试完成后,需要编写驱动程序驱动程序的开发工具很多,但是多数需要了解操作系统的核心工作机制,难度比较大经过比较,我们采用了Jungo公司的WinDriver进行驱动程序的开发利用WinDriver我们不必熟悉操作系统的内核知识就可以快速开发出驱动程序,它对于硬件调试也是一个很好的帮助工具

用WinDriver开发PCI设备驱动程序一般有两种方法:一种是使用向导(Driver Wizard) Driver Wizard能够自动生成驱动程序的框架代码,我们只需修改代码,加入定制的功能,再在用户态执行和调试代码就行;另一种是直接在应用程序中调用WinDriver的API函数

我们在开发驱动程序中采用的是前一种方法,其基本流程如下:

a. 打开Driver Wizard,在Card Information的设备列表中选中自己的设备,如图3,点击“Generate .INF file”生成安装信息文件;

图3

b. 点击“下一步”,进入WinDriver 资源定义与测试界面中,如图4 调试列出的I/O、内存等资源,并定义必要的工作寄存器,如PCI卡上的一些配置寄存器;


图4

c. 点击“Generate Code",选择VC编译器作为自己的开发语言环境,此时将生成针对硬件设备的文件,包括代码文件、说明文件以及适用于VC编译器的项目文件

最后,对向导产生的设备驱动代码框架中添加自己的代码,编译连接后就可以生成对设备进行诊断的控制台程序了

6、结束语

本文作者创新点:在以往的接口卡设计中,对于实现ISA总线向PCI总线转换的方法都是采用带ISA接口的接口芯片,如PCI9052,这可以大大简化开发PCI设备的过程由于课题需要,我们选用了一种不带ISA接口的接口芯片-----PCI9030制作了一个PCI接口卡经反复调试,该接口电路能够顺利地完成数据传输,已经成功地实现PCI总线与外设的连接,这一方面验证了用专用接口芯片实现PCI总线接口在技术上的可行性,另一方面也为下一步开发PXI模块打下良好基础

同时,本文中对接口卡的硬件电路连接、EEPROM的配置、驱动程序的编写等方面都作了比较详细的介绍,这对于那些初次接触PCI总线开发的人有一定的指导意义

参考文献

[1] PCI Special Interest Group. PCI Local Bus Specification Rev.2.2 2000

[2] PLX Technology. PCI 9030 Data Book Version 1.4 2002

[3] 李贵山、陈金鹏. PCI局部总线及其应用. 西安电子科技大学出版社 2003

[4] 汤渊清等. 基于WinDriver实现对PCI数采卡的快速检验. 微计算机信息(测控自动化) 2004.20(6)

[5]王胡舰等. 利用接口芯片PCI9052制作PCI总线接口卡详解. 工业控制计算机,2004.12

分享到:
评论

相关推荐

    基于接口芯片PCI9030的PCI总线接口卡设计

    基于接口芯片PCI9030的PCI总线接口卡设计、电子技术,开发板制作交流

    嵌入式系统/ARM技术中的基于接口芯片的PCI总线接口卡的设计

    摘要:介绍了如何利用接口芯片PCI 9030制作PCI总线接口卡,实现由ISA接口向PCI接口的转换。文中从实例出发,详细阐述了接口卡的硬件设计、EEPROM的配置、驱动程序的编写等方面的内容。 关键词:PCI总线;PCI9030;...

    基于PCI总线的RS485接口卡的设计

    :随着PCI 总线的出现和发展,各种基于PCI 的数据接口卡越来越被普遍使用。本文介绍了一种基于PCI 总线的RS485 通讯 接口卡的设计,该接口卡通过选用PCI 桥接芯片PCI9025 来实现PCI 接口。

    基于CH365芯片的PCI总线接口卡的设计与实现

    基于CH365芯片的PCI总线接口卡的设计与实现http://www.baidu.com/s?wd=pci%BD%F0%CA%D6%D6%B8%B7%E2%D7%B0&rsp=1&oq=PCI%205V%2032bit%BD%F0%CA%D6%D6%B8%B6%A8%D2%E5&f=1&rsv_ers=xn0

    PCI总线接口芯片9054及其应用

    PCI9054是PLX公司推出的一种PCI主模式桥芯片。本文主要介绍了它的特性、功能及应用,说明了以PCI9054作为接口芯片,开发PCI总线扩展卡的硬件框架图,最后给出一个简单的实例

    基于PCI9052的PCI局部总线的设计

    详细介绍了PCI9052接口器件的功能,结构和使用方法;并结合实际给出了基于PCI9052器件开发PCI总线接口卡的应用实例。

    基于PCI总线的1553B总线接口板卡设计.doc

    基于PCI总线的1553B总线接口板卡设计.doc

    PCI总线接口芯片9054

    pci9054是由美国plx公司生产的先进的pci i/o加速器,采用了先进的plx数据流水线结构技术,是32位、33mhz的pci总线主i/o加速器;符合pci本地总线规范2.2版,突发传输速率达到132mb/s,本地总线支持复用/非复用的32位地址/...

    PCI9052 在ISA 与 PCI 总线接口中的应用

    PCI9052 是PLX 公司推出的PCI 总线接口芯片,能够实现ISA 总线与PCI 总线的无缝连接,可方便地将原有的ISA 插卡移植到PCI 总线。文中主要介绍了该芯片的ISA 接口模式,并给出了一个实际应用PCI9052 的系统。

    PCIE总线接口芯片CH367中文数据手册

    基于PCIE总线的计算机板卡,以及将原先基于ISA总线或者PCI总线的板卡升级到PCIE总线上。PCIE总线与其它主流总线相比,速度更快,实时性更好,可控性更佳,所以CH367 适用于高速实时的I/O控制卡、通讯接口卡、数据...

    基于FPGA的PCI总线接口设计

    PCI是一种高性能的局部总线规范,可实现各种功能标准的PCI总线卡。本文简要介绍了PCI总线的特点、信号与命令,提出了一种利用高速FPGA实现PCI总线接口的设计方案。

    PCI总线接口的实现

    PCI总线规范十分复杂,其接口的实现十分困难。目前实现PCI接口的有效方案有两种:使用可编程逻辑器件和使用专用芯片。 在这次数据传输卡设计中,对接口芯片PCI9054的理解

    研究论文-基于PCI 总线的CAN 及RS485 接口卡的 WDM 驱动程序设计.pdf

    研究论文-基于PCI 总线的CAN 及RS485 接口卡的 WDM 驱动程序设计

    基于PCI9052的PCI局部总线应用

    详细介绍了 PCI9052 接口器件的功能 结构和使用方法 并结合实际给出了基于 PCI9052 器件开发 PCI 总线接 口卡的应用实例

    基于CH365芯片的PCI总线控制卡的设计与实现.pdf

    文章介绍了一种采用CH365 芯片实现由高速PCI 总线到低速ISA 总线平滑转换的控制卡设计方法,并通过硬件电路设计和软件设计两方面阐述了其作为接口芯片实现与本地总线CPLD 及其它芯片对接,从而实现控制信号的输出的...

    基于PCI总线的智能双通道RS422通信卡设计.pdf

    设计实现了一种基于PCI总线的智能双通道RS422通信卡。板卡的核心部分包括PCI总线控 制器PLX9052、双t7 RAM,CPLD,AVR单片机Atmega128,异步收发器,及RS422总线接口芯片。介绍 RS422通信卡的硬件实现及系统软件...

    基于FPGA和PCI总线的数据采集板设计

    文中根据FPGA 以及PCI 总线技术,全面阐述 了一种高速、大容量数据采集卡的实现方案

    基于PCI_Express总线的数据传输卡的设计与实现_周立国.pdf

    本文介绍了 SAR 回波实时记录系统中基于 PCI Express(以下简称 PCIE)总线的数据传输卡的设计和实现 。SAR 回波实时记录系统以普通的基于 PCIE 总线架构的 PC 为开发平台 , 系统实现的关键技术之一是实时地接收回波...

    基于PCI总线的网络卫士隔离卡的硬件设计

    文章给出了一种对连网计算机硬盘信息进行安全访问的隔离卡实现方案, 介绍了基于 PCI 总线的双硬盘隔离卡的组成及工作原理, 详细讨论了其硬件设计。

    基于PCI总线多路图像采集卡的研究

    设计了支持4路标准视频信号输入,采集的像素阵列为720×576...像数据,经FIF0缓存后,由PCI总线接口芯片PCI9052将数据送入计算机,最后通过应用程序将图像显示出来。实验分 析表明该视频采集卡能实现4路实时传榆显示。

Global site tag (gtag.js) - Google Analytics