PCI總線原理簡(jiǎn)介
數(shù)據(jù)總線32位,可擴(kuò)充到64位。 PCI配置空間:PCI設(shè)備內(nèi)有一個(gè)256B的配置存儲(chǔ)器,為系統(tǒng)提供本設(shè)備的信息及申請(qǐng)系統(tǒng)存儲(chǔ)空間所必需的參數(shù)。
PCI總線訪問:以讀操作為例。 單一讀寫操作 突發(fā)讀寫操作
可進(jìn)行突發(fā)(burst)式傳輸。
總線操作與處理器-存儲(chǔ)器子系統(tǒng)操作并行。
總線時(shí)鐘頻率33MHZ或66MHZ,最高傳輸率可達(dá)528MB/S。
中央集中式總線仲裁
全自動(dòng)配置、資源分配、PCI卡內(nèi)有設(shè)備信息寄存器組為系統(tǒng)提供卡的信息,可實(shí)現(xiàn)即插即用(PNP)。
PCI總線規(guī)范獨(dú)立于微處理器,通用性好。
PCI設(shè)備可以完全作為主控設(shè)備控制總線。
PCI總線引線:高密度接插件,分基本插座(32位)及擴(kuò)充插座(64位)。
PCI總線引線示意圖
PCI主要設(shè)備信息:
制造商標(biāo)識(shí)(Vendor ID):PCI組織分配給廠家。
設(shè)備標(biāo)識(shí)(Device ID):按產(chǎn)品分類給本卡的編號(hào)。
分類碼(Class Code):本卡功能的分類碼,如圖卡、顯示卡、解壓卡等。
申請(qǐng)存儲(chǔ)器空間:PCI卡內(nèi)有存儲(chǔ)器、以存儲(chǔ)器編址的寄存器和I/O空間,為使驅(qū)動(dòng)程序和應(yīng)用程序能訪問它們,需申請(qǐng)一段存儲(chǔ)區(qū)域?qū)⑺鼈兌ㄎ?。配置空間的基地址寄存器是專門用于申請(qǐng)存儲(chǔ)器空間的。
PCI配置空間:
申請(qǐng)I/O空間:配置空間的基地址寄存器也用來進(jìn)行系統(tǒng)I/O空間的申請(qǐng)。
中斷資源申請(qǐng):配置空間中的中斷引腳和中斷線用來向系統(tǒng)申請(qǐng)中斷資源。
PCI配置空間分配
PCI總線是半同步方式操作,信號(hào)是否有效由時(shí)鐘CLK的上升邊采樣來確定。
主設(shè)備啟動(dòng)總線周期:首先發(fā)出FRAME#信號(hào),表明一次訪問(總線周期)開始,地址及操作命令字信號(hào)出現(xiàn)在AD與C/BE#線上。
從設(shè)備響應(yīng):對(duì)地址和命令字譯碼后通過發(fā)出DEVSEL#有效信號(hào)進(jìn)行響應(yīng),通知主設(shè)備,從設(shè)備已經(jīng)被選中。
數(shù)據(jù)讀?。褐髟O(shè)備與從設(shè)備都準(zhǔn)備好即IRDY#及TRDY#均有效,主設(shè)備將數(shù)據(jù)取走。
PCI總線訪問:
多數(shù)據(jù)傳送周期:PCI支持突發(fā)訪問方式。
主模塊占用一次總線可實(shí)現(xiàn)多個(gè)周期的數(shù)據(jù)訪問。
第一數(shù)據(jù)地址由地址周期給出。
以后地址在此基礎(chǔ)上按AD1、AD0的編碼規(guī)定變化,如AD1、AD0為 00 時(shí)地址線性增加(每次加4)。
錯(cuò)誤校驗(yàn)及報(bào)告:
PCI總線對(duì)AD線的有效信息都進(jìn)行奇偶校驗(yàn)操作。PAR為校驗(yàn)位,發(fā)送方為AD與C/BE#線(共36位)配好校驗(yàn)值。
接收方在地址周期用SERR#報(bào)告校驗(yàn)結(jié)果,用PERR#報(bào)告數(shù)據(jù)周期校驗(yàn)結(jié)果。
配置空間訪問:
配置空間的訪問決定于命令字編碼,在IDSEL線上發(fā)出有效信號(hào),地址線低8位用于訪問配置空間的256字節(jié)存儲(chǔ)器。
總線仲裁:
PCI總線主設(shè)備通過REQ#與GNT#信號(hào)向總線仲裁器申請(qǐng)占用總線并得到確認(rèn)。