PCI总线接口芯片及其ISA模式应用

上传人:飞*** 文档编号:3706963 上传时间:2017-08-10 格式:DOC 页数:6 大小:137.50KB
返回 下载 相关 举报
PCI总线接口芯片及其ISA模式应用_第1页
第1页 / 共6页
PCI总线接口芯片及其ISA模式应用_第2页
第2页 / 共6页
PCI总线接口芯片及其ISA模式应用_第3页
第3页 / 共6页
PCI总线接口芯片及其ISA模式应用_第4页
第4页 / 共6页
PCI总线接口芯片及其ISA模式应用_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《PCI总线接口芯片及其ISA模式应用》由会员分享,可在线阅读,更多相关《PCI总线接口芯片及其ISA模式应用(6页珍藏版)》请在金锄头文库上搜索。

1、PCI 总线接口芯片及其 ISA 模式应用1 引言 PCI(Peripheral Component Interconnect)总线,即外围部件互连总线,是一种先进的高性能 3264 位地址数据复用局部总线。PCI 总线与处理器和时钟频率无关,可以提供高达 132MBs 的数据传送速率;它具有严格的规范,只要符合 PCI 规范的扩展卡插入任何PCI 系统就能可靠地工作。但由于 PCI 总线协议的复杂性,其接口的实现比 VESA、ISA和 MCA 等总线要困难得多。 目前,开发 PCI 接口设备有两种方法:一种方法是采用可编程逻辑芯片,它的最大好处是比较灵活,用户可以根据自己的需要开发出适合于特

2、定功能的芯片,而不必实现 PCI的全部功能。现在有许多生产可编程逻辑器件的厂商,如 Xilinx 的 LogiCore 和 Altera 的AMPP 都提供经过严格测试的 PCI 接口功能模块,用户只要进行组合设计即可。另一种常用的方法是使用专用接口器件,通过专用芯片可以实现完整的 PCI 主控模块和目标模块的功能,将复杂的 PCI 总线接口转换为相对简单的用户接口,用户只要设计转换后的总线接口即可。 专用接口芯片具有较低的成本和通用性,能够有效降低接口设计的难度,缩短开发时间。现有的 PCI 接口芯片主要有 AMCC 公司的 AMCCS59xx 系列和 PLX 公司的 PCI90xx系列。在

3、 PLX 系列产品中,PCI9052 是一款常用的 PCI 总线目标接口芯片,该芯片最大的特色是带有一个 ISA 接口,通过它可以实现 ISA 总线到 PCI 总线的无缝连接,这为目前仍存在的 ISA 插件移植到 PCI 提供了极大的方便。 利用 PCI9052 的 ISA 模式进行 PCI 的开发可以简化设备开发过程,但难度还是较大。设计者不仅要理解掌握手册中的要点,还要学习硬件设计和软件设计的方法和过程。为了让大家能够系统地了解利用 PCI9052 的 ISA 模式进行 PCI 板卡开发的过程和方法,本文从硬件设计、配置寄存器的编写、板卡调试和驱动程序的编写等方面介绍了 PCI9052 的

4、开发过程。2PCI9052 的 ISA 接口模式 21基本特点 PCI9052 是 PLX 公司继 PCI9050 之后推出的低成本 PCI 总线接口芯片,它符合PCI21 规范,可作为 PCI 总线目标设备实现基本的传送要求;它有 5 个局部地址空间和4 个局部设备片选信号,局部总线与 PCI 总线时钟相互独立运行。通过配置 EEPROM 的内容可以将 PCI9052 设定为 ISA 接口模式,通过 8 位或 16 位内存或 IO 映射可直接使 PCI总线与 ISA 总线相连,从而将 ISA 总线快速地转换到 PCI 总线上。 在我们的数控测井系统中,原来的通信控制模块是基于 ISA 总线的

5、插件,端口地址为0X1000X10F ,总线宽度是 16 位,可以实现输入输出,有中断功能。现在,我们利用PCI9052 芯片的 ISA 模式对原来的板卡进行升级改造,使原来的板卡在做少量改动的情况下可以插在 PCI 总线插槽中正常工作。 22引脚介绍及连接 在不同的模式下,PCI9052 的部分引脚有不同的定义和功能。工作在 ISA 模式下,其主要引脚如图 1 所示。 PCI9052 硬件连接正确与否直接关系到芯片能否正常工作,某些引脚处理不当往往会引起芯片工作不正常或死机。在图 1 中,9052 左上方的信号和 PCI 信号相连,左下方信号和串行 EEPROM 相连,右边的信号和局部总线信

