摘? 要: PCI9052是PLX技術(shù)公司開發(fā)的PCI協(xié)議從模式接口芯片。介紹了其功能、特點及應用,并說明了其引腳功能及配置注意事項。最后給出了一個開關(guān)控制器電路實例,旨在介紹如何利用PCI9052完成由ISA擴展板向PCI擴展板的轉(zhuǎn)換。
關(guān)鍵詞: PCI? ISA? 擴展板? PCI接口芯片9052
?
PCI(Peripheral Component Interconnect,即外圍部件互連)總線是一種能為主CPU及外設提供高性能數(shù)據(jù)總線的局部總線。1992年以INTEL為首的多家集團開始設計PCI總線,其V2.0規(guī)范于1993年4月正式發(fā)布。PCI總線具有嚴格的規(guī)范,這就保證了它具有良好的兼容性,符合PCI規(guī)范的擴展卡可插入任何PCI系統(tǒng)可靠地工作;PCI總線可以提供極高的數(shù)據(jù)傳送速率(132MB/s);PCI總線與CPU無關(guān),與時鐘頻率亦無關(guān),可適用于各種平臺,支持多處理器和并發(fā)工作;PCI總線還具有良好的擴展性,通過PCI-PCI橋路,可允許無限地擴展;PCI總線以它的即插即用特性取代了VESA局部總線。一個PCI接口包括一系列的寄存器,這些寄存器中的信息允許計算機自動地配置PCI卡。PCI總線是目前PC機上最先進的一種總線。
PCI總線協(xié)議非常復雜。如果開發(fā)PCI擴展板使用可編程邏輯陣列芯片來完成PCI協(xié)議的執(zhí)行,其工作量和難度都是巨大的,一般都會選用PCI專用接口芯片。下面介紹PCI9052接口芯片。
1 PCI9052芯片介紹
PCI9052是PLX技術(shù)公司為擴展適配板卡推出的能提供一種混合的高性能PCI總線目標(從)模式的接口芯片。該芯片可與多種局部總線相連,并且支持相對慢的局部總線在PCI總線上的突發(fā)傳送速率達到132MB/s。9052的可編程配置直接與復用或非復用的8/16/32位局部總線相連。8位和16位模式便于ISA卡直接向PCI卡轉(zhuǎn)換。
1.1 主要特點
(1) 兼容PCI V2.1協(xié)議特性。9052芯片與PCI協(xié)議V2.1版兼容,支持低開發(fā)成本的從模式適配設備,該芯片支持從ISA適配卡向PCI適配卡轉(zhuǎn)換。
(2) 直接從(目標)方式數(shù)據(jù)傳送模式。9052支持突發(fā)存儲器映射和I/O映射方式在PCI總線和局部總線存取數(shù)據(jù)。讀寫FIFO寄存器使得局部總線和PCI總線具有高性能的突發(fā)方式。PCI總線總是工作在突發(fā)方式,局部總線可以設置成突發(fā)方式或者連續(xù)單周期方式。
(3) 中斷發(fā)生器。9052可以從兩個局部總線中斷輸入生成一個PCI中斷。
(4) 時鐘。9052局部總線接口運行于TTL時鐘并生成必要的內(nèi)部時鐘。局部TTL時鐘與PCI時鐘異步工作,并允許局部總線獨立于PCI時鐘工作。緩沖PCI總線時鐘BCLKO可與局部總線時鐘LCLK相連。
(5) 可編程局部總線配置。9052支持復用或非復用的8/16/32bit局部總線。芯片有4字節(jié)使能,26根地址線,32/16/8bit數(shù)據(jù)線。
(6) 先讀模式。9052支持先讀模式,也就是說,預鎖存數(shù)據(jù)可從9052內(nèi)部FIFO寄存器先于局部總線讀取。
(7) 總線驅(qū)動。所有控制、地址和數(shù)據(jù)信號都由9052直接生成,用于驅(qū)動PCI和局部總線,不用額外驅(qū)動電路。
(8) 串行EEPROM接口。9052包含一個用于加載配置信息的串行EEPROM接口,對于裝載一個特定的適配設備信息來說,這是很有用的。將9052轉(zhuǎn)換為ISA接口模式時串行EEPROM也是必需的。
(9) 四個局部片選信號。9052提供了四個局部片選信號,基地址和每一個片選的范圍可由串行EEPROM或主控制器獨立編程。
(10) 五個局部地址空間?;刂泛兔恳粋€局部地址空間的范圍可由串行EEPROM或主控制器獨立編程。
(11) 讀/寫存儲延時和寫周期保持。對于ISA總線,讀/寫信號可以從時鐘周期的開始延時。
(12) 局部總線等待狀態(tài)。附加的LRDYi握手信號用于產(chǎn)生各種等待狀態(tài),9052有內(nèi)部等待狀態(tài)發(fā)生器。
(13) 可編程預鎖存計數(shù)器。局部總線預鎖存計數(shù)器可以編程為0(無預鎖存),4、8、16或連續(xù)值(預鎖存計數(shù)器關(guān)閉)模式。
1.2 引腳功能
PCI9052為160腳塑封PQFP封裝結(jié)構(gòu)。其各管腳功能按功能塊劃分分別列于表1~表7中。
?
?
?
?
?
2 PCI9052芯片的使用
PCI9052接口芯片作為通用PCI接口,其應用場合和范圍是廣泛的。隨著PC機中ISA擴展槽數(shù)量的逐漸減少直至取消,PCI擴展槽已成為PC機主板配置的主流,今后的擴展板的開發(fā)必定是基于PCI接口的。
但現(xiàn)行的很多ISA接口的擴展板,尤其是自己自主研制的具有某些特殊功能的擴展板,如何使之能在PCI槽上繼續(xù)使用,顯得很有意義。下面就著重介紹PCI9052接口芯片將ISA擴展板直接轉(zhuǎn)換為PCI擴展板的應用。
2.1 ISA接口模式介紹
PCI9052的內(nèi)部結(jié)構(gòu)中包含了一個獨立的ISA邏輯接口,通過這個邏輯接口可以完成由ISA到PCI的平滑轉(zhuǎn)換。它支持8位和16位數(shù)據(jù)寬度的ISA設備,該設備可以是內(nèi)存映射,也可以是I/O映射。先讀模式用于提高讀取數(shù)據(jù)的吞吐量。一旦ISA接口模式使能,PCI9052只執(zhí)行單個周期操作。特別指出的是,串行EEPROM必需使ISA接口模式使能。
2.1.1 配置方法
可以使用兩種方法配置PCI9052用于ISA接口模式。
方法一:燒寫串行EEPROM方法。使用燒寫器,將數(shù)據(jù)寫入串行EEPROM,參照表8使用恰當?shù)臄?shù)據(jù)。需要注意的是,對于ISA模式,LRESET#(132)引腳必須始終為高電平,并確認MODE(68)引腳置為0,處于非復用模式。
?
?
方法二:熱配置方法。從PCI總線通過PCI9052芯片使用方法一的相同數(shù)據(jù)來燒寫串行EEPROM。該方法需要注意的是,LRESET#(132)引腳的極性在ISA模式時由低變?yōu)楦?并確認MODE(68)引腳置為0。
2.1.2 配置注意事項
當為ISA接口模式配置時必須注意以下幾點:
?、俅嫒SA接口引腳時要參照PCI9052引腳的C/ISA模式引腳圖來連線。
?、诳臻g0分配給ISA接口的內(nèi)存存取。
?、劭臻g1分配給ISA接口的I/O存取。
④無論空間0的局部地址處于CS0#范圍還是空間1的局部地址處于CS1#范圍,ISA存取均有效。
?、輼藴实膹闹芷诳梢允褂每臻g2、空間3和串行EEPROM來存取。
2.2 應用實例
下面給出一個電子轉(zhuǎn)換開關(guān)控制器應用實例。該控制器的功能是,當檢測到觸發(fā)條件時,便向端口200H送一個控制碼C0H,用以控制繼電器完成開關(guān)動作。該例子旨在說明如何將PCI9052用于ISA擴展板向PCI擴展板的轉(zhuǎn)換。
2.2.1 硬件設計
控制器硬件電路結(jié)構(gòu)圖如圖1所示。
?
?
電路分為三部分。第一部分是9052與PCI插槽間的連接信號線。這些信號包括地址數(shù)據(jù)復用信號AD[31:0],總線命令信號C/BE[3:0]#和PCI協(xié)議控制信號PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、DEVSEL#、PERR#、SERR#。第二部分是與串行EEPROM的連線。這里有四根信號線:EESK、EEDO、EEDI和EECS,串行EEPROM的數(shù)據(jù)可以提前用燒寫器燒好,也可以在線燒寫。第三部分是9052與應用電路的連接。在本例中主要用到的是ISA局部總線信號,有數(shù)據(jù)線LAD[7:0],地址線ISAA[1:0]、LA[23:2],I/O讀寫信號線IOWR#、IORD#,地址鎖存BALE。
2.2.2 軟件設計
程序分為兩部分,一部分為PCI9052各配置寄存器賦值并初始化芯片,另一部分為主程序,任務是不斷查詢注冊表中的相關(guān)鍵值,一旦條件滿足,即向端口送控制碼。程序用DELPHI語言完成。選用DELPHI的主要原因是可編譯成獨立的可執(zhí)行文件,不帶任何動態(tài)連接庫,程序短小精悍,并且DELPHI各版本間的兼容性比較好。程序流程圖如圖2所示。
?
?
參考文獻
1 PCI9052 Data Book V1.01.Http://www.plxtech.com?
2 陳利學.微機總線與接口設計.成都:電子科技大學出版社,1998