DMA源(目标)地址配置

【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别) 阅读详情

注意:该配置适用芯片APT32F110,APT32F103,APT32F173。

DMA源(目标)地址可以通过DMA_ISCRx(DMA_IDCRx)设置为自增或固定。同时,DMA传输的数据长度是由高位传输计数器(HTC)和低位传输计数器(LTC)共同决定的。因此我们的地址变化方式有以下四种配置方法:

No

寄存器DMA_ISCRx(DMA_IDCRx)值

高位计数的地址控制

低位计数的地址控制

1

0x3

固定

固定

2

0x2

固定

自增

3

0x1

自增

固定

4

0x0

自增

自增

以下面的配置为例: 初始地址0x0,原子传输大小为字(word),HTC为3,LTC为4。不同的地址配置和变化如下图:

DMA介绍、原理、工作模式 DMA,全称Direct Memory Access,直接存储器访问。DMA将数据从一个内存地址复制到另一个内存地址的操作,当然不仅仅局限于内存到内存,也可以外设和内存之间相互访问。那么DMA进行数据的搬移和普通通信方式(IIC、SPI)想比区别在哪,普通通信方式IIC或者SPI或多或少的到需要CPU的参与,CPU控制收发、读写,而DMA在进行数据传输的时候不需要CPU参与,因此大大降低了CPU的工作量。 阅读详情

相关推荐

STM32中的DMA数据转运——下篇

在上篇文章中,我们讨论了STM32中的DMA(直接存储器访问)及其工作原理、存储器类型和总线设计。接下来,我们将更深入地探讨DMA的具体配置方法、常见应用场景以及一些实际设计中的注意事项。

m0_62710548的博客 1540

DMA基本工作原理总结概述(一)——DMA系统架构

一. DMA的工作原理: DMA是一种内存访问技术; 可以独立于CPU, 直接读、写系统存储器、外设等 二. 工作、传输模式: 1. 工作模式:FIFO模式与直接模式 FIFO模式下,可以将要传输的多个数据(或字节)累计存储在FIFO缓冲器中,然后在FIFO缓冲器中设置存储阈值,当到达阈值时,FIFO会自动把所有存储的数据一次性的发送到目标地址; 直接模式下,DMA直接进行数据从源地址到目的地址的传输,对于外设的传输,因为外设内部一般也有FIFO,所以传输的数据可以被直接存储在外设的FIFO中。 2

用心记录每天的学习,提升自己,虽然有的很基础但真的很重要! 4万+

嵌入式开发——DMA外设到内存

每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。实现串口的数据接收,要求采用dma的方式。串口中,寄存器地址不变,大小不变,数据宽度表示一次传递多上个bit。传输了多少个数据宽度的数据。

bug_love的博客 1491

STM32之DMA

1、DMA(Direct Memory Access,直接存储器存取),是一种可以大大减轻CPU工作量的数据存取方式。 2、DMA方式是点到点的数据转移,而不使用DMA方式还要以内核来作为中转站,显然DMA传输方式的效率更高,直接存储器存取中的直接不是徒有虚名。 3、DMA_PeripheralBaseAddr:外设数据寄存器的基地址 为什么说是基地址?因为DMA具有地址自增的功能,地址自增功

YangPan2007的博客 960

嵌入式开发——DMA内存到内存

将src这个数组的值,赋值到dst这个数组中,不可以采取直接赋值的方式,需要通过DMA将数据进行传递。每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。这里主要指的是在配置DMA的源和目标的时候,我们无法给出一个具体的源地址和源的数据长度。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。通常,dma数据传输完成,我们也是可以知道的。可以通过中断的方式获取。初始化时,不再初始化源地址和要传输的长度。传输了多少个数据宽度的数据。

bug_love的博客 950

STM32 DMA原理与实战:高效数据搬运全解析

DMA(直接内存访问)是一种硬件级数据传输机制,通过专用控制器绕过CPU实现外设与内存间的批量数据搬运,核心原理是硬件状态机驱动、地址自动递增与事件触发协同。其技术价值在于释放CPU资源、提升系统实时性与确定性,尤其适用于高速串口通信、ADC连续采样、音频流等规律性强、带宽高的数据流场景。在嵌入式开发中,正确配置传输方向、数据宽度、地址对齐及循环模式,是避免总线错误、数据覆盖与中断丢失的关键。本文以STM32平台为载体,深入剖析DMA通道映射、HAL库底层行为及USART DMA接收工程实践。

weixin_34718952的博客 106

华大单片机DMA学习

