PCI局部
總線簡介:
PCI的含義為外部部件互連(Peripheral Component Interconnect)。
1991年,Intel公司對PCI局部總線進行了定義,并與IBM、Compaq、AST、HP、NEC等100多家公司聯合共謀計算機總線的發展大業,于是,PCI局部總線標準1.0版本技術規范于1992年6月22日推出。目前,最新的2.2修改版于1998年12月18日完成,1999年2月發布。
PCI局部總線是一種具有多路地址線和數據線的高性能32/64位總線。雖然在PC領域,PCI已經逐漸被更高性能的PCI-Express總線替代,但在
嵌入式領域
PCI總線依然應用廣泛,且其性能足夠滿足絕大多數
嵌入式系統的需求。PCI總線
信號定義在一個PCI應用系統中,如果某設備取得了總線的控制權,就稱其為“主設備”,而被主設備選中以進行通信的設備稱為“從設備”或“目標設備”。對于相應的接口信號線,通常分為必備的和可選的兩大類。如果只作為目標設備,至少需要47條接口信號線,若作為主設備,則需要49條。下面對主設備和目標設備綜合考慮,并按功能分組將這些信號表示于圖中。
下面對PCI信號的類型規定說明:
IN
表示輸入,是標準的只作輸入的信號。
OUT 表示輸出,是標準的圖騰柱式輸出驅動信號。
T/S 表示雙向的三態輸入/輸出信號。
O/D 表示漏極開路,以線或形式允許多個設備共同驅動和分享。
S/T/S 表示持續的并且低電平有效的三態信號。在某一時刻只能屬于一個主設備并被其驅動。系統信號定義:
CLK
IN:對于所有的PCI設備都是輸入信號。其頻率范圍為0~33M或者0~66M,這一頻率也稱為PCI的工作頻率。對于PCI的信號,除了RST#、INTA#~INTD#之外,其余信號都在CLK的上升沿有效(或采樣)。
RST# IN:復位信號。用來使PCI專用的特性寄存器、配置寄存器、定時器、主設備、目標設備以及輸出驅動器恢復為規定的初始狀態。每當復位時,PCI的全部輸出信號一般都應驅動到三態。REQ#和GNT#必須同時驅動到三態,不能在復位期間為高或為低。為防止AD、C/BE#及PAR在復位期間浮動,可由中央資源將它們驅動到邏輯低,但不能驅動為高電平。RST#和CLK可以不同步,但要保證其撤銷邊沿沒有反彈。地址和數據信號:
AD[31:0]
T/S:地址、數據多路復用的輸入/輸出信號。一個總線交易由一個地址期和一個或多個數據期構成。在FRAME#有效時,是地址期;在IRDY#和TRDY#同時有效時,是數據期。PCI總線支持突發方式的讀寫功能。
C/BE[3:0]#
T/S:總線命令和字節使能多路復用信號線。在地址期中,傳輸的是總線命令;在數據期內,傳輸的是字節使能信號,用來確定AD[31:0]線上哪些字節為有效數據。C/BE[0]#應用于字節0(最低字節),C/BE[3]#應用于字節3(最高字節)。
PAR
T/S:地址與數據位傳送時的奇偶校驗信號。接口控制信號:
FRAME#
S/T/S:幀周期信號。由當前的主設備驅動,表示當前主設備一次交易的開始和持續時間。FRAME#的有效預示著總線傳輸的開始;在FRAME#存在期間,意味著數據傳輸的繼續進行;FRAME#失效后,是交易的最后一個數據期;
IRDY#
S/T/S:主設備準備好信號。由當前主設備驅動,該信號的有效表明發起本次傳輸的設備能夠完成交易的當前數據期。它要與TRDY#配合使用,二者同時有效,數據方能完整傳輸。在讀周期,該信號有效時,表示主設備已作好接收數據的準備。在寫周期,該信號有效時,表明數據已提交到AD總線上。如果IRDY#和TRDY#有一個無效,將插入等待周期。
TRDY#
S/T/S:目標設備準備好信號。由當前被尋址的目標設備驅動,該信號有效表示目標設備已經作好完成當前數據傳輸的準備工作。同樣,該信號要與IRDY#配合使用,二者同時有效,數據方能完整傳輸。在寫周期,該信號有效,表示從設備已作好接收數據的準備;在讀周期,該信號有效,表明數據已提交到AD總線上。同理,TRDY#和 IRDY#任一個無效,都將插入等待周期;
STOP#
S/T/S:停止數據傳送信號。由目標設備驅動。當該信號有效時,表示目標設備要求主設備中止當前的數據傳送。
IDSEL#
IN:初始化設備選擇信號。在參數配置讀和配置寫期間,用作片選信號。
DEVSEL# S/T/S:設備選擇信號。該信號有效時,表示驅動它的設備已稱為當前訪問的目標設備。換言之,該信號的有效說明總線上某一設備已被選中。如果一個主設備啟動一個交易并且在6個CLK周期內沒有檢測到DEVSEL#有效,它必須假定目標設備沒有反應或者地址不存在,從而實施主設備缺省。
LOCK#
S/T/S:鎖定信號(可選)。當該信號有效時,表示對橋的原始操作可能需要多個傳輸才能完成,也就是說,對此設備的操作是排它性的。鎖定只能由主橋、PCI-PCI橋和擴展總線橋發起。仲裁信號:
REQ#
T/S:總線占用請求信號。該信號一旦有效即表明驅動它的設備向仲裁器要求使用總線。它是一個點到點的信號線,任何主設備都有其REQ#信號。當RST#有效時,REQ#必須為三態。
GNT#
T/S:總線占用允許信號。用來向申請總線占用的設備表示其請求已獲得批準。這也是一個點到點的信號線,任何主設備都有自己的GNT#信號。當RST#有效時,必須忽略GNT#。
每一個PCI主設備都有一對仲裁線直接連接到PCI仲裁器上。當一個主設備請求使用總線時,它會使連接到仲裁器上的REQ#有效,當仲裁器決定正在請求的主設備應該授權控制總線時,它會使對應的GNT#有效。在PCI環境中,總線仲裁器在同時有另一個主設備仍控制總線時起作用,這稱為“隱式”仲裁。當主設備接受來自仲裁器的授權時,必須等待當前的主設備完成其傳送,直到采樣到FRAME#和IRDY#均無效時,它才認為自己取得總線授權。錯誤報告信號:
PERR#
S/T/S:數據奇偶校驗錯誤信號;由數據的接收端驅動,同時設置其狀態寄存器中的奇偶校驗錯誤位。一個交易的主設備負責給軟件報告奇偶校驗錯誤,為此在寫數據期它必須檢測PERR信號。
SERR#
O/D:系統錯誤報告信號;它的作用是報告地址奇偶錯誤,特殊周期命令的數據錯誤。SERR#是一個OD(漏極開路)信號,它通常會引起一個NMI中斷,Power PC中會引起機器核查中斷。中斷信號:
中斷在PCI中是可選項,屬于電平敏感型,低電平有效,OD,與時鐘異步。其中INTB ~INTD只能用于多功能設備。中斷線和功能之間的最終對應關系是由中斷引腳寄存器來定義的。附加信號:
PRSNT[2:1]:插卡存在信號;用于指出PCI插件板上是否存在插卡板,如存在則要求母板為其供電;
CLKRUN:時鐘運行信號;用于停止或者減慢CLK;
M66EN:66M使能信號;
PME#:
電源管理事件信號。
3.3Vaux:輔助
電源信號;當插卡主電源被軟件關閉時,3.3Vaux為插件提供電能以產生電源管理事件。64位總線擴展信號:
AD[64:32]:在地址期,如使用DAC命令且REQ64有效時為高32位地址;在數據期,REQ64和ACK64都有效時高32位數據有效。
C/BE[7:4]:用法與AD信號同。
REQ64#:64位傳輸請求;由主設備驅動,并和FRAME有相同的時序;
ACK64#:64位傳輸認可;由從設備驅動,并和DEVSEL有相同的時序;
PAR64#:奇偶雙字節校驗。JTAG/邊界掃描信號:
TCK,TDI,TDO,TMS,TRST#
關鍵詞:
PCI總線信號定