ARM32开发--DMA

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

CPU

CPU(Central Processing Unit,中央处理单元)是计算机系统中的核心部件,也被称为处理器。它是计算机的大脑,负责执行指令、处理数据以及控制计算机的各种操作。CPU通常由多个核心组成,每个核心可以独立执行指令,从而提高计算机的处理能力。

RAM

RAM(Random-Access Memory,随机存取存储器)是计算机中用于临时存储数据和程序的内存类型。RAM是计算机运行时存储数据的地方,其中包括操作系统、应用程序、用户数据等。与ROM(Read-Only Memory,只读存储器)不同,RAM中的数据可以被读取和写入,而ROM中的数据只能被读取。

外设

外设(Peripheral Device)是指连接到计算机或微控制器的附加设备,用于完成特定的功能或提供特定的输入/输出。外设可以是各种类型的硬件设备,例如定时器、显示器、存储设备、通信设备等。这些外设通过与主处理单元(如CPU)或微控制器的通信来实现数据交换和控制操作。


程序运行过程

我们用一段伪代码来分析程序执行的过程:

复制代码
uint8_t data = 0x01;
串口发送(data);

看似简单的代码,其实以上包含了多个功能模块间的交互。

  • cpu
  • SRAM
  • 外设

ARM32程序

存储

在ARM32架构中,程序运行过程中,我们定义的变量其实都是存储在SRAM中,其实就是我们所说的内存。

我们的CPU去获取这个内存空间的数据,加载到CPU的缓存区(寄存器)中,执行CPU指令,指令操作加载的数据,程序就运行起来了。

执行过程

取数据
复制代码
uint8_t data = 0x01;

cpu通过总线,向SRAM发送请求,获取数据

SRAM接收到请求,将数据通过总线传递给CPU,CPU将数据加载到自己的缓存中。

执行操作
复制代码
串口发送(data);

CPU通过总线,将数据交给串口,串口接收到数据后,将数据发出。

流程总结

  1. CPU执行过程中,通过总线,到SRAM中取数据
  2. CPU将取的数据,按照逻辑处理顺序进行执行
  3. 逻辑中用到了外设部分,CPU会将对应的数据通过总线传递给外设

这里的每一份数据都是这么个操作流程。

思考

大量的数据,这样传递是否存在问题。

  • 数据量大时,cpu会一直在一条线上进行反复请求数据,获取数据,执行数据等一系列操作,会消耗cpu的执行时间片。

DMA概念

DMA (Direct Memory Access,直接存储器存取),是一种能够在无需CPU参与的情况下,将数据从一个地址空间复制到另一个地址空间高效的传输硬件机制。可以说,DMA就是CPU的高级代理,DMA大大减轻了CPU的负担。

ARM32的DMA

功能说明

GD32F4的DMA控制器有两个:DMA0,DMA1 ,共有16个通道,每个通道可以被分配给一个或多个特定的外设 进行数据传输。两个内置的总线仲裁器用来处理DMA请求的优先级问题。

映射参考

DMA0如下图

DMA1如下图


总结

DMA三种传输方式

● 存储器到外设;

● 外设到存储器;

● 存储器到存储器(仅 DMA1 支持);

DMA的优先级:

支持软件优先级(低、中、高、超高)和硬件优先级(通道号越低,优先级越高)。

相关推荐
2401_862880822 小时前
input 子系统框架 、platform 驱动框架
linux·驱动开发·嵌入式硬件
Industio_触觉智能2 小时前
瑞芯微AI算力NPU路线图与协处理器|触觉智能瑞芯微RK方案商出品
人工智能·嵌入式硬件·硬件架构·智能硬件·npu·瑞芯微·端侧ai
女神下凡2 小时前
嵌入式系统 vs 嵌入式文件系统
arm开发·嵌入式硬件·设计规范
芯岭技术3 小时前
XL2400T收发芯片,2.4G无线荧光棒控光解决方案,+PA距离可达700M
单片机·嵌入式硬件·物联网
HPT_Lt3 小时前
ZCC485符合RS485、422通信协议高速超低功耗接口芯片
嵌入式硬件
艾芯微科技4 小时前
ETA1637S2G|钰泰同步升压 LED 背光驱动 SOT23-6,0.1% 超低占空比 PWM 调光
网络·单片机·嵌入式硬件·集成测试·51单片机
女神下凡4 小时前
芯参谋(55):LED 驱动 · 系统设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
深圳市恒锐丰科技杨生4 小时前
LR010N04SD10 N 沟道 SGT‑MOSFET|Long‑Tek 龙夏电子
嵌入式硬件·硬件工程
西城微科方案开发5 小时前
方案商|西城微科胎压计方案开发
单片机·嵌入式硬件
深圳市尚想信息技术有限公司5 小时前
HITENX海速芯TM56M152A-SOP8单片机MCU微控制器IC,高精度ADC-16位PWM国产主控芯片
单片机·嵌入式硬件