AXI DMA

本文介绍了AXIDMA(AXI Direct Memory Access)技术,它是内存和AXI4-Stream外设间高带宽的直接内存访问方式。AXIDMA包含MM2S(存储器映射到Stream)和S2MM(Stream到存储器映射)通道,支持简单DMA和S/G模式。在直接注册模式下,通过配置相关寄存器启动传输。此外,文章还讨论了AXIDMA IP核的设置选项,如异步时钟和scatter-gather引擎,并提及了DMA在DDR、ARM和AXI4-StreamDataFIFO中的应用。

摘要:了解AXI DMA;DDR、DMA连接与数据传输(偏软件)

目录

1.AXI DMA

1.1 AXI DMA

1.2 Direct Register Mode

1.3 DMA的MM2S(存储器映射到Stream)通道的启动顺序

1.4 S/G模式:

2. AXI DMA IP核

3.DMA的使用

总结:

参考:


1.AXI DMA

DMA是一种内存访问技术;可以独立于CPU, 直接读、写系统存储器、外设等;

对于CPU,DMA是外设;对于外设,DMA是控制器;

把比较固定的任务让DMA来做,可以减轻CPU负担,提高系统的效率;

DMA具有一般CPU没有的高效操作,提高系统的吞吐率;

1.1 AXI DMA

AXI DMA:AXI Direct Memory Access 直接内存访问

AXI DMA为内存和AXI4-Stream外设之间提供了高带宽的直接内存访问

其可选的S/G功能可以将CPU从数据搬运任务中解放出来

AXI DMA通过AXI4-Lite接口对寄存器做一些配置和获取状态

MM2S:MemoryMap to Stream;存储器映射(AXI4-Full)到AXI4-Stream

S2MM:Stream to MemoryMap;AXI4-Stream到存储器映射(AXI4-Full)

1.2 Direct Register Mode

Direct Register Mode(简单DMA)

此模式提供了在MM2S和S2MM通道上进行简单DMA传输的配置,只需较少的FPGA资源,通过访问DMACR、源地址或者目的地址和长度寄存器发起DMA传输。当传输完成后,如果是能了产生中断输出,那么DMASR寄存器相关联的通道位会有效。

1.3 DMA的MM2S(存储器映射到Stream)通道的启动顺序

1.开启/使能MM2S通道

2.如果需要的话,可以使能中断

3.写一个有效的源地址到MM2S_SA寄存器;如果没有使能DRE的功能,在指定起始地址时,需要注意字节地址对齐,哪些地址是对齐或者不对齐的,取决于stream流的数据位宽;

4.写传输的字节数到MM2S_LENGTH寄存器;一个长度为0的值是无效的,而一个非0的值,将会决定存储器映射到stream流的数据个数;需要注意的是,必须最后一个配置MM2S_LENGTH寄存器,而其它寄存器的配置顺序没有要求。

1.4 S/G模式:

它把传输的基本参数,存储在内存中;

这些参数就是被称为BD(Buffer Descriptor)

在工作时,通过SG接口加载和更新BD中的状态

2. AXI DMA IP核

Enable Asynchronous Clocks(Auto):输入核输出连接的时钟一样或者不一样的时候,DMA会自动勾选同步还是异步时钟;

Enable Scattere Gather Engine:使能SG,然后可以控制多通道以及C/S stream

Enable Micro DMA:占用较小的资源,性能也会降低

3.DMA的使用

 用到DDR3、ARM、DMA、AXI4 Stream Data FIFO

总结:

还有补充点,完全理解后再来补充;

参考:

pg021_axi_dma

支持关键字搜索(Xilinx文档搜索)

SDK篇_67~71_ZYNQ中AXI DMA简介与使用【ZYNQ】+【DMA】+【Vivado】_哔哩哔哩_bilibili

DMA基本工作原理总结概述(一)——DMA系统架构_摆渡沧桑的博客-CSDN博客_dma原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值