张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,??戳此立抢??

简谈PCIe的软件配置方式

FPGA学习交流 ? 2019-07-29 09:26 ? 次阅读

大家好,又到了每日学习的时间了,今天我们来聊一聊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的配置空间。

1.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。

2.png

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

3.png

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

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

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

? ? ? ?PCIE配置空间register

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

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

收藏 人收藏
分享:

评论

相关推荐

小梅哥FPGA设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列
发表于 03-24 00:00 ? 37952次 阅读
小梅哥FPGA设计思想与验证方法视频教程

FPGA中的晶体与晶振有何重要性

大部分FPGA设计都需要稳定的时钟信号,这些时钟信号通常都是由“晶体”或“晶振”产生的。 晶体一般都包含一个石英谐振器...
发表于 08-02 05:00 ? 42次 阅读
FPGA中的晶体与晶振有何重要性

FPGA如何实现按键除抖

假设你将一个机械按键开关与FPGA相连,你可能会遇上一些麻烦。 下图是一个按键开关按下10次的结果。 【问题所在】 要想...
发表于 08-01 18:11 ? 125次 阅读
FPGA如何实现按键除抖

Verilog HDL的语句及可综合性的详细资料简介

可综合设计的特点:1、不使用初始化语句。2、不使用带有延时的描述。3、不使用循环次数不确定的循环语句....
发表于 08-01 16:55 ? 12次 阅读
Verilog HDL的语句及可综合性的详细资料简介

5G时代下的FPGA的发展将大有可为

FPGA是一种半定制电路,主要应用于专用集成电路,在航空航天/国防、消费博亚亚博娱乐、博亚亚博娱乐通讯等领域有着不可....
发表于 08-01 14:42 ? 42次 阅读
5G时代下的FPGA的发展将大有可为

一颗小小的FPGA芯片为什么中国一直搞不定

芯片,一个特别专业的领域,因为中美之间的贸易摩擦,走进大众视野。在“华为风波”中,当海思亮出“备胎”....
发表于 08-01 14:34 ? 50次 阅读
一颗小小的FPGA芯片为什么中国一直搞不定

FPGA至简设计法案例2

FPGA至简设计法案例2例2. 当收到en=1后,dout间隔3个时钟后,产生宽度为2个时钟周期的高电平脉冲。 如上面波形图所示,在第3...
发表于 08-01 09:58 ? 119次 阅读
FPGA至简设计法案例2

FPGA至简设计法经典案例3

至简设计法经典案例3 案例3. 当收到en1=1时,dout产生3个时钟周期的高电平脉冲;当收到en2==1时,dout产生2个周期的高电平...
发表于 08-01 08:45 ? 102次 阅读
FPGA至简设计法经典案例3

FPGA设计工具目前发展到了什么程度?

      作为一个负责FPGA企业市场营销团队工作的人,我不得不说,由于在工艺技术方面的显着成就以及硅芯...
发表于 08-01 08:15 ? 13次 阅读
FPGA设计工具目前发展到了什么程度?

怎么才能发挥FPGA设计的无限潜力呢?

       尽管 FPGA 为嵌入式设计带来了强大的功能与灵活性,但额外的开发流程也给设计工作增加了新的复杂...
发表于 08-01 07:41 ? 13次 阅读
怎么才能发挥FPGA设计的无限潜力呢?

什么是IP开发及FPGA建模?

随着系统级芯片技术的出现,设计规模正变得越来越大,因而变得非常复杂,同时上市时间也变得更加苛刻。通常RTL已经不足以担当...
发表于 08-01 07:41 ? 12次 阅读
什么是IP开发及FPGA建模?

如何利用FPGA设计RS232标准的串行接收模块?

       随着FPGA的飞速发展与其在现代博亚亚博娱乐设计中的广泛应用,越来越多的实验和设计中会运用FPGA与R...
