当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]PCI总线接口芯片9050及其应用

 作者Email:  littlping@163.com

    摘要: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总线目标接口。

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

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接口芯片,设计起来就要简单的多,因此得到了广泛的应用。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