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

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

3天内不再提示

简谈PCIe的软件配置方式

FPGA学习交流 2018-07-27 19:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大家好,又到了每日学习的时间了,今天我们来聊一聊PCIe的软件配置方式。

关于PCIe的软件配置和初始化

PCIe设计出来考虑了和pci兼容问题。所以PCIe的软件配置方式可以沿用PCI的配置方式。当然,由于特殊性,也有自身独特的配置方式。所以PCIe模块的访问方式有如下两种:
1、 PCI 兼容的配置方式。
2、 PCI Express enhanced 配置机制。

PCI兼容方式是在PCI章节已经提过,PCIe与其完全兼容。这里主要描述PCIE高级配置机制。

PCIe的配置空间

PCIe的配置空间是兼容PCI的,但是在PCI的基础上增加了不少register。从256增加到4Kbytes的大小。如下图所示,PCIe的配置空间。

134606xdnsfah77dfs5f6l.png



其中,PCIe的配置空可以分成PCI兼容部分和扩展部分。PCI兼容部分在前面256byte区域,完全可以使用PCI配置机制来访问。而扩展部分的register,使用PCI配置方式无法实现,则可以通过PCIe 高级配置方式完成。

PCIe高级配置机制

PCIe enhanced configuration mechanism的主要原理是将pcie的所有4K bytes 映射到memory地址上,这样,通过访问memory的方式即可读写PCIE的配置空间。当然,通过此方式读memory时候,最好考虑到4字节对齐的问题,否则有可能出错。

在正常的访问过程中,可以访问这一部分的memory来配置pcie,而这部分memory在哪里呢?芯片组中会定义一个base address,而base address开始的256MB的空间内则是总线上所有PCIe设备的配置空间对应的register。

134606orlmsr5trsrxzrsq.png


上图是PCIE总线高级配置结构图,很明显可以看出是PCIE配置空间映射的memory空间为[XbaseAddress +0 àXbaseAddress +FFFFFFFh]。那么实际的地址线如何对应呢?如下图所示:

134607rx76keoxqbji84xu.png


在程序中的表达和操作是这样的:

1、计算出PCIe设备配置空间中寄存器的地址:Register address = PCIe_Base + (BusNO * 1MB) + (DeviceNO * 32KB) + (FuncNO* 4KB) + (Reg).

2、使用memory 读写周期完成register的读写。

PCIE配置空间register

详细的register解读,请阅读PCIe spec或者参考一份X86架构的芯片组datasheet。

今天就聊到这里,各位,加油。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PCIe-ECAT卡讲解及配置流程#三格电子

    PCIe
    三格电子科技
    发布于 :2026年05月14日 16:43:07

    工业利器:PCIE - 1763AH与PCIE - 1763DH PCIe卡深度解析

    工业利器:PCIE-1763AH与PCIE-1763DH PCIe卡深度解析 在工业自动化和控制领域,可靠且高效的输入输出设备至关重要。今天,我们就来深入了解两款来自ADVANTECH的PCI
    的头像 发表于 05-13 12:15 205次阅读

    探索PCIE - 1730/1730H:高性能数字I/O PCIe卡的魅力

    - 1730和PCIE - 1730H这两款32通道TTL与32通道隔离数字I/O的PCIe卡。 文件下载: PCIE-1730-BE.pdf 产品特性亮点 丰富的通道配置
    的头像 发表于 05-13 12:05 250次阅读

    仪科技与宝徕科技达成深度战略合作

    仪科技与宝徕科技达成深度战略合作,以仪核心测控硬件——USB-1601、PCIe-5110系列、PCIe-5500系列为技术底座,全面赋能宝徕全系列教学实验台。双方共同打造面向高校
    的头像 发表于 04-29 10:17 220次阅读
    <b class='flag-5'>简</b>仪科技与宝徕科技达成深度战略合作

    PCIe校时卡 B码-PCIe授时卡 双模pcie时统卡发货视频

    PCIe
    jf_47371611
    发布于 :2026年04月23日 17:54:15

    深入剖析PCIe配置空间中Type 0 Header的核心成员

    (Subsystem ID),还声明了它的职业能力(Class Code)以及它需要占用的办公资源(BAR 空间)。我们将深入剖析 PCIe 配置空间中 Type 0 Header 的核心成员,探讨这些寄存器背后的意义。
    的头像 发表于 02-26 16:44 1230次阅读
    深入剖析<b class='flag-5'>PCIe</b><b class='flag-5'>配置</b>空间中Type 0 Header的核心成员

    JH7110 中的 PCIE 器件有什么用途?

    JH7110 中的 PCIE 器件有什么用途?以及如何? 我知道 USB 3.0 设备使用它们。这可能是通过 USB 设备的驱动程序完成的。但是还有哪些设备使用 PCIE 总线呢?它是通过驱动程序代码完成的,还是以某种方式是用户
    发表于 02-05 06:51

    实战复盘:RK3588 SPI+PCIe3x4方案启动修复,从节点配置到驱动适配全解析

          在 RK3588 嵌入式项目中, “ 接口配置不匹配 ” 是高频踩坑点 —— 近期 基于 linux6.1 内核 调试 SPI 闪存 +PCIe3x4 外设 方案时,就遇到了 “eMMC
    的头像 发表于 01-08 10:24 939次阅读
    实战复盘:RK3588 SPI+<b class='flag-5'>PCIe</b>3x4方案启动修复,从节点<b class='flag-5'>配置</b>到驱动适配全解析

    一文搞懂 RK3588 PCIe:从硬件资源到拆分配置 + 避坑指南(含脑图)

    资源解析、 3  大拆分方案实战、关键配置步骤及避坑要点,附带可视化脑图,助力开发者快速落地  PCIe  相关项目。       一、 RK3588 PCIe  核心硬件资源   1.1  控制器
    的头像 发表于 11-20 18:18 5160次阅读
    一文搞懂 RK3588 <b class='flag-5'>PCIe</b>:从硬件资源到拆分<b class='flag-5'>配置</b> + 避坑指南(含脑图)

    开发者必备,10 分钟搞定 RK3588 PCIE 拆分!

    前言:在嵌入式开发中,PCIe接口的灵活配置直接影响设备扩展能力与性能发挥。RK3588作为旗舰芯片,其PCIe拆分机制更是让硬件设计与软件调试拥有了更多可能性。今天这篇技术笔记,就带
    的头像 发表于 11-13 08:31 2291次阅读
    开发者必备,10 分钟搞定 RK3588 <b class='flag-5'>PCIE</b> 拆分!

    加速PCIe 5产品设计和测试

    作者:是德科技设计工程软件全球市场营销总监Roberto Piacentini Filho   关键要点 ● 伴随AI和数据中心领域对硬件的需求水涨船高,PCIe 5.0标准成为一个重要的里程碑
    的头像 发表于 09-22 02:37 2284次阅读
    加速<b class='flag-5'>PCIe</b> 5产品设计和测试

    NVMe高速传输之摆脱XDMA设计之12:PCIe请求模块设计(上)

    Cfg_mgmt接口发送给PCIE硬核,当配置请求的总线号不为0时,请求以PCIe配置请求TLP的格式从axis_rq接口发送到PCIE硬核
    发表于 08-03 22:00

    NVMe高速传输之摆脱XDMA设计之八:PCIe初始化状态机设计

    PCIe配置初始化状态机实现PCIe设备枚举和配置空间初始化过程,在完成链路训练后,使用DFS(深度优先搜索)算法枚举PCIe总线上的设备,
    发表于 07-05 22:00