新聞中心

EEPW首頁 > 設(shè)計應(yīng)用 > PCI總線接口芯片9054及其應(yīng)用

PCI總線接口芯片9054及其應(yīng)用

——
作者:福州南南信息科技有限公司 黃身錁 時間:2007-01-26 來源:《世界電子元器件》 收藏

概述

pci9054是由美國plx公司生產(chǎn)的先進(jìn)的pci i/o加速器,采用了先進(jìn)的plx數(shù)據(jù)流水線結(jié)構(gòu)技術(shù),是32位、33mhz的pci總線主i/o加速器;符合pci本地總線規(guī)范2.2版,突發(fā)傳輸速率達(dá)到132mb/s,本地總線支持復(fù)用/非復(fù)用的32位地址/數(shù)據(jù);有m、c、j三種模式;針對不同的處理器及局總線特性可選,盡量減少中間邏輯;具有可選的串行eeprom接口,本地總線時鐘可和pci時鐘異步。pc9054內(nèi)部有6種可編程的fifo,以實現(xiàn)零等待突發(fā)傳輸及本地總線和pci總線之間的異步操作;支持主模式、從模式、dma傳輸方式,因其強(qiáng)大的功能可應(yīng)用于適配卡和嵌入式系統(tǒng)中。pci 9054是一種性價比較高的pci橋路芯片,比pci9080、pci9050等性能更優(yōu)越。

本文引用地址:http://butianyuan.cn/article/21184.htm

pci 9054其內(nèi)部原理如圖1所示。它采用先進(jìn)的plx數(shù)據(jù)管道結(jié)構(gòu)技術(shù),是32bit、33mhz的pci總線主i/o加速器。

pci9054主要特性如下:

·符合pci v2.1,v2.2規(guī)范,包含pci電源管理特性。

·支持vpd(vital product data)的pci擴(kuò)展。

·支持pci雙地址周期,地址空間高達(dá)4gb。

·具備120準(zhǔn)備報文單元,完全兼容120 v1.5規(guī)范。

·提供了兩個獨立的可編程dma控制器,每個通道均支持塊和

scatter/gather的dma方式,dma通道0支持請求dma方式。

·在pci啟動模式下,pci 9054可插入類型1和類型2的配置周期。

·pci和local bus數(shù)據(jù)傳送速率高達(dá)132mb/s。

·支持本地總線直接接口motorola mpc850或mpc860系列、intel i960系列、ibm ppc401系列及其它類似總線協(xié)議設(shè)備。 ·本地總線速率高達(dá)50mhz;支持復(fù)用/非復(fù)用的32bit地址/數(shù)據(jù);本地總線有三種模式;m模式、c模式和j模式,可利用模式選擇引腳加以選擇。

·具有可選的串行eeprom接口。

·具有8個32bit mailbox寄存器和2個32位doorbell寄存器。


功能描述

pci9054的物理總線接口

pci9054提供了三種物理總線接口:pci總線接口,local總線接口及串行eprom接口。local總線的數(shù)據(jù)寬度為32位,時鐘頻率可達(dá)到50mhz并且支持?jǐn)?shù)據(jù)預(yù)取功能。

pci9054的總線操作包括pci總線操作和本地總線操作。對于pci總線操作,它完全遵守2.2版本pci規(guī)范。pci9054本地總線支持非多路復(fù)用32位地址/數(shù)據(jù)總線,多路復(fù)用32位和8位,16位或32位本地總線設(shè)備從屬訪問,運行速率高達(dá)50mhz,可以獲得200mb/s的本地總線突發(fā)傳輸速率。

pci9054的local總線與pci總線之間數(shù)據(jù)傳輸有三種方式:主模式(direct master)、從模式(direct slave)和dma方式。其內(nèi)部具有兩個dma數(shù)據(jù)通道,雙向數(shù)據(jù)通路上各有6個fifo進(jìn)行數(shù)據(jù)緩沖,可同時進(jìn)行高速的數(shù)據(jù)接收和發(fā)送。8個32位maibox寄存器可為雙向數(shù)據(jù)通路提供消息傳送。

pci9054還提供了一個串行eeprom接口,容量2k字節(jié)。在配置存儲器中存放了廠家標(biāo)志、設(shè)備標(biāo)志以及本地總線的基地址空間、i/o空間和中斷控制信號等信息。初始化時,系統(tǒng)自動將串行eeprom中的配置參數(shù)裝入pci配置寄存器,并根據(jù)本地總線對內(nèi)存、i/o端口和中斷的需求統(tǒng)一劃分,自動配置。其中本地端寄存器也可以由本地cpu讀寫,直接進(jìn)行配置。

pci9054工作模式

pci9054有3種工作模式:c、m和j模式。m模式主要針對motorola公司高性能mpc850/860的應(yīng)用而設(shè)計,主要應(yīng)用在電信領(lǐng)域。j模式的接口設(shè)計相對比較復(fù)雜,通常用的是c模式。

c模式下pci9054分為pci initiator操作和pci target操作。在pci initiator操作過程中,本地處理器或本地總線主控設(shè)備能夠直接通過pci9054訪問pci總線,發(fā)起local-to-pci的數(shù)據(jù)傳輸。而在pci target操作過程中,pci總線主控設(shè)備可以以可編程的等待狀態(tài)、總線寬度和突發(fā)傳輸功能訪問pci9054的三個本地空間(空間0,空間1和擴(kuò)充rom空間)。

pci9054的dma突發(fā)模式

