本文将对PLX公司的PCI9052总线目标接口芯片的功能及其在PCI板卡设计中的应用进行介绍。
1 PCI9052的功能特点
PCI9052是PLX公司继PCI9050之后新推出的、可用于低成本适配器的总线目标接口芯片。PCI9052与PCI9050一样,可提供用于适配卡的小型高性能PCI总线目标(从属)接口,以使ISA适配器可以迅速、低成本地转换到PCI总线上。采用PCI9052可使适配卡上的I/O数据传送速度从PCI9052可使适配卡上的I/O数据传送速度从ISA总线的8MHz提高到PCI的33MHz。
PCI9052的主要功能与特性如下:
●符合PCI2.1规范,支持低成本从属适配器;
●带有五个局域总线地址空间和四个片选;
●具有双向FIFO,可用于零等待状态突发操作;
●PCI总线的传输速度可高达132兆字节/秒;
●支持多路复用和非多路复用的8位、16位和32位通用局域总线;
●支持局域总线与PCI时钟的异步运行;
●支持Big/Little Endian编码字节转换;
●支持来自两个局域总线的中断所生成的PCI中断;
●具有ISA模式,支持PCI总线到ISA总线的单周期存储器(8位、16位)读写和I/O访问。
图1所示是PCI9052的信号接口示意图。
2 PCI9052的应用操作
2.1 初始化
在上电时,PCI总线的RST信号有效,同时,PCI9052输出局部复位信号LRESET并检查EEPROM是否存在数值。若存在,则根据EEPROM中的内容设置内中寄存器,否则设为缺省值。PCI配置寄存器只能通过EEPROM或PCI主机CPU来进行设置。
2.2 复位
PCI9052总线接口在RST信号输入有效时将引起整个PCI9052的复位,并输出LRESET局部复位信号。PCI总线上的主机可以通过设置控制寄存器中的软件复位比特来对PCI9052进行复位,并输出LRESET信号。
2.3 串行存储器接口
复位后,PCI9052开始读串行EEPROM,若读出的第一个字非FFFFH,则PCI9052继续读操作,否则认为EEPROM无效。对PCI9052来讲,EEPROM的前四个字节应为52H、90H、B5H和10H,其中9052H为设备号,10B5H为厂商编号。
2.4 寄存器访问
PCI9052的内部寄存器可通过PCI总线的主机CPU和串行EEPROM进行访问,这些内部寄存器分为PCI配置寄存器和局部总线配置寄存器。主要有以下几种:
●设备与厂商寄存器:该寄存器位于PCI配置寄存器的起始处,用于标识设备类别及制造厂家;
●状态寄存器:状态寄存器内含与PCI总线相关的事件信息;
●命令寄存器:用来控制设备对PIC访问的响应;''
●局部配置寄存器存储器访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9052局部配置寄存器的存储器访问分配一段PCI地址空间,范围为128字节,实始化时,主机对寄存器写入FFFFFFFF,然后读回FFFFFF70,以确定其占用空间为128字节;
●局部配置寄存器I/O访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9052局部配置寄存器的I/O访问分配一段PCI地址空间;
●局部地址空间0访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9052局部地址空间0的访问分配一段PCI地址空间;
PCI主机处理可以直接对局部上的设备进行读/写操作。PCI9052配置寄存器能够访问映射到局部的地址空间。同时片内的读写FIFO使PCI9052能够支持PCI总线与局部总线间的高性能猝发传送。PCI总线主控访问局部总线的示意图如图2所示。
2.5 局部总线ISA接口模式
PCI9052的新功能是它直接提供给用户个ISA逻辑接口,从而保证了ISA到PCI的平滑转换,另外,ISA接口还能支持8/16位存储器或I/O设备。用户通过对EEPROM的编程可将PCI9052置为ISA接口模式,在ISA接口模式下,LRESET信号将由低有效变为高有效,并可将局部总线空间2、3配置为无复用方式。
3 基于PCI9052的PCI接口卡设计
利用PCI总线目标接口芯片PCI9052设计PCI接口卡非常简便,图3是笔者设计的PCI总线数据采集卡的原理框图。图中的数据采集电路用来完成数据的采集与存储,而PCI总线上的主机CPU可通过PCI9052直接读取存储器中的数据。
4 结束语
由于PCI总线数据吞吐量大,传输速率高,从而大大改善了数据传输的“瓶颈”问题。所以,在未来的微机接口设计中,基于PCI总线的设计在将成为主流。当然,PCI总线协议比较复杂,设计PCI控制接口难较大。目前,一般采用两种方式:一种是使用ALTERA,XILINX等公司的FPGA系列并使用其元件库;另一种办法是使用成型接口芯片如AMCC公司的S5933或PLX公司的PCI905X系列等。而专用PCI接口芯片的使用将避免用户直接面对复杂的PCI总线协议,因此,可以降低设计难度,从而使用户能够集中精力解决具体的应用问题以缩短开发周期。