dma适用于什么数据传送_STM32F407-DMA架构解析2

I am 鼎!


上一篇解释了DMA的优势DMA架构解析1

现在分析DMA的硬件架构:

分析思路:先整体,后局部,在细分。


A:先从系统架构层面看:

00aa23357bb2e1a5fd0630480dc96fab.png

总线矩阵

上图是系统的总线矩阵,红色圈里面的内容是和DMA相关的部分。下图是局部放大图

c0f9ba2603300c4dee4dffee593662fc.png

内容解释:

S3、 S4: DMA 存储器总线

此总线用于将 DMA 存储器总线主接口连接到总线矩阵。 DMA 通过此总线来执行存储器数据的传入和传出。此总线访问的对象是数据存储器:内部 SRAM(112 KB、 64 KB、 16 KB)以及通过 FSMC 的外部存储器。

S5: DMA 外设总线

此总线用于将 DMA 外设主总线接口连接到总线矩阵。 DMA 通过此总线访问 AHB 外设或执行存储器间的数据传输。此总线访问的对象是 AHB 和 APB 外设以及数据存储器:内部SRAM 以及通过 FSMC 的外部存储器

总线矩阵用于主控总线之间的访问仲裁管理。仲裁采用循环调度算法。

DMA它可以执行下列事务:

● 外设到存储器的传输。

● 存储器到外设的传输。

● 存储器到存储器的传输。

要想实现这三种事务,那必须同时有访问到外设,存储器的权限,很明显,总线矩阵才有这个权限!

官方:DMA控制器是采用AHB主总线, 它可以控制AHB总线矩阵来启动AHB事务。

总结:以上的内容是不是看的眼花缭乱,言而总之,就是告诉你DMA为什么能,其实只要记得一点结论:DMA可以访问外设和存储器就OK了!

下面进一步,DMA怎么访问外设和储存器

2f957bf1a46664b74f0be887c91daf41.png

DMA详图

在上面这张图,我们可以详细看到DMA是怎么通过总线矩阵连接外设和存储器的,我们可以这么总结:

  1. STM32F407一共有两个DMA控制器,DMA1和DMA2。
  2. DMA2的存储器端口和外设端口都是连接到AHB总线矩阵,可以使用AHB总线矩阵功能。DMA2存储器和外设端口可以访问相关的内存地址, 包括有内部Flash、 内部SRAM、 AHB1外设、 AHB2外设、 APB2外设和外部存储器空间。
  3. DMA1的 存储 区 端口相比DMA2的要减少AHB2外设的访问权, 同时DMA1外设端口是没有连接至总线矩阵的, 只有连接到APB1外设, 所以DMA1不能实现存储器到存储器传输。

那么,这一部分可以一言以代之:DMA2可以完成存储器-存储器,存储器到外设,外设-存储器的数据传输,而DMA1只能进行进行存储器-外设,外设-存储器的传输,DMA2功能比DMA1强大,记住这些就OK了!

下一节,我们继续分析DMA控制器内部的架构!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值