I/O Address Space的空間很有限(64KB),所以一般在I/O Space中都有兩個(gè)寄存器,第一個(gè)指向要操作的內(nèi)部地址,第二個(gè)存放讀或者寫(xiě)的數(shù)據(jù)。因此,對(duì)于PCI的配置周期來(lái)說(shuō),包含了兩個(gè)步驟:
Step1:CPU先對(duì)IO Address中的0xCF8~0xCFB寫(xiě)入要操作的配置寄存器的地址。如下圖所示,其中包括了總線號(hào)(Bus Number)、設(shè)備號(hào)(Device Number)、功能號(hào)(Function Number)和寄存器指針。
Step2:CPU向IO Address中的0xCFC~0xCFF中寫(xiě)入讀或者寫(xiě)的數(shù)據(jù)。

前面介紹過(guò),每一個(gè)PCI功能(Function)都包含256個(gè)字節(jié)的配置空間(Configuration Space),其中前64個(gè)字節(jié)被稱(chēng)為Header,剩余的192個(gè)字節(jié)用于一些可選的功能。PCI Spec規(guī)定了兩種類(lèi)型的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的介紹中。
-
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
130011 -
pci總線
+關(guān)注
關(guān)注
1文章
205瀏覽量
33725
原文標(biāo)題:【博文連載】PCIe掃盲——PCI總線配置周期產(chǎn)生和配置寄存器
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何根據(jù)自己設(shè)計(jì)中的寄存器配置總線定義來(lái)生成一套寄存器配置模版
PCI總線接口芯片9054及其應(yīng)用
PCI總線接口芯片9050及其應(yīng)用
PCI總線接口芯片9054及其應(yīng)用
ARM I2C 總線接口的寄存器設(shè)置
MAXQ3180入門(mén):寄存器配置
MPC860寄存器配置
SC130GS寄存器配置問(wèn)題
采用PCI9052芯片的配置寄存器及加載其驅(qū)動(dòng)程序的開(kāi)發(fā)
STM32 I/O口配置和寄存器
IO口配置常用的8個(gè)寄存器 1.6
2021-04-17 STM32串口寄存器庫(kù)函數(shù)配置
配置STM32寄存器控制GPIO點(diǎn)亮LED
PCI總線配置周期產(chǎn)生和配置寄存器
評(píng)論