本帖最后由 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对开发板内存进行读写操作。
3FPGA代码FPGA可以用任何一个章节的,这里就用“03基于XDMA实现PCIE通信方案”的代码,简单。具体就不重复了,不清楚的可以看“03基于XDMA实现PCIE通信方案”相关部分教程内容。本方案中的上位机没有使用中断功能。
4测试码表上位机程序设计首先感谢网友贡献的测试码表控件源码,笔者修改了几个参数就可以正常使用到本次的例子中了。设计思路也很简单,在QT中开启了2个定时器,分别用于h2c和c2h通道,每过100ms定时器进行一次读操作或者写操作。在pcie_fun.c文件中,有测试函数,完成传输测试后,把结果的值输出到myspeed测速码表控件。
以上代码中,显示速度的控件代码是myspeed.c和myspeed.h
关于PCIE通信的核心代码是pcie_fun.c和pcie_fun.h详细的实现过程读者可以阅读程序源码。 5硬件安装注意先下载程序,调试阶段下载bit文件,然后再开电脑。这样才能正确识别和后续测试工作正常开展。
6实验结果不同的板卡,PCIE的最大带宽不一样,以实际为准。下面的是PCIEX22.0的测速指标。
|