PCI9052接口电路的功能及应用

发布者:Meilin8888最新更新时间:2012-11-29 来源: 21IC 关键字:PCI9052  局部总线  互连总线 手机看文章 扫描二维码
随时随地手机看文章

1   引言

PCI(Peripheral Component Interconnect)总线具有独立于处理器、高数据传速率、即插即用、低功耗、适应性强等特点,已成为微型机的主流总线。基于PCI总线形成的CompactPCI和PXI总线广泛应用于仪器和自动化领域。随着PCI总线的广泛应用,其接口的设计开发显得尤为重要。由于PCI总线的独特性能,如信号负载能力、支持数据的突发传送、地址/数据、命令/字节使能信号总线复用等,使中小规模的器件难以实现接口电路。实现PCI总线接口一般采用CPLD或FPGA设计PCI接口,这种方法难度很大;另一种是采用专用的PCI接口电路,使设计开发者免除繁琐的时序分析,缩短开发周期,降低开发成本。本文介绍PCI9052接口电路的功能及其在PCI板卡设计中的应用。

2   接口电路

PCI9052是PLX公司开发的低价位PCI总线目标接口电路,功耗低,采用PQFP型160引脚封装,符合PCI2.1规范,它的局部总线(LOCAL BUS)可以通过编程设置为8/16/32位的(非)复用总线,数据传送率可达到132Mb/s。提供了ISA接口,可以使ISA适配器迅速、低成本地转换到PCI总线上。主要功能与特性如下所述:

异步操作。PCI9052的Local Bus与PCI总线的时钟相互独立运行,两总线的异步运行便于高、低速设备的兼容。Local Bus的运行时钟频率范围为0MHz~40MHz,TTL电平,PCI的运行时钟频率范围为0MHz~33MHz。

支持突发操作。PCI9052提供一个64字节的写FIFO和一个32字节的读FIFO,从而支持预取模式即突发操作。

中断产生器。可以由Local Bus的二个中断信号LINTi1和LINTi2产生一个PCI中断信号INTA#。

串行EEPROM接口,用于存放PCI总线和Local总线的配置信息。

5个局域总线地址空间和4个片选,基址和地址范围可以由串行EEPROM或主控设备进行编程。

大/小Endian模式的字节交换,有二种交换字节顺序的输出方式。

总线驱动。所有地址、数据和控制信号都有PCI9052直接驱动,不用额外的驱动电路。

Localbus等待状态。除了等待信号LRDYI#用于握手之外,PCI9052还有一个内部等待产生器(包括地址到数据周期、数据到数据周期和数据到地址周期的等待)。

PCI锁定机制。主控设备可以通过锁定信号占有对PCI9052的唯一访问权。

ISA总线模式。PCI9052提供一个ISA逻辑接口,用户可直接使PCI总线和ISA总线相连,可以非常容易地将ISA设计转换到PCI。

PCI9052的接口示意图如图1所示。

图1   PCI总线接口示意图

3 PCI9052的功能及操作

3.1 初始化

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

3.2 复位

PCI9052支持二种复位方式:硬件复位和软件复位。硬件复位是PCI9052总线接口的RST#信号输入有效时将引起整个PCI9052复位,并输出LRESET#局部复位信号。软件复位是PCI总线上的主机可以通过设置控制寄存器CNTRL(50H)中的软件复位字节(Bit30)来对PCI9052复位,并输出LRESET#信号。此时,PCI和局部总线的配置寄存器的值将保持不变。当CNTRL中的软件复位字节有效时,PCI9052仅对配置寄存器的访问应答,对局部总线的访问不响应。PCI9052保持这种状态直到PCI总线上的主机清除软件复位字节。

3.3 对串行EEPROM接口的访问

复位后,PCI9052开始读串行EEPROM,若读出的第一个字非FFFFH,则PCI9052认为有一个有效的EEPROM存在,并且继续进行读操作,否则,认为EEPROM无效。PCI总线的主设备可以读、写连接在PCI9052上的串行EEPROM。对其进行读、写操作之前需要将控制寄存器CNTRL[25](使能位)设置为“1”,并控制CNTRL[24]位以产生串行EEPROM的时钟,然后,从EEDI送入指令代码。如果在指令代码之后由EEDO输出“0”,则表明可以对其进行读、写。需要结束操作时,只要将CNTRL[25]设置为“0”即可。

3.4 对内部寄存器访问

PCI9052提供了二种类型的片内寄存器,即PCI配置寄存器和局部配置寄存器,二者都只能由PCI总线和串行EEPROM访问,也可以通过设置寄存器CNTRL[13:12]禁止对后者的访问,这样,极大地增强了接口设计的灵活性。

3.5 直接数据传输模式

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

图2   PCI主控直接访问局部示意图

