首页 > 其他 > 详细

STM32(九)DMA介绍

时间:2020-05-12 22:15:47      阅读:84      评论:0      收藏:0      [点我收藏+]

一、DMA简介

DMA(Direct Memory Access)--直接存储器存取,

  • 单片机的一个外设
  • 主要功能是用来搬数据
  • 搬数据时不占用CPU
  • 数据传输支持从外设到存储器或者存储器到存储器。这个里的存储器可以是SRAM或者Flash
  • DMA控制器包含DMA1DMA2。其中DMA1有7个通道,DMA2有5个通道。(通道可理解为传输数据的一种管道
  • DMA2只存在于大容量的单片机中。
  • DMA控制器独立于内核

二、DMA功能结构

     1、DMA请求

如果外设要想通过DMA来传输数据

(1)先给DMA控制器发送DMA请求,

(2)DMA收到请求信号之后,控制器会给外设一一个应答信号,

(3)当外设应答后且DMA控制器收到应答信号之后,就会启动DMA的传输,直到传输完毕。

  DMA有DMA1和DMA2两个控制器,DMA1有7个通道,DMA2有5个通道,不同的DMA控制器的通道对应着不同的外设请求,这决定了我们在软件编程上该怎么设置,具体见DMA请求映像表。

技术分享图片

 

 

 2、通道

  DMA具有12个独立可编程的通道,其中DMA1有7个通道,DMA2有5个通道,每个通道对应不同的外设的DMA请求。虽然每个通道可以接收多个外设的请求,但是同一时间只能接收-一个,不能同时接收多个

3、仲裁器

  当发生多个DMA通道请求时,就意味着有先后响应处理的顺序问题,这个就由仲裁器也管理。仲裁器管理DMA通道请求分为两个阶段。

  • 第一阶段属于软件阶段,可以在DMA_ CCRx寄存器中设置,有4个等级:非常高、高、中和低四个优先级。
  • 第二阶段属于硬件阶段,如果两个或以上的DMA通道请求设置的优先级一样,则他们优先级取决于通道编号,编号越低优先权越高,比如通道0高于通道1。 在大容量产品和互联型产品中,DMA1控制器拥有高于DMA2控制器的优先级。

 

STM32(九)DMA介绍

原文:https://www.cnblogs.com/yuanqiangfei/p/12879162.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!