【ZYNQ的DMA获取FPGA数据处理,零拷贝,DMA方式】

一、方案:

1、AXI-DMA模式1(直接寄存器模式,UIO + DMA双缓存):

【硬件】:PL侧的FPGA的AXI DMA的S2MM接口直接连接到PS侧的HP接口(FPGA数据直接进出DDR,不经过CPU的cache)或者ACP接口(FPGA数据通过SCU进入CPU的cache,硬件自动处理cache一致性问题,不需要软件处理cache一致性问题)。

【驱动】:直接使用UIO驱动模块(generic_uio),/dev/uio0来控制AXI-DMA开启;

dts中reserved-mem开辟dma的一段缓存dma_buff,用于数据接收;

【应用】:mmap(/dev/mem)映射ddr-dma区域;

中断或轮询方式,判断/dev/uio的数据状态(中断方式唤醒read阻塞)来读取传输数据,以及用户态控制DMA的开启。

【优势】:方便用户态快速开发。

2、AXI-DMA模式2(SG模式,自定义驱动和BD数据):

【硬件】:PL侧的FPGA的AXI DMA的S2MM接口直接连接到PS侧的ACP或者HP接口。

【驱动】:编写独立的驱动模块,实现功能:

1、SG模式(数据包长度不固定,链表方式管理内存块)或者非SG模式的DMA空间;

2、dma_alloc_coherent()分配一致性内存空间;

3、mmap()创建用户空间的内存映射;

4、数据状态的通知机制(poll 或者 FPGA硬件握手)

【应用】:mmap映射fd设备。

【优势】:方便驱动中进行复杂控制。

相关推荐
科恒盛远6 小时前
【无标题】
fpga开发·硬件工程·信号处理
千寻xun21 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
nuoxin1141 天前
HR4988替代A4988-富利威
网络·人工智能·嵌入式硬件·fpga开发·dsp开发
一口一口吃成大V2 天前
vivado的bit 和 bin的区别
fpga开发
尤老师FPGA2 天前
HDMI数据的接收发送实验(十八)
fpga开发
北京青翼科技2 天前
青翼科技 JFM7K325T FPGA+FT-M6678 DSP 的全国产化信号处理平台丨FPGA开发板
fpga开发·数据采集卡·fmc子卡·fpga开发板·ad采集卡·图像处理卡·dsp信号处理
zlinear数据采集卡3 天前
从0到1硬核拆解:工业级数据采集卡的隔离设计与Modbus通信实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
FakeOccupational3 天前
fpga系列 HDL:Microchip FPGA开发软件 Libero Soc FPGA 在线逻辑分析
fpga开发
FPGA技术联盟3 天前
如何在跨时钟域分析中处理好复位信号?
fpga开发
国科安芯3 天前
基于ASM1042S2S的箭载通信网络抗辐射加固方案研究
服务器·网络·嵌入式硬件·fpga开发·架构·信号处理