发表于 08-01 07:33 ? 11次 阅读
如何利用FPGA设计RS232标准的串行接收模块?

如何利用FPGA设计数字化水表?

       FPGA是新型的可编程逻辑器件,能够将大量的逻辑功能集成于单个器件中,它所提供的门数从几百门到...
发表于 08-01 06:56 ? 9次 阅读
如何利用FPGA设计数字化水表?

如何利用NiosII设计高精度数控直流稳压电源?

直流稳压电源是各种博亚亚博娱乐设备不可缺少的组成部分,广泛用于教学、科研、各种终端设备和通信设备中,其作用是把交流电转换成满足一...
发表于 08-01 06:42 ? 22次 阅读
如何利用NiosII设计高精度数控直流稳压电源?

FPGA在代码实现方面的小技巧

比如我要对一个1bit位宽的控制信号做延时后送给3个模块,第一个模块要延时100个时钟,第二个模块延....
发表于 07-31 17:55 ? 74次 阅读
FPGA在代码实现方面的小技巧

关于testbench在FPGA编程中的技巧

定义信号类型:原来模块中的输入信号,定义成reg 类型,原来模块中的输出信号,定义为wire类型,但....
发表于 07-31 17:52 ? 70次 阅读
关于testbench在FPGA编程中的技巧

FPGA在自动驾驶中的挑战与实践

在前不久的 Baidu Create 2019 百度 AI 开发者大会上,Apollo 发布了业内首....
发表于 07-31 17:46 ? 72次 阅读
FPGA在自动驾驶中的挑战与实践

FPGA开发中如何对整个设计添加时序约束

在输入信号到输出信号中,因为经过的传输路径、寄存器、门电路等器件的时间,这个时间就是时序。开发工具不....
的头像 FPGA之家 发表于 07-31 14:50 ? 582次 阅读
FPGA开发中如何对整个设计添加时序约束

使用XIlinx的FPGA芯片开发的流水灯实验工程文件免费下载

本文档的主要内容详细介绍的是使用XIlinx的FPGA芯片开发的流水灯实验工程文件免费下载,可为初学....
发表于 07-31 08:00 ? 15次 阅读
使用XIlinx的FPGA芯片开发的流水灯实验工程文件免费下载

赛灵思发明了FPGA后又推出了一种全新产品

对于全球第一大FPGA厂商赛灵思而言,2018年可以看做是一个新的起点。今年的1月29日,赛灵思迎来....
发表于 07-30 17:46 ? 55次 阅读
赛灵思发明了FPGA后又推出了一种全新产品

FPGA的定义以及和GPU的类比

FPGA 是一堆晶体管,你可以把它们连接(wire up)起来做出任何你想要的电路。它就像一个纳米级....
发表于 07-30 17:42 ? 62次 阅读
FPGA的定义以及和GPU的类比

自动驾驶技术中FPGA面临的挑战与实践

人工智能技术是自动驾驶的基础,算法、算力和数据是其三大要素。本文探讨的就是其中的“算力”。算力的高低....
发表于 07-30 17:37 ? 66次 阅读
自动驾驶技术中FPGA面临的挑战与实践

Xilinx囊括AIIA人工智能端侧芯片测评板卡类6项性能冠军

赛灵思公司今天宣布其人工智能平台Zynq UltraScale+ MPSoC ZCU104 评估套件....
发表于 07-30 10:05 ? 102次 阅读
Xilinx囊括AIIA人工智能端侧芯片测评板卡类6项性能冠军

对于eFPGA该如何选择

eFPGA具有输入和输出引脚的外环,将eFPGA连接到SoC的其它部分,这些引脚也连接到可编程的互连....
发表于 07-29 15:13 ? 45次 阅读
对于eFPGA该如何选择

赛灵思发布28nm FPGA芯片并且恢复对华为的供应

