首页 > 范文大全 > 正文

基于Tsi148的PCI-VME总线接口设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Tsi148的PCI-VME总线接口设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:VME总线是一种开放式工业计算机总线,在VME总线多主处理计算机系统中,通常需要进行PCI总线与VME总线接口互连。这里分析了业界最先进的pci-vme总线互连芯片Tsi148的原理与功能,介绍Tsi148在VME总线智能模块中进行PCI-VME接口互连的方法,给出通过本地PCI总线接口进行Tsi148初始化和VME系统配置的软件流程。实践表明,采用Tsi148进行PCI-VME互连设计,实现了VME总线的高速数据传输和控制功能,并在实际应用中取得了良好的效果。

关键词:Tsi148;PCI总线;VME总线;接口互连

中图分类号:TP368文献标识码:B

文章编号:1004-373X(2010)04-108-03

Design of PCI-VME Bus Interface Based on Tsi148

LIU Baoming,KAN Dandan,SHI Yunhui

(Jiangsu Automation Research Insititute,China Shipbuilding Industry Group Corporation,Lianyungang,222006,China)

Abstract:VMEbus is an open standard industrial computer bus,in the multi-master computer system of VMEbus,the PCI and VME interface are needed to be interconnected.The principle and function of Tsi148,which is the most advanced device for PCI-VME are analysed.The method for PCI/X-VME interconnecting in intelligent board-based Tsi148 is introduced.The flow of software for initializing of Tsi148 and configuration of system from local PCI bus are brought forward.Practice indicates that the design of PCI-VME by Tsi148 has achieved the high speed data transmission and has bus function,and has achieved favorable purpose.

Keywords:Tsi148;PCI Bus;VME Bus;interface interconnect

0 引 言

VME(Versa Module Eurocard)总线是一种开放性工业标准计算机总线,支持32/64位总线宽度,采用主控/目标结构异步、复用/非复用方式;支持16/24/32/64位寻址和8/16/24/32/64位数据传送以及跨界数据传送;具有7条中断请求线、4条总线请求线,采用链优先级队列;系统最多支持21个主处理模块,具有系统错误检测功能[1]。

VME总线是一种高可靠性和高兼容性的系统总线,广泛应用于嵌入式系统中,尤其是在多主处理系统中,它系统总线,可以实现多主控处理;PCI总线作为一种高性能32或64位地址数据复用的总线,具有性能高,成本低,适应性强,数据完整性及软件兼容性都好的特点,实现处理器和存储器系统以及各种接口系统的连接。因此在VME总线的主控系统中,VME总线与PCI总线之间需要专门的桥接芯片进行互连,如早期Cypress公司的VIC068A,VIC64,CY7C960芯片,但目前均已停产,取而代之的是Tundra公司的Universe Ⅱ和Tsi148。

Tsi148是2004年Tundra公司推出的新一代PCI/X-VME互连芯片,是早期Universe Ⅱ的替代和升级产品,PCI总线接口可支持PCI-X 133 MHz,VME总线接口支持VME,2eVME,2eSST等传输协议,可以灵活实现Master,Slave,SCON系统控制器功能,专门为VME总线主处理模块、智能模块中的PCI-VME总线接口互连而设计。

1 Tsi148的工作原理

1.1 Tsi148的功能

Tsi148实质是一个PCI总线与VME总线地址空间转换与互连的非透明桥,实现了本地PCI或PCI/X总线操作与系统VME总线操作的相互转换。

Tsi148的PCI/X总线接口可以全面兼容PCI或PCI/X。PCI-X总线的工作频率介于50~133 MHz之间,PCI总线的工作频率介于33~66 MHz之间,两种模式下支持32位或64位寻址和数据;VME总线兼容传统VME32协议,支持VME64扩展和2eVME,2eSST协议,完备的总线系统控制器功能、中断和中断处理功能可通过PCI/X总线或VME总线进行初始化配置;两个可进行软件配置的DMA控制器,支持直接模式和链式模式的DMA操作,可以进行高速数据传输[4]。

1.2 Tsi148的组成

