先进先出存储器
在 DMA传输方式下,由于 PCI9054内部的 FIFO只有 32级深度,实时传送高速数据时, PCI9054内部的 FIFO会很快存满,而 DSP内的数据仍会源源不断的传送过来,易造成数据的丢失,因此必须要扩展外部 FIFO。
本系统采用 I D T公司高速 CMOS同步 FIFO芯片 IDT72V3660,它的容量为 4096× 36bit;有高达 100MHz的读写速度;可以兼容 3.3V和 5V两种接口电压。该 FIFO具有标准的“满”( FF#)、“半满”( HF#)、“空”( EF#)等标志。系统可以根据这些标志信号控制对 FIFO的读写操作。在 CPLD的逻辑控制下,当 WEN#有效时,在 WCLK的每一个上升沿, FIFO会把输人数据线上的数据存入内部存储器。当 REN#有效且输出允许( OE#有效)时,在 RCLK的每一个上升沿, FIFO会把内部存储器中的数据发送到输出数据总线上(低电平用“ #”表示)。
控制逻辑芯片 CPLD
本系统采用 Altera公司的 EPM7 128来实现系统的逻辑控制,主要包括 DSP控制逻辑、 FIFO控制逻辑、 PCI9054接口控制逻辑三个部分,其中,对 PC219054的逻辑控制是设计的重点。设计中利用 MaxPlusⅡ软件进行 VHDL语言编程、仿真和调试。
PCI9054 及外部接口分析
PCI与板载 CPU的桥接有两种设计方案,一种是采用 FPGA,通过软件编程实现硬件功能。另一种是利用专用 PCI桥接芯片,适合快速开发的场合。
本系统采用 PLX公司的 PCI总线专用接口控制芯片 PC19054。它符合 PCIV2.1和 PCIV2_2规范;可同时支持 3.3V和 5V两种信号环境;提供了两个独立的可编程 DMA控制器;内部有 6种可编程 FIFO,以实现零等待突发传输及局部总线和 PCI总线之间的异步操作;在 PCI总线端支持 33MHz/ 32位,传输速率最高可达 132MB/ s;在局部端可编程实现 8/ 16/ 32位的数据宽度,支持复用/非复用的 32位地址/数据,时钟最高可达 50MHz。
PCI9054局部总线可工作在 M、 J、 C三种模式, M模式是专门为 Motorola公司的 MPC850和 MPC860提供直接非复用的接口; J模式地址/数据线复用; C模式与 J模式差别不大,但地址/数据线非复用,更符合连接习惯。本设计采用 C模式。
PCI9054的数据传输模式可分为主模式、从模式、 DMA模式。模式的选择主要根据硬件设计者对硬件的设计需要而定。本系统采用 DMA模式,在 DMA传输模式下, PCI9054既是 PCI端的主控方,又是局部端的主控方。
PCI9054集成了两个互相独立的 DMA通道,每个通道都支持 Block DMA和 Scatter/( 3ather DMA,其中通道 0还支持请求( Demand) DMA传输方式。当有通道进行 DMA传输时, DMA控制器将发起对局部总线和 PCI总线操作,其传输过程如图 2所示。
PC219054提供了三个物理总线接口: PCI总线接口、 EEPROM接口、局部总线接口。 PCI总线接口依照 PCI扩展板上定义的引脚分配情况将彼此对应的信号连接在一起即可。本系统采用的 EEPROM为 4K、 3.3V串行的 93LC66B,通过对 PCI时钟分频来产生 EEPROM时钟,内部存放 PCI9054的配置信息,系统加电时 PCI9054自动加载 EEPROM中的配置信息,并由 BIOS通过 PCI总线对配置寄存器读写,来完成各种控制功能。接口电路如图 3所示。