#define BUFFER_SIZE 32U // DMA传输源地址 static uint32_t aSRC_Const_Buffer[BUFFER_SIZE] = { 0x01020304, 0x05060708, 0x090A0B0C, 0x0D0E0F10, 0x11121314, 0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x21222324, 0x25262728, 0x292A2B2C, 0x2D2E2F30, 0x31323334, 0x35...

2017年夏天的博客 1467

Nios II的标准设备软IP中有一个DMA设备

verilog硬件资源DMA操作,经过自己测试很不错

HC32F460 DMA配置避坑指南:从AOS时钟使能到地址对齐,新手容易忽略的5个细节

本文详细解析了HC32F460 DMA配置中的5个关键细节,包括AOS时钟使能、地址对齐、触发源配置等常见问题。通过实战经验分享,帮助开发者避免常见错误,提升DMA控制器使用效率,特别适合嵌入式开发新手参考。

weixin_29159711的博客 329

手把手教你用NE555+LM324搭建红外倒车雷达(附Multisim仿真文件)

本文详细介绍了如何使用NE555定时器和LM324运算放大器搭建一个红外倒车雷达系统。内容涵盖从核心原理拆解、模块电路设计(包括红外发射、接收放大、检波与电压比较)到实战焊接调试的全过程,并提供了Multisim仿真验证思路,帮助电子爱好者与初学者将模拟电路理论转化为可工作的实用项目。

echo99的专栏 671

大语言模型在建筑规范自动化合规审查中的微调策略与规模效应实践

大语言模型(LLM)通过在海量文本数据上预训练,具备了强大的语言理解和生成能力。其核心原理是基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。在工程实践中,为了将这种通用能力适配到建筑、法律、金融等高度专业化的垂直领域,通常需要采用领域微调技术。微调通过使用特定领域的高质量指令数据对模型参数进行更新,使其掌握专业术语、逻辑规则和任务范式,从而解决通用模型在专业场景下知识匮乏和“幻觉”问题。结合检索增强生成(RAG)技术,将动态外部知识库作为模型的“参考手册”,能进一步提升事实准确性并降低幻

weixin_30667831的博客 357

DMA单元学习

解决:   dma应该只有一个硬件设备(固定映射),然后一个dma顺序完成不同的写任务。   bram ctrl的映射地址是edit addr的那个,但是不能直接使,要用宏定义的那个数(后面多了一个U,我也不知道为啥)。找自己的bram ctrl的base宏定义是什么名字要去xparameters.h找,看名字找,好像没有表格。。。   路径:bsp的include里面 重要!记...

329

Cursor生成JAVA相关的关键词提示规则

你是 Java 编程、Spring Boot、Spring Framework、Maven、JUnit 及相关 Java 技术的专家。在项目根目录创建一个.curstorrules文件(注意有个小数点),之后在该文件内填入下面内容。始终遵循 SOLID 原则,保持高内聚低耦合的 Spring Boot 应用设计。Java 和 Spring Boot 使用规范。Spring Boot 具体规范。

kitonGao的博客 2107

DMA stm32 内部数据传输

