0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PCI總線配置周期產(chǎn)生和配置寄存器

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-04-13 09:31 ? 次閱讀

I/O Address Space的空間很有限(64KB),所以一般在I/O Space中都有兩個(gè)寄存器,第一個(gè)指向要操作的內(nèi)部地址,第二個(gè)存放讀或者寫的數(shù)據(jù)。因此,對(duì)于PCI的配置周期來說,包含了兩個(gè)步驟:

Step1:CPU先對(duì)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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119201
  • pci總線
    +關(guān)注

    關(guān)注

    1

    文章

    202

    瀏覽量

    31691

原文標(biāo)題:【博文連載】PCIe掃盲——PCI總線配置周期產(chǎn)生和配置寄存器

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何根據(jù)自己設(shè)計(jì)中的寄存器配置總線定義來生成一套寄存器配置模版

    無論是FPGA還是ASIC,系統(tǒng)設(shè)計(jì)中總會(huì)存在配置寄存器總線的使用,我們會(huì)將各種功能、調(diào)試寄存器掛載在寄存器
    的頭像 發(fā)表于 03-04 13:56 ?772次閱讀
    如何根據(jù)自己設(shè)計(jì)中的<b class='flag-5'>寄存器</b><b class='flag-5'>配置</b><b class='flag-5'>總線</b>定義來生成一套<b class='flag-5'>寄存器</b><b class='flag-5'>配置</b>模版

    PCI總線接口芯片9054及其應(yīng)用

    存放了廠家標(biāo)示、設(shè)備標(biāo)示以及本地總線的基地址空間、I/O空間、中斷控制信號(hào)等信息。當(dāng)初始化時(shí),系統(tǒng)自動(dòng)將串行EEPROM中的配置參數(shù)裝入PCI配置
    發(fā)表于 10-09 11:23

    PCI總線接口芯片9050及其應(yīng)用

    電路實(shí)現(xiàn)起來也比較困難。它不但有著嚴(yán)格的同步時(shí)序要求,而且為了實(shí)現(xiàn)即插即用和自動(dòng)配置,PCI接口還要求有許多的配置寄存器。對(duì)于一般的設(shè)計(jì)者來說,為了縮短開發(fā)
    發(fā)表于 11-29 14:52

    PCI總線接口芯片9054及其應(yīng)用

    字節(jié)。在配置存儲(chǔ)中存放了廠家標(biāo)志、設(shè)備標(biāo)志以及本地總線的基地址空間、I/O空間和中斷控制信號(hào)等信息。初始化時(shí),系統(tǒng)自動(dòng)將串行EEPROM中的配置參數(shù)裝入
    發(fā)表于 12-05 10:12

    怎樣去配置FMC總線寄存器

    目錄1、硬件2、初始化時(shí)序3、配置FMC總線寄存器3.1 控制寄存器3.2 時(shí)序寄存器3.3 命令寄存
    發(fā)表于 01-26 07:35

    ARM I2C 總線接口的寄存器設(shè)置

    ARM I2C 總線接口的寄存器設(shè)置 控制ARM 12C總線接口需要配置總線控制寄存器(rII
    發(fā)表于 03-14 18:00 ?1687次閱讀

    MAXQ3180入門:寄存器配置

    MAXQ3180入門:寄存器配置 雖然多相、多功能電能計(jì)量AFE芯片MAXQ3180具有很多配置寄存器,但僅需配置幾個(gè)
    發(fā)表于 03-28 09:20 ?1159次閱讀

    MPC860寄存器配置

    MPC860 的系統(tǒng)接口單元(SIU)控制系統(tǒng)啟動(dòng)、初始化、運(yùn)行、保護(hù)和外部系統(tǒng)總線。這些功能是靠許多寄存器實(shí)現(xiàn)的。這篇文檔將詳細(xì)說明各個(gè)寄存器配置情況。
    發(fā)表于 06-08 17:54 ?53次下載
    MPC860<b class='flag-5'>寄存器</b><b class='flag-5'>配置</b>

    SC130GS寄存器配置問題

    思特威的sensor芯片SC130GS在配置寄存器的時(shí)候需要注意,如果配置了0103寄存器的bit[0]位,在IIC寫數(shù)據(jù)的時(shí)候會(huì)出現(xiàn)沒有ACK的現(xiàn)象,原因是這個(gè)0103
    發(fā)表于 01-24 09:23 ?2918次閱讀

    采用PCI9052芯片的配置寄存器及加載其驅(qū)動(dòng)程序的開發(fā)

    的大小為256字節(jié),分為頭標(biāo)區(qū)和設(shè)備有關(guān)區(qū)。直接影響設(shè)備特性的配置寄存器在頭標(biāo)區(qū),其他部分則因設(shè)備而異。PCI總線配置空間通常與
    發(fā)表于 04-04 18:14 ?1554次閱讀
    采用<b class='flag-5'>PCI</b>9052芯片的<b class='flag-5'>配置</b><b class='flag-5'>寄存器</b>及加載其驅(qū)動(dòng)程序的開發(fā)

    GC1064寄存器配置參考文件下載

    GC1064寄存器配置參考文件下載
    發(fā)表于 05-21 16:17 ?9次下載

    STM32 I/O口配置寄存器

    如下表新手看這個(gè)圖 還是很懵的,CNF1/CNF0; MODE1/MODE0;PxODR寄存器這些是什么?答案是:控制I/O的寄存器。第二:STM32 I/O口寄存器STM32 每個(gè)I/O 都由7個(gè)
    發(fā)表于 11-15 12:51 ?17次下載
    STM32 I/O口<b class='flag-5'>配置</b>和<b class='flag-5'>寄存器</b>

    IO口配置常用的8個(gè)寄存器 1.6

    IO 配置常用的 8 個(gè)寄存器: MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR 、AFRH 和 AFRL。MODER 寄存器(輸入狀態(tài)寄存器):STM32F4
    發(fā)表于 11-29 13:51 ?10次下載
    IO口<b class='flag-5'>配置</b>常用的8個(gè)<b class='flag-5'>寄存器</b> 1.6

    2021-04-17 STM32串口寄存器庫函數(shù)配置

    STM32串口寄存器庫函數(shù)配置方法STM32常用寄存器和庫函數(shù)串口配置一般步驟(串口實(shí)例)常用的串口相關(guān)寄存器:USART_SR狀態(tài)
    發(fā)表于 12-28 19:13 ?7次下載
    2021-04-17  STM32串口<b class='flag-5'>寄存器</b>庫函數(shù)<b class='flag-5'>配置</b>

    配置STM32寄存器控制GPIO點(diǎn)亮LED

    STM32點(diǎn)亮LED 寄存器方式IO簡(jiǎn)介1、每個(gè)IO可以自由編程,但是IO口寄存器必須按照32位字被訪問。2、每個(gè)IO端口都有7個(gè)寄存器來控制。CRL 【0-7】端口配置
    發(fā)表于 01-13 16:15 ?3次下載
    <b class='flag-5'>配置</b>STM32<b class='flag-5'>寄存器</b>控制GPIO點(diǎn)亮LED