基于PCI9054的PCI接口板设计

时间:2022-12-31 09:40:33
基于PCI9054的PCI接口板设计
 
作者:谢冲 董鹏举 阅读次数:445
 
 摘要:用PCI接口芯片实现的PCI总线接口板具有成本低,通用,设计难度低,开发周期短的优点,使用这种设计方法能够减少许多相应的外围器件,可用于开发各种高速数据采集系统、图象处理系统等PCI总线扩展板。关键词:PCI总线;PCI 接口芯片;PCI接口板  引言    PCI总线是一种高性能局部总线,是为了满足外设间以及外设与主机间高速数据传输而提出来的。采用PCI总线进行数据传输,可以解决原有的标准总线数据传输率低带来的瓶颈问题。因此,基于PCI总线的扩展板越来越多地被应用于各种高速、大数据量的处理系统中。    PCI总线接口板的设计必须符合PCI总线规范定义的电气特性和时序要求。目前,PCI总线接口开发一般采用两种方式: 一是采用CPLD来实现接口电路。这种设计方法的优点是使用比较灵活,设计人员可以根据自己的需要设计适合于特定功能的接口电路,而不必实现PCI总线的全部功能。但由于PCI总线协议复杂,设计PCI控制接口难度较大,对于产品不大又有时限的工程项目来说,耗时长、成本高。 二是采用通用PCI接口芯片,例如PLX 公司的PCI9054、PCI9050、PCI9080 等,它们均实现了PCI总线规范要求的所有硬件接口信号和配置空间寄存器。相比于CPLD设计控制接口的设计方法,PCI接口芯片的成本较低,具有通用性,能够有效降低接口设计的难度,缩短开发时间。1  PCI接口芯片     对于实现功能比较简单,成本要求较低的PCI总线扩展板,使用专用接口芯片是最优选择。PCI9054是使用较为普遍的一种PCI接口芯片。    PCI9054是由美国PLX公司生产的先进的PCI I/O加速器,它采用了先进的PLX数据管道结构技术,具有比较高的性价比,相比于PCI9080、PCI9050性能更优越。 其主要特性如下:·符合PCI  V2.2规范;·支持PCI双地址周期,地址空间高达4GB;·本地端(Local Bus)可以编程实现8,16,32位的数据宽度;·PCI 总线和Local Bus数据传送速率高达132MB/S,有三种数据传输模式:直接主模式(PCI Initiator)、直接从模式(PCI Target)和DMA模式; ·本地总线速率高达50MHz;支持复用/非复用的32bit地址/数据;本地总线有三种工作方式:M模式、C模式和J模式,可利用模式选择引脚加以选择;·具有可选的SE2PROM接口,可通过PCI主设备或SE2PROM进行内部寄存器配置。 PCI 9054其内部功能框图如图1所示。基于PCI9054的PCI接口板设计图1  PCI 9054内部功能框图    如图1所示,PCI9054提供了PCI 总线、local Bus两个接口。PCI9054作为PCI总线和Local Bus之间传递数据的“桥”,既可以作为两个总线的主控设备去控制总线,也可以作为两个总线的目标设备去响应总线。设计分析基于PCI9054的PCI接口板设计     本文以一个简单通用的PCI接口多串口板的设计为例对PCI总线扩展板的实现进行描述。2.1确定板内资源    此PCI接口多串口板主要由逻辑控制模块、串行接口模块、总线控制模块(即PCI9054)和数据处理及存储模块组成,如图3所示。 基于PCI9054的PCI接口板设计