pci9054集成了兩個相互獨立的dma通道,每個通道都支持block dma和scatter/gather dma,通道0還支持demand dma傳輸方式
block dma要求pci主機(jī)或local主機(jī)提供pci和local的起始地址、傳輸字節(jié)數(shù)、傳輸方向。主機(jī)設(shè)定dma開始位啟動數(shù)據(jù)傳輸,一旦傳輸完成,pci9054設(shè)定dma"傳輸結(jié)束位"結(jié)束dma。如果啟動中斷允許位,在傳輸結(jié)束時pci9054將向主機(jī)申請中斷。在dma傳輸中,pci9054既是pci總線的主控器又是local總線的主控器。

scatter/gather dma要求主機(jī)在pci空間或local空間設(shè)定descriptor模塊,模塊包括pci和local的起始地址、傳輸字節(jié)數(shù)、傳輸方向和下一個descriptor模塊的地址。pci9054載入第一個descriptor模塊并發(fā)起傳輸,連續(xù)加載下一個模塊,直到它偵測到“鏈結(jié)束位”有效,pci 9054設(shè)置“傳輸結(jié)束位”,或者申請pci或local中斷。這種模式下,pci9054也可以在每個模塊加載時有效中斷信號,結(jié)束dma傳輸。若descriptor模塊在本地存儲空間,可以編程使dma控制器在每次dma傳輸結(jié)束后清除傳輸字節(jié)數(shù)。

pci9054寄存器

pci9054內(nèi)部提供了5種寄存器:pci配置寄存器、本地端配置寄存器、運行時間runtime寄存器、dma寄存器和120信息寄存器。下面對pci配置寄存器和本地端配置寄存器的功能做簡要介紹。

pci配置寄存器也就是我們常說的pci配置空間,它提供了配置pci的一些信息。其中venderid,deviceid,revisionid,headertype,classcode用于pci設(shè)備的識別。

命令寄存器(command)包含設(shè)備控制位,包括允許存儲器讀寫響應(yīng)等。

狀態(tài)寄存器(status)用于記錄pci總線的相關(guān)事件。

pci配置寄存器提供了6個基地址寄存器,這些基地址都在系統(tǒng)中的物理地址范圍內(nèi),其中base0和base1用來訪問其他配置寄存器的基地址,base1是其他配置寄存器映射到pci端內(nèi)存的基地址,base2是其他寄存器映射到pci端i/o的基地址。

可以通過pci端內(nèi)存和pci端i/o來訪問local配置寄存器與其他3種寄存器。base2~5四個空間提供了訪問本地端所接的4個芯片(當(dāng)然可以少于4個),它們將本地端的芯片通過本地端地址(在local配置寄存器中設(shè))翻譯成pci的地址,也就是將本地的芯片映射到系統(tǒng)的內(nèi)存或i/o口。這樣使得用程序操作這一段內(nèi)存(或i/o)實際上就是對本地的芯片操作。

本地端配置寄存器提供了本地端的一些信息,如圖2 c模式部分時序圖

lclk:輸入信號,時鐘信號

lhold:輸入信號,申請使用本地總線

lholfa:輸入信號,對lhold應(yīng)答


基于pci9054的pci接口設(shè)計

pci 9054 以其強(qiáng)大的功能和簡單的用戶接口,為pci總線接口的開發(fā)提供了一種簡潔的方法,設(shè)計者只需設(shè)計出本地總線接口控制電路,即可實現(xiàn)與pci總線的高速數(shù)據(jù)傳輸。

圖3是應(yīng)用pci9054作為接口芯片,開發(fā)pci總線擴(kuò)展卡的總體硬件框架圖

下面簡單介紹以pci9054為接口芯片的網(wǎng)卡設(shè)計。


硬件設(shè)計

見圖4

第一部分是9054和pci插槽間的連接信號線。這些信號包括地址數(shù)據(jù)復(fù)用信號ad[31:0],總線命令信號c/be[3:0]#和pci協(xié)議控制信號par、frame#、irdy#、trdy#、stop#、idsel、perr#和serr#。

第二部分是9054與eeprom的連線。這里有四根信號線:eesk、eedo、eedi、eecs,串行eeprom的數(shù)據(jù)通過燒寫編程的方式,也可以通過本地cpu直接編程的方式來完成初始化。

第三部分就是9054與應(yīng)用電路的連接。其中l(wèi)a地址總線、ld數(shù)據(jù)總線、lbe#字節(jié)使能信號和cpld相連;lw/r讀寫信號、blast#、ready#、ads#和8051單片機(jī)相連。

pci9054工作在初始化器模式時,要求本地端的總線是32位的。在這里,用cpld實現(xiàn)將80c51單片機(jī)的8位數(shù)據(jù)與16位地址轉(zhuǎn)換成32位的數(shù)據(jù)和地址,使用ram的目的是提高8051的數(shù)據(jù)傳輸速度和處理復(fù)雜的tcp/ip協(xié)議,eeprom用來保存相關(guān)的信息狀態(tài)等。


軟件設(shè)計

軟件程序主要分為兩大部分,一是對pci9054芯片的pci端配置寄存器和本地端配置寄存器進(jìn)行正確的編程配置;二是網(wǎng)絡(luò)通訊,包括網(wǎng)卡初始化、發(fā)送控制和接收控制3部分。


結(jié)束語

在實踐開發(fā)中我們發(fā)現(xiàn),用pci9054開發(fā)各種高速數(shù)據(jù)采集系統(tǒng)、圖象處理系統(tǒng)等pci設(shè)備,能夠減少許多相應(yīng)的外圍器件,降低開發(fā)難度,縮短開發(fā)周期,大幅度壓縮成本。




關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