I/O Address Space的空間很有限(64KB),所以一般在I/O Space中都有兩個(gè)寄存器,第一個(gè)指向要操作的內(nèi)部地址,第二個(gè)存放讀或者寫的數(shù)據(jù)。因此,對于PCI的配置周期來說,包含了兩個(gè)步驟:
Step1:CPU先對IO Address中的0xCF8~0xCFB寫入要操作的配置寄存器的地址。如下圖所示,其中包括了總線號(hào)(Bus Number)、設(shè)備號(hào)(Device Number)、功能號(hào)(Function Number)和寄存器指針。
Step2:CPU向IO Address中的0xCFC~0xCFF中寫入讀或者寫的數(shù)據(jù)。
前面介紹過,每一個(gè)PCI功能(Function)都包含256個(gè)字節(jié)的配置空間(Configuration Space),其中前64個(gè)字節(jié)被稱為Header,剩余的192個(gè)字節(jié)用于一些可選的功能。PCI Spec規(guī)定了兩種類型的Header:Type1 和Type0。其中,Type1 Header表示該P(yáng)CI設(shè)備功能為橋(Brige),而Type0 Header則表示該P(yáng)CI設(shè)備功能不是橋。兩種Header的結(jié)構(gòu)圖分別如下所示:
注:因?yàn)镻CIe完整的繼承了PCI Header相關(guān)的內(nèi)容,所以關(guān)于Header的詳細(xì)介紹和操作會(huì)放在后面關(guān)于PCIe的介紹中。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:【博文連載】PCIe掃盲——PCI總線配置周期產(chǎn)生和配置寄存器
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
相關(guān)推薦
無論是FPGA還是ASIC,系統(tǒng)設(shè)計(jì)中總會(huì)存在配置寄存器總線的使用,我們會(huì)將各種功能、調(diào)試寄存器掛載在寄存器
發(fā)表于 03-04 13:56
?961次閱讀
電路實(shí)現(xiàn)起來也比較困難。它不但有著嚴(yán)格的同步時(shí)序要求,而且為了實(shí)現(xiàn)即插即用和自動(dòng)配置,PCI接口還要求有許多的配置寄存器。對于一般的設(shè)計(jì)者來說,為了縮短開發(fā)
發(fā)表于 11-29 14:52
字節(jié)。在配置存儲(chǔ)器中存放了廠家標(biāo)志、設(shè)備標(biāo)志以及本地總線的基地址空間、I/O空間和中斷控制信號(hào)等信息。初始化時(shí),系統(tǒng)自動(dòng)將串行EEPROM中的配置參數(shù)裝入
發(fā)表于 12-05 10:12
目錄1、硬件2、初始化時(shí)序3、配置FMC總線的寄存器3.1 控制寄存器3.2 時(shí)序寄存器3.3 命令寄存
發(fā)表于 01-26 07:35
ARM I2C 總線接口的寄存器設(shè)置
控制ARM 12C總線接口需要配置總線控制寄存器(rII
發(fā)表于 03-14 18:00
?1702次閱讀
MAXQ3180入門:寄存器配置
雖然多相、多功能電能計(jì)量AFE芯片MAXQ3180具有很多配置寄存器,但僅需配置幾個(gè)
發(fā)表于 03-28 09:20
?1168次閱讀
MPC860 的系統(tǒng)接口單元(SIU)控制系統(tǒng)啟動(dòng)、初始化、運(yùn)行、保護(hù)和外部系統(tǒng)總線。這些功能是靠許多寄存器實(shí)現(xiàn)的。這篇文檔將詳細(xì)說明各個(gè)寄存器的配置情況。
發(fā)表于 06-08 17:54
?53次下載
思特威的sensor芯片SC130GS在配置寄存器的時(shí)候需要注意,如果配置了0103寄存器的bit[0]位,在IIC寫數(shù)據(jù)的時(shí)候會(huì)出現(xiàn)沒有ACK的現(xiàn)象,原因是這個(gè)0103
發(fā)表于 01-24 09:23
?3021次閱讀
的大小為256字節(jié),分為頭標(biāo)區(qū)和設(shè)備有關(guān)區(qū)。直接影響設(shè)備特性的配置寄存器在頭標(biāo)區(qū),其他部分則因設(shè)備而異。PCI總線的配置空間通常與
發(fā)表于 04-04 18:14
?1578次閱讀
GC1064寄存器配置參考文件下載
發(fā)表于 05-21 16:17
?9次下載
如下表新手看這個(gè)圖 還是很懵的,CNF1/CNF0; MODE1/MODE0;PxODR寄存器這些是什么?答案是:控制I/O的寄存器。第二:STM32 I/O口寄存器STM32 每個(gè)I/O 都由7個(gè)
發(fā)表于 11-15 12:51
?17次下載
IO 配置常用的 8 個(gè)寄存器: MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR 、AFRH 和 AFRL。MODER 寄存器(輸入狀態(tài)寄存器):STM32F4
發(fā)表于 11-29 13:51
?10次下載
STM32串口寄存器庫函數(shù)配置方法STM32常用寄存器和庫函數(shù)串口配置一般步驟(串口實(shí)例)常用的串口相關(guān)寄存器:USART_SR狀態(tài)
發(fā)表于 12-28 19:13
?7次下載
STM32點(diǎn)亮LED 寄存器方式IO簡介1、每個(gè)IO可以自由編程,但是IO口寄存器必須按照32位字被訪問。2、每個(gè)IO端口都有7個(gè)寄存器來控制。CRL 【0-7】端口配置
發(fā)表于 01-13 16:15
?3次下載
電子發(fā)燒友網(wǎng)站提供《Jacinto7 DDRSS寄存器配置工具.pdf》資料免費(fèi)下載
發(fā)表于 08-27 10:11
?0次下載
評論