在美国宣布制裁华为之后,中国企业被卡脖子的报道铺天盖地,在普通人眼里处理器、操作系统是最出名的,但实....
发表于 07-29 15:08 ? 59次 阅读
赛灵思发布28nm FPGA芯片并且恢复对华为的供应

FPGA中循环冗余校验的不同类型

本博文介绍了利用 POST_CRC 试错的方法,但总体而言,赛灵思推荐在所有架构上使用 Soft E....
的头像 FPGA开发圈 发表于 07-29 10:16 ? 634次 阅读
FPGA中循环冗余校验的不同类型

使用FPGA设计的数字频率计的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用FPGA设计的数字频率计的程序和工程文件免费下载,对正弦波进行测频。....
发表于 07-29 08:00 ? 40次 阅读
使用FPGA设计的数字频率计的程序和工程文件免费下载

冲击3000万美元,这家国产FPGA厂商今年要爆发……

据MRFR统计2018年全球FPGA市场规模为60亿美元左右,随着AI+5G的应用逐步展开,其市场规....
的头像 Blue5 发表于 07-28 15:30 ? 793次 阅读
冲击3000万美元,这家国产FPGA厂商今年要爆发……

Flash读写控制方案 Altera似乎“没有”开放配置Flash的Pin的控制

自行设计Flash读写控制器的优点在于可控性很高,缺点在于需要花费时间设计并进行稳定性测试。相应的,....
的头像 FPGA之家 发表于 07-27 09:29 ? 265次 阅读
Flash读写控制方案 Altera似乎“没有”开放配置Flash的Pin的控制

基于PCI总线协议的FPGA驱动设计方案

目前,许多公司都提出了新型的计算机高速总线,如Arapahoe总线标准和HyperTransport....
发表于 07-27 09:28 ? 81次 阅读
基于PCI总线协议的FPGA驱动设计方案

Delta Sigma AD转换器的原理及PSpice仿真的详细资料分析

近年来,因数字化产品对高分辨率A/D , D/A 转换器需求的激增而得到广泛地应用。Delta-Si....
发表于 07-26 16:11 ? 41次 阅读
Delta Sigma AD转换器的原理及PSpice仿真的详细资料分析

基于XIlinx芯片FPGA开发的CTC8 IP核工程文件免费下载

本文档的主要内容详细介绍的是基于XIlinx芯片FPGA开发的CTC8 IP核工程文件 用于8进制循....
发表于 07-26 08:00 ? 29次 阅读
基于XIlinx芯片FPGA开发的CTC8 IP核工程文件免费下载

一文看懂fpga和plc的区别

PLC的程序是由计算机编译完加载至PLC固件内,由PLC固件执行。FPGA的程序是由自己开发工具生成....
的头像 博亚亚博娱乐魔法师 发表于 07-25 10:06 ? 326次 阅读
一文看懂fpga和plc的区别

EZ-USB FX3控制器的编程手册免费下载

Cypress EZ-USB FX3?是下一代USB 3.0外围控制器,提供高度集成和灵活的功能,使....
发表于 07-24 11:19 ? 63次 阅读
EZ-USB FX3控制器的编程手册免费下载

高云半导体设立俄罗斯销售代理,进一步完善欧洲销售网络

全球发展最快的FPGA公司——广东高云半导体科技股份有限公司(以下简称“高云半导体”)宣布任命两家领....
发表于 07-23 10:38 ? 74次 阅读
高云半导体设立俄罗斯销售代理,进一步完善欧洲销售网络

莱迪思全新CrossLink参考设计连接更多工业机器视觉图像传感器

莱迪思半导体(Lattice)日前宣布推出一系列采用Lattice CrossLink FPGA进行....
发表于 07-22 10:18 ? 249次 阅读
莱迪思全新CrossLink参考设计连接更多工业机器视觉图像传感器

使用集成FPGA的流程优化电机控制设计的详细资料说明