图3  PCI接口多串口板电路组成     总线主控模块完成信号从局部总线到PCI总线上的协议转换,该功能是由PCI9054芯片完成的。由于使用E2PROM对PCI9054进行初始化存在驱动程序不易更改、模块功能扩展不方便等缺点,所以PCI接口多串口板不设置E2PROM芯片,PCI9054的初始化通过总线主控模块完成。2.1.1 串行接口模块    串行接口模块是多串口板上的I/O设备,由多路RS232和多路RS422组成,采用16C554作为串行总线处理电路,再通过不同的接口芯片完成电平转换,实现串行数据的接收和发送,16C554的初始化由逻辑控制模块完成。2.1.2 逻辑控制模块    逻辑控制模块的功能是对扩展板全局进行逻辑控制,它主要完成模块复位、时钟处理、模块时序控制等。逻辑控制芯片采用CPLD  iSPLTI1032,复位电路由MAX791及周边电路实现,本设计的核心部分就是双口存储器的访问时序控制。2.1.3 数据处理及存储模块    数据处理及存储模块为扩展板的处理部件,完成与总线主控模块的交互、I/O设备的数据(即RS232和RS422串行数据)处理和存储等功能。总线主控模块通过双口存储器对DSP处理器下达指令,与其交换I/O模块的数据信息。DSP处理器将外部送来的串行数据转化为并行数据传给总线主控模块,也将总线主控模块送来的并行数据转化为串行数据后经过电平转换电路转化为RS232或RS422数据送到外部。DSP处理器采用TI公司的16位DSP  SMJ320F240芯片,主频20MHz。双口存储器采用访问时间为20ns 的IDT7025。2.2  PCI9054 配置2.2.1 数据传输模式    PCI接口多串口板是PCI总线的从设备,控制由中线主控模块发起,PCI9054为PCI总线的工作目标。根据PCI接口多串口板的这些特点,为了提高任务的实时性,不采用BURST方式,而采用32位的直接从模式。2.2.2 本地总线工作方式    PCI9054本地总线可工作在M,C,J三种模式下。    C模式是9054芯片通过片内逻辑控制将PCI的地址线和数据线分开,可以很方便地为本地工作时序提供各种工作方式。J模式是没有直接从模式的工作模式,它的好处是地址数据线没有分开,严格仿效PCI总线的时序。    此扩展板的主要功能是实现RS232和RS422数据的接收和发送,总线主控模块直接访问的设备为双口存储器,从时序要求上分析,C模式和J模式均可满足要求。但C模式可简化设计,提高模块的可靠性,节约PCB版面,因此本地总线的工作方式选择为C模式。2.2.3 空间资源配置     PCI9054的工作方式,数据传输方式以及空间设置等功能都是通过配置其内部寄存器(Internal Registers)来实现的。    PCI接口多串口板的寄存器配置示意图如图4所示。    因为PCI接口多串口板中没有根据先前确定的PCI9054的工作方式和数据传输方式,对PCI9054的配置步骤如下:1. 在PCI总线主控模块上为PCI9054的内部寄存器分配一段空间,这样我们得出PCI配置寄存器的基址(标示为PC_Add),接下来这一步骤在PCI接口多串口板的驱动程序中完成;2. 定义本地端配置寄存器的基址:初始化PCI配置寄存器PCIBAR0(其偏移地址为0x10),它定义的值即为本地端配置寄存器的基址(标示为LCR_Add);有了两个配置寄存器的基址后,我们可以得出其他将要配置的寄存器的地址。3. 将本地工作方式初始化为C模式:通过PCI9054的管脚跨线设置将其工作模式设置为C模式。其管脚配置如表1所示。表1  PCI9054工作模式配置选择基于PCI9054的PCI接口板设计4. 将数据传输模式初始化为直接从模式:①local bus访问方式寄存器LBARD0=0x0143  =>  将9054初始化为32位操作,不采用burst方式,不能读预取,使能local space 0空间;②设置寄存器PCICR=0x0006  =>  将9054初始化为从设备,使能将local资源分配在PCI存储空间。基于PCI9054的PCI接口板设计图4   寄存器配置示意图    PCI配置寄存器将本地端的芯片通过本地端地址翻译成PCI总线的地址,也就是将本地的芯片映射到系统的内存或I/O口。这样使得用程序操作这一段内存(或I/O)实际上就是对本地的芯片操作。2.2.4 时序设计    实现示例电路中逻辑控制电路功能的主要任务是完成Local Bus端和PCI总线之间控制信号和数据总线的连接,并保证数据传输的可靠性。一些关键信号,如存储器的读写信号、PCI9054的READY信号的时序设计很重要。实际上,整个时序设计的主要任务也是围绕这几个信号的设计展开的。     以写周期为例,PCI9054的写时序图如图5所示。基于PCI9054的PCI接口板设计图5  PCI9054在直接从模式下单步写操作时序示意图     首先,PCI9054通过置LHOLD信号有效来申请Local Bus的主控权,在收到Local Bus仲裁的响应信号LHOLDA之后,PCI9054将成为Local Bus的主控,随后使ADS信号有效持续一个时钟周期,同时发出地址总线信号LA[31:2]、字节使能信号LBE[3:0]和读写选择信号LW/R。这时,地址总线LA[31:2]上的地址信号将保持有效直至数据线上的数据有效并保持一个LCLK周期。数据线LD[31:0]上的数据信号由local Bus设备驱动, READY表示Local Bus设备已经准备好,可以发送或者接收数据。BLAST信号由PCI9054提供,BLAST信号为低表示一次传输的最后一个字节,BLAST的上升沿可用于标志一次数据传输的完成。一个LCLK周期之后,PCI9054拉低LHOLD以放弃对Local Bus的主控权,此后,Local Bus仲裁响应PCI9054的LHOLD信号,并拉低LHOLDA以收回Local Bus主控权,这时的Local Bus置于闲置状态。这里,PCI9054作为Local Bus主控权的唯一申请者,只要提出总线申请,Local Bus仲裁就会立即响应该申请。结束语     在实践开发中证明,用PCI9054开发各种高速数据采集系统、图象处理系统等PCI总线扩展板,能够减少许多相应的外围器件,降低了开发难度,缩短了开发周期,并且使成本有了大幅度的降低。 参考文献:[1] 李贵山. PCI总线扩展板的设计:计算机研究与发展, 1997.[2] 邵震洪. 基于PCI9054和LTC4240的CPCI总线接口设计:世界电子元器件,2005. [3] 辛勤. 基于S5933的PCI扩展板设计方法研究:计算机工程与设计, 2001.[4] 史波. 总线技术与PCI标准概论:今日电子, 2006.[5] 孙丽英. PCI9054及其在数据采集系统中的应用:仪器仪表标准化与计量, 2006.[6]  PLX9054 Data Book v2.0: PLX Technology, 1999.  作者简介谢冲, 中国人民解放军驻六三一所代表室 工程师,硕士。主要从事计算机硬件设计。董鹏举, 西安邮电学院 助理工程师。主要从事自动化。