FPGA基于XDMA实现PCIE X8采集AD9226数据 提供工程源码和QT上位机程序和技术支持

news2024/11/26 2:34:55

目录

  • 1、前言
  • 2、我已有的PCIE方案
  • 3、PCIE理论
  • 4、总体设计思路和方案
  • 5、vivado工程详解
  • 6、驱动安装
  • 7、QT上位机软件
  • 8、上板调试验证
  • 9、福利:工程代码的获取

1、前言

PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优先选择方向,具有很高的实用价值和学习价值;

本设计使用Xilinx官方的XDMA方案搭建基于Xilinx系列FPGA的PCIE通信平台,该方案只适用于Xilinx系列FPGA,一并提供了XDMA的安装驱动和QT上位机源代码,省去了使用XDMA繁琐的驱动寻找和上位机软件开发的不知所措,并以搭建好vivado工程,省去了不知道如何使用XDMA的尴尬,使得PCIE的使用变得简单易上手,而不用关心其复杂的PCIE协议;由于我的开发板只支持PCIE X8,所以提供的代码是PCIE X8架构,若需要PCIE X1、 X2、 X8、 X16、 X32的朋友,可自行修改本工程,也可关注我,我会实时发布新的工程。
在这里插入图片描述
本工程实现基础的PCIE测速试验上进行了修改,实时采集AD9226数据,缓存DDR3后,通过PCIE发送给QT上位机显示程序显示;属于FPGA图像采集领域的高端项目。。。

本文详细描述了基于XDMA搭建PCIE实时采集AD9226数据设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的高速接口和数据采集传输领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

2、我已有的PCIE方案

我的主页有PCIE通信专栏,既有基于RIFFA实现的PCIE方案,也有基于XDMA实现的PCIE方案;既有简单的数据交互、测速,也有应用级别的图像采集传输,以下是专栏地址:
点击直接前往

3、PCIE理论

这部分可自行百度或csdn或知乎学习理论知识,其实用了XDMA,已经不太需要直到PCIE复杂的协议和理论了。。。

4、总体设计思路和方案

总体设计思路和方案如下:
在这里插入图片描述
PCIe 通信例程由三部分组成:FPGA 端程序、PCIe 卡驱动、PCIe 上位机测试程序:
FPGA 端工程:负责建立与 PCIe 通信需具备的 FPGA 框架,PCIe 通信协议的构建;
PCIe 驱动:负责上位机测试程序与 PCIe 卡的数据交换;
PCIe 上位机测试程序:此处时PCIe 显示;

视频输入:示波器产生正弦波模拟输入源;
数据缓存:使用AXI4总线实现了AD数据读写DDR3,此处做了3帧缓存;
输出2:PCIE X8;
QT测速上位机:提供源代码和可执行程序,发开版本为QT5.6.2;

5、vivado工程详解

开发板FPGA型号:Xilinx–xc7k325tffg900-2;
开发环境:Vivado2019.1;
输入:AD9226;
输出:PCIE X8;
应用:QT上位机显示试验;
工程BD如下:
在这里插入图片描述
在这里插入图片描述
综合后的代码架构如下:
在这里插入图片描述
综合编译完成后的FPGA资源消耗和功耗预估如下:
在这里插入图片描述

6、驱动安装

提供提供Win系统驱动,目录如下:
在这里插入图片描述
在这里插入图片描述
驱动的具体安装教程请参考我之前的文章:点击直接前往

7、QT上位机软件

QT测速上位机:提供源代码和可执行程序,发开版本为QT5.6.2;位置如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、上板调试验证

开启上位机测程序进行 PCIe 速度测试,打开下图的测速软件 pciespeed,测速软件在如下位
置,实验结果如下:
在这里插入图片描述
在这里插入图片描述

9、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/459777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

就这些了, 常见 6 款API 文档工具推荐

8年开发经验,想分享一下我接触到这些 API 文档工具: Swagger: Swagger 是一个开源的 API 文档管理工具,可以通过注解自动生成 API 文档,并提供交互式 UI 和 API 调试功能。 Swagger 支持多种语言和格式,包括 Java、Pyt…

Linux没网络的情况下快速安装依赖或软件(挂载本地yum仓库源(Repository))

一、上传iso系统镜像: 上传和系统同一版本、同一位数(32bit:i686或i386/64bit:x86_64)的系统,不能是Minimal版本,可以是DVD(较全)或everything(最全)。 注&am…

Android移除sdk中的权限

有些第三方sdk中的敏感权限会给我们上架带来困扰&#xff0c;比如&#xff1a;QUERY_ALL_PACKAGES权限会导致上架Google play被拒。 案例&#xff1a;<uses-permission android:name"android.permission.QUERY_ALL_PACKAGES" /> 在app下的Manifest中并没有添加…

linux编译安装python的全过程,pip python不与linux系统环境混乱

因为使用要求&#xff0c;使得我需要在linux环境下安装一个独立的python环境&#xff0c;不干扰其他环境。 预安装 在安装python之前&#xff0c;请在linux系统下安装下面这些包&#xff1a; sudo apt-get install namelibssl-dev libcurl4 libcurl4-openssl-dev zlib-devel…

Zynq-7000、国产zynq-7000的GPIO控制(一)

Zynq-7000系列GPIO排布如下图所示&#xff0c;著名手册ug585第14章&#xff0c;第一个图&#xff0c;这图很清晰的表明&#xff0c;一共54个MIO&#xff0c;64个EMIO&#xff0c;所有这些IO共分为4个bank&#xff0c;其中 Bank0 32bit —>> MIO[0:31] Bank1 22bit —…

【移动端网页布局】流式布局案例 ② ( 实现顶部固定定位提示栏 | 布局元素百分比设置 | 列表样式设置 | 默认样式设置 )

