08PCIE数据卡DDR缓存中断采集

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

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

操作系统:WIN10 64bit

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

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

8.1概述

上一个例子演示了用BRAM作为数据缓存,显然板卡的BRAM容量非常有限,如果需要更大量数据的缓存就得用到DDR作为缓存。本方案实现的功能和上一篇文章中BRAM缓存的方式一样。使用DDR缓存具有更多的应用场景,比如视频图像的缓存等。本方案中也用到了XMDA的中断方式采集数据。

8.2系统框图

本系统中通过Milianke Uispi7606 IP串行采集数据,通过Milianke uifdma_dbuf将数据写入DDR。PCIE上位机使用XDMA IP通过AXI Interconnect IP读取存放在DDR中的SPI数据。

8.3FPGA工程

新版本的DAQ7606只支持SPI串行采样源码封装成uispi7606 IPCORE,教程的第一部分课程中有详细的讲解分析。采用SPI接口可以省下更多的FPGA IO。

以上demo种主要使用到了米联客开发的2个IP分别为uifdma_dbuf数据缓存控制IP以及uiFDMA 基于AXI的DMA IP,关于更多这两个IP的详细介绍可以阅读相关章节,也可以在线阅读我们官方的技术博文关于AXI4-总线篇种相关内容https://www.uisrc.com/portal.php?mod=list&catid=81

8.4上位机程序设计

8.5硬件安装

注意先下载程序,调试阶段下载bit文件,然后再开电脑。这样才能正确识别和后续测试工作正常开展。这里需要使用到DAQ7606数据采集卡。

利用波形发生器提供测试波形

8.6实验结果

上位机代码比较简单,可以自己阅读。下面给出测试结果。