本人初次接触AXI接口,在了解了AXI接口读写时序后,计划使用AXI接口对BRAM进行读写,并进行仿真测试,AXI接口有三种类型:AXI4、AXI-lite、AXI-stream,我一开始成功对AXI4进行了读写测试,在了解读写时序后这是很简单的,但是在对AXI-lite进行读写测试时,本以为读写时序与AXI4一致,并且端口数量大大减少,实验应该会很快做完,但却出现了下图所示情况: 图中即使使awvalid信号一直为高,awready信号却迟迟无法拉高,这与AXI4仿真时情况不符,之后再一次偶然打包AXI接口的ip时,发现了原因,如下图所示: 此处展示的是模拟
在项目中使用了xilinx的7系FPGA芯片xc7k325t-2ffg900,配置模式采用主串方式,开发环境采用ise14.7,故在原理设计阶段,spiflash芯片选用了华邦电子华邦电子的W25Q128FVSIG。在产品装配阶段,华邦电子的W25Q128FVSIG芯片渠道受限,进行原位替换,经过阅读比较同容量spiflash的器件手册,最终确定了两款国产spiflash用于原位替换。利用复旦微电子的FM25Q128A作为flash,生成bit时,选择数据位宽1,下载flash时,选择N25Q128;利用博雅科技的BY25Q128ASSIG作为flash,生成bit时,选择数据位宽1,下载fl
目录OLED介绍取字模程序main.coled.coled.hspi2.cspi2.holedfont.h效果源码模拟SPI控制方式OLED介绍OLED主要参数1、高分辨率:12864(和12864LCD相同分辨率,但该OLED屏的单位面积像素点多)。2、广可视角度:大于160°。3、低功耗:正常显示时0.04W。4、宽供电范围:直流3.3V-5V。5、工业级:工作温度范围-30°℃~70°℃。6、体积小:28.8mm28.5mm。7、通信方式:lIC、SPI。8、亮度、对比度可以通过程序指令控制。9、OLED屏幕内部驱动芯片:SSD1306。6针OLED如下图所示引脚定义分别为引脚定义GND
FPGA的spiflash配置-配置模式理解起因现在在做的FPGA工程是基于以前的工程,其中flash配置啊什么的都没有进行过修改,之前是采用的spix1的模式,现在新的数字版改为了spix4的模式,所以我就认为需要修改xdc约束文件。但是在xdc文件中搜索相关引脚,发现并没有对其做任何约束和定义,所以考虑应该是FPGA固有的一些配置引脚,不需要单独定义和约束。下图是vivado中官方提供的spix4的配置电路图1spix4配置模式电路逻辑代码配置模式观察图1,经过查阅官方文档,在该电路中,M0、M1、M2这3个引脚是逻辑代码配置模式选择管脚。在该模式中,M2,M1,M0为001,对应的模式为
文章目录@[toc]CAN总线概述AXI_CAN简介MicroBlaze硬件配置常用函数使用示例波形实测参考资料工程下载本文是XilinxMicroBlaze系列教程的第8篇文章。CAN总线概述**CAN(ControllerAreaNetwork)**是ISO国际标准化的串行通信协议,是由德国博世(BOSCH)公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。CAN总线有两个ISO国际标准:ISO11519和ISO11898。ISO11519定义了通信速率为10~125Kbps的低速CAN通信标准,属于开环总线,传输速率为40Kbps时,总线长度可达1000米;ISO11898定义
目录一、SPI是什么二、SPI物理架构三、SPI工作原理四、SPI工作模式五、SPI相关寄存器介绍六、SPI用到的结构体与函数1.结构体2.函数七、W25Q128芯片1.W25Q128介绍2.W25Q128存储架构3.W25Q128常用指令4.W25Q128状态寄存器5.W25Q128常见操作流程八、实验(使用SPI通讯读写W25Q128模块)1.接线2.配置3.代码1.main.c文件2.w25q128.c文件(向工程添加w25q128.c文件)3.w25q128.h文件(向工程添加w25q128.h文件)4.spi.c文件编写5.spi.h文件编写九、STM32工程添加.c和.h文件一、S
目的:测试STM32H7系列芯片的SPI读写速度。测试环境:使用STM32H743,逻辑分析仪,cubeIDE;测试方法:使用了3种方法:软件IO模拟SPI,软件控制CS+MCU的SPI模块,完全使用SPI模块;结论:STM32SPI读写速度评估:软件IO模拟SPI,systemclock100M的情况下,1个读/写周期(3byte),大约90-120uS;软件IO控制CS,systemclock100M的情况下,1个读/写周期(3byte),大约25-35uS;硬件模块SPI,SPI波特率4M的情况下,1个读/写周期(3byte),大约15-20uS;测试过程:1.软件IO模拟实现SPI2.
文章目录一、SPI主机配置二、SPI从机配置三、双机通信1轮询+中断(低速)2轮询+DMA(低速)3DMA+DMA(高速)4开启CRC校验(自选)四、遇到的问题1高速使用时,程序卡死,或者数据出错(已解决)2数据莫名其妙乱码,主机发送正常,接收乱码等最近要用到STM32的SPI从机模式,从其他板子读SPI数据过来,踩了2天坑,记录一下过程。(因为hal库提供了三种函数,我调试的过程是阻塞、中断、DMA依次来调试学习的,这份代码为使用DMA方式的代码。)软件:keil5、STM32CubeMX硬件:两块STM32F103C8T6最小系统实现功能:两块板子进行SPI通信,一主一从,都是使用的SPI
一、前言最近笔者在做项目的时候需要使用zynq中的AXI4-HP总线在PL端读取DDR中的数据这种功能,但是网上很多历程对于这方面只是创建了一个官方提供的IP核用于测试,并且每次写入和读取的长度为4K字节。所以为了满足我自己的项目需求,笔者将官方提供的测试IP核上做修改,主要实现一下功能:1、上升沿使能读取数据。2、读使能后,IP核需要从基地址开始,突发读取X次(X数量可控)3、内置一个同步FIFO将读出的数据暂存在FIFO中。二、IP核修改过程第一步:创建一个官方提供的带AXI4的IP核。可得到两个文件。(创建过程略,网上有很多教程)其中AXI4_v1_0.v是IP核的顶层文件,AXI4读写
【FPGA实现SPI发送】——详解Verilog代码实现在FPGA开发中,SPI(SerialPeripheralInterface)通信协议是常用的一种,它可以实现单片机与外围设备的连接与数据传输。本文将详细讲解如何通过Verilog代码实现FPGA上的SPI发送功能。SPI总线为主从结构,其中一个设备为主控器,其他设备均为从设备,主控器通过时钟信号控制通信过程。SPI通信协议有四根信号线:SCK时钟信号、MOSI主机发送数据信号、MISO从机接收数据信号、SS片选信号。FPGA与外部设备通信一般作为主控器。以下是Verilog代码的实现过程:moduleSPI_master(inputcl