打印

GD32 DMA 工作分析

[复制链接]
1290|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunmeat|  楼主 | 2015-3-16 16:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如下图为GD32 的系统结构,在这个图中,我们可以清晰地看到 STM32内核、存储器、外设及 DMA 的连接。



沙发
sunmeat|  楼主 | 2015-3-16 16:22 | 只看该作者
    所有这些硬件结构最终都通过各种各样的线连接到总线矩阵之中,硬件结构之间的数据转移都经过总线矩阵的协调,使各个外设都能够和谐地使用总线来传输数据。

使用特权

评论回复
板凳
sunmeat|  楼主 | 2015-3-16 16:23 | 只看该作者
    例如:在不使用 DMA 的情况下, 内核 通过 DCode 经过总线矩阵协调,使用 AHB 把外设 ADC 采集的数据读取到内核,然后内核 DCode 再通过总线矩阵协调,把数据存放到内存 SRAM 中。
    DMA 正好可以取代这样的工作。由 DMA 控制器 的 DMA 总线与总线矩阵协调,使用 AHB 把外设 ADC 的数据经由 DMA 通道存放到内存 SRAM。在这个数据传输的过程中,不需要内核的全程参与,所以内核可以同时进行数据运算,而且, DMA 的方式是点到点的数据转移,而不使用 DMA 的方式还要以内核来作为中转站,显然 DMA 的传输方式的效率更高,直接存储器存取中的“直接”不是徒有虚名的。

使用特权

评论回复
地板
sunmeat|  楼主 | 2015-3-16 16:24 | 只看该作者
    要使用 DMA,需要确定一系列的控制参数,如外设数据的地址,内存地址,传输方向等,在开启 DMA 传输前还要先发出 DMA 请求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