(1) 高速的地址产生单元;
(2) 地址译码及命令译码单元;
(3) 标准配置寄存器(64个字节)、PCI总线逻辑接口单元、用户设备逻辑接口、数据缓冲区等。
所以若用FPGA芯片直接设计PCI接口则难度大且开发周期长,而专用的PCI接口芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的接口。
目前常用的PCI专用接口芯片有PLX公司PCI90XX系列,AMCC公司S59XX系列,南京沁恒公司的CH365通用PCI接口芯片。其中南京沁恒公司的CH365是国内自主开发的PCI总线接口芯片,CH365将32位高速PCI总线转换为简便易用的类似于ISA总线的8位主动并行接口,并提供独有的本地硬件地址请求功能,适合制作低成本的基于PCI总线的计算机板卡,以及将原先基于ISA总线的板卡升级到PCI总线上。另外CH365价格便宜、使用方法简单,非常适合用于短周期、低成本PCI接口卡的制作。其一般应用框图如图1所示。
CH365是一个连接PCI总线的通用接口芯片,可将32位高速PCI总线转换为主动8位并行接口并提供16位地址,可以进行I/O及存储器的读和写,可以设定PCI板卡的设备标识。
CH365非突发存取的实测速度可达7 MB/s,写脉冲的宽度从30~240 ns可选;自动分配I/O基址,I/O空间占用256个,其中偏移00~EFH共240 B的标准的本地I/O端口,而F0~FF为CH365内部使用的寄存器,对I/O端口操作只须I/O基址加上偏移量;通过该接口直接升级ISA的I/O板卡到PCI总线,完全不需要修改原ISA卡的相关软件;直接映射支持容量为32 kB的存储器SRAM或者扩展ROM(BootROM),偏移地址0000~7FFFH;提供两线串行主机接口,可以挂接类似24C0X的两线串口E2PROM器件;支持Windows 98/ME/2000/XP,通过DLL提供应用层API。
CH365的地址引脚A15~A0用于提供相对于基址的偏移地址,引脚D7~D0为双向数据引脚,与设备相连。IOP_RD用于提供I/O读选通信号,IOP_WR用于提供I/O写选通信号,MEM_RD用于提供存储器读选通信号,MEM_WR用于提供存储器写选通信号,上述引脚均为低电平有效。与PCI总线相连的引脚直接与PCI总线对应。
4、 PCI接口卡的设计和实现
4.1 原ISA接口卡简介
原ISA总线接口卡是一个多路数据采集板,接口卡所采集数据由板上单片机与ISA总线通过双口RAM进行数据交换。双口RAM的11位地址线与ISA总线的低口位地址线相连作为局部地址;ISA总线接口板的高位地址与GAL168V芯片相连,由预先设置在GAL168V芯片中的地址作为接口板基址;双口RAM的左数据线通过一个8路总线收发器隔离后与ISA总线数据线相连,右地址线、数据线与单片机相连。