0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DMA的三种典型应用

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2020-10-10 10:23 次阅读

基于AXI的DMA对内部寄存器的读写有着相同的方式。在普通传输模式下,DMA内部的寄存器都是由处理器通过AXI-Lite总线进行读写的;但基于AXI总线的三种DMA,都增加了S/G传输模式,它卸载了处理器对寄存器的读写,通过独立的S/G读写通道对存储着命令描述符的内存进行访问读取、处理描述符,然后更新描述符写入内存。

几种应用DMA的典型应用

(1) AXI DMA

图4‑40 AXI DMA应用

在系统中,AXI DMA与处理器等其他设备通过AXI Interconnect互联。系统处理器通过AXI4-lite接口访问DMA内部寄存器,向其写入配置信息,然后根据配置信息,高效的进行数据传输;DMA也可以启动S/G传输模式,通过独立的AXI S/G通道从DDR中获取描述符信息,然后协调以太网和DDR间的数据传输;独立的控制和状态流通道,提供相关的包信息;DMA的中断与系统中断控制器相连。

(2) AXI Centralized DMA

图4‑41 AXI CDMA

在此系统中,AXI CDMA与处理器等设备通过AXI Interconmect互联。CDMA控制着一个内存映射空间到另一个内存映射空间的数据传输。

(3) AXI Video DMA

图4‑42 AXI VDMA

在此系统中,AXI VDMA与处理器等其他设备通过AXI Interconnect互联。系统处理器通过AXI4-lite接口访问VDMA内部寄存器,向其写入配置信息,然后根据配置信息,高效的进行数据传输;VDMA也可以启动S/G传输模式,通过独立的AXI S/G通道从DDR中获取描述符信息,然后调控Video IP和DDR间的数据传输;VDMA的双中断与系统中断控制器相连。

传统的block DMA 一次只能传输物理上连续的一个块的数据, 完成传输后发起中断。而scatter-gather DMA允许一次传输多个物理上不连续的块,完成传输后只发起一次中断。

传统的block DMA像这样:

先进的scatter-gather DMA像这样:

这样做的好处是直观的,大大减少了中断的次数,提高了数据传输的效率。

责任编辑:YYX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222141
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117719
  • 传输
    +关注

    关注

    0

    文章

    144

    浏览量

    27283
  • dma
    dma
    +关注

    关注

    3

    文章

    535

    浏览量

    99018

原文标题:几种应用DMA的典型应用

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三种复位方式比较

    三种复位方式比较
    发表于 08-16 17:31

    步进电机的三种驱动方式

    步进电机的三种驱动方式
    发表于 01-12 17:03

    三种SMA接口pcb封装

    `三种SMA接口pcb封装`
    发表于 01-25 16:04

    流水灯的制作【三种做法】

    流水灯的制作【三种做法】[hide][/hide]
    发表于 01-01 10:25

    三种常见的PCB错误是什么

    三种常见的PCB错误是什么
    发表于 03-12 06:29

    进程类型及三种状态

    进程类型进程的三种状态
    发表于 04-02 07:06

    STM32的三种启动模式

    一、启动模式(Boot modes)阅读:STM32中文参考手册_V10.pdf 查看启动配置(Boot modes)。在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式
    发表于 08-05 07:25

    STM32串口通讯有三种方式

    STM32串口通讯有三种方式,分别为阻塞(轮询)、中断、DMA。串口模式和配置 源代码编写
    发表于 08-13 06:52

    STM32有三种启动模式

    01STM32的三种启动模式STM32有三种启动模式:FLASH启动、SRAM启动和系统存储器启动,通常三种启动方式由外部引脚boot0和boot1的电平决定。每个系列boot0和boot1电平对应
    发表于 08-18 07:52

    三种基础拓扑的电路基础

    三种基础拓扑(buck boost buck-boost)的电路基础:Buck电路
    发表于 10-28 06:10

    while的三种使用形式是什么样的?

    while的三种使用形式是什么样的?
    发表于 11-02 08:35

    STM32的三种boot模式介绍

    浅识STM32的三种boot模式文章目录浅识STM32的三种boot模式任务摘要一、认识boot1.三种BOOT模式介绍2.开发BOOT模式选择3.STM32三种启动模式4.
    发表于 12-10 07:46

    STM32的三种Boot模式的差异

    如有错误,欢迎指正,谢谢!目录一、STM32的三种Boot模式的差异二、创建基于MDK创建纯汇编语言的STM32工程模板、汇编基本语法的学习四、编程练习一、STM32的三种Boot模式的差异参考自
    发表于 12-20 07:54

    记录三种DMA模式

    串口模式实现有三种1.普通模式:在主函数中接收函数2.中断模式:产生的不影响主程序运行3. DMA模式:与主函数互不影响,独立运行本文记录三种DMA模式。
    发表于 02-28 07:54

    几种DMA典型应用场合介绍

    DMA内部寄存器的读写方式基于AXI的DMA对内部寄存器的读写有着相同的方式。在普通传输模式下,DMA内部的寄存器都是由处理器通过AXI-Lite总线进行读写的;但基于AXI总线的三种
    发表于 10-14 15:23