本文档推荐一种设计流程,它在电机控制设计中利用了 Altera FPGA 强大的适应能力、精度可调 ....
发表于 07-22 08:00 ? 41次 阅读
使用集成FPGA的流程优化电机控制设计的详细资料说明

Altera的DE10中文教程免费下载

DE10标准开发套件提供了一个强大的硬件设计平台,该平台围绕英特尔系统级芯片(SoC)FPGA构建,....
发表于 07-22 08:00 ? 46次 阅读
Altera的DE10中文教程免费下载

基于fpga的图像处理

图像处理简而言之就是对图像进行操作从而得到自己想要的结果,它是一个非常广义的概念,包含图像增强、图像....
发表于 07-21 11:05 ? 99次 阅读
基于fpga的图像处理

如何使用FPGA进行CAN控制器软核的设计与实现

 本文参照CAN2.0 总线协议设计了一个CAN 控制器软核。具体设计采用TOP-DOWN 方式,上....
发表于 07-19 17:48 ? 63次 阅读
如何使用FPGA进行CAN控制器软核的设计与实现

TTE和TSN业务的保障方式及分析问题

欢迎FPGA工程师加入官方微信技术群第一次看到以太网物理地址格式时,感觉很平淡。像看到IPV4和IP....
的头像 FPGA之家 发表于 07-19 10:16 ? 200次 阅读
TTE和TSN业务的保障方式及分析问题

TTE和TSN业务的保障方式及分析问题

在本文章中,曾经提到过,TSN(Time Sensitive Networking,TSN)和TTE....
的头像 FPGA之家 发表于 07-19 10:07 ? 327次 阅读
TTE和TSN业务的保障方式及分析问题

全球FPGA市场规模为60亿美元左右,逐步展开有望在2025年达到125亿美元

FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,它由输入/输出块、可配置逻....
的头像 博亚亚博娱乐发烧友网 发表于 07-18 09:45 ? 566次 阅读
全球FPGA市场规模为60亿美元左右,逐步展开有望在2025年达到125亿美元

FPGA中1062的例程和1602字符模块使用手册和液晶说明及字符手册等

本文档的主要内容详细介绍的包括了:FPGA中1062的例程,1602字符模块使用手册,1602液晶说....
发表于 07-18 08:00 ? 35次 阅读
FPGA中1062的例程和1602字符模块使用手册和液晶说明及字符手册等

冲击3000万美元 上海安路科技有望迎来增长爆发

FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,它由输入/输出块、可配置逻....
发表于 07-17 22:36 ? 70次 阅读
冲击3000万美元 上海安路科技有望迎来增长爆发

Microchip推出全新低功耗FPGA智能嵌入式视觉项目解决方案

随着基于视觉的计算密集型系统在网络边缘的集成度越来越高,现场可编程门阵列(FPGA)正迅速成为下一代....
发表于 07-17 11:43 ? 151次 阅读
Microchip推出全新低功耗FPGA智能嵌入式视觉项目解决方案

怎么样才能在PCB下设定不同的铺铜区域安全间距及切铜

Altium Designer 6以强大的设计输入功能为特点,在FPGA和板级设计中,同时支持原理图....
发表于 07-16 17:41 ? 57次 阅读
怎么样才能在PCB下设定不同的铺铜区域安全间距及切铜

静态功耗的定义及FPGA设计中常用降低功耗的方法

静态功耗是指一个电路维持在一个或另一个逻辑状态时所需的功率。可以通过观察电路中每个电阻元件的电流I和....
的头像 牵手一起梦 发表于 07-16 14:41 ? 407次 阅读
静态功耗的定义及FPGA设计中常用降低功耗的方法

贸泽与Xilinx签订全球分销协议,Xilinx产品在贸泽全线上架为工程设计提供强力支持

专注于引入新品并提供海量库存的博亚亚博娱乐元器件分销商贸泽博亚亚博娱乐 (Mouser Electronics) 今....
发表于 07-16 10:21 ? 112次 阅读
贸泽与Xilinx签订全球分销协议,Xilinx产品在贸泽全线上架为工程设计提供强力支持