void MYDMA_init(uint32_t AddrA, uint32_t AddrB, uint32_t Size) { DMA_InitTypeDef DMA_InitStruct; MyDMA_Size = Size; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //时钟再AHB总线上面 DMA_InitStruct.DMA_BufferSize=Size; ...

qq_44827929的博客 2924

Linux安装部署PostgreSQL详细步骤

Linux安装部署PostgreSQL详细步骤

2301_77356579的博客 9303

Office 365中的Assigned Access详细功能介绍

本文系统介绍了Office365中AssignedAccess功能的应用与管理。作为Windows系统的重要安全特性,AssignedAccess可将设备锁定为单应用模式,有效防范未授权访问。文章详细阐述了其核心功能、技术架构及配置方法,包括UWP/Win32应用支持、多用户配置、与AzureAD集成等。通过MicrosoftEndpointManager可实现批量部署和远程监控,适用于公共终端、零售设备等场景。该功能为企业数字化转型提供了安全、可控的终端管理方案,在保障数据安全的同时优化用户体验。

xueyunshengling的博客 219

HI3531由DMA 发起PCIe 事务 分类: HI3531 ...

Hi3531 PCIe 控制器内含DMA 控制器,DMA 控制器包含有两个DMA 通道(一个 DMA 读通道和一个DMA 写通道)。PCIe 控制器内包含的DMA 控制器用于大数据量 的存储器读写事务,以提高数据传输的速率。 DMA 控制器可以实现如下的存储器读写事务: DMA 控制寄存器 软件可通过DMA 控制寄存器来配置DMA 传输,也可以通过DMA 控制寄存器启动...

weixin_30471065的博客 335

65页PPT全面学习大型汽车集团企业IT信息化(管理架构、应用架构、技术架构)

订单到交付(OTD):借助ERP、MES、LES、SRM、QMS、APS等系统,实现财务与业务一体化、高级排产、生产过程自动化及供应链协同。- 数据标准化:数据标准化是企业信息化建设基石,包括制定统一业务解释和标准、维护管理流程、发布应用等,涉及数据统一定义、分类、编码等内容。- 大数据应用:汽车行业大数据应用涵盖生产、销售、售后等环节,如设备预见性保养、销量预测、质量预警等,提升企业运营效率和决策能力。- 策略明晰:明确C2M管理矩阵,包括供应商、采购、物流、制造、销售、财务等环节的策略。

cdfunlove的博客 1046

江科大32——DMA代码分析

ADC1是结构体指针,指向的是ADC1外设的起始地址,访问结构体成员,就相当于加一个地址偏移,起始地址加偏移,就是指定的寄存器。表示常量,被它修饰的变量在程序中只能读,不能写。Tips:要想查某个寄存器的地址,可以先查这个寄存器所在外设的地址,然后再查这个寄存器的偏移地址(在外设寄存器总表里)。Tips: 变量或常量的地址是由编译器确定的,不同程序地址可能不一样,是不固定的。方向,传输计数器,是否需要自动重装,选择触发源,通道优先级等等。,开启触发信号的输出,比如需要调用DMA的中断,就需要调用。

m0_56700794的博客 742

USLE模型(1.2):LS因子的计算

基于USLE的甘南川西北土壤侵蚀研究。准备好30米分辨率的dem。

所有专家都曾始于新手 3477

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SRIO学习(六)——Direct I/O 操作(一)

#Direct I/O 操作 ##框架流程 direct I/O(加载/存储)模块是所有传出的**direct I/O packe...

kunkliu的博客 3206

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

linux uart dma模式,kinetis的UART串口(DMA模式)

DMA_TCD0_SOFF = 1;//每次操作完源地址,源地址增加1DMA_TCD0_DOFF = 0;//每次操作完目标地址,目标地址不增加DMA_TCD0_SLAST = 0;//DMA完成一次输出之后即major_loop衰减完之后不更改源地址DMA_TCD0_DLASTSGA = 0;//DMA完成一次输出之后即major_loop衰减完之后不更改目标地址DMA_TCD0_CITER_E...

weixin_29144939的博客 448

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

嵌入式DMA实战:从原理到配置,彻底解放CPU的数据搬运技术

在嵌入式系统开发中,数据搬运是影响系统性能的关键环节。DMA(直接存储器访问)作为一种硬件机制,其核心原理是通过独立的控制器在外设与存储器之间直接传输数据,无需CPU干预。这项技术的核心价值在于将CPU从重复、耗时的数据搬运任务中解放出来,使其能够专注于执行复杂的算法和逻辑处理,从而显著提升系统吞吐量和实时响应能力。在音频流处理、图像采集、传感器数据高速传输等应用场景中,DMA是实现高效、不间断数据流的关键。本文以具体的嵌入式项目为例,深入解析DMA的配置流程与常见问题排查,帮助开发者掌握这一提升系统性能的

weixin_30394981的博客 318

华大HC32F460串口DMA接收避坑指南:从STM32迁移的实战经验分享

本文分享了从STM32迁移至华大HC32F460时,实现串口DMA高效接收数据的实战经验。核心在于理解其以“接收超时中断”替代“空闲中断”的机制,并正确配置DMA触发源为串口接收事件,而非超时中断本身。文章详细解析了配置要点、工作流程,并提供了避坑指南和双缓冲区等高级调试技巧,帮助开发者顺利过渡。

bb456的博客 764

DMA实战指南:从原理到代码配置,彻底掌握直接内存访问

本文深入解析DMA(直接内存访问)技术原理与实战配置,涵盖DMA工作机制、核心参数设置及STM32中的通道分配策略。通过详细的代码示例,指导开发者高效配置DMA实现外设与内存间数据传输,显著降低CPU占用并提升系统性能,适用于嵌入式开发与实时数据处理场景。

joy55的博客 133
上一篇: ADC实现模拟看门狗
下一篇: DMA 工作模式和reload说明
APTCHIP
博客等级 码龄3年 25粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值