[X]关闭

[米联客-XILINX-H3_CZ08_7100] FPGA_PCIE通信(win)连载-04VS+QTPCIE测速软件

文档创建者:FPGA课程
浏览次数:178
最后更新:2024-09-12
文档课程分类-AMD-ZYNQ
AMD-ZYNQ: ZYNQ-FPGA部分 » 2_FPGA实验篇(仅旗舰) » 6-FPGA PCIE通信(Win)
本帖最后由 FPGA课程 于 2024-9-12 14:19 编辑

​ 软件版本:VIVADO2021.1
操作系统:WIN10 64bit
硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA
实验平台:米联客-MLK-H3-CZ08-7100开发板
板卡获取平台:https://milianke.tmall.com/
登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑!



1概述
经过前面章节的学习,如果读者应该已经掌握了PCIE XDMA方案的使用,那么我们知道QT可以设计出华丽的界面,那么本章就是设计一个简单的测速码表程序,比起前面的章节测试,这个小程序界面非常酷。
2系统构架
本系统中通过XDMA IP将开发板及PCIE上位机识别连接。AXI Interconnect IP通过使用AXI及AXI_LITE总线将XDMA与内存部分DDR或者Bram连接。通过PCIE上位机发出读写指令控制XDMA对开发板内存进行读写操作。
e634f3cecaf74ceb82882b9cc60dbc84.jpg
3FPGA代码
FPGA可以用任何一个章节的,这里就用“03基于XDMA实现PCIE通信方案”的代码,简单。具体就不重复了,不清楚的可以看“03基于XDMA实现PCIE通信方案”相关部分教程内容。本方案中的上位机没有使用中断功能。
a1c3485432b24974b13dea73eba46f67.jpg
4测试码表上位机程序设计
首先感谢网友贡献的测试码表控件源码,笔者修改了几个参数就可以正常使用到本次的例子中了。设计思路也很简单,在QT中开启了2个定时器,分别用于h2c和c2h通道,每过100ms定时器进行一次读操作或者写操作。在pcie_fun.c文件中,有测试函数,完成传输测试后,把结果的值输出到myspeed测速码表控件。
b262a813cfdb4bdb8123b8dfa2d2b79c.jpg
以上代码中,显示速度的控件代码是myspeed.c和myspeed.h
关于PCIE通信的核心代码是pcie_fun.c和pcie_fun.h详细的实现过程读者可以阅读程序源码。
5硬件安装
注意先下载程序,调试阶段下载bit文件,然后再开电脑。这样才能正确识别和后续测试工作正常开展。
41ab4dea59474600abd49e14bb6bc8b1.jpg
6实验结果
不同的板卡,PCIE的最大带宽不一样,以实际为准。下面的是PCIEX22.0的测速指标。
4007c5cee174406f9b41939a50572fdb.jpg


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则