06PCIE的GPIO控制卡

发布时间 2023-12-30 18:44:42作者: 米联客(milianke)

软件版本:vitis2021.1(vivado2021.1)

操作系统:WIN10 64bit

硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA

登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!

6.1概述

还记得2008年左右刚刚参加工作,买一个简单的PCI的DAQ数据卡,或者IO卡都要好几千元。市面上主要是研华,凌华的数据卡。现在我们也可以用PCIE做出更好的数据卡了。那么本节课就是设计一个GPIO的IO卡方案。

6.2系统构架

本系统中通过XDMA IP将开发板及PCIE上位机识别连接。AXI Interconnect IP通过使用AXI-GPIO把板卡上的LED和Button的IP地址空间映射到了BAR空间。PCIE上位机直接访问控制LED和读取按键状态。

6.3FPGA代码

上面接的DDR实际上没有用到。我们这里使用了2个AXI GPIO,分别定义了4个LED输出,和3个BTN按钮输入。AXI-GPIO大家应该很熟悉了吧,之前在ZYNQ上操作,很简单,先我们把AXI-GPIO的IP地址空间映射到了BAR空间,这样就可以直接访问控制这些IP了。

首选是XDMA的地址空间分配

6.4上位机程序设计

本课程的QT程序超级简单,我们在界面上设计了一些check box 用于LED 和BTN的状态显示。程序比较简单,读者可以自己阅读QT源码。

6.5硬件安装

注意先下载程序,调试阶段下载bit文件,然后再开电脑。这样才能正确识别和后续测试工作正常开展。

6.6实验结果

装在机箱里面的开发板的上LED不容易看清楚,我们点击LED check box可以看到LED灯光的变化。装在机箱的按钮也不容易按到,所以测试的时候要小心些,以下是测试结果。