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总线协议,因此,可以降低设计难度,从而使用户能够集中精力解决具体的应用问题以缩短开发周期。