Tsi148的内部功能框图如图1所示。芯片内部主要由以下几个功能模块组成:PCI/X接口单元、VME接口单元、Linkage 模块单元、DMA单元、寄存器单元、中断寄存器单元。PCI/X接口单元分为PCI/X Master和PCI/X Target,VME总线接口分为VME Master,VME Slave和SCON单元。Linkage Module为核心转换单元,负责两种总线操作的时序转换,实现PCI-VME和VME-PCI的互访转换;通过配置中断寄存器可以实现两种总线之间的中断映射。

图1 Tsi148内部组成框图

2 VME与PCI总线互连

Tsi148非常适合VME总线的主处理模块和智能处理模块。一种VME总线智能处理模块主要组成框图见图2,系统主要由MPC8280处理器、存储器芯片、接口芯片、Tsi148、VME总线接口等其他电路和器件组成。该智能模块可运行VxWorks操作系统,在VME系统中可以实现Master/Slave工作方式和SCON功能。在智能模块上的MPC8280处理器片内集成了高效PCI Host接口,可以实现与Tsi148的无缝连接,同时通过模块本地PCI总线接口可以对Tsi148进行初始化配置,实现本地PCI地址空间与VME总线地址空间的映射。

2.1 PCI总线接口

MPC8280的PCI接口支持PCI总线时钟最高为66 MHz,总线宽度为32位,Tsi148的PCI/X接口时钟由MPC8280的PCLK提供,Tsi148工作模式由上电复位过程采集到的指定信号的电平状态决定,这些信号包括FRAME,IRDY,DEVSEL,STOP,TRDY,M66EN。在该模块中,采用32 b/66 MHz PCI总线模式,没有用到高32位地址数据线。为防止信号电平浮动造成漏电流过大引起的电平不稳,高32位地址数据线进行上拉,其他与64位操作相关的控制信号进行适当拉高或拉低处理,Tsi148的设备选择线IDSEL由PCI的地址数据线中的AD13实现。

图2 智能模块组成框图

2.2 VME总线接口

Tsi148的VME总线接口支持32/64位总线宽度,并且具有槽位自动识别功能,实现了VME64x规范中定义的CR/CSR功能,配合相应的软件工具可以实现通过VME总线进行模块配置和系统资源的初始化。Tsi148中的CR/CSR的地址分配可设置为自动识别Auto ID和地理位置Geographical两种方法,通过设置数据线VD2,VD3的电平,在上电复位时即可决定ASIDEN,GSIDEN引脚的电平状态。两种电平的组合方式如表1所示。

表1 CR/CSR分配机制

ASIDEN[VD2]GSIDEN[VD3]描述

00CR/CSR禁止

01地理位置方式

10Auto slot ID方式

11如果GA[4:0]引脚为高,设为默认Auto slot ID

2.3 地址空间转换

智能模块中的PCI总线接口通过Tsi148的Outbound Windows实现VME总线空间的访问,最小地址空间为32 KB。当该模块访问VME系统的某个地址空间时,它首先访问本地PCI地址空间。当Tsi148的PCI Target单元收到访问命令后,加上预设的地址偏移量,通过PCI Target送给VME Master。VME Master作为VME总线主控,发起地址空间访问,地址转换关系如图3所示。

图3 PCI/X到VME地址转换

系统中其他主模块通过Tsi148的Inbound Windows访问智能模块的PCI空间。主模块访问智能模块PCI总线的某个地址空间时,它首先访问VME地址空间。当Tsi148的VME Slave单元收到访问命令后,加上预设的地址偏移量,通过VME Slave单元送给PCI Master,PCI Master作为本地PCI总线上的主控发起地址空间访问,VME总线地址宽度由主模块决定,地址转换如图4所示。

图4 VME到PCI/X地址转换

两种总线之间是通过独立的读/写命令和数据缓冲器实现的,通过它可实现预取读和延时写功能。除此之外,Tsi148还支持DMA数据传送,即支持直接模式DMA传输和链式DMA传输两种方式,可以实现数据量较大时的块传送,并且DMA控制器可实现VME-PCI,PCI-VME,PCI-PCI,VME-VME接口之间的数据传送。

3 Tsi148软件初始化

