基于接口芯片PCI 9030的PCI总线接口卡的设计
发布时间:2007/9/10 0:00:00 访问次数:403
来源:微计算机信息 作者:施少敏 马彦恒
摘要:介绍了如何利用接口芯片PCI 9030制作PCI总线接口卡,实现由ISA接口向PCI接口的转换。文中从实例出发,详细阐述了接口卡的硬件设计、EEPROM的配置、驱动程序的编写等方面的内容。
关键词:PCI总线;PCI9030;寄存器;驱动程序
1、引言
作为对PCI总线在仪器领域的扩展,PXI总线由于具有高性能、低价位等特点,使其在数据采集、工业自动化系统、计算机机械观测系统和图像处理等方面获得了广泛应用。
但是PXI总线协议十分复杂,其接口的实现比ISA困难得多,直接为它设计相匹配的数字逻辑控制电路难度很大。特别是对于那些没有PCI板卡设计经验的人来说,要想直接设计出能满足要求的PXI模块几乎是不可能的事。而PXI总线的电气规范大部份跟PCI相同,只是增加了一些仪器特性。基于以上考虑,我们决定通过设计一个PCI接口卡来系统地了解利用接口芯片PCI 9030开发PXI模块的过程和方法。
2、硬件设计
目前实现 PCI 接口的方法主要是采用可编程逻辑器件或采用专用接口芯片。为降低难度,缩短开发时间 ,我们决定采用专用接口芯片来进行接口的开发。因为我们的最终目的是开发PXI模块,所以我们选用了符合PXI性能要求的接口芯片PCI 9030。PCI 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 | 本地地址 | |||||||||||
来源:微计算机信息 作者:施少敏 马彦恒 摘要:介绍了如何利用接口芯片PCI 9030制作PCI总线接口卡,实现由ISA接口向PCI接口的转换。文中从实例出发,详细阐述了接口卡的硬件设计、EEPROM的配置、驱动程序的编写等方面的内容。 1、引言 作为对PCI总线在仪器领域的扩展,I总线由于具有高性能、低价位等特点,使其在数据采集、工业自动化系统、计算机机械观测系统和图像处理等方面获得了广泛应用。 但是I总线协议十分复杂,其接口的实现比ISA困难得多,直接为它设计相匹配的数字逻辑控制电路难度很大。特别是对于那些没有PCI板卡设计经验的人来说,要想直接设计出能满足要求的I模块几乎是不可能的事。而I总线的电气规范大部份跟PCI相同,只是增加了一些仪器特性。基于以上考虑,我们决定通过设计一个PCI接口卡来系统地了解利用接口芯片PCI 9030开发I模块的过程和方法。 2、硬件设计 目前实现 PCI 接口的方法主要是采用可编程逻辑器件或采用专用接口芯片。为降低难度,缩短开发时间 ,我们决定采用专用接口芯片来进行接口的开发。因为我们的最终目的是开发I模块,所以我们选用了符合I性能要求的接口芯片PCI 9030。PCI 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进行地址译码就可以了。具体的电路连接见下表:
|