文章目录 一、样式测量及核心要点1、样式测量2、高度设定3、列表项设置4、设置每个元素的百分比宽度5、设置图像宽度 二、核心代码编写1、HTML 标签结构2、CSS 样式3、展示效果 三、完整代码示例1、HTML 标签结构2、CSS 样式3、展示效果 一、样式测量及核心要点 1、样式测量 京…

8、接口的高级用法

1、索引类型 我们可以使用接口描述索引的类型和通过索引得到的值的类型&#xff0c;比如一个数组[‘a’, ‘b’]&#xff0c;数字索引0对应的通过索引得到的值为’a’。我们可以同时给索引和值都设置类型&#xff0c;看下面的示例&#xff1a; interface RoleDic {[id: number…

现在的00后,真是卷死了呀,想离职了·····

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;刚开年我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪23K&#xff0c;都快接近我了。 后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …

Spring Aop原理全面详解汇总

文章目录 近期想法什么是AOPSpringAOP与AspectjSpringAOP体系概述概念详解连接点- Jointpoint切入点- Pointcut通知- Advice切面- Aspect织入- Weaving 实现原理—动态代理JDK动态代理描述原理代码示例注意执行结果 优点缺点 CGLib动态代理描述原理代码示例注意执行结果 优点缺…

《数理天地》期刊简介及投稿邮箱

《数理天地》期刊简介及投稿邮箱 《数理天地》用稿以数学、物理、学科交叉、科普等稿件为主&#xff0c;自创刊以来&#xff0c;以新观点、新方法、新材料为主题&#xff0c;坚持"期期精彩、篇篇可读"的理念。数理天地内容详实、观点新颖、文章可读性强、信息量大&a…

操作系统——第一章概论(上)

未闻花名&#xff0c;不见花开 文章目录 1.1.1 操作系统的概念&#xff0c;功能1.1.2 操作系统的特征1.2 操作系统的发展和分类1.3.1 操作系统的运行机制1.3.2 中断和异常 1.1.1 操作系统的概念&#xff0c;功能 通过下图可以发现用户和操作系统是有一部分是相连的&#xff0c…

锁屏密码忘记了?教你40秒破iphone锁屏密码!

案例&#xff1a;iPhone锁屏密码忘记了怎么办&#xff1f; 【求助&#xff0c;昨晚刚改的锁屏密码&#xff0c;今早起来想不起来了。苹果锁屏密码有什么方法可以破解吗&#xff1f;】 当你忘记了iPhone的锁屏密码&#xff0c;可能会感到困惑和无助。本文将介绍40秒破iphone锁屏…

从Redis到KeyDB:实现高可用和高可扩展性的转变

文章目录 从Redis到KeyDB&#xff1a;实现高可用和高可扩展性的转变特点**[线程模型]( )****[链接管理]( )****[锁机制]( )****[Active-Replica]( )** 结语 从Redis到KeyDB&#xff1a;实现高可用和高可扩展性的转变 今天给大家介绍的是KeyDB&#xff0c;KeyDB项目是从redis f…

2023年制造业产品经理NPDP认证报名找弘博创新

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

IO多路复用机制

从阻塞 I/O 到 I/O 多路复用 阻塞IO&#xff1a; 阻塞 I/O&#xff0c;是指进程发起调用后&#xff0c;会被挂起&#xff08;阻塞&#xff09;&#xff0c;直到收到数据再返回。如果调用一直不返回&#xff0c;进程就会一直被挂起。因此&#xff0c;当使用阻塞 I/O 时&#xff…

【电科复试第一名】23上交819考研经验分享

笔者来自通信考研小马哥23上交819全程班学员 819&#xff0c;上岸经验贴&#xff0c;知无不言 初试第十一&#xff0c;复试第一&#xff0c;总分第七(与第六同分) 考研经历:本科就读与湖南某末985&#xff0c;大学时间没好好学习&#xff0c;天天打王者&#xff0c;玩steam上…

让 ChatGPT 扮演一个艺术家,协助我们生成绘图 prompt

stable-diffusion Prompt 生成 直接生成 按照惯用的扮演思路&#xff0c;我们可以让 ChatGPT 扮演一个艺术家&#xff0c;协助我们生成绘图 prompt。考虑到 ChatGPT 和 DallE 同为 openai 公司产品&#xff0c;且 stable-diffusion 开源模型出现较晚&#xff0c;ChatGPT 训练…

Linux云服务器的使用,以及运行Python程序

目录 1、使用Linux云服务器的软件 2、Linux系统运行Python程序 3、Linux系统查看包、虚拟环境、安装包等 以下几个深度学习服务器都不错&#xff1a;智星云、AutoDL、恒源云 1、使用Linux云服务器的软件 MobaXterm_Personal 推荐MobaXterm_Personal mobaxterm是一款方便网站…

目标追踪deepsort ByteTrack

多目标跟踪算法&#xff1a;DeepSort https://arxiv.org/pdf/1703.07402.pdf https://github.com/ZQPei/deep_sort_pytorch DeepSORT&#xff08;Deep Learning-based SORT&#xff09;是一种基于深度学习的多目标跟踪算法&#xff0c;用于在视频序列中跟踪多个目标并进行身份…

[pgrx开发postgresql数据库扩展]4.基本计算函数的编写与性能对比

前言 再次声明&#xff1a; 并不是所有场景都需要&#xff08;或者适合&#xff09;用rust来写的&#xff0c;绝大部分操作数据库的功能和计算&#xff0c;用SQL就已经足够了&#xff01; 本系列中&#xff0c;所有的案例&#xff0c;仅用于说明pgrx的能力&#xff0c;而并非…