PCI总线接口芯片9050及其应用
摘要:PCI9050是PLX公司推出的一种低成本的PCI协议从模式接口芯片。本文主要介绍了它的功能、特点及应用,说明了它在使用时应该注意的一些问题,最后给出了一个具体的应用实例。
关键词:PCI总线 局部总线 PCI9050
1. 引言
PCI总线是目前应用最广泛、最流行的一种高速同步总线,具有32bit总线宽度,总线时钟频率为0~33MHZ,最大传输速率可以达到132Mbyte/s,远远大于ISA总线5Mbyte/s的速度。而且,它不象ISA总线那样把地址寻址和数据读写控制信号都交给微处理器来处理,而是独立于处理器,所以它可以支持突发传送。PCI总线与CPU无关,与时钟频率也无关,因此它可以应用于各种平台,支持多处理器和并发工作。
PCI总线协议比较复杂,因此它的接口电路实现起来也比较困难。它不但有着严格的同步时序要求,而且为了实现即插即用和自动配置,PCI接口还要求有许多的配置寄存器。对于一般的设计者来说,为了缩短开发周期,没有必要自己去设计所有的接口逻辑,只要利用通用PCI接口芯片就能很好的进行设计开发,大大减小了工作的难度。现在使用较多的是AMCC公司S59XX系列和PLX公司推出的PLX系列。下面将主要介绍PLX公司的PCI9050接口芯片。
2. PCI9050概述
PCI9050是PLX公司为扩展适配板卡推出的能提供一种混合的高性能PCI总线目标模式的接口芯片,可提供用于适配卡的小型高性能PCI总线目标接口。
javascript:window.open(this.src);" style="cursor:pointer;"/>
它的主要特点有下面这些:
l 符合PCI2.1规范,支持开发低成本的从模式适配器。该芯片支持从ISA适配器向PCI适配器转换。
l 带有五个局域总线地址空间和四个片选。
l 支持突发存储器映射和I/O映射方式在PCI总线和局部总线存取数据。双向FIFO可以用于零等待状态突发操作。PCI总线总是工作在突发方式,局部总线可以设置成突发方式或者连续单周期方式。
l 可以从两个局部总线中断输入生成一个PCI中断。
l 局部时钟与PCI时钟异步工作,允许局部总线独立于PCI时钟工作。
l 支持多路复用和非多路复用的8位、16位和32位通用局部总线。
l 总线驱动。PCI9050直接生成所有的控制、地址和数据信号,用于驱动PCI总线,不需要额外驱动电路。
3. PCI9050的功能描述
PCI9050为非PCI设备和PCI总线提供数据通道。
(1)初始化
在上电时,PCI9050的内部寄存器由PCI总线的RST#信号复位,在局部总线上输出LRESET#信号并检查EEPROM是否存在数值。若是存在且前48位不全为1,则PCI9050用EEPROM中的值来配置片内寄存器,否则设为缺省值。PCI配置寄存器只能通过EEPROM或PCI主机CPU来进行设置。在串行EEPROM初始化时,PCI9050反馈给PCI总线RETBY信号。
(2)复位
PCI总线的RST#信号有效将引起整个PCI9050复位,输出LRESET#局部复位信号。PCI总线上的主控设备也可以通过设置寄存器中的软件复位比特来对PCI9050进行复位,但是主控设备只能访问配置寄存器,而不能访问局部总线。PCI9050会一直保持这种复位状态直到PCI主控设备清除软件复位比特。
(3)串行存储器接口(EEPROM)
复位后,PCI9050开始读串行EEPROM。START为0表示EEPROM存在,PCI9050用它来进行配置。若读出的第一个字不是FFFF,那么就认为EEPROM是非空的,继续进行操作。串行EEPROM是按重要性顺序先后配置信息的。
PCI总线上的主机可以对EEPROM进行读写,寄存器位[29:24]控制着PCI9050的管脚,对EEPROM位进行读写。将重载配置寄存器位CNTRL[29]置1可以用串行EEPROM重新配置PCI9050。
(4)访问内部寄存器
PCI9050提供一系列的内部寄存器来为总线接口设计与实现提供最大的灵活性。寄存器分为两类:PCI配置寄存器和局部配置寄存器。主要有以下几种:
l 设备与厂商寄存器,它用来标识设备类别及生产厂家。
l 状态寄存器,它包含与PCI总线有关的事件。
l 命令寄存器,控制设备对PCI访问的响应。
l 分类码元寄存器,它用来标识设备的一般功能。
l 局部配置寄存器存储器访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9050局部配置寄存器的存储器访问分配一段PCI地址空间,范围为128字节,初始化时,主机对寄存器写入FFFFFFFF,读回FFFFFF70,以确定其占用空间为128字节。
l 局部配置寄存器I/O访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9050局部配置寄存器的I/O访问分配一段PCI地址空间,范围为128字节,初始化时,主机对寄存器写入FFFFFFFF,读回FFFFFF71,以确定其占用空间为128字节。
l 局部地址空间0(地址空间1,2,3类似)访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9050局部地址空间0的访问分配一段PCI地址空间。初始化时,主机对寄存器写入FFFFFFFF,读回数值来确定它的范围。
对PCI9050寄存器进行读写操作的单位可以是字节,字,长字。PCI9050的存储器访问可以是突发的或非突发的。
(5)直接数据转换操作
PCI主控设备能够直接对局部总线上的设备进行读写操作。PCI9050内的配置寄存器控制局部地址空间的重新映射。双向FIFO引起局部和PCI总线上高性能的突发。
直接从操作:PCI9050支持突发式内存映射传输和单周期的内存或I/O映射传输。映射在PCI内存和I/O空间中的地址由PCI基址寄存器设