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

STM32——DMA

DMA简介

DMA, 全称Direct Memory Access,即直接存储器访问
DMA传输,将数据从一个地址空间复制到另一个地址空间

DMA传输无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高
作用:
为CPU减负

内部框图

  1.  DMA请求         DMA传输数据,要先向DMA控制器发送请求
  2.  DMA通道         不同外设向DMA不同的通道发送DMA请求,DMA1有7个通道,DMA2                           有5个通道
  3.  DMA优先级     多个DMA通道同时发来请求时,就有先后响应处理的顺序问题,这个                            由仲裁器管理 (优先级管理也分软件阶段和硬件阶段

      注意:DMA2仅存在大容量产品和互联型产品

DMA处理过程

  DMA1通道

 每个通道用来管理来自于一个或多个外设对存储器访问的请求。且都有一个仲裁器,用于处理DMA请求间的优先级。

通道优先级

仲裁器管理DMA通道请求分为两个阶段:软件阶段(1)、硬件阶段(2)
第一阶段(软件阶段):每个通道的优先级可在DMA_CCRx寄存器中设置,有四个等级:最高、高、中和低优先级。
第二阶段设(硬件阶段):如果两个请求有相同软件优先级,较低编号的通道比较高编号的通道有较高的优先级
(大容量芯片中,DMA1控制器拥有高于DMA2控制器的优先级)
注意:多个请求通过逻辑或输入到DMA控制器,只能有一个请求有效 

寄存器 

HAL库相关驱动

相关文章:

  • 从火险预测到智能指挥,地理信息系统的“硬核”突围
  • AI重构农业:从“面朝黄土“到“数字原野“的产业跃迁—读中共中央 国务院印发《加快建设农业强国规划(2024-2035年)》
  • InnoDB存储引擎的三大特性
  • 数字身份DID协议:如何用Solidity编写去中心化身份合约
  • 使用typedef和不使用的区别
  • PyTorch教程:如何读写张量与模型参数
  • 【科普】 探秘图像评价指标的奇妙世界
  • 可发1区的超级创新思路(python 实现):一种轻量化的动态稀疏门控网络
  • forms实现地铁跑酷小游戏
  • Spring的简单介绍
  • C++ std::shared_mutex
  • 汽车与航空航天领域软件维护:深度剖析与未来展望
  • SSH远程工具
  • C语言传参寄存器压栈流程总结
  • 洛谷 P1330 封锁阳光大学
  • C++11:lambda表达式
  • 说一下java的探针agent的应用场景
  • 如何用开源工具,把“定制动漫面具”做成柔性制造?
  • Github最新AI工具汇总2025年4月份第2周
  • 【SPSS/EXCEl】主成分分析构建__综合评价指数
  • 沈阳网站建设方案策划/网络培训学校
  • 梁平网站建设/网站一年了百度不收录
  • ASP动态网站开发基础教程与实验指导/营销软文范文
  • 定制网站开发方案/百度小说排行榜总榜
  • 广西建设职业技术学院官方网站/苏州网站
  • 平阳县建设局网站/优化大师的优化项目有哪7个