硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2492|回复: 1
收起左侧

[DMA] STM32H7的BDMA学习笔记(2018-08-06 V1.0)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2018-8-6 10:07:23 | 显示全部楼层 |阅读模式
说明:
1、DMA1和DMA2的学习笔记已发:链接
2、相比DMA1和DMA2,BDMA的功能要弱一些,主要实现一些基本的传输功能。
3、BDMA主要用于D3域中的外设和SRAM。


==============================================================================
                                                                  ##### BDMA特性  #####
==============================================================================  


1、由于总线矩阵的存在,各个主控的道路四通八达,从而可以让DMA和CPU同时开工,但是注意一点,如果他们同时访问的同一个外设,会有一点性能影响的。

2、BDMA只有一个AHB总线主控,而DMA1和DMA2是有两个的,可以分别用于源地址和目的地址的传输。

3、BDMA支持存储器到外设,外设到存储器,存储器到存储器和外设到外设的传输,其中外设到外设的传输,DMA1和DMA2是不支持的,这个模式在低功耗模式下比较有用。

4、BDMA都有个8个输入通道,而每个通道有几十个触发源可供选择,详情可以看此贴:http://www.armbbs.cn/forum.php?mod=viewthread&tid=88811

5、BDMA不支持硬件FIFO,但是支持双缓冲。

6、源地址和目的地址的数据宽度可以不同,但是数据地址必须要跟其数据类型对齐。比如源地址是uint32类型的,那么此数组的地址必须4字节对齐。

7、BDMA主要有两种模式,一个是Normal正常模式,传输一次后就停止传输;另一种是Circular循环模式,会一直循环的传输下去,即使有DMA中断,传输也是一直在进行的。

8、BDMA不支持突发模式。



1、BDMA的框图如下。
1.png

2、关于外设到外设方式的配置。
QQ截图20180806153405.png

3、由于BDMA没有FIFO功能,所以源地址和目的地址的数据宽度不同时,效果如下:
QQ截图20180806162304.png









回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
 楼主| 发表于 2018-8-6 16:23:50 | 显示全部楼层
更新完毕。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 02:49 , Processed in 0.242837 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表