干货 | 机器学习加持,基于FPGA的高性能视觉应用方案设计

介绍 ML 处理的要求,以及为何 FPGA 能解决许多性能问题。
的头像 电路设计技能 发表于 07-16 09:28 ? 297次 阅读
干货 | 机器学习加持,基于FPGA的高性能视觉应用方案设计

EM2140功率因数同步降压变换器的数据手册免费下载

EM2140是一个完全集成的40A功率因数同步降压变换器。它具有先进的数字控制器、栅极驱动器、同步M....
发表于 07-16 08:00 ? 50次 阅读
EM2140功率因数同步降压变换器的数据手册免费下载

硬件设计中教你如何正确的约束时钟

现在的硬件设计中,大量的时钟之间彼此相互连接是很典型的现象。为了保证Vivado优化到关键路径,我们必须要理解
的头像 FPGA学习交流 发表于 07-15 15:35 ? 202次 阅读
硬件设计中教你如何正确的约束时钟

FPGA之Verilog HDL 的四大怪(李凡老师授课摘录)

参考链接:http://www.fpgaw.com/thread-112099-1-1.html跟李凡老师学F
的头像 FPGA学习交流 发表于 07-15 15:35 ? 279次 阅读
FPGA之Verilog HDL 的四大怪(李凡老师授课摘录)

跟李凡老师学FPGA扩频通信D01:串行通信基础(课堂笔记)

跟李凡老师学FPGA扩频通信D01:串行通信基础(课堂笔记)用笨笔头整理课堂笔记,用以备忘,温故而知新。整理文
的头像 FPGA学习交流 发表于 07-15 15:35 ? 286次 阅读
跟李凡老师学FPGA扩频通信D01:串行通信基础(课堂笔记)

简谈 SDRAM的工作原理

SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储
的头像 FPGA学习交流 发表于 07-15 15:35 ? 231次 阅读
简谈 SDRAM的工作原理

FPGA市场年均增长10%,国产FPGA厂商谁有机会出头?

据MRFR统计2018年全球FPGA市场规模为60亿美元左右,随着AI+5G的应用逐步展开,其市场规....
的头像 荷叶塘 发表于 07-15 14:56 ? 3420次 阅读
FPGA市场年均增长10%,国产FPGA厂商谁有机会出头?

USRP软件无线电平台的产品说明资料免费下载

软件无线电平台,或 USRP (发音 usurp) 是为了让一般计算机能够担当很高宽带的软件无线电用....
发表于 07-15 08:00 ? 51次 阅读
USRP软件无线电平台的产品说明资料免费下载

ARM和CPLD以及FPGA的技术特点和区别

arm(AdvancedRISCMachines)是微处理器行业的一家知名企业,设计了大量高性能、廉....
发表于 07-12 17:50 ? 190次 阅读
ARM和CPLD以及FPGA的技术特点和区别

浅析FPGA的结构组成及工作原理

FPGA主要由大量的CLB来作为最小逻辑单元,使用内部连线将这些最小的逻辑单元连接,完成更大的逻辑功....
发表于 07-12 15:24 ? 174次 阅读
浅析FPGA的结构组成及工作原理

使用FPGA实现流水灯的详细资料说明

本文档的主要内容详细介绍的是使用FPGA实现流水灯的详细资料说明。流水灯模块对于发展商而言,动土仪式....
发表于 07-11 16:45 ? 90次 阅读
使用FPGA实现流水灯的详细资料说明

关于目前FPGA主要的几个应用方向

大多数以ARM为核心的SOC芯片提供了大多数标准的接口,大量成系列的单片机/嵌入式处理器提供了相关行....
发表于 07-11 15:08 ? 192次 阅读
关于目前FPGA主要的几个应用方向

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 ? 54次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 ? 50次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器