PCI總線接口芯片管理論文
時間:2022-06-26 11:46:00
導語:PCI總線接口芯片管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:pci9050是PLX公司推出的一種低成本的PCI協議從模式接口芯片。本文主要介紹了它的功能、特點及應用,說明了它在使用時應該注意的一些問題,最后給出了一個具體的應用實例。
關鍵詞:PCI總線局部總線PCI9050
1.引言
PCI總線是目前應用最廣泛、最流行的一種高速同步總線,具有32bit總線寬度,總線時鐘頻率為0~33MHZ,最大傳輸速率可以達到132Mbyte/s,遠遠大于ISA總線5Mbyte/s的速度。而且,它不象ISA總線那樣把地址尋址和數據讀寫控制信號都交給微處理器來處理,而是獨立于處理器,所以它可以支持突發傳送。PCI總線與CPU無關,與時鐘頻率也無關,因此它可以應用于各種平臺,支持多處理器和并發工作。
PCI總線協議比較復雜,因此它的接口電路實現起來也比較困難。它不但有著嚴格的同步時序要求,而且為了實現即插即用和自動配置,PCI接口還要求有許多的配置寄存器。對于一般的設計者來說,為了縮短開發周期,沒有必要自己去設計所有的接口邏輯,只要利用通用PCI接口芯片就能很好的進行設計開發,大大減小了工作的難度。現在使用較多的是AMCC公司S59XX系列和PLX公司推出的PLX系列。下面將主要介紹PLX公司的PCI9050接口芯片。
2.PCI9050概述
PCI9050是PLX公司為擴展適配板卡推出的能提供一種混合的高性能PCI總線目標模式的接口芯片,可提供用于適配卡的小型高性能PCI總線目標接口。
它的主要特點有下面這些:
l符合PCI2.1規范,支持開發低成本的從模式適配器。該芯片支持從ISA適配器向PCI適配器轉換。
l帶有五個局域總線地址空間和四個片選。
l支持突發存儲器映射和I/O映射方式在PCI總線和局部總線存取數據。雙向FIFO可以用于零等待狀態突發操作。PCI總線總是工作在突發方式,局部總線可以設置成突發方式或者連續單周期方式。
l可以從兩個局部總線中斷輸入生成一個PCI中斷。
l局部時鐘與PCI時鐘異步工作,允許局部總線獨立于PCI時鐘工作。
l支持多路復用和非多路復用的8位、16位和32位通用局部總線。
l總線驅動。PCI9050直接生成所有的控制、地址和數據信號,用于驅動PCI總線,不需要額外驅動電路。
3.PCI9050的功能描述
PCI9050為非PCI設備和PCI總線提供數據通道。
(1)初始化
在上電時,PCI9050的內部寄存器由PCI總線的RST#信號復位,在局部總線上輸出LRESET#信號并檢查EEPROM是否存在數值。若是存在且前48位不全為1,則PCI9050用EEPROM中的值來配置片內寄存器,否則設為缺省值。PCI配置寄存器只能通過EEPROM或PCI主機CPU來進行設置。在串行EEPROM初始化時,PCI9050反饋給PCI總線RETBY信號。
(2)復位
PCI總線的RST#信號有效將引起整個PCI9050復位,輸出LRESET#局部復位信號。PCI總線上的主控設備也可以通過設置寄存器中的軟件復位比特來對PCI9050進行復位,但是主控設備只能訪問配置寄存器,而不能訪問局部總線。PCI9050會一直保持這種復位狀態直到PCI主控設備清除軟件復位比特。
(3)串行存儲器接口(EEPROM)
復位后,PCI9050開始讀串行EEPROM。START為0表示EEPROM存在,PCI9050用它來進行配置。若讀出的第一個字不是FFFF,那么就認為EEPROM是非空的,繼續進行操作。串行EEPROM是按重要性順序先后配置信息的。
PCI總線上的主機可以對EEPROM進行讀寫,寄存器位[29:24]控制著PCI9050的管腳,對EEPROM位進行讀寫。將重載配置寄存器位CNTRL[29]置1可以用串行EEPROM重新配置PCI9050。
(4)訪問內部寄存器
PCI9050提供一系列的內部寄存器來為總線接口設計與實現提供最大的靈活性。寄存器分為兩類:PCI配置寄存器和局部配置寄存器。主要有以下幾種:
l設備與廠商寄存器,它用來標識設備類別及生產廠家。
l狀態寄存器,它包含與PCI總線有關的事件。
l命令寄存器,控制設備對PCI訪問的響應。
l分類碼元寄存器,它用來標識設備的一般功能。
l局部配置寄存器存儲器訪問的PCI基地址寄存器:系統BIOS利用此寄存器為PCI9050局部配置寄存器的存儲器訪問分配一段PCI地址空間,范圍為128字節,初始化時,主機對寄存器寫入FFFFFFFF,讀回FFFFFF70,以確定其占用空間為128字節。
l局部配置寄存器I/O訪問的PCI基地址寄存器:系統BIOS利用此寄存器為PCI9050局部配置寄存器的I/O訪問分配一段PCI地址空間,范圍為128字節,初始化時,主機對寄存器寫入FFFFFFFF,讀回FFFFFF71,以確定其占用空間為128字節。
l局部地址空間0(地址空間1,2,3類似)訪問的PCI基地址寄存器:系統BIOS利用此寄存器為PCI9050局部地址空間0的訪問分配一段PCI地址空間。初始化時,主機對寄存器寫入FFFFFFFF,讀回數值來確定它的范圍。
對PCI9050寄存器進行讀寫操作的單位可以是字節,字,長字。PCI9050的存儲器訪問可以是突發的或非突發的。
(5)直接數據轉換操作
PCI主控設備能夠直接對局部總線上的設備進行讀寫操作。PCI9050內的配置寄存器控制局部地址空間的重新映射。雙向FIFO引起局部和PCI總線上高性能的突發。
直接從操作:PCI9050支持突發式內存映射傳輸和單周期的內存或I/O映射傳輸。映射在PCI內存和I/O空間中的地址由PCI基址寄存器設置。而且,局部映射寄存器允許將PCI地址空間轉換為局部地址空間。
4.PCI9050使用時應該注意的問題
9050內部的寄存器是通過外部串行EEPROM上電加載的。9050會自動根據該EEPROM的狀態來決定其內部寄存器的值。如果EEPROM內部沒有燒寫為有效值,應保證其開始48位全為“1”,否則,系統上電時會出錯。
9050有5個本地空間,用戶可根據實際的需要來進行配置,并不是要用到所有的。當將本地空間配置成I/O時,對該空間的讀寫只能單次進行。如果配置成存儲器模式,用戶會有多種接入模式,大大提高了速度。
突發模式是為了提高本地總線操作速度而設計的。在該模式期間,9050只提供一次傳輸開始和終止信號。開始信號有效時,地址將以本地時鐘的頻率遞增,可以利用BTERM#引腳是否有效來中止突發操作。
還有一點需要說明的是,Pentium系列的CPU,不支持突發讀操作,只可能產生單次讀操作。用戶如果需要在PCI總線上實現突發操作,應該選用支持DMA傳輸的芯片,比如PCI9054。但是PCI9050會把PCI總線上的多次單次讀操作轉化為突發操作。
5.基于PCI9050的PCI接口設計
下面給出的是一個利用PCI9050做接口的PCI插卡。在用戶電路上,采用MT90820做交換,實現數字電路的轉接和復接。具體電路如下圖所示。
(1)硬件設計:
接口芯片PCI9050主要包括PCI總線信號接口和局部總線接口。硬件電路分為三個部分。第一部分是9050和PCI插槽間的連接信號線。這些信號包括地址數據復用信號AD[31:0],總線命令信號C/BE[3:0]#和PCI協議控制信號PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、DEVSEL#、PERR#、SERR#。第二部分是與串行EEPROM的連線。這里有四根信號線:EESK、EEDO、EEDI、EECS,串行EEPROM的數據可以提前燒好,也可以在線燒寫。第三部分就是9050與應用電路的連接。在這個例子里,它和MT90820相連,包括LA地址總線,LAD數據總線,LBE#字節使能信號,LW/R讀寫信號等。
(2)軟件設計:
程序主要分為兩個部分。一部分為PCI9050各個配置寄存器賦值并初始化,還有一部分為主程序,任務就是把PCM鏈路上的信號經過MT90820交換矩陣后,再通過PCI9050送到CPU。
6.結束語
由于PCI總線數據吞吐量大,傳輸速率高,所以現在PCI總線已經慢慢取代了ISA總線成為主流。當然,PCI總線協議要復雜的多,接口設計難度也就增大了。目前,設計PCI接口有兩種方法。一種是使用ALTERA,XILINX等公司的FPGA系列并使用他們的元件庫,這種方式需要用戶直接面對復雜的PCI協議,開發周期長,難度大;還有一種就是利用我們上面介紹的PCI接口芯片,設計起來就要簡單的多,因此得到了廣泛的應用。
- 上一篇:故障保護收發器管理論文
- 下一篇:PCI總線協議管理論文