STM32 SPI学习

SPI

串行外设设备接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线。

在这里插入图片描述
SCK时钟信号由主机发出。
SPI接口主要应用在存储芯片。
在这里插入图片描述
在这里插入图片描述

  1. SPI相关引脚:MOSI(输出数据线)、MISO(输入数据线)、SCK(时钟)、NSS(片选)。
  2. 数据发送和接收:与缓冲区、移位寄存器以及引脚相关。
  3. 时钟信号:SPI时钟信号通过SPI_CR1寄存器配置。
  4. 主控制逻辑:涉及两个控制寄存器SPI_CR1/2用于配置SPI工作,SPI_SR用于查看工作状态。

使用软件管理NSS,硬件上的NSS引脚就可以另做他用,通过SSM、SSI来控制电平。主机NSS拉高,从机NSS低电平有效。

SPI外设对应的引脚

STM32芯片有多个SPI外设,每个SPI外设输出的信号会到不同的GPIO口。
STM32F1有三个SPI。
在这里插入图片描述
SPI属于边沿协议,IIC属于电平协议。
主机只向从机进行写操作,可以忽略接收到的从机数据。
主要要对从机进行读操作,需要发送一个空数据引发从机发送数据。

SPI工作模式

时钟极性(CPOL)没有数据传输时,时钟线的空闲状态电平。

  • 0:SCK在空闲状态保持低电平
  • 1:SCK在空闲状态保持高电平

时钟相位(CPHA)时钟线在第几个时钟边沿采样数据。

  • 0:SCK的第一边沿(奇数)进行数据位采样,数据在第一个时钟边沿锁存。
  • 1:SCK的第二边沿(偶数)进行数据位采样,数据在第二个时钟边沿锁存。

在这里插入图片描述

SPI相关寄存器

在这里插入图片描述
SPI_CR1
在这里插入图片描述
在这里插入图片描述
SPI_SR
在这里插入图片描述
在这里插入图片描述
SPI_DR
在这里插入图片描述

SPI相关HAL库驱动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NOR FLASH

FLASH是常用的用于存储数据的半导体器件,它具有容量大,可重复擦写,按“扇区/块”擦写,掉电后数据可继续保存的特性。

FLASH只能写0,不能写1,写1靠擦除。

FLASH主要有NOR Flash和NAND Flash两种类型,NOR和NAND是两种数字门电路。

在这里插入图片描述
在这里插入图片描述

NM25Q128

NM25Q128,串行闪存器件,属于NOR FLASH只的一种,容量为128Mb。擦写周期可达10W次,可以将数据保存达20年之久。

猜你喜欢

转载自blog.csdn.net/Caramel_biscuit/article/details/131974849