3.6 PCI中断(INTA#)的产生

要产生PCI中断INTA#,首先将寄存器INTCSR[6](PCI中断使能位)设置为“1”,如果需要以软件方式产生中断,则只需将INTCSR[7](软件中断位)设置为“1”。如果系统设计方案中选用由局部总线上的设备产生中断信号INTi1和INTi2、再生成PCI中断INTA#的方式,只要将寄存器INTCSR的相关位按表1进行设置,复位后INTCSR的值全部为“0”。[page]

表1   寄存器INTCSR相关的设置
 

QQ截图20120330154656.jpg

4   应用实例

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

4.1 电路连接

按照图3中的连接电路,对于SRAM主要有以下几个引脚:A(17,0)、I/O(7,0)、OE、CE、WE等。地址线A(17,2)与本地地址线LA[17,2]相连,根据PCI9052的LBE[0,3]#的定义,这里用8位数据总线将LBE0#与A0连接,LBE1#与A1连接,OE与PCI9052的CS0#相连。PCI9052为设计人员提供了4个片选信号CS(3:0)#,可以为4个设备提供片选信号,这样,可以避免设计人员在设计电路时设计片选解码电路,其地址和范围可由其对应的内部寄存内部本地寄存器配置。串行EEPROM用于存储配置寄存器内的配置信息,可以采用NM93C46或与之兼容的存储器。

4.2 寄存器设定

电路连接好后,要使电路能正常工作,必须对PCI9052内部寄存器进行配置。根据电路性能及特点,应将寄存器设定为非复用工作方式,采取存储器映射,8位数据总线。局部总线0的基地址寄存器值为240001H,其地址范围寄存器值为3FFF8H,其描述寄存器值为39H;片选0基址寄存器的初始值为4C0001;命令寄存器的初始值为02H;状态寄存器的初始值为800H,其他寄存器采用默认值。确定好各个寄存器的值后,应依据一定的次序将寄存器的初始值写入EEPROM。

4.3 驱动程序的开发

为了从PCI总线配置寄存器中获得主机动态分配的映射基址并对映射端口进行读写,必须编写驱动程序。编写Windows驱动程序时,可以使用DDK,但难度较大。为了简化驱动程序开发,可使用Jungo公司推出的WinDriver开发工具。WinDriver可自动生成VxD驱动程序及相应的高级函数。使用者不需具备Windows驱动程序开发知识,所生成的高级函数可直接在VC或CBuilder等高级编程语言中调用。

5 结论

实用证明,用专用PCI接口电路对设计PCI接口卡带来很大的方便。本文主要介绍PLX公司的PCI9052专用接口电路,设计者可根据需要选用其他接口电路,不需要ISA接口时,可选用PCI9050;需要DMA数据传送时,可选用PCI9054。专用接口电路是设计PCI适配卡的最佳方法,不但大大缩短了设计周期,而且有利于驱动程序的开发。

参考文献
[1]李贵山.戚德虎.PCI局部总线开发者指南[M].西安:西安电子科技大学出版社,1997.
[2]杨全胜.胡友彬.现代微机原理与接口技术[M].北京:电子工业出版社,2002.
[3]TomShanley,DonAnderson,刘晖译.PCI系统结构[M].北京:电子工业出版社,2000.

关键字:PCI9052  局部总线  互连总线 引用地址:PCI9052接口电路的功能及应用

上一篇:采用SX52单片机模拟家庭网关的设计
下一篇:基于SPCA1527A的便携式现场执法记录仪

推荐阅读最新更新时间:2024-03-16 13:14

以CAN总线为例介绍局部网络管理的概念及实现
  一、引言   近年来,汽车的节能问题备受关注,消减不必要的能源损耗是一种非常有效的方法。当前,大多数车辆在点火钥匙打到OFF档之后,部分功能仍需要使用,例如:车辆防盗、电子驻车功能等。为了降低电量消耗,避免蓄电池电量消耗过多导致汽车无法启动,需要KL30节点在OFF档之后能进入低功耗状态,关闭大部分不需要的功能,尽可能减少电量消耗。对于分布式功能网络,由于连接到总线上的节点需要协同工作,所以各节点遵循同样的协议以实现同步睡眠及唤醒。   当前,大多数的车辆都是遵循OSEK或者AUTOSAR网络管理协议,来实现节点休眠唤醒功能的。由于目前车辆的电子电气系统越来越复杂,KL30节点也越来越多,当前的网络管理协议也逐渐呈现出
[嵌入式]
现场总线的类型——CAN(控制器局部网)
CAN是Controller Area Net的缩写,即控制器局部网,它是一种有效支持分布式控制或实时控制的串行通信网络。CAN是由德国Bosch公司为汽车的监测、控制系统而设计的,例如:控制发动机点火,注油及复杂的加速、刹车、抗锁定刹车系统等等。CAN已被用于"奔驰"等各种汽车上。由于CAN卓越的特性及极高的可靠性,故而非常适合工业过程监控设备互连。CAN已经成为一种国际标准(ISO-11898),并已被公认为几种最有前途的现场总线之一。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的速率可到1M bit/s。CAN的信号传输介质为双绞线,具有现场总线的特点。目前在国内的电力、石化、航天、冶金、空调等不同行
[嵌入式]
采用PCI9052设计PCI总线运动控制卡
  运动控制芯片   PCI总线是一种先进的高性能32/64位地址数据复用局部总线,可以同时支持多组外围设备。实现PCI总线接口的方法主要有两种:一是采用CPLD或FPGA设计PCI接口,这种方法比较灵活,但是其难度较大,设计周期也较长。二是采用专用的PCI接口芯片,可以大大减少设计者的工作量,从而缩短开发周期,降低开发成本。本运动控制卡采用PLX公司的PCI9052接口芯片进行设计,该芯片符合PCI2.1规范。   与ISA总线相比,PCI总线支持三个物理空间:存储器地址空间、I/O地址空间和配置空间。配置空间是PCI特有的一个空间,所有的PCI设备都必须提供配置空间。PCI9052包含一个用于加载配置信息的串行EEPR
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved