首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年9月25日星期三
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
PCI总线接口芯片9054及其应用

PCI Bus Interface Chip PCI9054 and Applications

福州南南信息科技有限公司 黄身锞


摘 要:PCI9054是PLX公司推出的一种PCI主模式桥芯片。本文主要介绍了它的特性、功能及应用,说明了以PCI9054作为接口芯片,开发PCI总线扩展卡的硬件框架图,最后给出一个简单的实例。



概述

PCI9054是由美国PLX公司生产的先进的PCI I/O加速器,采用了先进的PLX数据流水线结构技术,是32位、33MHz的PCI总线主I/O加速器;符合PCI本地总线规范2.2版,突发传输速率达到132MB/s,本地总线支持复用/非复用的32位地址/数据;有M、C、J三种模式;针对不同的处理器及局总线特性可选,尽量减少中间逻辑;具有可选的串行EEPROM接口,本地总线时钟可和PCI时钟异步。PC9054内部有6种可编程的FIFO,以实现零等待突发传输及本地总线和PCI总线之间的异步操作;支持主模式、从模式、DMA传输方式,因其强大的功能可应用于适配卡和嵌入式系统中。PCI 9054是一种性价比较高的PCI桥路芯片,比PCI9080、PCI9050等性能更优越。

PCI 9054其内部原理如图1所示。它采用先进的PLX数据管道结构技术,是32Bit、33MHz的PCI总线主I/O加速器。

图1 PCI9054内部框图(略)

PCI9054主要特性如下:

·符合PCI V2.1,V2.2规范,包含PCI电源管理特性。

·支持VPD(Vital Product Data)的PCI扩展。

·支持PCI双地址周期,地址空间高达4GB。

·具备120准备报文单元,完全兼容120 V1.5规范。

·提供了两个独立的可编程DMA控制器,每个通道均支持块和

Scatter/Gather的DMA方式,DMA通道0支持请求DMA方式。

·在PCI启动模式下,PCI 9054可插入类型1和类型2的配置周期。

·PCI和Local Bus数据传送速率高达132MB/S。

·支持本地总线直接接口Motorola MPC850或MPC860系列、Intel i960系列、IBM PPC401系列及其它类似总线协议设备。

·本地总线速率高达50MHz;支持复用/非复用的32bit地址/数据;本地总线有三种模式;M模式、C模式和J模式,可利用模式选择引脚加以选择。

·具有可选的串行EEPROM接口。

·具有8个32bit Mailbox寄存器和2个32位Doorbell寄存器。


功能描述

PCI9054的物理总线接口

PCI9054提供了三种物理总线接口:PCI总线接口,LOCAL总线接口及串行EPROM接口。LOCAL总线的数据宽度为32位,时钟频率可达到50MHz并且支持数据预取功能。

PCI9054的总线操作包括PCI总线操作和本地总线操作。对于PCI总线操作,它完全遵守2.2版本PCI规范。PCI9054本地总线支持非多路复用32位地址/数据总线,多路复用32位和8位,16位或32位本地总线设备从属访问,运行速率高达50MHz,可以获得200MB/S的本地总线突发传输速率。

PCI9054的LOCAL总线与PCI总线之间数据传输有三种方式:主模式(Direct Master)、从模式(Direct Slave)和DMA方式。其内部具有两个DMA数据通道,双向数据通路上各有6个FIFO进行数据缓冲,可同时进行高速的数据接收和发送。8个32位Maibox寄存器可为双向数据通路提供消息传送。

PCI9054还提供了一个串行EEPROM接口,容量2K字节。在配置存储器中存放了厂家标志、设备标志以及本地总线的基地址空间、I/O空间和中断控制信号等信息。初始化时,系统自动将串行EEPROM中的配置参数装入PCI配置寄存器,并根据本地总线对内存、I/O端口和中断的需求统一划分,自动配置。其中本地端寄存器也可以由本地CPU读写,直接进行配置。

PCI9054工作模式

PCI9054有3种工作模式:C、M和J模式。M模式主要针对Motorola公司高性能MPC850/860的应用而设计,主要应用在电信领域。J模式的接口设计相对比较复杂,通常用的是C模式。

C模式下PCI9054分为PCI Initiator操作和PCI Target操作。在PCI Initiator操作过程中,本地处理器或本地总线主控设备能够直接通过PCI9054访问PCI总线,发起Local-to-PCI的数据传输。而在PCI Target操作过程中,PCI总线主控设备可以以可编程的等待状态、总线宽度和突发传输功能访问PCI9054的三个本地空间(空间0,空间1和扩充ROM空间)。

PCI9054的DMA突发模式

