概述

通用直接内存访问(General Direct Memory Access,GDMA)控制器,也称 DMAC,用于在内存与外设之间传输数据。搬运过程中无需 CPU 介入, 降低了 CPU 的工作负载。DMAC 架构示意图如下:

../../../_images/dmac_arch.svg

特性

DMAC 支持以下特性:

RTL8721Dx:
  • 支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设

  • 支持通道优先级配置

  • 支持多种传输方向

    • 外设到内存

    • 外设到外设

    • 内存到外设

    • 内存到内存

  • 每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景

  • 可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏

  • 支持单次和突发(burst)传输模式

  • 支持单个数据块和多个数据块传输

  • 支持安全传输模式

  • 支持低功耗

  • 支持数据传输过程中暂停、恢复和关闭传输通道