微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PCI9052接口电路的功能及应用

PCI9052接口电路的功能及应用

时间:03-30 来源:互联网 点击:

摘要:PCI总线是Pentium主机最常见的总线,基于PCI总线形成的CompactPCI和PXI总线广泛地应用在仪器和自动化领域。PCI适配卡的接口设计变得越来越重要,介绍PCI专用接口电路PCI9052的功能,通过一个例子介绍它的应用。

关键词:外部设备互连总线;局部总线;接口电路;PCI9052;应用

1 引言

PCI(Peripheral Component Interconnect)总线具有独立于处理器、高数据传速率、即插即用、低功耗、适应性强等特点,已成为微型机的主流总线。基于PCI总线形成的CompactPCI和PXI总线广泛应用于仪器和自动化领域。随着PCI总线的广泛应用,其接口的设计开发显得尤为重要。由于PCI总线的独特性能,如信号负载能力、支持数据的突发传送、地址/数据、命令/字节使能信号总线复用等,使中小规模的器件难以实现接口电路。实现PCI总线接口一般采用CPLD或FPGA设计PCI接口,这种方法难度很大;另一种是采用专用的PCI接口电路,使设计开发者免除繁琐的时序分析,缩短开发周期,降低开发成本。本文介绍PCI9052接口电路的功能及其在PCI板卡设计中的应用。

2 接口电路

PCI9052是PLX公司开发的低价位PCI总线目标接口电路,功耗低,采用PQFP型160引脚封装,符合PCI2.1规范,它的局部总线(LOCAL BUS)可以通过编程设置为8/16/32位的(非)复用总线,数据传送率可达到132Mb/s。提供了ISA接口,可以使ISA适配器迅速、低成本地转换到PCI总线上。主要功能与特性如下所述:

异步操作。PCI9052的Local Bus与PCI总线的时钟相互独立运行,两总线的异步运行便于高、低速设备的兼容。Local Bus的运行时钟频率范围为0MHz~40MHz,TTL电平,PCI的运行时钟频率范围为0MHz~33MHz。

支持突发操作。PCI9052提供一个64字节的写FIFO和一个32字节的读FIFO,从而支持预取模式即突发操作。

中断产生器。可以由Local Bus的二个中断信号LINTi1和LINTi2产生一个PCI中断信号INTA#。

串行EEPROM接口,用于存放PCI总线和Local总线的配置信息。

5个局域总线地址空间和4个片选,基址和地址范围可以由串行EEPROM或主控设备进行编程。

大/小Endian模式的字节交换,有二种交换字节顺序的输出方式。

总线驱动。所有地址、数据和控制信号都有PCI9052直接驱动,不用额外的驱动电路。

Localbus等待状态。除了等待信号LRDYI#用于握手之外,PCI9052还有一个内部等待产生器(包括地址到数据周期、数据到数据周期和数据到地址周期的等待)。

PCI锁定机制。主控设备可以通过锁定信号占有对PCI9052的唯一访问权。

ISA总线模式。PCI9052提供一个ISA逻辑接口,用户可直接使PCI总线和ISA总线相连,可以非常容易地将ISA设计转换到PCI。

PCI9052的接口示意图如图1所示。

图1 PCI总线接口示意图

3 PCI9052的功能及操作

3.1 初始化

上电时,PCI总线的RST#信号将PCI9052的内部寄存器设置为缺省值,同时,PCI9052输出局部复位信号(LRESET#),并且检查EEPROM是否存在。如果设备上装有EEPROM,且EEPROM的第一个16字节非空,那么,PCI9052根据EEPROM内容设置内部寄存器,否则设为缺省值。

3.2 复位

PCI9052支持二种复位方式:硬件复位和软件复位。硬件复位是PCI9052总线接口的RST#信号输入有效时将引起整个PCI9052复位,并输出LRESET#局部复位信号。软件复位是PCI总线上的主机可以通过设置控制寄存器CNTRL(50H)中的软件复位字节(Bit30)来对PCI9052复位,并输出LRESET#信号。此时,PCI和局部总线的配置寄存器的值将保持不变。当CNTRL中的软件复位字节有效时,PCI9052仅对配置寄存器的访问应答,对局部总线的访问不响应。PCI9052保持这种状态直到PCI总线上的主机清除软件复位字节。

3.3 对串行EEPROM接口的访问

复位后,PCI9052开始读串行EEPROM,若读出的第一个字非FFFFH,则PCI9052认为有一个有效的EEPROM存在,并且继续进行读操作,否则,认为EEPROM无效。PCI总线的主设备可以读、写连接在PCI9052上的串行EEPROM。对其进行读、写操作之前需要将控制寄存器CNTRL[25](使能位)设置为“1”,并控制CNTRL[24]位以产生串行EEPROM的时钟,然后,从EEDI送入指令代码。如果在指令代码之后由EEDO输出“0”,则表明可以对其进行读、写。需要结束操作时,只要将CNTRL[25]设置为“0”即可。

3.4 对内部寄存器访问

PCI9052提供了二种类型的片内寄存器,即PCI配置寄存器和局部配置寄存器,二者都只能由PCI总线和串行EEPROM访问,也可以通过设置寄存器CNTRL[13:12]禁止对后者的访问,这样,极大地增强了接口设计的灵活性。

3.5 直接数据传输模式

PCI9052支持PCI总线上的主处理器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top