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