摘 要:VME總線是一種開放式工業(yè)計(jì)算機(jī)總線,在VME總線多主處理計(jì)算機(jī)系統(tǒng)中,通常需要進(jìn)行PCI總線與VME總線接口互連。這里分析了業(yè)界最先進(jìn)的PCI-VME總線互連芯片Tsi148的原理與功能,介紹Tsi148在VME總線智能模塊中進(jìn)行PCI-VME接口互連的方法,給出通過本地PCI總線接口進(jìn)行Tsi148初始化和VME系統(tǒng)配置的軟件流程。實(shí)踐表明,采用Tsi148進(jìn)行PCI-VME互連設(shè)計(jì),實(shí)現(xiàn)了VME總線的高速數(shù)據(jù)傳輸和控制功能,并在實(shí)際應(yīng)用中取得了良好的效果。
關(guān)鍵詞:Tsi148;PCI總線;VME總線;接口互連
中圖分類號:TP368文獻(xiàn)標(biāo)識碼: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)總線是一種開放性工業(yè)標(biāo)準(zhǔn)計(jì)算機(jī)總線,支持32/64位總線寬度,采用主控/目標(biāo)結(jié)構(gòu)異步、復(fù)用/非復(fù)用方式;支持16/24/32/64位尋址和8/16/24/32/64位數(shù)據(jù)傳送以及跨界數(shù)據(jù)傳送;具有7條中斷請求線、4條總線請求線,采用菊花鏈優(yōu)先級隊(duì)列;系統(tǒng)最多支持21個(gè)主處理模塊,具有系統(tǒng)錯(cuò)誤檢測功能[1]。
VME總線是一種高可靠性和高兼容性的系統(tǒng)總線,廣泛應(yīng)用于嵌入式系統(tǒng)中,尤其是在多主處理系統(tǒng)中,它系統(tǒng)總線,可以實(shí)現(xiàn)多主控處理;PCI總線作為一種高性能32或64位地址數(shù)據(jù)復(fù)用的總線,具有性能高,成本低,適應(yīng)性強(qiáng),數(shù)據(jù)完整性及軟件兼容性都好的特點(diǎn),實(shí)現(xiàn)處理器和存儲器系統(tǒng)以及各種接口系統(tǒng)的連接。因此在VME總線的主控系統(tǒng)中,VME總線與PCI總線之間需要專門的橋接芯片進(jìn)行互連,如早期Cypress公司的VIC068A,VIC64,CY7C960芯片,但目前均已停產(chǎn),取而代之的是Tundra公司的Universe Ⅱ和Tsi148。
Tsi148是2004年Tundra公司推出的新一代PCI/X-VME互連芯片,是早期Universe Ⅱ的替代和升級產(chǎn)品,PCI總線接口可支持PCI-X 133 MHz,VME總線接口支持VME,2eVME,2eSST等傳輸協(xié)議,可以靈活實(shí)現(xiàn)Master,Slave,SCON系統(tǒng)控制器功能,專門為VME總線主處理模塊、智能模塊中的PCI-VME總線接口互連而設(shè)計(jì)。
1 Tsi148的工作原理
1.1 Tsi148的功能
Tsi148實(shí)質(zhì)是一個(gè)PCI總線與VME總線地址空間轉(zhuǎn)換與互連的非透明橋,實(shí)現(xiàn)了本地PCI或PCI/X總線操作與系統(tǒng)VME總線操作的相互轉(zhuǎn)換。
Tsi148的PCI/X總線接口可以全面兼容PCI或PCI/X。PCI-X總線的工作頻率介于50~133 MHz之間,PCI總線的工作頻率介于33~66 MHz之間,兩種模式下支持32位或64位尋址和數(shù)據(jù);VME總線兼容傳統(tǒng)VME32協(xié)議,支持VME64擴(kuò)展和2eVME,2eSST協(xié)議,完備的總線系統(tǒng)控制器功能、中斷和中斷處理功能可通過PCI/X總線或VME總線進(jìn)行初始化配置;兩個(gè)可進(jìn)行軟件配置的DMA控制器,支持直接模式和鏈?zhǔn)侥J降腄MA操作,可以進(jìn)行高速數(shù)據(jù)傳輸[4]。
1.2 Tsi148的組成
Tsi148的內(nèi)部功能框圖如圖1所示。芯片內(nèi)部主要由以下幾個(gè)功能模塊組成:PCI/X接口單元、VME接口單元、Linkage 模塊單元、DMA單元、寄存器單元、中斷寄存器單元。PCI/X接口單元分為PCI/X Master和PCI/X Target,VME總線接口分為VME Master,VME Slave和SCON單元。Linkage Module為核心轉(zhuǎn)換單元,負(fù)責(zé)兩種總線操作的時(shí)序轉(zhuǎn)換,實(shí)現(xiàn)PCI-VME和VME-PCI的互訪轉(zhuǎn)換;通過配置中斷寄存器可以實(shí)現(xiàn)兩種總線之間的中斷映射。
圖1 Tsi148內(nèi)部組成框圖
2 VME與PCI總線互連
Tsi148非常適合VME總線的主處理模塊和智能處理模塊。一種VME總線智能處理模塊主要組成框圖見圖2,系統(tǒng)主要由MPC8280處理器、存儲器芯片、外圍接口芯片、Tsi148、VME總線接口等其他電路和器件組成。該智能模塊可運(yùn)行VxWorks操作系統(tǒng),在VME系統(tǒng)中可以實(shí)現(xiàn)Master/Slave工作方式和SCON功能。在智能模塊上的MPC8280處理器片內(nèi)集成了高效PCI Host接口,可以實(shí)現(xiàn)與Tsi148的無縫連接,同時(shí)通過模塊本地PCI總線接口可以對Tsi148進(jìn)行初始化配置,實(shí)現(xiàn)本地PCI地址空間與VME總線地址空間的映射。
2.1 PCI總線接口
MPC8280的PCI接口支持PCI總線時(shí)鐘最高為66 MHz,總線寬度為32位,Tsi148的PCI/X接口時(shí)鐘由MPC8280的PCLK提供,Tsi148工作模式由上電復(fù)位過程采集到的指定信號的電平狀態(tài)決定,這些信號包括FRAME,IRDY,DEVSEL,STOP,TRDY,M66EN。在該模塊中,采用32 b/66 MHz PCI總線模式,沒有用到高32位地址數(shù)據(jù)線。為防止信號電平浮動造成漏電流過大引起的電平不穩(wěn),高32位地址數(shù)據(jù)線進(jìn)行上拉,其他與64位操作相關(guān)的控制信號進(jìn)行適當(dāng)拉高或拉低處理,Tsi148的設(shè)備選擇線IDSEL由PCI的地址數(shù)據(jù)線中的AD13實(shí)現(xiàn)。
圖2 智能模塊組成框圖
2.2 VME總線接口
Tsi148的VME總線接口支持32/64位總線寬度,并且具有槽位自動識別功能,實(shí)現(xiàn)了VME64x規(guī)范中定義的CR/CSR功能,配合相應(yīng)的軟件工具可以實(shí)現(xiàn)通過VME總線進(jìn)行模塊配置和系統(tǒng)資源的初始化。Tsi148中的CR/CSR的地址分配可設(shè)置為自動識別Auto ID和地理位置Geographical兩種方法,通過設(shè)置數(shù)據(jù)線VD2,VD3的電平,在上電復(fù)位時(shí)即可決定ASIDEN,GSIDEN引腳的電平狀態(tài)。兩種電平的組合方式如表1所示。
表1 CR/CSR分配機(jī)制
ASIDEN[VD2]GSIDEN[VD3]描述
00CR/CSR禁止
01地理位置方式
10Auto slot ID方式
11如果GA[4:0]引腳為高,設(shè)為默認(rèn)Auto slot ID
2.3 地址空間轉(zhuǎn)換
智能模塊中的PCI總線接口通過Tsi148的Outbound Windows實(shí)現(xiàn)VME總線空間的訪問,最小地址空間為32 KB。當(dāng)該模塊訪問VME系統(tǒng)的某個(gè)地址空間時(shí),它首先訪問本地PCI地址空間。當(dāng)Tsi148的PCI Target單元收到訪問命令后,加上預(yù)設(shè)的地址偏移量,通過PCI Target送給VME Master。VME Master作為VME總線主控,發(fā)起地址空間訪問,地址轉(zhuǎn)換關(guān)系如圖3所示。
圖3 PCI/X到VME地址轉(zhuǎn)換
系統(tǒng)中其他主模塊通過Tsi148的Inbound Windows訪問智能模塊的PCI空間。主模塊訪問智能模塊PCI總線的某個(gè)地址空間時(shí),它首先訪問VME地址空間。當(dāng)Tsi148的VME Slave單元收到訪問命令后,加上預(yù)設(shè)的地址偏移量,通過VME Slave單元送給PCI Master,PCI Master作為本地PCI總線上的主控發(fā)起地址空間訪問,VME總線地址寬度由主模塊決定,地址轉(zhuǎn)換如圖4所示。
圖4 VME到PCI/X地址轉(zhuǎn)換
兩種總線之間是通過獨(dú)立的讀/寫命令和數(shù)據(jù)緩沖器實(shí)現(xiàn)的,通過它可實(shí)現(xiàn)預(yù)取讀和延時(shí)寫功能。除此之外,Tsi148還支持DMA數(shù)據(jù)傳送,即支持直接模式DMA傳輸和鏈?zhǔn)紻MA傳輸兩種方式,可以實(shí)現(xiàn)數(shù)據(jù)量較大時(shí)的塊傳送,并且DMA控制器可實(shí)現(xiàn)VME-PCI,PCI-VME,PCI-PCI,VME-VME接口之間的數(shù)據(jù)傳送。
3 Tsi148軟件初始化
智能模塊在VME總線系統(tǒng)中需要進(jìn)行資源配置對Tsi148初始化。首先初始化Tsi148內(nèi)部寄存器,初始化可由兩種方式實(shí)現(xiàn),一種是通過智能模塊本地PCI總線接口操作進(jìn)行;另一種是系統(tǒng)中主控板通過VME總線接口配置CR/CSR空間實(shí)現(xiàn)。本文介紹通過本地PCI總線進(jìn)行軟件初始化的方法。Tsi148內(nèi)部的4 KB寄存器,分為PCFS,LCSR,GCSR,CSR。其中,PCFS為256 B的標(biāo)準(zhǔn)PCI頭寄存器;LCSR 為本地控制與狀態(tài)寄存器;GCSR 為全局控制與狀態(tài)寄存器;CSR為VME總線控制與狀態(tài)寄存器。4 KB寄存器通過配置命令映射到智能模塊上處理器內(nèi)存地址空間,利用VxWorks環(huán)境下PCI讀/寫命令實(shí)現(xiàn)寄存器配置。
3.1 開放地址空間
初始化之前,首先需要確定4 KB寄存器在系統(tǒng)中的內(nèi)存空間,使能相應(yīng)存儲器讀/寫控制位MEMSP。此時(shí),可以通過存儲器讀/寫的方式初始化Tsi148的內(nèi)部寄存器。舉例來說,要實(shí)現(xiàn)PCI到VME的地址窗口,需要初始化PCI/X Target Images,也就是OutBoundx寄存器組(x=0~7)。首先初始化相應(yīng)的Images Windows起始地址寄存器OTASU/Lx,結(jié)束地址TOEAU/Lx,偏移地址OTOFU/Lx寄存器,最后設(shè)置OTATx使能寄存器;與此類似,通過設(shè)置VME Slave Images,也就是InBoundx寄存器組,起始地址寄存器ISAU/Lx,結(jié)束地址ITEAU/Lx,偏移地址ITOFU/Lx寄存器,最后設(shè)置ITATx使能寄存器,可以實(shí)現(xiàn)一個(gè)VME到PCI地址空間。Tsi148支持多達(dá)8個(gè)獨(dú)立的轉(zhuǎn)換地址空間,同時(shí)也可以設(shè)置其他相關(guān)的屬性寄存器,實(shí)現(xiàn)2eSST傳輸協(xié)議。
3.2 中斷映射
VME總線的中斷采用菊花鏈傳遞形式。Tsi148實(shí)現(xiàn)了中斷器和中斷處理器的功能,設(shè)置內(nèi)部的中斷寄存器可以實(shí)現(xiàn)VME總線與PCI總線的中斷映射。Tsi148內(nèi)部中斷映射關(guān)系見圖5。Tsi148本地PCI/X總線可提供INTA~INTD四個(gè)中斷輸出,VME總線通過軟件可實(shí)現(xiàn)7個(gè)中斷輸出IRQO1~I(xiàn)RQO7,同時(shí)也可以接受VME總線上的IRQI1~I(xiàn)RQI7輸入信號。中斷輸出IRQO1~I(xiàn)RQO7可以根據(jù)需要由軟件設(shè)置實(shí)現(xiàn)。具體操作是:只要向VME總線中斷控制寄存器(VICR)寫入STID中斷矢量號和中斷級別IRQL,便可產(chǎn)生一個(gè)中斷,每次只產(chǎn)生一個(gè)中斷。當(dāng)Tsi148作為SCON,接收到外部的中斷請求IRQI1~I(xiàn)RQI7時(shí),通過讀Tsi148中斷應(yīng)答寄存器,即可產(chǎn)生一個(gè)中斷應(yīng)答周期,在中斷應(yīng)答周期中,傳送相應(yīng)的中斷矢量號,進(jìn)行判斷后跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)子程序中進(jìn)行處理。
圖5 PCI -VME中斷映射關(guān)系圖
3.3 初始化流程圖
當(dāng)智能模塊VxWorks的操作系統(tǒng)引導(dǎo)成功啟動后,通過PCI總線接口進(jìn)行軟件初始化和配置的流程如圖6所示。
圖6 初始化流程圖
4 結(jié) 語
實(shí)踐證明,采用Tsi148進(jìn)行VME總線智能模塊與PCI-VME總線接口互連設(shè)計(jì),既可以簡化硬件電路設(shè)計(jì)和軟件開發(fā),又可以兼容早期VME協(xié)議,實(shí)現(xiàn)更高級的傳輸協(xié)議如2eSST。當(dāng)模塊正常工作在VME64傳輸協(xié)議時(shí)可實(shí)現(xiàn)70 MB/s的總線傳輸速率;工作在2eSST 傳輸協(xié)議時(shí),可實(shí)現(xiàn)300 MB/s的總線傳輸速率。
參考文獻(xiàn)
[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總線技術(shù)初探[J].電訊技術(shù),2002,27(4):27-29.
[8]陳少軍,李光.PCI與VME之間的總線轉(zhuǎn)換[J].計(jì)算機(jī)與網(wǎng)絡(luò),2003(3):55-56.
[9]朱海濤,初元萍,朱科軍,等.一個(gè)基于VxWorks和PowerPC的VME插件測試系統(tǒng)[J].核電子學(xué)與探測技術(shù),2006,26(6):788-792.
[10]楊海波,余國強(qiáng),于倫正.VME總線接口芯片SCV64原理及應(yīng)用[J].國外電子元器件,2006(11):45-49.