草庐IT

STM32实战总结:HAL之DMA

什么是DMA?“DMA”是DirectMemoryAccess的缩写。不使用CPU,而是通过总线直接进行外围功能(模拟功能、通信功能等)和存储器间(闪存、ROM、RAM)的数据传输的功能。通常,数据传输由CPU执行,而在装有DMA的微型计算机中,DMA代表CPU传输数据。因此,CPU只需要算术/逻辑运算等CPU才能完成的工作就可以了。其结果是,通过安装DMA,可以综合提高微型计算机的性能。DMA的最大优势是通过硬件直接传输数据,从而实现高速、大容量的数据传输。您可以在内存和外围功能中自由选择传输源和传输目的地(但受微型计算机的限制)。但是,由于只有一条总线和CPU分开使用,所以需要调整总线的使

基于xilinx的axi-fifo的应用

作为一个有一定工作经验(划水好多年)的FPGA工程师,很多模块都已经学习过或者使用过,但是如果让我重新实现,感觉又是一脸懵。因此,这是我发文档的原因。对于自己来说,这是一个总结归纳的过程,对读者,可能是一次解惑。后期,将会逐渐分享DDR/ETH/SERDES/PCIe/SPI/FFT/FIR等等应用、调试经历。2022.8.4@gz如果有疑惑的地方,可以站内信->共同探讨!概述在FPGA的开发过程中,FIFO几乎是所有工程中都会使用的一个存储器IP。在很多场合,例如数据的跨时域处理,流水线命令等,可以说是最佳选择。普通的FIFO(native),不管是在altera/xilinx/lattic

AXI学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、AXI中关于非对齐问题理解        AXI协议支持地址非对齐的传输,允许突发传输的首字节地址,即起始地址与突发传输位宽不对齐。举个例子,总线位宽为32bit时,如果起始地址为0x1002,则产生了非对齐现象。与16bit位宽总线对齐的地址需要能被2整除;与32bit位宽总线对齐的地址需要能被4整除;与64bit位宽总线对齐的地址需要能被8整除。如下图所示:(32位数据的对齐图) 对于非对齐传输,主机会进行两项操作:1.即使起始地址非对齐,也保证所有传输是对齐的。2.在首个transfer中增加填充数据,将首次传输填充至对

AXI协议容易忽视的细节

多处翻译官方文档IHI0022E_amba_axi_and_ace_protocol_spec.pdf基本的读写操作握手协议AXI具有5个独立的通道,每个通道都使用相同的VALID和READY的握手过程去传输地址、数据、控制信息等。双向握手带来的好处是主机和从机都可以控制传输的节奏。请求方的VALID信号的发出表示着地址、数据、控制信号的信息是有效的。应答方的READY信号的发出表示可以接收上述信号。仅仅当VALID信号和READY信号同时为高电平时,传输才正式发生在T1之后,准备好地址、数据、控制信号VALID,在T2被采样,T3时刻时采样READY信号,完成一次握手,在完成握手之前请求信号

AXI协议学习总结(二)

一、交易标识符ID AXI交易标识符ID,主机用这些ID来判别必须按顺序返回的交易。同一ID的交易必须按顺序返回,不同ID的交易可以乱序。AXI通过使用ID,主机可以不等待一笔交易完成就发起多笔交易。起到提升系统性能的作用,实现多笔交易的并行处理。从机需要返回合适的BID或者RID来响应主机的ID。二、AXI中的outstanding传输outstanding传输:也可以称为AXI超前传输,表示这次事务还没完成,可以先发起别的事务,即outstanding操作是不需要等待前一笔传输完成就可以发送下一笔操作在不考虑乱序和交织的情况下,AXI事务都是顺序完成的,这时多事务在传输上不需要其他信号来实

STM32F103采用DMA方式多路ADC采样

STM32F103采用DMA方式多路ADC采样文章目录STM32F103采用DMA方式多路ADC采样前言一、头文件adc.h二、初始化配置1.ADCGPIO配置2.开启ADC和DMA时钟3.多路ADCDMA采样配置三、软件滤波四、主函数调用1.初始化函数配置2.main函数调用总结前言stm32采用DMA方式进行ADC采样可以高效的进行数据采集,不用cpu实时参与,以节省单片机资源,让单片机可以在同一时间里干更多事,STM32F103ADC为12位ADC的,是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行

关于STM32用DMA传输UART空闲中断中接收的数据时无法接收数据问题以及解决办法

一、stm32cubeide配置1、DMA串口接收数据的ide配置如下图所示        串口1相关的设置及printf函数的使用,这里没放,建议先实现串口打印功能可以参考:使用STM32CUBEIDE配置STM32F7用DMA传输多通道ADC数据_stm32cubeide配置adc_一只小白啊的博客-CSDN博客2、相关的知识点        普通模式和循环模式的区别在于,普通模式下,DMA只会接收一次数据,接收完成后就会停止,需要接收时再开启;而循环模式下,DMA会一直接收数据,直到接收缓存区满或者手动停止。      根据自己需求定模式,如果是数据有间隔,空闲中断的这种情况下,处理一帧

AMBA协议AXI-Stream(协议信号、设计实践)

文章目录一、AXI-Stream简介二、AXI-Stream端口信号(Master)三、AXI-Stream数据字节类型和流格式四、数据反压五、实验设计5.1情景描述与分析5.2硬件架构设计5.3源码设计5.4仿真一、AXI-Stream简介  AXI-Stream(以下简称AXIS)是AMBA协议的AXI协议三个版本中(AXI4-FULL、AXI4-Lite、AXI4-Stream)最简单的一个协议;是AXI4中定义的面向数据流的协议,常用于对数据流的处理,如:摄像头高速ADXilinx的AXI-DMA模块  在进行SOC设计中需要高速数据传输处理的场合,常常使用AXIS协议;  AXIS与

STM32—DMA功能讲解串口发送

目录一、DMA基本介绍1、DMA的定义2、DMA数据传输二、DMA功能框图​编辑 1、DMA请求2、通道3、仲裁器三、DMA数据配置1、传输方向及地址2、传输数据大小及单位3、传输完成三、DMA初始化结构体详解1、DMA_InitTypeDef初始化结构体配置2、程序设计1、存储器到存储器2、存储器到外设3、问题总结一、DMA基本介绍1、DMA的定义  DMA(DirectMemoryAccess)—直接存储器存取,DMA控制器独立于内核,结构比较简单,是单片机的一个外设,它的主要功能是用来搬数据,但是不需要占用CPU,即在传输数据的时候,CPU可以干其他的事情,好像是多线程一样。数据传输支持

【AXI】解读AXI协议事务属性(Transaction Attributes)

芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球四社区联合力荐!近500篇数字IC精品文章收录!【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍解读AXI协议事务属性(TransactionAttributes)一、写在前面二、事务属性机制解读(TransactionAttributes)2.1Cache知识预览2.1.1Cache的功能2.1.2Cache的位置2.1.3Cache的行为2.1.3.1Cache的读行为2.1.3.2Cache的写行为2.