【简介】
以下是S32K3 的DMA 功能框图,从框图上可以看出DMA 两端分别可以通过外设总线和内部总线访问外设和内存资源,从而完成数据的搬运过程。

以下是DMA 模块对外设和内存资源的数据访问路径。

在开始DMA的传输路径前我们先介绍下TCD,从上述的框图中也可以看到TCD的描述,以下是TCD的寄存器结构说明。

TCD 中包含了DMA 通道传输的源地址,目的地址,传输大小等基本控制配置信息。

我们已UART 通过DMA 来发送数据为例来说明输出搬运的过程,从下图可知在UART接收到数据后会请求DMA 模块进行搬运数据,DMA会根据当前的通道信号来仲裁选择对应的TCD,并把对应的TCD信息更新到Address path.

TCD 信息更新至Address path 后,内部的Control 模块就会根据TCD中配置的源地址目的地址信息的配置进行数据的搬运,搬运完成后触发dma done信号通知CPU已经完成DMA数据的搬运过程,通知CPU来进行对应事件的处理。

我要赚赏金