智能模块在VME总线系统中需要进行资源配置对Tsi148初始化。首先初始化Tsi148内部寄存器,初始化可由两种方式实现,一种是通过智能模块本地PCI总线接口操作进行;另一种是系统中主控板通过VME总线接口配置CR/CSR空间实现。本文介绍通过本地PCI总线进行软件初始化的方法。Tsi148内部的4 KB寄存器,分为PCFS,LCSR,GCSR,CSR。其中,PCFS为256 B的标准PCI头寄存器;LCSR 为本地控制与状态寄存器;GCSR 为全局控制与状态寄存器;CSR为VME总线控制与状态寄存器。4 KB寄存器通过配置命令映射到智能模块上处理器内存地址空间,利用VxWorks环境下PCI读/写命令实现寄存器配置。

3.1 开放地址空间

初始化之前,首先需要确定4 KB寄存器在系统中的内存空间,使能相应存储器读/写控制位MEMSP。此时,可以通过存储器读/写的方式初始化Tsi148的内部寄存器。举例来说,要实现PCI到VME的地址窗口,需要初始化PCI/X Target Images,也就是OutBoundx寄存器组(x=0~7)。首先初始化相应的Images Windows起始地址寄存器OTASU/Lx,结束地址TOEAU/Lx,偏移地址OTOFU/Lx寄存器,最后设置OTATx使能寄存器;与此类似,通过设置VME Slave Images,也就是InBoundx寄存器组,起始地址寄存器ISAU/Lx,结束地址ITEAU/Lx,偏移地址ITOFU/Lx寄存器,最后设置ITATx使能寄存器,可以实现一个VME到PCI地址空间。Tsi148支持多达8个独立的转换地址空间,同时也可以设置其他相关的属性寄存器,实现2eSST传输协议。

3.2 中断映射

VME总线的中断采用链传递形式。Tsi148实现了中断器和中断处理器的功能,设置内部的中断寄存器可以实现VME总线与PCI总线的中断映射。Tsi148内部中断映射关系见图5。Tsi148本地PCI/X总线可提供INTA~INTD四个中断输出,VME总线通过软件可实现7个中断输出IRQO1~IRQO7,同时也可以接受VME总线上的IRQI1~IRQI7输入信号。中断输出IRQO1~IRQO7可以根据需要由软件设置实现。具体操作是:只要向VME总线中断控制寄存器(VICR)写入STID中断矢量号和中断级别IRQL,便可产生一个中断,每次只产生一个中断。当Tsi148作为SCON,接收到外部的中断请求IRQI1~IRQI7时,通过读Tsi148中断应答寄存器,即可产生一个中断应答周期,在中断应答周期中,传送相应的中断矢量号,进行判断后跳转到相应的中断服务子程序中进行处理。

图5 PCI -VME中断映射关系图

3.3 初始化流程图

当智能模块VxWorks的操作系统引导成功启动后,通过PCI总线接口进行软件初始化和配置的流程如图6所示。

图6 初始化流程图

4 结 语

实践证明,采用Tsi148进行VME总线智能模块与PCI-VME总线接口互连设计,既可以简化硬件电路设计和软件开发,又可以兼容早期VME协议,实现更高级的传输协议如2eSST。当模块正常工作在VME64传输协议时可实现70 MB/s的总线传输速率;工作在2eSST 传输协议时,可实现300 MB/s的总线传输速率。

参考文献

[1]IEEE Standard for A Versatile Backplane Bus:VME Bus.1987.

[2]Tundra.Tsi148 PCI/X-VME Bus Bridge User Manual[Z].Datasheet,2006.

[3]VTIA.VME64 Extensions Draft Standard VTIA 1.1-199x Draft2.0.1997.

[4]VITA.VME64 VITA1.0-1994[Z].1995.

[5]Tundra.Tsi148 Initialization Application Note[Z].2006.

[6]Freescale.MPC8280 PowerQUICCTM II Family Reference Manual[Z].Datasheet,2005.

[7]张可馨.VME Bus总线技术初探[J].电讯技术,2002,27(4):27-29.

[8]陈少军,李光.PCI与VME之间的总线转换[J].计算机与网络,2003(3):55-56.

[9]朱海涛,初元萍,朱科军,等.一个基于VxWorks和PowerPC的VME插件测试系统[J].核电子学与探测技术,2006,26(6):788-792.

[10]杨海波,余国强,于伦正.VME总线接口芯片SCV64原理及应用[J].国外电子元器件,2006(11):45-49.