STM32-DMA基本概念

STM32-DMA是一种直接存储器访问技术,提高CPU效率,它包含两个控制器共12个通道。通道优先级可通过软件配置,硬件在相同优先级时依据编号决定。DMA支持4种传输模式,包括存储器到存储器、外设到存储器等。配置传输涉及源、目的地址和长度。此外,还能在传输过程中触发中断。
摘要由CSDN通过智能技术生成

STM32-DMA基本概念

工作原理

DMA即直接存储器访问,无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,他是通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,可以使得CPU的效率大大提高。

STM32F103有两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。为了保证每个通道协调有序,还有一个仲裁器来协调各个DMA请求的优先权。

如图为STM32F103的12个通道DMA请求预览表
在这里插入图片描述
在这里插入图片描述

通道优先级

这些通道的优先级可以通过软件和硬件配合设定,软件方面可以通过编程配置寄存器,当配置的优先权相等时,由硬件决定。

软件:每个通道的优先权可以在DMA_CCRx寄存器中设置,有4个等级:

  • ─ 最高优先级
  • ─ 高优先级
  • ─ 中等优先级
  • ─ 低优先级

硬件:如果2个请求有相同的软件优先级,则拥有较低编号的通道比拥有较高编号的通道有较高的优先权。举个例子,通道2优先于通道4。

DMA的传输

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值