Zynq DMA 的简单介绍

        AXI Direct Memory Access (AXI DMA), 从名字我们知道为带AXI 总线的直接存储通道。其优点是通过PS端的简单配置,就实现PL和DDR3之间的快速存储。 

        使用AXI_DMA IP时,必然还要添加上zqny system 核,若涉及中断使用,可以使能两个PL-PS间的中断IO。在初步建立DMA的M2S和S2M循环链路时,可以添加外部如FIFO buf,作为实验用途。

       在Xilinx的官网上有几个关于DMA使用的例程,但其理解和使用还要花段时间,后续阐明。

       另外在http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html处,有个比较简单的例程,也比较适合学习。也后续再写blog说明。

       DMA IP 中,需要关注的就是M_AXIS_MM2S、S_AXIS_S2MM、mm2s_introut、s2mm_introut四个IOs 其它系统自动连线。

M_AXIS_MM2S、S_AXIS_S2MM为数据流总线,mm2s_introut、s2mm_introut为中断信号,可连接到PS端,在PS端编程控制处理。

其中MM2S为DDR3 到 PL, S2MM为PL到DDR3。

      其和DDR3单独PS端读写区别为,DMA可以大数据量的批量处理,效率要远高于单地址的数据读存。

        


Zynq DMA(Direct Memory Access)是一个针对Xilinx的Zynq系列芯片的外设模块,用于实现高速数据传输。Zynq芯片集成了FPGA和ARM Cortex-A9处理器,DMA模块位于Processing System(PS)和Programmable Logic(PL)之间,提供了高性能的数据传输通道。 在Linux操作系统的支持下,Zynq DMA可以实现快速的数据传输和处理。Linux提供了对DMA控制器的驱动程序,使得用户可以在操作系统上使用DMA功能。用户可以通过在Linux上进行编程,使用DMA来实现高效的数据传输和处理,从而提高系统的性能。 使用Zynq DMA的好处是它可以通过减少CPU负载和系统总线使用来提高系统性能。由于DMA是一种直接从外设到内存的数据传输方式,可以在不占用CPU资源的情况下完成数据传输。因此,使用Zynq DMA可以提高系统的并发性和效率。 在Linux上使用Zynq DMA需要进行一些配置和编程。用户需要配置DMA引擎及其相关寄存器,以确保正确的数据传输。然后,用户可以使用Linux上的API或驱动程序来访问DMA模块,并指定数据传输的方向、缓冲区等参数。通过这种方式,用户可以灵活地控制DMA的操作,实现高效的数据传输和处理。 总而言之,Zynq DMA PS-PL Linux是一种在Zynq芯片上使用DMA模块实现高速数据传输的方法。通过在Linux操作系统上进行配置和编程,用户可以灵活地控制DMA的操作,提高系统的性能和效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值