草庐IT

STM32F103系列_OLED屏幕(SSD1306、SSD1315驱动)SPI驱动【DMA】(高刷)

STM32F103系列_OLED屏幕(SSD1306、SSD1315驱动)SPI驱动【DMA】(高刷)一、SSD1306和SSD1315二、电路原理图(SPI接法)三、STM32_SPI四、STM32_DMA五、代码OLED.cOLED.hOLED_Library.hDelay.h六、调用方法例:main.c七、该库函数的优缺点优点缺点一、SSD1306和SSD1315分辨率都是128*64,电压都在3.3V最佳,这两者可互相替代,但价格上SSD1315会比SSD1306便宜,毕竟用的人少。二、电路原理图(SPI接法)为了提高屏幕的刷新速度(帧率),SPI接法远远优于IIC接法。电路图如下:其

Aurora 8b/10b AXI4-ST回环测试

     Aurora8b/10b,官方提供了demo工程,但是数据生成模块、AuroraIP核、数据校验模块之间并不是直接使用AXI4-ST总线通信,本文会将demo工程进行相关优化修改,并将优化修改后的demo工程进行仿真、分析、说明:1IP核设置        例化Aurora8b10bIP核,lane的数据位宽选2字节,速率选1.25Gbps,GT参考时钟125MHz,INIT时钟和DRP时钟均选50MHz。    这里我们的开发板上有两个光口,仅使用1个光口(1条Lane)进行内部自环测试、以及两块A7开发板的回环测试;如果使用同一块开发板上的2个光口做回环测试,首先要确认使用光模块

AT32(五):硬件SPI——驱动LCD屏的一些尝试

总感觉之前的AT32F421板子/片子有点小毛病,出各种莫名其妙的BUG(实在找不出软件的问题,只能怀疑是硬件QAQ)。于是之后咕了很久,最近终于想继续折腾,拿AT32F435画了一块LCD驱动板,准备入坑LVGL。板上资源就一块某园的2.8存240x320带电阻膜的LCD屏、触摸IC用XPT2046,另外还画了一片W25Q64和CH340在上面,有空试试QSPI和ISP功能。 画板子的时候就在思考这个问题:XPT2046和LCD(ST7789)到底要不要共用1个SPI接口?之前画过一个小的实验板参照LCD厂家提供的手册上的画法,LCD和XPT2046共用一个SPI。其中有一个我不理解的地方,

SPI协议介绍

文章目录1-SPI协议介绍2-SPI总线传输模式3-SPI总线数据交换3-SPI与I2C对比1-SPI协议介绍SPI(SerialPeripheralInterface)是一种高速全双工同步串行通信协议,它由一个主设备(Master)和一个或多个从设备(Slave)组成,其中主设备启动与从设备的同步通信,从而完成数据的交换。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,一般需要4根线,事实上3根也可以。MISO(MasterInputSlaveOutput)/SDI(SerialDataInput)主设备数据输入,从设备数据输出。MOSI(MasterO

FPGA基于AXI 1G/2.5G Ethernet Subsystem实现千兆UDP通信 提供工程源码和技术支持

目录1、前言2、我这里已有的UDP方案3、详细设计方案传统UDP网络通信方案本方案详细设计说明UDP层设计AXIS-FIFOAXI1G/2.5GEthernetSubsystem:输出4、vivado工程详解5、上板调试验证并演示系统配置UDP数据回环测试注意事项6、福利:工程代码的获取1、前言目前网上的fpga实现udp基本生态如下:1:verilog编写的udp收发器,但不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,多机互联,出现了问题,你的网卡都不带ping功能,连基本的问题排查机制都不具备,这样的代码谁敢用?2:带pin

QSPI(QUAD SPI)基本信息

QSPI(QUADSPI)简介支持单条、两条、四条数据线连接QSPIFLASH。与SPI相比多了两个数据口,支持一个时钟周期内传输4个Bit的数据。支持交替字节阶段。特性2.1三种操作模式间接模式:使用QSPI寄存器执行全部操作。此模式下,所有数据传输通过数据寄存器和FIFO(32位)。如果进行擦除或编程操作,则必须使用该模式。状态轮询模式:周期性读取外部FLASH状态寄存器,而且标志位置1时会产生中断(如擦除或烧写完成,会产生中断)。内存映射模式:外部FLASH映射到微控制器地址空间,从而系统将其视作内部存储器。可以用于阅读操作、可以从外部QSPIFLASH执行代码。该模式最大支持256MB

单片机通信总述——理论部分(CAN、串口、SPI、I2C等)

一、基础概念1.1 通信方法并行通信:传输原理:数据各个位同时传输;优点:速度快; 缺点:占用引脚资源多。是指使用8、16、32及64根或更多的数据线(有多少信号为就需要多少信号位)进行传输的通讯方式,可以同一时刻传输多个数据位的数据。串行通信: 传输原理:数据按位顺序传输;优点:占用引脚资源少;  缺点:速度相对较慢。是指设备之间通过一根数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据。 1.2 通信方向单工: 数据传输只支持数据在一个方向上传输。信息只能单方向传输的工作方式,一个固定为发送设备,另一个固定为接收设备,发送端只能发送

Linux驱动开发:SPI子系统

1、SPI简介1.1四根线MISO:主设备数据输入,从设备数据输出。MOSI:主设备数据输出,从设备数据输入。SCLK:时钟信号,由主设备产生。CS:  从设备片选信号,由主设备控制。1.2四种模式CPOL(时钟极性):  0:时钟起始位低电平   1:时钟起始为高电平 CPHA(时钟相位):0:第一个时钟周期采样  1:第二个时钟周期采样1、CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。2、CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边

STM32与FPGA之间的SPI通讯

STM32与FPGA之间的SPI通讯SPI通讯协议SPI协议物理层协议层STM32的SPI特性及架构STM32的SPI架构SPI初始化结构体(STM32标准库)STM32实验代码FPGA从机代码编写实验结果SPI通讯协议SPI协议物理层SPI协议是一种高速全双工的通信总线。SPI设备之间的连接方式如图所示:SPI通讯使用3条总线及一个片选线,SCK为时钟信号线,MISO为主设备输入/从设备输出,MOSI为主设备输出/从设备输入。协议层下图就是SPI通讯的通讯时序:1)采样时刻,MISO与MOSI的数据才有效,高电平表示为“1”,低电平表示为“0”。2)通讯的起始信号:片选信号由高变低;SPI的

STM32与FPGA之间的SPI通讯

STM32与FPGA之间的SPI通讯SPI通讯协议SPI协议物理层协议层STM32的SPI特性及架构STM32的SPI架构SPI初始化结构体(STM32标准库)STM32实验代码FPGA从机代码编写实验结果SPI通讯协议SPI协议物理层SPI协议是一种高速全双工的通信总线。SPI设备之间的连接方式如图所示:SPI通讯使用3条总线及一个片选线,SCK为时钟信号线,MISO为主设备输入/从设备输出,MOSI为主设备输出/从设备输入。协议层下图就是SPI通讯的通讯时序:1)采样时刻,MISO与MOSI的数据才有效,高电平表示为“1”,低电平表示为“0”。2)通讯的起始信号:片选信号由高变低;SPI的