PCI總線目標(biāo)接口芯片PCI9052及其應(yīng)用
摘要:PCI9052是PLX公司繼PCI9050之后新推出的一種低成本的PCI總線目標(biāo)接口芯片,它傳輸速率高,數(shù)據(jù)吞吐量大,可避免用戶直接面對(duì)復(fù)雜的PCI總線協(xié)議。文中主要介紹了PLX公司的PCI總線目標(biāo)接口芯片的功能與應(yīng)用,并給出了具體的應(yīng)用設(shè)計(jì)實(shí)例。
關(guān)鍵詞:PCI總線 局部總線 配置空間 PCI9052
目前,PCI總線已成為新一代個(gè)人計(jì)算機(jī)的標(biāo)準(zhǔn)總線,它是一種高性能的32/64位地址數(shù)據(jù)復(fù)用總線,總線時(shí)鐘頻率的0~33MHz。它不象ISA異步總線那樣把地址尋址和數(shù)據(jù)讀寫控制信號(hào)都交由微處理器產(chǎn)生,而是一種獨(dú)立于處理器的同步總線,可以支持猝發(fā)傳送。為支持即插即用功能,PCI總線規(guī)范定義了264字節(jié)的配置空間。由于PCI總線協(xié)議比較復(fù)雜,因而其接口電路實(shí)現(xiàn)起來(lái)比較困難,但采用通用PCI接口芯片即可很好地解決這個(gè)問(wèn)題。PCI通用接口芯片對(duì)于PCI協(xié)議的良好支持,以及提供給設(shè)計(jì)者的良好接口都大大減少了設(shè)計(jì)者的工作量?,F(xiàn)有的PCI接口芯片主要有AMCC公司的MACCS59XX系列和PLX公司的PLX系列。本文將對(duì)PLX公司的PCI9052總線目標(biāo)接口芯片的功能及其在PCI板卡設(shè)計(jì)中的應(yīng)用進(jìn)行介紹。
1 PCI9052的功能特點(diǎn)
PCI9052是PLX公司繼PCI9050之后新推出的、可用于低成本適配器的總線目標(biāo)接口芯片。PCI9052與PCI9050一樣,可提供用于適配卡的小型高性能PCI總線目標(biāo)(從屬)接口,以使ISA適配器可以迅速、低成本地轉(zhuǎn)換到PCI總線上。采用PCI9052可使適配卡上的I/O數(shù)據(jù)傳送速度從PCI9052可使適配卡上的I/O數(shù)據(jù)傳送速度從ISA總線的8MHz提高到PCI的33MHz。
PCI9052的主要功能與特性如下:
●符合PCI2.1規(guī)范,支持低成本從屬適配器;
●帶有五個(gè)局域總線地址空間和四個(gè)片選;
●具有雙向FIFO,可用于零等待狀態(tài)突發(fā)操作;
●PCI總線的傳輸速度可高達(dá)132兆字節(jié)/秒;
●支持多路復(fù)用和非多路復(fù)用的8位、16位和32位通用局域總線;
●支持局域總線與PCI時(shí)鐘的異步運(yùn)行;
●支持Big/Little Endian編碼字節(jié)轉(zhuǎn)換;
●支持來(lái)自兩個(gè)局域總線的中斷所生成的PCI中斷;
●可用串行EEPROM裝載配置信息;
●具有ISA模式,支持PCI總線到ISA總線的單周期存儲(chǔ)器(8位、16位)讀寫和I/O訪問(wèn)。
圖1所示是PCI9052的信號(hào)接口示意圖。
2 PCI9052的應(yīng)用操作
2.1 初始化
在上電時(shí),PCI總線的RST信號(hào)有效,同時(shí),PCI9052輸出局部復(fù)位信號(hào)LRESET并檢查EEPROM是否存在數(shù)值。若存在,則根據(jù)EEPROM中的內(nèi)容設(shè)置內(nèi)中寄存器,否則設(shè)為缺省值。PCI配置寄存器只能通過(guò)EEPROM或PCI主機(jī)CPU來(lái)進(jìn)行設(shè)置。[!--empirenews.page--]
2.2 復(fù)位
PCI9052總線接口在RST信號(hào)輸入有效時(shí)將引起整個(gè)PCI9052的復(fù)位,并輸出LRESET局部復(fù)位信號(hào)。PCI總線上的主機(jī)可以通過(guò)設(shè)置控制寄存器中的軟件復(fù)位比特來(lái)對(duì)PCI9052進(jìn)行復(fù)位,并輸出LRESET信號(hào)。
2.3 串行存儲(chǔ)器接口
復(fù)位后,PCI9052開始讀串行EEPROM,若讀出的第一個(gè)字非FFFFH,則PCI9052繼續(xù)讀操作,否則認(rèn)為EEPROM無(wú)效。對(duì)PCI9052來(lái)講,EEPROM的前四個(gè)字節(jié)應(yīng)為52H、90H、B5H和10H,其中9052H為設(shè)備號(hào),10B5H為廠商編號(hào)。
2.4 寄存器訪問(wèn)
PCI9052的內(nèi)部寄存器可通過(guò)PCI總線的主機(jī)CPU和串行EEPROM進(jìn)行訪問(wèn),這些內(nèi)部寄存器分為PCI配置寄存器和局部總線配置寄存器。主要有以下幾種:
●設(shè)備與廠商寄存器:該寄存器位于PCI配置寄存器的起始處,用于標(biāo)識(shí)設(shè)備類別及制造廠家;
●狀態(tài)寄存器:狀態(tài)寄存器內(nèi)含與PCI總線相關(guān)的事件信息;
●命令寄存器:用來(lái)控制設(shè)備對(duì)PIC訪問(wèn)的響應(yīng);''
●局部配置寄存器存儲(chǔ)器訪問(wèn)的PCI基地址寄存器:系統(tǒng)BIOS利用此寄存器為PCI9052局部配置寄存器的存儲(chǔ)器訪問(wèn)分配一段PCI地址空間,范圍為128字節(jié),實(shí)始化時(shí),主機(jī)對(duì)寄存器寫入FFFFFFFF,然后讀回FFFFFF70,以確定其占用空間為128字節(jié);
●局部配置寄存器I/O訪問(wèn)的PCI基地址寄存器:系統(tǒng)BIOS利用此寄存器為PCI9052局部配置寄存器的I/O訪問(wèn)分配一段PCI地址空間;
●局部地址空間0訪問(wèn)的PCI基地址寄存器:系統(tǒng)BIOS利用此寄存器為PCI9052局部地址空間0的訪問(wèn)分配一段PCI地址空間;
PCI主機(jī)處理可以直接對(duì)局部上的設(shè)備進(jìn)行讀/寫操作。PCI9052配置寄存器能夠訪問(wèn)映射到局部的地址空間。同時(shí)片內(nèi)的讀寫FIFO使PCI9052能夠支持PCI總線與局部總線間的高性能猝發(fā)傳送。PCI總線主控訪問(wèn)局部總線的示意圖如圖2所示。
2.5 局部總線ISA接口模式
PCI9052的新功能是它直接提供給用戶個(gè)ISA邏輯接口,從而保證了ISA到PCI的平滑轉(zhuǎn)換,另外,ISA接口還能支持8/16位存儲(chǔ)器或I/O設(shè)備。用戶通過(guò)對(duì)EEPROM的編程可將PCI9052置為ISA接口模式,在ISA接口模式下,LRESET信號(hào)將由低有效變?yōu)楦哂行?并可將局部總線空間2、3配置為無(wú)復(fù)用方式。
3 基于PCI9052的PCI接口卡設(shè)計(jì)
利用PCI總線目標(biāo)接口芯片PCI9052設(shè)計(jì)PCI接口卡非常簡(jiǎn)便,圖3是筆者設(shè)計(jì)的PCI總線數(shù)據(jù)采集卡的原理框圖。圖中的數(shù)據(jù)采集電路用來(lái)完成數(shù)據(jù)的采集與存儲(chǔ),而PCI總線上的主機(jī)CPU可通過(guò)PCI9052直接讀取存儲(chǔ)器中的數(shù)據(jù)。
4 結(jié)束語(yǔ)
由于PCI總線數(shù)據(jù)吞吐量大,傳輸速率高,從而大大改善了數(shù)據(jù)傳輸?shù)摹捌款i”問(wèn)題。所以,在未來(lái)的微機(jī)接口設(shè)計(jì)中,基于PCI總線的設(shè)計(jì)在將成為主流。當(dāng)然,PCI總線協(xié)議比較復(fù)雜,設(shè)計(jì)PCI控制接口難較大。目前,一般采用兩種方式:一種是使用ALTERA,XILINX等公司的FPGA系列并使用其元件庫(kù);另一種辦法是使用成型接口芯片如AMCC公司的S5933或PLX公司的PCI905X系列等。而專用PCI接口芯片的使用將避免用戶直接面對(duì)復(fù)雜的PCI總線協(xié)議,因此,可以降低設(shè)計(jì)難度,從而使用戶能夠集中精力解決具體的應(yīng)用問(wèn)題以縮短開發(fā)周期。