当前位置:首页 > 智能硬件 > 智能硬件
[导读]PCI9656是PLX公司推出的一种64位、66MHz的PCI接口电路。具有灵活的连接性能和高性能的I/O加速器特性,用于PCI、Compact PCI和嵌入式主机设计。

   摘要:PCI9656是PLX公司推出的一种64位、66MHz的PCI接口电路。具有灵活的连接性能和高性能的I/O加速器特性,用于PCI、Compact PCI和嵌入式主机设计。文中主要介绍PCI9656的功能、特点及应用,给出具体应用实例,同时指出应用中需注意的问题。

    关键词:PCI;总线;局部总线;PCI9656

引言

PCI总线是目前应用最广泛、最流行的一种高速同步总线,具有32bit总线宽度,总线时钟频率为0~33MHz,最大传输速率可达132Mbyte/s,且可扩展为64位、66MHz主频。该总线的最大数据传输速率达528Mb/s,远远大于ISA总线5Mbyte/s的速度。PCI总线与CPU无关,与时钟频率也无关,因此可以应用于各种平台,支持多处理器和并发操作。

PCI总线协议比较复杂,因此它的接口电路实现起来也比较困难。它不但有严格的同步时序要求,而且这了实现即插用和自动配置,PCI接口还要有许多的配置寄存器。对于一般的设计者来说,为了缩短开发周期,没有必要设计所有的接口逻辑,只要利用通用PCI接口电路就能很好的进行开发设计,从而大大减轻了工作难度。

目前,业界基于32位PCI总线使用较多的接口芯片是AMCC公司的S59xx系列和PLX公司的PLX系列。而现有普通计算机公司均已采用32位架构,系统的内存寻址能力已达到4GB,因此,32位PCI总线已经不能满足日益庞大的数据处理需要。鉴于英特尔公司推出的Itanium处理器直接从32位跃升到64位,因此,开发基于64位PCI总线的接口设备显得尤为重要。下面介绍一款PLX公司的基于64位PCI总线的PCI9656型接口电路。

1 PCI9656概述

PCI9656是PLX公司为扩展适配板卡推出的能提供混合高性能PCI总线目标模式的接口电路,该接口电路可提供用于适配卡的小型高性能64位PCI总线目标接口。PCI9656的内部结构框图如图1所示。它的主要特点如下:

●符合PCI V 2.2协议,支持64位、66MHz时钟PCI总线,特别适用于PCI总线外设产品开发。

●采用PLX数据流水线架构(Data Pipe Architecture)技术,配有DMA引擎、可编程直接主控或者直接从属数据传输模式以及PCI信息传输功能。

●具有PCI优先判决器,可以支持7个外部主控器。

●可以由2个局部总线中断信号LINTi和LINTo生成一个PCI中断信号INTA。

●局部时钟与PCI时钟异步工作,允许局部总线独立于PCI时钟工作。

●支持多路复用和非多路复用的8位、16位和32位66MHz时钟局部总线。

●可直接生成所有的控制、地址和数据信号以驱动PCI总线,不需要额外驱动电路。

●可通过消息管理系统I/O,并提供2种方式选择,一是通过邮箱寄存器和门铃寄存器,二是通过所提供的I2O接口。

●寄存器PCI9054寄存器兼容,可容易地进行基于32位PCI总线与基于64位PCI总线的软件移植。

2 PCI9656的功能

PCI9656可用来为非PCI设备和PCI总线提供数据通道。下面介绍具体操作功能。

2.1 初始化

在上电时,PCI总线的RST信号将PCI9656的内部寄存器设置为缺省值,同时,PCI9656输出局部复位信号(LRESET)并检查EEPROM是否存在。如果系统上装有EEPROM且该EEPROM的第一个16字节非空,则PCI9656将根据EEPROM内容设置内部寄存器,否则设为缺省值。

2.2 复位

PCI总线的RST信号有效时,整个PCI9656将复位,同时,输出LRESET局部复位信号。另外PCI总线上的主控设备也可以通过设置寄存器中的软件复位比特来对PCI9656进行复位,但是主控设备只能访问配置寄存器而不能访问局部总线。所以,PCI9656公一直保持这种复位状态直到PCI主控设备清除软件复位比特。

2.3 串行存储器接口(EEPROM)

复位后,PCI9656将开始读串行EEPROM,START为0表示EEPROM存在。此时若该EEPROM的第一个字(16bit)既不为“全1”(EEPROM为空)也不为“全0”(EEPROM不存在),PCI9656将用它进行配置。如START为1,表示EEPROM不存在或EEPROM为空,PCI9656采用缺省值配置。

    PCI9656总线上的主机可以对串行EEPROM进行读写,寄存器位[31,27-24]控制着PCI9656对EEPROM位的读写。将重载配置寄存器位CNTRL[28]置1可以用串行EEPROM重新配置PCI9656。EEPROM的时钟可由PCI总线时钟分频获得。

2.4 内部寄存器

PCI9656提供的一系列内部寄存器可为总线接口设计提供最大的灵活性。这些寄存器主要有PCI配置寄存器、局部配置寄存器、DMA寄存器、运行时间寄存器和消息队列寄存器。

对PCI9656寄存器进行读写操作的单位可以是字节、字、长字。PCI9656的存储器访问可以是突发的,也可以是非突发的。

2.5 直接数据传输模式

