STM32之DMA

STM32的DMA(直接内存访问)功能允许在外设与存储器之间进行高速数据传输,无需CPU介入。它采用轮询调度确保CPU至少拥有系统总线带宽的一半。每个DMA通道具有独立配置,支持多种优先级和传输模式,包括存储器到存储器、外设到存储器等。此外,DMA还具备中断功能,可以设置不同事件标志并进行中断处理。
摘要由CSDN通过智能技术生成

DMA用来提供在外设和存储器之间或者存储器与存储器之间的高速数据传输,无须CPU干预,通过DMA数据可以快速地移动,如此可以节省CPU资源用于其他操作。


一、STM32外设DMA特性

注意:DMA与Cortex-M3内核共享系统数据线进行DMA数据传输,因此,1个DMA请求占用至少两个周期的CPU访问系统总线时间。为保证Cortex-M3核代码执行的最小宽度,DMA控制器总是在2个连续的DMA请求间释放系统时钟至少1个周期!

但是英文手册原文为:The bus matrix implements round-robin scheduling,thus ensuring at least half of the system bus bandwidth (both to memory and peripheral)for the CPU.

DMA处理过程:

当发生一个事件后,外设发送一个请求信号到DMA控制器,DMA控制器根据通道优先级处理请求信号。当DMA控制器开始访问外设时,DMA控制器发送给外设一个应答信号。当外设送到应答信号后,立马释放请求,一旦释放这个请求,DMA控制器同时终止应答信号。如果发生更多的请求࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值