PCI總線目標(biāo)接口芯片PCI9052及其應(yīng)用
2.2 復(fù)位
PCI9052總線接口在RST信號輸入有效時將引起整個PCI9052的復(fù)位,并輸出LRESET局部復(fù)位信號。PCI總線上的主機可以通過設(shè)置控制寄存器中的軟件復(fù)位比特來對PCI9052進(jìn)行復(fù)位,并輸出LRESET信號。
2.3 串行存儲器接口
復(fù)位后,PCI9052開始讀串行EEPROM,若讀出的第一個字非FFFFH,則PCI9052繼續(xù)讀操作,否則認(rèn)為EEPROM無效。對PCI9052來講,EEPROM的前四個字節(jié)應(yīng)為52H、90H、B5H和10H,其中9052H為設(shè)備號,10B5H為廠商編號。
2.4 寄存器訪問
PCI9052的內(nèi)部寄存器可通過PCI總線的主機CPU和串行EEPROM進(jìn)行訪問,這些內(nèi)部寄存器分為PCI配置寄存器和局部總線配置寄存器。主要有以下幾種:
●設(shè)備與廠商寄存器:該寄存器位于PCI配置寄存器的起始處,用于標(biāo)識設(shè)備類別及制造廠家;
●狀態(tài)寄存器:狀態(tài)寄存器內(nèi)含與PCI總線相關(guān)的事件信息;
●命令寄存器:用來控制設(shè)備對PIC訪問的響應(yīng);''
●局部配置寄存器存儲器訪問的PCI基地址寄存器:系統(tǒng)BIOS利用此寄存器為PCI9052局部配置寄存器的存儲器訪問分配一段PCI地址空間,范圍為128字節(jié),實始化時,主機對寄存器寫入FFFFFFFF,然后讀回FFFFFF70,以確定其占用空間為128字節(jié);
●局部配置寄存器I/O訪問的PCI基地址寄存器:系統(tǒng)BIOS利用此寄存器為PCI9052局部配置寄存器的I/O訪問分配一段PCI地址空間;
●局部地址空間0訪問的PCI基地址寄存器:系統(tǒng)BIOS利用此寄存器為PCI9052局部地址空間0的訪問分配一段PCI地址空間;
PCI主機處理可以直接對局部上的設(shè)備進(jìn)行讀/寫操作。PCI9052配置寄存器能夠訪問映射到局部的地址空間。同時片內(nèi)的讀寫FIFO使PCI9052能夠支持PCI總線與局部總線間的高性能猝發(fā)傳送。PCI總線主控訪問局部總線的示意圖如圖2所示。
2.5 局部總線ISA接口模式
PCI9052的新功能是它直接提供給用戶個ISA邏輯接口,從而保證了ISA到PCI的平滑轉(zhuǎn)換,另外,ISA接口還能支持8/16位存儲器或I/O設(shè)備。用戶通過對EEPROM的編程可將PCI9052置為ISA接口模式,在ISA接口模式下,LRESET信號將由低有效變?yōu)楦哂行?并可將局部總線空間2、3配置為無復(fù)用方式。
3 基于PCI9052的PCI接口卡設(shè)計
利用PCI總線目標(biāo)接口芯片PCI9052設(shè)計PCI接口卡非常簡便,圖3是筆者設(shè)計的PCI總線數(shù)據(jù)采集卡的原理框圖。圖中的數(shù)據(jù)采集電路用來完成數(shù)據(jù)的采集與存儲,而PCI總線上的主機CPU可通過PCI9052直接讀取存儲器中的數(shù)據(jù)。
4 結(jié)束語
由于PCI總線數(shù)據(jù)吞吐量大,傳輸速率高,從而大大改善了數(shù)據(jù)傳輸?shù)摹捌款i”問題。所以,在未來的微機接口設(shè)計中,基于PCI總線的設(shè)計在將成為主流。當(dāng)然,PCI總線協(xié)議比較復(fù)雜,設(shè)計PCI控制接口難較大。目前,一般采用兩種方式:一種是使用ALTERA,XILINX等公司的FPGA系列并使用其元件庫;另一種辦法是使用成型接口芯片如AMCC公司的S5933或PLX公司的PCI905X系列等。而專用PCI接口芯片的使用將避免用戶直接面對復(fù)雜的PCI總線協(xié)議,因此,可以降低設(shè)計難度,從而使用戶能夠集中精力解決具體的應(yīng)用問題以縮短開發(fā)周期。
評論