6、号相连,也就是和 ISA 总线信号相连。PCI 端主要信号完全符合 PCI 规范要求,直接和 PCI 总线上对应的引脚相连即可。 ISA 端连接如下:在我们的板卡中由于只涉及到 IO,且为 16 位宽的数据,因此,MEMWR、MEMRD、SBHE和 BALE 信号可以不用。LAD15:0是 16 位的数据总线。LA23:2和 ISAA1:0共同组成 ISA 的地址总线,对于 8 位的数据总线,ISAA1:0 相当于 LA1:0 ,它们一起进行地址译码。而对于 16 位的数据线,每次读写两个字节,这时 ISAA0 不用,ISAA 1 和LA23 :2一起进行地址译码。需要注意的是,并不是所有的地

7、址线都要进行地址译码,这里要根据板卡上实际 IO 口空间的大小选择译码地址线的数目。对于我们的板卡,LA3: 2和 ISAA1 地址译码是必需的( ISAA1 为低位) ,当然,所有的地址线都参加地址译码也是可以的。 IOWR和 IOWD是局部端口读写信号。LCLK 是 ISA 端时钟信号,按芯片要求外接8MHz 的时钟。LRESET是 9052 芯片上电时 PCI 端复位后所发出的对 ISA 端进行复位的信号。在 ISA 模式下,该信号输出高有效。 LINTi1 和 LINTi2 是局部总线中断输入信号,这里,我们只用到 LINTi1 信号,由于9052 内部没有对这两个信号进行上拉或下拉处

8、理,因此,在外部将 LINTi2 上拉或下拉到一个确定的状态。 NOWS是无等待标志信号,此引脚上拉或接地可以减少等待的时钟数。LRDY是局部准备就绪信号,如果局部芯片没有提供该信号,一般对它进行下拉或接地处理。CHRDY 是局部通道准备好信号,一般要进行上拉处理。 LHOLD 是局部总线请求信号,应该进行下拉或接地处理。MODE 是模式选择信号,由于我们使用的是 ISA 非复用模式,因此该引脚接地。 在设计电路板时,要严格遵循 PCI 规范。电源和地线要尽可能宽且电源滤波要良好,在芯片的每个电源引脚最好接 01F 的滤波电容。由于 PCI 时钟信号的一半要靠反射波来提升,因此,时钟信号 CL

9、K 走线长度近似为 2500 mil。prstn1 和 prstn2 两者必须有一个接地,主板就是靠这两个信号来判断这个插槽上是否有卡的。用作上拉或下拉的电阻一般取值 22 k 欧姆即可。一般来说,PCI 板卡推荐做 4 层板,其实只要布线合理做两层板也是可以的。 串行 EEPROM 端信号有以下几种:时钟信号(EECK ) 、读数据信号(EEDO ) 、写数据信号(EEDI )和片选信号(EESC) ,分别和 EEPROM 相应管脚相连即可。 23串行 EEPROM 的配置 与 ISA 总线相比, PCI 总线支持三个物理空间:存储器地址空间、 IO 地址空间和配置空间。配置空间是 PCI

10、所特有的一个空间,所有的 PCI 设备必须提供配置空间。串行EEPROM 存储了 PCI9052 重要的配置信息,如设备号 DID、制造商号 VID、子设备号SDID、子制造商号 SVID、中断号、设备类型号、局部空间基地址、局部空间描述符、片选响应以及局部响应控制 CNTRL 等信号。EEPROM 的内容非常重要,它直接关系到整个板卡能否正常工作,在设计时要非常注意。 系统加电时,通过 PCI 的 RST 复位以后,PCI9052 首先检测 EEPROM 是否存在。如果检测到 EEPROM 首字不是 FFFFH,PCI9052 将依次读取 EEPROM 的内容来初始化内部寄存器。PCIBIO

