Kaelthas

SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外设接口。广泛用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。区分它与I2C协议差异以及FLASH存储器与EEPROM存储器的区别。下面我们分别对SPI协议的物理层及协议层进行讲解。

物理层

SS低电平工作(工作启动线)

SCK时钟线(公用时钟线)

MISO:master input slave output(数据传输线1)

MOSI:master output slave input(数据传输线2)

image-20230411154420396

协议层

SPI协议定义了通讯的起始和停止信号、数据有效性、时钟同步等环节。

image-20230411154440459

标号1处,NSS信号线由高变低,是SPI通讯的起始信号。从机开始工作。

标号6处,NSS信号由低变高,是SPI通讯的停止信号,表示本次通讯结束,从机的选中状态被取消。

CPOL/CPHA时钟作用模式

CPOL是限定SCK的工作模式,CPOL=0上升沿采样;CPOL=1下降沿采样。

CPHA也是限定SCK工作模式,CPHA=0奇数边沿采样,CPHA=1偶数边沿采样。

image-20230411154515273

模式0和3比较常用。

image-20230411154531363

23.2.1 SPI特征

  • 3线全双工同步传输

  • 带或不带第三根双向数据线的双线单工同步传输

  • 8或16位传输帧格式选择

  • 主或从操作

  • 支持多主模式

  • 8个主模式波特率预分频系数(最大为fPcux/2)从模式频率(最大为fPcLx/2)

  • 主模式和从模式的快速通信

  • 主模式和从模式下均可以由软件或硬件进行NSS管理:主/从操作模式的动态改变可编程的时钟极性和相位

  • 可编程的数据顺序,MSB在前或LSB在前可触发中断的专用发送和接收标志

  • SPI总线忙状态标志

  • 支持可靠通信的硬件CRC

  • 一在发送模式下,CRC值可以被作为最后一个字节发送

  • 一在全双工模式中对接收到的最后一个字节自动进行CRC校验可触发中断的主模式故障、过载以及CRC错误标志
    支持DMA功能的1字节发送和接收缓冲器:产生发送和接受请求

SPI_FLASH器件

image-20230411154604452

例程

CubeMX配置

image-20230411154625435

相关文章:

  • 2022-12-23
猜你喜欢
  • 2021-12-28
相关资源
相似解决方案