概述
通用直接内存访问(General Direct Memory Access,GDMA)控制器,也称 DMAC,用于在内存与外设之间传输数据。搬运过程中无需 CPU 介入, 降低了 CPU 的工作负载。DMAC 架构示意图如下:
特性
DMAC 支持以下特性:
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持对非连续内存的聚集(Gather)传输功能(Channel0 ~ Channel3)
支持对连续内存的分散(Scatter)传输功能(Channel0 ~ Channel3)
支持多达 8 个独立通道,通道的源端口和目的端口均可自由分配给 Memory 或者支持 DMAC 功能的外设
支持通道优先级配置
支持多种传输方向
外设到内存
外设到外设
内存到外设
内存到内存
每个通道均内置独立的 FIFO,其中各通道 FIFO 大小不同,可满足不同应用场景
可以灵活设定流控(Flow Control),由用户决定是由源外设、目的外设还是 DMAC 控制传输请求和节奏
支持单次和突发(burst)传输模式
支持单个数据块和多个数据块传输
支持安全传输模式
支持低功耗
支持数据传输过程中暂停、恢复和关闭传输通道
支持对非连续内存的聚集(Gather)传输功能(Channel0 ~ Channel3)
支持对连续内存的分散(Scatter)传输功能(Channel0 ~ Channel3)
支持最多 8 个独立通道(通道 0-7),每个通道的源端口和目的端口可自由分配到内存或具备 GDMA 能力的外设。
支持通道优先级配置(0 为最高优先级)。
各通道 FIFO 大小不同:
通道 0-1:128 字节 FIFO
通道 2-7:64 字节 FIFO
支持多种传输方向:
内存到内存
内存到外设
外设到内存
外设到外设
扩展传输类型(含流控):
外设到内存(外设控制)
外设到外设(源端控制)
内存到外设(外设控制)
外设到外设(目的端控制)
寄存器到内存
灵活的流控选项:用户可配置传输请求和节奏由源外设、目的外设或 DMAC 本身控制。
支持多种数据宽度:1 字节、2 字节、4 字节。
支持多种突发事务长度(Msize):1、4、8、16。
支持单块和多块数据传输(块大小:1-65535)。
支持安全传输模式。
支持在数据传输过程中暂停、恢复和禁用通道,且不会丢失数据。
支持对非连续内存的聚集(Gather)传输功能(所有通道)
支持对连续内存的分散(Scatter)传输功能(所有通道)