0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCI总线配置周期产生和配置寄存器

SwM2_ChinaAET 来源:未知 作者:李倩 2018-04-13 09:31 次阅读

I/O Address Space的空间很有限(64KB),所以一般在I/O Space中都有两个寄存器,第一个指向要操作的内部地址,第二个存放读或者写的数据。因此,对于PCI的配置周期来说,包含了两个步骤:

Step1:CPU先对IO Address中的0xCF8~0xCFB写入要操作的配置寄存器的地址。如下图所示,其中包括了总线号(Bus Number)、设备号(Device Number)、功能号(Function Number)和寄存器指针。

Step2:CPU向IO Address中的0xCFC~0xCFF中写入读或者写的数据。

前面介绍过,每一个PCI功能(Function)都包含256个字节的配置空间(Configuration Space),其中前64个字节被称为Header,剩余的192个字节用于一些可选的功能。PCI Spec规定了两种类型的Header:Type1 和Type0。其中,Type1 Header表示该PCI设备功能为桥(Brige),而Type0 Header则表示该PCI设备功能不是桥。两种Header的结构图分别如下所示:

注:因为PCIe完整的继承了PCI Header相关的内容,所以关于Header的详细介绍和操作会放在后面关于PCIe的介绍中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5020

    浏览量

    117630
  • pci总线
    +关注

    关注

    1

    文章

    200

    浏览量

    31531

原文标题:【博文连载】PCIe扫盲——PCI总线配置周期产生和配置寄存器

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何根据自己设计中的寄存器配置总线定义来生成一套寄存器配置模版

    无论是FPGA还是ASIC,系统设计中总会存在配置寄存器总线的使用,我们会将各种功能、调试寄存器挂载在寄存器
    的头像 发表于 03-04 13:56 395次阅读
    如何根据自己设计中的<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及其应用

    存放了厂家标示、设备标示以及本地总线的基地址空间、I/O空间、中断控制信号等信息。当初始化时,系统自动将串行EEPROM中的配置参数装入PCI配置
    发表于 10-09 11:23

    PCI总线接口芯片9050及其应用

    电路实现起来也比较困难。它不但有着严格的同步时序要求,而且为了实现即插即用和自动配置PCI接口还要求有许多的配置寄存器。对于一般的设计者来说,为了缩短开发
    发表于 11-29 14:52

    PCI总线接口芯片9054及其应用

    字节。在配置存储中存放了厂家标志、设备标志以及本地总线的基地址空间、I/O空间和中断控制信号等信息。初始化时,系统自动将串行EEPROM中的配置参数装入
    发表于 12-05 10:12

    从哪个文档中我能够理解PCI配置空间中每个寄存器的含义

    找到类型0 PCI配置空间标头的任何详细说明。我想知道从哪个文档中我能够理解PCI配置空间中每个寄存器的含义。感谢致敬,Juhi(知识产权局
    发表于 05-27 11:12

    怎样去配置FMC总线寄存器

    目录1、硬件2、初始化时序3、配置FMC总线寄存器3.1 控制寄存器3.2 时序寄存器3.3 命令寄存
    发表于 01-26 07:35

    ARM I2C 总线接口的寄存器设置

    ARM I2C 总线接口的寄存器设置 控制ARM 12C总线接口需要配置总线控制寄存器(rII
    发表于 03-14 18:00 1646次阅读

    MAXQ3180入门:寄存器配置

    MAXQ3180入门:寄存器配置 虽然多相、多功能电能计量AFE芯片MAXQ3180具有很多配置寄存器,但仅需配置几个
    发表于 03-28 09:20 1123次阅读

    MAXQ3180入门:寄存器配置

    MAXQ3180入门:寄存器配置 虽然多相、多功能电能计量AFE芯片MAXQ3180具有很多配置寄存器,但仅需配置几个
    发表于 03-28 09:20 824次阅读

    MPC860寄存器配置

    MPC860 的系统接口单元(SIU)控制系统启动、初始化、运行、保护和外部系统总线。这些功能是靠许多寄存器实现的。这篇文档将详细说明各个寄存器配置情况。
    发表于 06-08 17:54 53次下载
    MPC860<b class='flag-5'>寄存器</b><b class='flag-5'>配置</b>

    SC130GS寄存器配置问题

    思特威的sensor芯片SC130GS在配置寄存器的时候需要注意,如果配置了0103寄存器的bit[0]位,在IIC写数据的时候会出现没有ACK的现象,原因是这个0103
    发表于 01-24 09:23 2609次阅读

    采用PCI9052芯片的配置寄存器及加载其驱动程序的开发

    的大小为256字节,分为头标区和设备有关区。直接影响设备特性的配置寄存器在头标区,其他部分则因设备而异。PCI总线配置空间通常与
    发表于 04-04 18:14 1364次阅读
    采用<b class='flag-5'>PCI</b>9052芯片的<b class='flag-5'>配置</b><b class='flag-5'>寄存器</b>及加载其驱动程序的开发

    STM32 I/O口配置寄存器

    如下表新手看这个图 还是很懵的,CNF1/CNF0; MODE1/MODE0;PxODR寄存器这些是什么?答案是:控制I/O的寄存器。第二:STM32 I/O口寄存器STM32 每个I/O 都由7个
    发表于 11-15 12:51 17次下载
    STM32 I/O口<b class='flag-5'>配置</b>和<b class='flag-5'>寄存器</b>

    IO口配置常用的8个寄存器 1.6

    IO 配置常用的 8 个寄存器: MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR 、AFRH 和 AFRL。MODER 寄存器(输入状态寄存器):STM32F4
    发表于 11-29 13:51 10次下载
    IO口<b class='flag-5'>配置</b>常用的8个<b class='flag-5'>寄存器</b> 1.6

    配置STM32寄存器控制GPIO点亮LED

    STM32点亮LED 寄存器方式IO简介1、每个IO可以自由编程,但是IO口寄存器必须按照32位字被访问。2、每个IO端口都有7个寄存器来控制。CRL 【0-7】端口配置
    发表于 01-13 16:15 3次下载
    <b class='flag-5'>配置</b>STM32<b class='flag-5'>寄存器</b>控制GPIO点亮LED