FPGA ZYNQ架构AXI DMA的传输实现

概述

AXI DMA:直接内存访问,为内存和AXI4-Stream外设之间提供高带宽的直接内存访问,其可选的S/G功能可以将CPU从数据搬运任务中解放出来,AXI DMA通过AXI-Lite接口对寄存器做一些配置

 

 Verilog程序编写步骤

在简单的DMA模式,此模式提供了在MM2S和S2MM通道上进行简单DMA传输的配置,只需较少的FPGA资源,通过内存访问DMACR(DMA控制寄存器)、源地址、目的地址和长度寄存器来发起DMA传输。

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

1.把MM2S通道使能

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

3.朝MM2S_SA寄存器里写一个有效的源地址(起始地址)

如果没有使能DRE的功能,在指定起始地址时,需要注意字节地址对其,取决于Stream流的数据位宽

4.朝MM2S_LENGTH寄存器里写入一个传输的字节数,若0则为无效(必须保证设置长度最后配置)

备注:S/G模式(地址无需连续)
把传输的基本参数,存储在内存中,这些参数就是BD(Buffer Descriptor)
在工作时,通过SG接口加载和更新BD中的状态

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值