引言
PCI(PeripheralCompornentInterconnect,即外圍部件互連)總線是一種先進的高性能32/64位地址數據復用局部總線,該總線是以INTEL為首的多家集團設計的,PCI總線可以同時支持多組外圍設備,且處理器和時鐘頻率無關,可以提供高達132MB/s的數據傳送速率,PCI總線具有嚴格的規范,只要符合PCI規范的擴展卡,那么,插入任何PCI系統就能可靠地工作,是當今PC領域中流行的總線。
PCI總線協議非常復雜,目前實現PCI接口的有效方案分為兩種:即使用可編程邏輯器件和使用專用總線接口的器件,可編程邏輯器件實現PCI接口比較靈活,可以利用的器件比較多,現在有許多生產可編程邏輯器件的廠商(如Xilinx的Logicore和Alerra的AMPP)都提供經過嚴格測試的PCI接口功能模塊,用戶只要進行組合設計即可,但這種方法難度較大,設計周期較長。而采用專用接口器件實現完整的PCI主控模塊和目標模塊的功能,則可將復雜的PCI總線接口轉換為相對簡單的用戶接口,用戶只要設計轉換后的總線接口即可。但這種方法難度較大,設計周期較長,而采用專用接口器件實現完整的PCI主控模塊和目標模塊的功能,則可將復雜的PCI總線接口轉換為相對簡單的用戶接口,用戶只要設計轉換后的總線接口即可。雖然這種方式不夠靈活,但由于其對PCI協議的良好支持,以及提供給設計者的良好接口,都大大減少了設計開發的難度和周期,現有的PCI接口芯片主要有AMC公司的AMCCS59xx系列和PLX公司的PCI9805x系列。PLX公司的PCI9052就是一款較常用的總線接口芯片。
PCI9052芯片介紹
PCI9052是PLX技術公司繼PCI9050之后推出的低成本、低功耗、高性能總線接口芯片,通過該芯片可以使多種局部總線快速轉換到PCI總線上。
◇主要特點
(1)兼容PCIV2.1協議特性。PCI9052芯片與PCI協議V2.1版兼容,可支持低成本的從模式適配設備,也支持從ISA適配卡向PCI適配卡的轉換。
(2)采用直接從(目標)模式傳送數據。支持突發存儲器映射和I/O映射方式,可從PCI總線到局部總線上存取數據。讀寫FIFO(先入先出)寄存器使得局部總線和PCI總線具有高性能的突發方式,PCI總線總是工作在突發方式,但是局部總線可以設置成突發方式或者連續單周期方式。
(3)帶有中斷發生器,可以從兩個局部總線中斷輸入中生成一個PCI中斷。
(4)PCI9052局部總線接口運行于TTL時鐘,并可生成必要的內部時鐘,局部TTL時鐘與PCI時鐘異步工作,并允許局部總線獨立于PCI時鐘工作,其緩沖PCI總線時鐘(BCLKO)可與局部總線時鐘(LCLK)相連。
(5)PCI9052局部總線配置可編程。支持復用或非復用的8/16/32bit局部總線,芯片有4字節使能(LBE[3:0]#)、26根地址線(LA[27:2])和32/16/8bit數據線(LAD[31:0])。
(6)支持先讀模式、即預取數據可從PCI9052內部的FIFO寄存器讀取,用以代替局部總線,但地址必須是前一條地址的后續地址,且應為32位寬度(下一地址=當前地址+4)。
(7)所有控制、地址和數據信號都可由PCI9052直接生成,用于驅動PCI和局部總線,而無需額外驅動電路。
(8)帶有串行EEPROM接口,可用于加載配置信息,這對于裝載一個特定的適配設備信息(網絡節點號、廠商類型碼和片選等)是很有用的。特別是將PCI9052轉換為ISA接口模式時,串行EEPROM是必需的。
(9)提供了四個局部片選信號,其基地址和每一個片選的范圍可由串行EEPROM配置,也可由主控制器在線編程。
(10)具有五個局部地址空間,基地址和每一個局部地址空間的范圍可由串行EEPROM配置或由主控制器在線編程。
(11)支持BigEndian和LittleEndian字節間的轉換。當局部總線是16位寬度或8位寬度時,PCI9052同時支持BigEndian字節模式轉換為字或字節寬度。
(12)為了匹配以前的接口讀/寫(RD#/WR#)信號,可以從時鐘周期的開始延時(例如ISA總線接口)。
(13)附加的LRDYi#(localreadyinput)握手信號可用于產生各種等待狀態,PCI9052內有等待狀態發生器(讀/寫地址到數據、數據到數據和數據到地址之間)。
(14)局部總線預鎖存計數器可以編程為(無預鎖存)4、8、16或連續值(預鎖存計數器關閉)模式,如果使用了連續地址(必須是32位),則預鎖存數據可以作為緩沖數據來使用。
(15)PCI9052兼容PCIV2.1協議延時讀的4種模式,即PCI讀和寫刷新模式、PCI讀無刷新模式、PCI讀無寫模式和PCI寫模式。
(16)帶有一個可編程PCI讀寫重試延遲計時器,可以為PCI總線產生一個重試信號。
(17)帶有ISA邏輯接口模式,支持PCI總線到ISA總線的單周期存儲器(8位或16位)讀寫和I/O訪問。
(18)支持PCI目標鎖定機制,PCI主控設備可以通過鎖定信號獨占對PCI9052的訪問。
(19)PCI總線傳輸速率達132MB/s。
◇結構組成
圖1所示是由PCI總線接口芯片、局部總線接口和串行總線接口組成的接口電路。
◇器件功能
PCI9052作為總線目標接口芯片,可為非PCI設備與PCI總線提供數據通道,PCI9052的主要功能如下:
(1)初始化
上電時,PCI9052的內部寄存器將由PCI總線的RST信號復位成默認值,并在局部總線上輸出LRESET信號,以檢驗串行EEPROM,如果安裝了串行EEPROM且第一個16位字不全為1,則PCI9052用串行EEPROM中的值來配置片內寄存器,否則使用缺省值。
(2)復位
當PCI總線輸入復位信號時,PCI總線全部輸出呈高阻態,此時PCI9052整體復位并輸出LRESET信號,PCI總線上的主控設備也可以通過軟件設置雜項控制寄存器(CNTRL:50h)的第30位為1,來使PCI9052復位并輸出LRESET信號,此時PCI和局部配置寄存器的值不變,PCI9052將一直保持復位狀態,而且此時主設備只能訪問配置寄存器,而不能訪問局部總線。當CNTRL[30]=0時,系統將清除PCI9052的復位狀態。
(3)串行EEPROM
復位后,PCI9052將檢查串行EEPROM是否存在,一個有效的低電平START位表示串行EEPROM存在,START位為1表示串行EEPROM不存在,串行EEPROM的第一個字如不全為“1”,PCI9052便可用它進行配置,而如果串行EEPROM不存在或為空,PCI9052則采用缺省值配置,PCI9052總線上的主機可以對串行EEPROM進行讀寫,雜項控制寄存器(CNTRL:50h)的[29:24]位控制著PCI9052對串行EEPROM的位進行讀寫,將雜項控制寄存器位CNTRL[29]置1可以用串行EEPROM重新配置PCI9052。
(4)內部寄存器訪問
PCI9052的內部寄存器為總線接口的設計與實現提供了最大的靈活性,這些寄存器可以分為兩類:PCI配置寄存器和局部配置寄存器,兩類都可以通過PCI總線或串行EEPROM來配置。
(5)直接數據傳輸模式
PCI總線上的主設備能直接訪問局部總線上的從設備。PCI9052內部的配置寄存器可譯碼和映射這些要訪問的局部地址空間,讀寫先入先出寄存器可支持PCI和局部總線之間的高性能突發傳輸方式。
(6)PCI中斷(INTA)
通過局部中斷輸入(LINTil和LINTi2)或軟件中斷(CNTRL寄存器30位)可以產生一個PCI中斷(INTA)通過PCI9052中斷控制/狀態寄存器可以禁止或使能某種中斷,PCI9052中斷控制/狀態寄存器同時可提供各個中斷的狀態指示。
(7)局部中斷(LINTi[2:1])
PCI9052提供有2個局部中斷輸入(LINTi[2:1],通過寄存器INT[2:1]),通過寄存器INTCSR;4Ch可將局部中斷設置成沿觸發或電平觸發方式,局部中斷能產生PCI中斷。
(8)系統出錯
如果PCI命令寄存器中的使能奇偶校驗位,檢測到一個地址奇偶校驗出錯時,PCI9052將產生一個SERR信號。
PCI9052的應用
PCI9052接口芯片作為通用PCI接口,其應用場合和范圍是非常廣泛的。隨著PC機的發展,PCI擴展槽已成為PC機主板的基本配置,而帶ISA擴展槽的PC機已經越來越少,ISA擴展槽在PC機中徹底地消失的日子即將到來,在作者所在公司設計生產的火災報警控制系統中原有的ACTNET網絡接口卡是基于ISA總線的插件,現在則要利用PCI9052芯片的ISA模式來對原來的板卡進行升級改造,以使原來的板卡在做少量改動的情況下可以插在PCI總線插槽中正常工作。
這種PCI插卡的借口示意圖如圖2所示,它主要由一片PCI9052、ARCNET網絡控制器以及一些外圍器件構成。
PCI9052的內部結構中包含了一個獨立的ISA邏輯接口,用于為ISA總線到PCI總線提供一種簡單的轉換。它支持8位和16位數據寬度的ISA從設備,也可以是內存映射或I/O映射。同時可直接從先讀模式來提高讀取數據的吞吐量,一旦ISA接口模式被使能,PCI9052將只執行單個周期操作,應當特別注意的是,ISA接口模式下,串行EEPROM是必需的。
具體設計時,可以使用兩種方法配置PCI9052以用于ISA接口模式:一是燒寫串行EEPROM方法,即使用燒寫器將數據寫入串行EEPROM;二是熱配置方法,也就是從PCI總線通過PCI9052芯片來燒寫串行EEPROM。
配置注意事項
當為ISA接口模式進行配置時,必須注意以下幾點:
(1)存取ISA接口引腳時,要參照PCI9052引腳的C/ISA模式引腳圖來連線。
(2)空間0分配給ISA接口的內存存取。
(3)空間1分配給ISA接口的I/O存取。
(4)無論在空間0還是在空間1,ISA訪問都是有效的。
(5)標準從周期能夠用于訪問空間2、空間3和串行EEPROM。
在設計電路板時,要嚴格遵循PCI規范,電源和地線要盡可能寬且電源濾波要良好,在芯片的每個電源引腳,最好接0.01-0.1μF的濾波電容,一般來說,PCI編碼推薦做4層板,其實只要布線合理,做兩層板也是可以的,在連線時,要注意PCI規范中提到的反射波信號,由于驅動信號的一半要靠反射波來提升,所以對信號線的長度要求為:64位卡的32位信號具備的最大連線長度是1500mil,64位擴展信號的附加信號的連線長度為2000mil,PCI的CLK長度2500mil±100mil,這些條件一定要嚴格遵守,尤其是CLK信號線長度的要保證在要求的范圍內,否則,PCI插件工作將不正常,并會出一些怪現象,另外,PCI卡上最好在從槽上引的電源上多加幾個電容,所有電源都必須退藕。用作上拉或下拉的電阻一般取值2.2KΩ即可。
還有一個要注意的是,PCI信號中prsnt1和prsnt2必須至少有一個接地,否則,系統肯定找不到卡,主板就是靠這兩個信號來判斷這個插槽上是否有卡,而其接法同PCI卡使用的功率有關,具體的含義如下(Open表示懸空,Ground表示接地):
prsnt1prsnt2含義
OpenOpennocard
GroundOpen25w
ObenGround15w
GroundGround7.5w
最后,由于PCI9052沒有提供符合工業標準IEEE1149.1邊界掃描接口,PCI規范中涉及到的5個邊界掃描信號中的TRST、TCK、TMS要懸空、TDI和TDO在板上要短接,以免掃描鏈被打斷。
結束語
實踐證明,PCI9052是一款優秀的PCI接口芯片,該芯片對基于ISA總線的接口向PCI的轉換提供了極大的方便,設計者用它可避免直接面對復雜的PCI總線協議。因為,用PCI9052開發的產品,可減少外圍器件,降低了開發難度,同時也縮短了開發周期,延長了產品的生命期。
-
PCI
+關注
關注
4文章
662瀏覽量
130184 -
華強pcb線路板打樣
+關注
關注
5文章
14629瀏覽量
42980
發布評論請先 登錄
相關推薦
評論