当前位置: 首页 > news >正文

SMT32H7系列DMA和DMAMUX的一点理解

DMA和DMAMUX

DMA:无CPU参与下直接进行数据搬运的控制器
DMAMUX:建立DMA请求和DMA通道之间的映射关系,类似于路由的功能。无DMAMUX的MCU,DMA请求和DMA通道的映射关系是固定的,不能由软件修改。有了DMAMUX可以将DMA请求和DMA通道由软件联系起来,实现自定义链接。
以STM32H743为例:
DMAMUX1:DMAMUX1_Channel0-15对应DMA1_Stream0-7和DMA2_Stream0-7。

DMAMUX2:DMAMUX2_Channel0-7对应BDMA_Channel0-7。

具体见下图,理解仅供参考。

Snipaste_2025-12-09_09-43-10

触发发生器的例子
1.比如外部中断EXTI触发存储器到存储器/外设的DMA请求
无DMAMUX的情况下:因为EXTI本身没有DMA请求,但EXTI要触发DMA只能在EXTI中断中启动DMA,配置好存储器到存储器/外设的DMA后,然后再EXTI中断中启动DMA。
有DMAMUX的情况下:触发信号HAL_DMAMUX1_REQ_GEN_EXTI0和信号发生器DMA_REQUEST_GENERATORx关联相当于EXTI0具有了DMA请求,然后配置好DMA传输通道,配置好EXTI0,EXTI0就能触发DMA实现DMA传输了。这里边可能MCU已经做好EXTI边沿信号和DMA启动的关联了,不然和在EXTI中断中启动DMA又有什么区别呢。(猜测,没用过)
2.比如GPIO触发DMA请求实现存储器到GPIO的数据传输
无DMAMUX的情况下:GPIO本身没有DMA请求,要实现存储器到GPIO的DMA传输需要借用一个DMA请求,我当初用的是TIM_UP的DMA请求(当然也可以用其它信号,只要能产生DMA请求就行),然后在DMA配置中按照存储器到外设的DMA配置就行,我用这个可以实现输出一段固定波形的信号,信号的CLK和TIM周期一致,如果这段波形要周期性出现可以用另一个定时器,在定时器中断中使能DMA。
本质上是外设1->存储器->外设2的传输,外设1有DMA请求,外设2没有DMA请求,用外设1的请求干外设2的事情。

2

有DMAMUX的情况下:触发信号HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT和信号发生器DMA_REQUEST_GENERATORx关联产生的DMA请求用作GPIO的DMA请求,然后配置DMA传输通道,配置LPTIM定时器,则启动DMA后,LPTIM定时器每次产生1个DMA请求,发送1个数据。如果DMA是循环模式则会根据NDTR循环传输,如果是正常模式则NDTR传完后DMA自动关闭。

同步发生器的例子
同步信号主要用于周期启动DMA
1.定时进行串口DMA发送数据
无DMAMUX的情况:串口都有DMA请求,不需要触发发生器,直接通过外设请求和DMA传输通道关联,但是我要定时发送串口数据,则需要在一个定时器中断中启动串口DMA发送。
有DMAMUX的情况:先进行串口外设和DMA传输通道的关联,然后选择同步信号HAL_DMAMUX1_SYNC_LPTIM1_OUT关联DMAMUX,配置LPTIM实现周期发出同步信号启动DMA。
同步信号是用来启动DMA的,不是DMA的请求,DMA的请求来自串口。

重点理解
1.触发信号和同步信号都是固定的

3

2.理解触发信号HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT和HAL_DMAMUX1_SYNC_LPTIM1_OUT在两个项目中应用的区别。
触发信号相当于DMA请求信号,同步信号相当于DMA启动信号。
触发信号多用于外设1->存储器->外设2的类型,同步信号多用于存储器->外设里的周期性启动DMA的情况。
在触发信号HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT下,每一次触发信号引起一次DMA请求,而一次定时器的DMA请求只能传输一个DMA数据块。
在同步信号HAL_DMAMUX1_SYNC_LPTIM1_OUT下,一次同步信号启动一次DMA,DMA会传输完设定长度的数据,而不是单个数据块。

只是理解,没有过多验证。

http://www.jsqmd.com/news/68102/

相关文章:

  • 2025年质量好的石英舟/石英定制厂家最新权威实力榜
  • 2025年国内凤凰单丛茶公司定做厂家口碑排行与推荐榜
  • spec-kit用法
  • 2025年口碑好的钢丝绳检测/港口钢丝绳检测厂家实力及用户口碑排行榜
  • 2026 律所公正测评:北京执行纠纷专业机构名单与高性价比解决方案解析
  • prometheus日常使用
  • 2025年评价高的儿童洗鼻器/洗鼻器家用厂家选购指南与推荐
  • 禅道-创建电商APP V2.0
  • 破解 “执行难”:北京专业执行律所机构推荐与深度测评
  • 探寻口碑不错的舞蹈艺考培训学校,一铭艺术学校脱颖而出
  • 2025 年 12 月无锡旅行社口碑 TOP1:万达国旅五区深耕,品质服务成全民首选
  • redux 中间件原理
  • 2025年评价高的钻裂一体机/矿山钻裂一体机厂家实力及用户口碑排行榜
  • 口碑好的舞蹈艺考辅导机构推荐:一铭艺术学校
  • 2025年12月浩金樽酒业解读红酒回收核心价值逻辑:产区、时间与品质的三重赋能
  • 2025 年 12 月自动售货机厂家最新推荐,聚焦资质、案例、售后的五家企业深度解读
  • 2025年新疆大马力拖拉机公司权威推荐榜单:新疆拖拉机/凯尔农机3004/大马力拖拉机源头公司精选
  • unity 启动时运行脚本 代码设置宏字符串
  • 2025 年 12 月上海假发品牌权威推荐榜:伊薇卡手工真人发丝,逼真舒适重塑自信,涵盖男女式、医疗化疗及老年全头套假发精选
  • 【合集】【IEEE出版 | EI检索】第五届人工智能与大数据国际学术研讨会 (AIBDF 2025)、第二届图像处理、多媒体技术与机器学习国际学术会议(IPMML 2025)
  • 2025年口碑好的顶管机/顶管机设备实力厂商TOP榜(专业)
  • 【IEEE出版 | EI检索】第二届图像处理、多媒体技术与机器学习国际学术会议(IPMML 2025)
  • 2025年质量好的土压盾构机/隧道盾构机厂家推荐及采购指南
  • 2025年12月江苏会计师事务所权威推荐榜:常州/泰州/南京/苏州/溧阳/金坛地区专业审计与财税服务口碑之选
  • 2025 年 12 月钣金加工厂家最新推荐,聚焦高端定制需求与全案交付能力
  • 2025 年高定家具 TOP5:为什么越看越乱?一篇避坑指南讲明白
  • 内网服务不想暴露公网?SSH隧道帮你安全搞定
  • 完整教程:Java Maven Log4j 项目日志打印
  • 2025年靠谱的泥水盾构机/岩石盾构机品牌厂家排行榜
  • 2025年比较好的顶管机中继间/矩形顶管机品牌厂家排行榜(热门)