PCI9656支持PCI总线上的主处理器对局部总线上的设备进行直接访问。PCI9656的配置寄存器将访问映射到局部地址空间。其片内读写FIFO存储器可使PCI9656支持PCI总线与局部总线之间的高性能突发传送。PCI总线主控访问局部总线示意图如图2所示。

3 基于PCI9656的PCI接口设计

PCI9656是一种功能非常强大的64位PCI接口电路,用它来设计PCI适配卡将使接口变得非常方便。图3是PCI主处理机读写一片RAM的接口示意图,其主要功能是实现对RAM的单次或突发的读、写操作。

3.1 硬件设计

该PCI接口的硬件电路分为3部分。第一部分是PCI9656和PCI插槽间的连接信号线。这些信号包括地址数据复用信号AD[31:0],总线命令信号C/BE[3:0],PCI协议控制信号PAR、FRAME、IRDY、TRDY、STOP、IDSEL、DEVSEL、PERR、SERR以及64位PCI总线扩展信号AD[63:32]、C/BE[7:4]、PAR64、REQ64、ACK。第二部分是与串行EEPROM的连线。这部分有4根信号线:EESK、EEDO、EEDI、EECS,串行EEPROM的数据可以提前烧好,也可以在线烧写。第三部分是PCI9656与FPGA的连接。对于FPGA的选择及其内部设计有必要作以下说明:ACEX1K50QC208-3是Altera公司推出的一款低成本FPGA,选择该电路作为该设计的控制器,利用其内部逻辑单元设计局部总线控制器,可用于实现局部总线的状态控制。双端口RAM可选用ALTERA公司提供的库函数LPM_RAM_DP来设计实现,其存储容量为1.24x32bit,占用8个EAB,其余的逻辑单元和EAB用作内部的其他控制。RAM的读写使能信号由局部总线状态机产生,地址计数器的输出可作为它的读写地址。

3.2 软件设计

该PCI接口软件的设计主要分为2部分。一部分用于该PCI9656各个配置寄存器赋值并初始化,另一部分为主程序,用来完成PCI9656与主机CPU之间的数据交互。

4 使用PCI9656时应该注意的问题

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

    PCI9656有3个PCI-LOCAL总线地址空间(S0、S1和扩展ROM)和2个具有独立FIFO的DMA通道,用户可根据实际需要来进行配置,并不是要用到所有的。若将本地空间配置成I/O,该空间的读写只能单次进行。而若将其配置成存储器模式,则可大大提高读写速度。

突发模式是为了提高本地总线操作速度而设计的。在该模式下,PCI9656只提供一次传输开始和终止信号。设计时,可以利用BTERM引脚是否有效来中止突发操作。

还有一点需要说明,当执行64bit PCI数据传输时,低32bit PCI数据(AD[31:0])总是首先被局部总线传输。基于32位、16位、8位局部总线操作的数据传输顺序可由局部总线“字节通道”决定。局部总线“字节通道”分为“低字节通道”与“高字节通道”,字节通道由配置寄存器Big/Little Endian描述寄存器中的Byte Lane Mode位所决定。若该位为0(BIGEND[4]=0)时,则为“低字节通道”模式,反之为“高字节通道”模式。

5 结束语

选用第三方EDA工具并采用VHDL硬件描述语言可对该状态机进行行为级描述和逻辑综合,同时可将生成的网表文件送入Quartus软件进行再综合、功能仿真和定时仿真。实验结果表明,该状态机的最高工作频率可达101MHz,完全能够满足PCI9656局部总线的性能要求。

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器

寄存器变量是计算机中一种重要的存储方式,它使用CPU中的寄存器来存储数据和指令。寄存器直接与CPU的运算和控制部件相连,因此访问速度非常快,通常在一个CPU周期内就能完成数据的读写操作。相比于内存和硬盘等存储设备,寄存器...

关键字: 寄存器 存储器

寄存器和存储器是计算机及其它电子设备中的两种重要存储组件,它们在存储方式、存储容量和访问速度等方面存在明显的差异。

关键字: 寄存器 存储器

寄存器和内存是计算机系统的两个重要组成部分,它们之间存在着密切的关系。本文将介绍寄存器和内存的基本概念、功能、类型以及它们之间的关系,旨在帮助读者更好地理解计算机系统的运行原理。

关键字: 寄存器 内存

寄存器是计算机硬件中的重要组件,用于临时存储数据和指令。正确地使用寄存器能够提高程序的执行效率,然而不正确的使用也可能导致各种问题。本文将详细介绍寄存器的使用方法以及在使用时需要注意的事项。

关键字: 寄存器 计算机硬件

寄存器和暂存器都是计算机硬件中的重要组件,它们在计算机系统中发挥着不同的作用。下面我们来详细了解一下它们的区别以及各自的特点和应用。

关键字: 寄存器 暂存器

寄存器是一种重要的计算机硬件组件,用于临时存储数据或指令。在计算机架构中,寄存器是CPU内部的一部分,用于加速数据的处理速度。寄存器通常由高速缓存(cache)和随机存取存储器(RAM)组成。

关键字: 寄存器 计算机硬件

寄存器是计算机中一种用于暂存数据的高速存储器,也是计算机体系结构中的重要组成部分。它们通常被集成在中央处理器(CPU)内部,用于存储和处理指令执行过程中的数据。

关键字: 寄存器 存储器 计算机

AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服...

关键字: AVR单片机 RAM 寄存器
关闭
关闭