PCI9054集成了两个相互独立的DMA通道,每个通道都支持Block DMA和Scatter/Gather DMA,通道0还支持Demand DMA传输方式
Block DMA要求PCI主机或Local主机提供PCI和Local的起始地址、传输字节数、传输方向。主机设定DMA开始位启动数据传输,一旦传输完成,PCI9054设定DMA"传输结束位"结束DMA。如果启动中断允许位,在传输结束时PCI9054将向主机申请中断。在DMA传输中,PCI9054既是PCI总线的主控器又是Local总线的主控器。

Scatter/Gather DMA要求主机在PCI空间或Local空间设定Descriptor模块,模块包括PCI和Local的起始地址、传输字节数、传输方向和下一个Descriptor模块的地址。PCI9054载入第一个Descriptor模块并发起传输,连续加载下一个模块,直到它侦测到“链结束位”有效,PCI 9054设置“传输结束位”,或者申请PCI或Local中断。这种模式下,PCI9054也可以在每个模块加载时有效中断信号,结束DMA传输。若Descriptor模块在本地存储空间,可以编程使DMA控制器在每次DMA传输结束后清除传输字节数。

PCI9054寄存器

PCI9054内部提供了5种寄存器:PCI配置寄存器、本地端配置寄存器、运行时间RUNTIME寄存器、DMA寄存器和120信息寄存器。下面对PCI配置寄存器和本地端配置寄存器的功能做简要介绍。

PCI配置寄存器也就是我们常说的PCI配置空间,它提供了配置PCI的一些信息。其中VenderID,DeviceID,RevisionID,HeaderType,ClassCode用于PCI设备的识别。

命令寄存器(Command)包含设备控制位,包括允许存储器读写响应等。

状态寄存器(Status)用于记录PCI总线的相关事件。

PCI配置寄存器提供了6个基地址寄存器,这些基地址都在系统中的物理地址范围内,其中BASE0和BASE1用来访问其他配置寄存器的基地址,BASE1是其他配置寄存器映射到PCI端内存的基地址,BASE2是其他寄存器映射到PCI端I/O的基地址。

可以通过PCI端内存和PCI端I/O来访问LOCAL配置寄存器与其他3种寄存器。BASE2~5四个空间提供了访问本地端所接的4个芯片(当然可以少于4个),它们将本地端的芯片通过本地端地址(在LOCAL配置寄存器中设)翻译成PCI的地址,也就是将本地的芯片映射到系统的内存或I/O口。这样使得用程序操作这一段内存(或I/O)实际上就是对本地的芯片操作。

本地端配置寄存器提供了本地端的一些信息,如图2 C模式部分时序图

图2 C模式部分时序图(略)

LCLK:输入信号,时钟信号

LHOLD:输入信号,申请使用本地总线

LHOLFA:输入信号,对LHOLD应答


基于PCI9054的PCI接口设计

PCI 9054 以其强大的功能和简单的用户接口,为PCI总线接口的开发提供了一种简洁的方法,设计者只需设计出本地总线接口控制电路,即可实现与PCI总线的高速数据传输。

图3是应用PCI9054作为接口芯片,开发PCI总线扩展卡的总体硬件框架图

图3 开发PCI总线扩展卡的总体硬件框架图(略)

下面简单介绍以PCI9054为接口芯片的网卡设计。


硬件设计

见图4

图4 硬件设计原理图(略)

第一部分是9054和PCI插槽间的连接信号线。这些信号包括地址数据复用信号AD[31:0],总线命令信号C/BE[3:0]#和PCI协议控制信号PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、PERR#和SERR#。

第二部分是9054与EEPROM的连线。这里有四根信号线:EESK、EEDO、EEDI、EECS,串行EEPROM的数据通过烧写编程的方式,也可以通过本地CPU直接编程的方式来完成初始化。

第三部分就是9054与应用电路的连接。其中LA地址总线、LD数据总线、LBE#字节使能信号和CPLD相连;LW/R读写信号、BLAST#、READY#、ADS#和8051单片机相连。

PCI9054工作在初始化器模式时,要求本地端的总线是32位的。在这里,用CPLD实现将80C51单片机的8位数据与16位地址转换成32位的数据和地址,使用RAM的目的是提高8051的数据传输速度和处理复杂的TCP/IP协议,EEPROM用来保存相关的信息状态等。


软件设计

软件程序主要分为两大部分,一是对PCI9054芯片的PCI端配置寄存器和本地端配置寄存器进行正确的编程配置;二是网络通讯,包括网卡初始化、发送控制和接收控制3部分。


结束语

在实践开发中我们发现,用PCI9054开发各种高速数据采集系统、图象处理系统等PCI设备,能够减少许多相应的外围器件,降低开发难度,缩短开发周期,大幅度压缩成本。

《世界电子元器件》2006.6
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com