STM32标准库学习笔记(七)DMA

前言


学习永无止境!本篇是嵌入式开发之片上外设DMA,了解基本硬件原理以及工作模式,并结合ADC进行实际应用。
注:本文章为学习笔记,部分图片与文字来源于网络/江协科技课程/手册,如侵权请联系!谢谢!


一、DMA概述


1.1 DMA简介 

        DMA(Direct Memory Access)直接存储器存取,可以提供外设与存储器或存储器与存储器之间高速数据传输,无需CPU干预,节省CPU资源。拥有12个可配置通道(DMA1有7个通道,DMA2有5个通道),每个通道都支持软件触发和特定硬件触发。

        一般如果DMA进行的是存储器到存储器的数据转运,需要使用软件触发,DMA会以最快的速度将数据转运完成,当需要外设到存储器数据转运时,就需要硬件触发。

1.2 存储器相关概念

  • ROM:只读存储器,是一种掉电不丢失的存储器;
  • RAM:随机存储器,是一种易失性、掉电丢失的存储器;
  • 外设寄存器:特殊的SRAM,可以进行读写,其背后连接硬件线路,改变寄存器的值,即可改变硬件线路的走向。

1.3 DMA基本框图

  • ①总线矩阵:从整个系统看,无非就是内核与其它存储器,内核作为主动单元通过DCode访问Flash,通过系统总线访问SRAM以及相关外设寄存器,除了内核拥有访问权,DMA也可作为主动单元通过DMA总线访问其它存储器与外设寄存器。各条总线访问拥有各自优先级,总线仲裁器根据优先级分配总线控制权;
  • ②DMA内部:DMA既是主动单元也是被动单元,挂在AHB上,CPU可通过AHB控制读写DMA配置寄存器,DMA1内部有7个可配置通道,DMA2有5个,同时为了防止内部通道拥堵,配备仲裁器,根据优先级,分配各个通道转运数据;
  • ③以太网私有DMA:一般在使用以太网传输数据时需要用到;
  • ④存储器与外设寄存器:FLASH一般只读,要想写入需要配置接口控制器,SRAM可随意读写,外设寄存器的配置需要根据每个外设功能配置;
  • ⑤DMA请求:DMA硬件触发源,特殊外设根据其配置享有DMA请求的权利,当需要数据转运时,向DMA发送请求,DMA会以最快的速度将数据送达目的地址。

c220431385404085903cd62bb054f72b.png


二、DMA工作原理


2.1 DMA功能结构框图

  • 数据转运方向:外设寄存器到存储器,也可以存储器到外设寄存器,也可以存储器到存储器(Flash到SRAM,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值