11、S 根据配置寄存器的内容进行系统资源分配,这样,整个 PCI 设备的资源才不会发生冲突,从而实现了 PCI 总线的即插即用的特性。 PCI9052 的内部寄存器为总线接口的设计与实现提供了最大的灵活性,这些寄存器可以分为两类:PCI 配置寄存器和局部配置寄存器。 PCI 配置寄存器有 6 个基地址寄存器,这些基地址是在系统中的物理地址。其中,基地址 0 和基地址 1 分别是以内存方式和IO 方式访问局部配置寄存器的基地址,基地址 2 和基地址 3 分别映射到局部基地址 0 和局部基地址 1。局部总线配置寄存器用于设定局部总线的工作方式,如基地址和地址范围等。实际上,9052 在 PCI 和 I

12、SA 总线之间起到一个翻译作用,要访问 ISA 端地址只需对PCI 端基地址进行操作就可以了。对于我们的设计,EEPROM 的值及装入顺序如表 1 所示。 表 1 中,DID 和 VID 是 PLX 公司的标志,一般不能更改。操作系统就是通过DID、VID 、SDID、SVID 及设备类型码来识别不同厂家的设备的。 在 ISA 模式下,局部空间 1 必须映射为 IO 空间,局部空间 0 必须映射为内存空间。另外要注意:在 ISA 模式下虽然不存在片选信号,但我们必须设置它,使它的值和局部空间 1 的基地址和范围相匹配,否则,局部地址空间无法响应 PCI 的控制指令。同样,如果用到局部地址空间

13、0,也要设置它的值。 对于 PCI9052 芯片,它的配置寄存器的内容是在芯片复位时通过串行 EEPROM 加载的。在 ISA 模式下,串行 EEPROM 一定不能省略,我们一般使用松下公司的 NM93CS46或与之兼容的存储器。配置寄存器的内容编写完以后,可以用编程器写入 EEPROM 中。另外,也可以通过主机在线烧写,但由于各种原因,成功率很低。3板卡调试 板卡做好以后,就可以插入主机板的 PCI 插槽中进行调试。在调试的过程中,为了跟踪信号的变化通常要用到数字示波器,另外,还需要一个软件调试工具。PLX 公司提供了一个 905X 的专用调试软件 PLXmon,我们可以从它的网站免费下载。

14、PLXmon 包括以下功能:PCI 总线的探测与选择;配置寄存器的检查和修改;内存空间的显示、修改和填充;EEPROM 内容的读写等。利用这个工具,我们可以很清楚地看到 EEPROM 的内容以及PCI 配置寄存器和局部端配置寄存器的内容,另外,用户还可以进行内存和 IO 端口的读写。 此外,我们也可以用 WinDriver 或 SoftICE 软件进行板卡调试,但总的来说,使用起来都不如 PLXmon 方便。有了开发工具,设计者就可以根据板卡的具体要求进行调试了。4驱动程序的编写 板卡调试成功以后就可以编写驱动程序了。目前,编写驱动程序最常用的工具是VtoolsD 和 WinDriver,它们

15、都是专门的驱动开发工具。尤其是 WinDriver,开发人员不需要掌握 WINDOWS 驱动编程的知识,利用它的向导工具,能很快地开发出高质量的驱动程序。 在 Windows9x 环境下,操作系统统一管理硬件资源,出于安全性考虑,ring3 层应用程序不能直接访问硬件(I O 端口访问除外) ,因此,必须编写运行在 ring0 层的虚拟设备驱动程序(VxD)来响应系统底层的中断。如果板卡只有 IO 操作,而没有用到中断和内存操作,可以不用编写驱动程序,直接在应用程序里实现输入输出就可以了。编程的方法是先找到板卡,再找到卡中与我们用到的局部空间相对应的 PCI 基地址,然后就可以根据要求对这个基地址进行操作了。如果在 WINDOWS98 以上版本的操作系统下,就要编写WDM 设备驱动程序了。 5结束语 由于 PCI 总线数据吞吐量大,传输速率高,在微机接口设计中,基于 PCI 总线的设计成为主流。PCI9052 是一款优秀的 PCI 接口芯片,设计者用它可避免直接面对复杂的 PCI总线协议,降低了设计难度,从而使用户可以集中精力解决具体的应用问题,缩短了开发周期。实践证明,PCI9052 为开发作为总线接口目标设备的产品,特别是对基于 ISA 总线的接口板向 PCI 的转换提供了极大的方便。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 技术指导

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号