草庐IT

【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输)

【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输)SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI主从模式SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时

【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输)

【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输)SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI主从模式SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时

AXI VIP使用方法记录

AXIVIP使用前言一、开发环境二、使用步骤1.新建BlockDesign,添加VIP2.添加AXIBRAMController3.添加BlockMemoryGeneratorIP4.BlockDesign设计5.地址分配6.生成顶层文件7.添加仿真文件7.仿真结果三、总结前言AXIVIP常用于仿真AXI接口。AXIVerificationIP用于AXI4、AXI4_Lite接口,AXI4-StreamVerificationIP用于仿真AXIStream接口。本次记录使用AXIVIP仿真BRAM读写;一、开发环境软件环境:VAVIDO2020.1硬件:XC7A100T-FGG676二、使用步

STM32使用SPI+DMA(标准库)

DMADMA原理DMA通道资源分配SPI+DMA配置主函数编写如下DMA原理1.CPU配置好DMA。2.SPI发出DMA请求。(在DMA_Mode_Normal模式下,该请求实际上需要CPU命令SPI发出请求)3.若该通道有多个请求,DMA控制器通过仲裁器判断,根据配置的优先级,选择先回应该通道高优先级的请求,再回应低优先级的请求。(此过程不需要CPU参与)4.DMA控制器回应请求后,自动根据配置,进行数据传输。(此过程不需要CPU参与)DMA请求CPU释放总线,当DMA传输完成后,DMA归还总线给CPUDMA通道资源分配DMA1通道 DMA2通道SPI+DMA配置既然使用的是SPI+DMA,

带你快速入门AXI4总线--汇总篇

🚨前言        本文是对系列文章《带你快速入门AXI4总线》的整理。        主要介绍了3个AXI4协议,分析了在Xilinx提供的IP核官方例程的源码中是如何使用AXI4接口的,并举例使用AXI4接口来使用xilinx提供的数个IP核。📖P1AXI4-Full协议篇        AXI4-Full协议是Arm公司定义的的握手交互式协议,现在被Xilinx广泛地应用在SoC和FPGA芯片的各个IP上。        AXI4-Full是地址映射的,且支持突发传输。⚡第1篇:带你快速入门AXI4总线--AXI4-Full篇(1)----AXI4-Full总线        简介:对

Xilinx HLS基础介绍(二)—— AXI4接口类型定义

本期主题:HLS的接口类型定义往期链接:XilinxHLS基础介绍(一)——HLS概念以及接口管理目录1.VitisHLSAXI4接口概述2.顶层函数的实参类型与接口关系2.1寄存器接口S_AXILITE2.2存储器接口m_axi2.3串流接口axi4_stream1.axi4_stream的工作原理2.axis的结构体1.VitisHLSAXI4接口概述IP可通过VitisHLS来生成,IP需要与其他模块通信,一般来说有两种方式:1.软件控制:通过寄存器的方式,通过在ARM处理器上运行应用程序,这些程序来访问操作寄存器,从而实现操作IP的目的;2.自同步:这种模式下,IP将公开所有信号,这些

Xilinx HLS基础介绍(二)—— AXI4接口类型定义

本期主题:HLS的接口类型定义往期链接:XilinxHLS基础介绍(一)——HLS概念以及接口管理目录1.VitisHLSAXI4接口概述2.顶层函数的实参类型与接口关系2.1寄存器接口S_AXILITE2.2存储器接口m_axi2.3串流接口axi4_stream1.axi4_stream的工作原理2.axis的结构体1.VitisHLSAXI4接口概述IP可通过VitisHLS来生成,IP需要与其他模块通信,一般来说有两种方式:1.软件控制:通过寄存器的方式,通过在ARM处理器上运行应用程序,这些程序来访问操作寄存器,从而实现操作IP的目的;2.自同步:这种模式下,IP将公开所有信号,这些

MicroBlaze系列教程(5):AXI_UART16550的使用

文章目录@[toc]AXI_UART16550简介MicroBlaze硬件配置常用函数使用示例参考资料工程下载本文是XilinxMicroBlaze系列教程的第5篇文章。AXI_UART16550简介axi-uart16550是Xilinx的一款串口IP核,支持配置成16450或16550模式,16550和16450是指的早期电脑主板上的串口芯片型号,16550相比于16450多了FIFO,现在已经很少使用。相比于axi-uartlite,16550支持1或2位停止位,包括uartlite所有的功能,而且支持在SDK中灵活对波特率、数据、校验方式进行配置。与uartlite不同的是,不能单独指

DMA循环模式ringbuf缓冲区搭建

一、为什么需要        最简单的串口数据处理机制是数据接收并原样回发的机制是:成功接收到一个数,触发进入中断,在中断函数中将数据读取出来,然后立即。这一种数据处理机制是“非缓冲中断方式”,虽然这种数据处理方式不消耗时间,但是这种数据处理方式严重的缺点是:数据无缓冲区,如果先前接收的的数据如果尚未发送完成(处理完成),然后串口又接收到新的数据,新接收的数据就会把尚未处理的数据覆盖,从而导致“数据丢包”。 对于“数据丢包”,最简单的办法就是使用一个数组来接收数据:每接收一个数据,数组下标偏移。虽然这样的做法能起到一定的“缓冲效果”,但是数组的空间得不到很好的利用,已处理的数据仍然会占据原有的

STM32CubeMX配置ADC采样(轮询、中断、DMA)

STM32CubeMX能够极大减小STM32外设配置的工作量,因此作者也借助空闲时间对STM32CubeMX相关配置进行了学习,本文介绍如何利用STM32CubeMX配置ADC采样,记录了作者学习过程中遇到的问题及解决办法,使大家少走弯路,并方便以后复习目录1、单通道轮询2、单通道中断3、单通道DMA4、多通道轮询5、多通道中断6、多通道DMA1、单通道轮询先选择所使用的MCU,这里我使用的是STM32F407ZGT系列修改一下DEBUG功能,否则后续无法调试修改时钟,采用外部晶振配置一串口,用于打印采集的ADC值这里我采用ADC1的通道0,并开启连续采样模式,否则每次开启ADC采样后只进行一