关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > PCI总线接口芯片9050及其应用

PCI总线接口芯片9050及其应用

作者:时间:2004-12-07来源:网络收藏
作者Email: littlping@163.com

摘要9050是PLX公司推出的一种低成本的协议从模式接口。本文主要介绍了它的功能、特点及应用,说明了它在使用时应该注意的一些问题,最后给出了一个具体的应用实例。

关键词总线 局部总线 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总线目标接口。

它的主要特点有下面这些:

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基址寄存器设置。而且,局部映射寄存器允许将PCI地址空间转换为局部地址空间。

4.PCI9050使用时应该注意的问题

9050内部的寄存器是通过外部串行EEPROM上电加载的。9050会自动根据该EEPROM的状态来决定其内部寄存器的值。如果EEPROM内部没有烧写为有效值,应保证其开始48位全为“1”,否则,系统上电时会出错。

9050有5个本地空间,用户可根据实际的需要来进行配置,并不是要用到所有的。当将本地空间配置成I/O时,对该空间的读写只能单次进行。如果配置成存储器模式,用户会有多种接入模式,大大提高了速度。

突发模式是为了提高本地总线操作速度而设计的。在该模式期间,9050只提供一次传输开始和终止信号。开始信号有效时,地址将以本地时钟的频率递增,可以利用BTERM#引脚是否有效来中止突发操作。
还有一点需要说明的是,Pentium系列的CPU,不支持突发读操作,只可能产生单次读操作。用户如果需要在PCI总线上实现突发操作,应该选用支持DMA传输的芯片,比如PCI9054。但是PCI9050会把PCI总线上的多次单次读操作转化为突发操作。

5.基于PCI9050的PCI接口设计

下面给出的是一个利用PCI9050做接口的PCI插卡。在用户电路上,采用MT90820做交换,实现数字电路的转接和复接。具体电路如下图所示。


(1)硬件设计:

接口芯片PCI9050主要包括PCI总线信号接口和局部。硬件电路分为三个部分。第一部分是9050和PCI插槽间的连接信号线。这些信号包括地址数据复用信号AD[31:0],总线命令信号C/BE[3:0]#和PCI协议控制信号PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、DEVSEL#、PERR#、SERR#。第二部分是与串行EEPROM的连线。这里有四根信号线:EESK、EEDO、EEDI、EECS,串行EEPROM的数据可以提前烧好,也可以在线烧写。第三部分就是9050与应用电路的连接。在这个例子里,它和MT90820相连,包括LA地址总线,LAD数据总线,LBE#字节使能信号,LW/R读写信号等。

(2)软件设计:

程序主要分为两个部分。一部分为PCI9050各个配置寄存器赋值并初始化,还有一部分为主程序,任务就是把PCM链路上的信号经过MT90820交换矩阵后,再通过PCI9050送到CPU。

6.结束语

由于PCI总线数据吞吐量大,传输速率高,所以现在PCI总线已经慢慢取代了ISA总线成为主流。当然,PCI总线协议要复杂的多,接口设计难度也就增大了。目前,设计PCI接口有两种方法。一种是使用ALTERA,XILINX等公司的FPGA系列并使用他们的元件库,这种方式需要用户直接面对复杂的PCI协议,开发周期长,难度大;还有一种就是利用我们上面介绍的PCI接口芯片,设计起来就要简单的多,因此得到了广泛的应用。



关键词: PCI 总线接口 芯片

评论


相关推荐

技术专区

关闭