【STM32】SPI回顾

一、定义

SPI是Motorola首先提出的全双工四线同步串行外围接口,采用主从模式(Master-Slave)架构。

二、单机与多机通信

4线SPI器件有四个信号:时钟(SPI CLK, SCLK)、主机输出从机输入(MOSI)、主机输入从机输出(MISO)、片选(CS/NSS)。

在MOSI、MISO和SPI主从机内部的数据寄存器构成一个数据串行传输的环路,在时钟SCLK的控制下实现数据的环形传输。

2.2 多机通信

三、工作模式

SPI总线有四种工作方式,其中使用的最为广泛的是模式0和模式3方式。

CPOL(Clock Polarity):时钟极性选择

  • CPOL=0 SPI总线空闲时(片选引脚为高电平),时钟线为低电平 ;
  • CPOL=1 SPI总线空闲时(片选引脚为高电平),时钟线为高电平。

CPHA(Clock Phase):时钟相位选择

  • CPHA=0 在SCLK第一个跳变沿,主机对MISO引脚电平采样;主机的数据发送则在第二个跳变沿。
  • CPHA=1 在SCLK第二个跳变沿,主机对MISO引脚电平采样。主机的数据发送则在第一个跳变沿。

汇总

  • CPHA=0、CPOL=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿(准备数据),(发送数据)数据发送是在下降沿。
  • CPHA=0、CPOL=1:此时空闲态时,SCLK处于高电平,数据采集是在第1个边沿,即SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿
  • CPHA=1、CPOL=0:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,即SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。
  • CPHA=1、CPOL=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,即SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。





关于跳变沿

  • 模式3中的第一跳变沿告诉从机可以读取MOSI引脚电平;第二跳变沿主机可以可靠读取MISO引脚电平。
  • 在项目开发当中,用的比较多是模式0(2.4G无线传输模块:NRF24L01;RFID模块:RC522)和模式3(SPI FLASH:W25Q128)。
相关推荐
yongui478342 分钟前
基于 STM32F103ZET6 的循轨避障蓝牙小车
stm32·单片机·嵌入式硬件
kebidaixu6 分钟前
FreeRTOS 移植到 STM32F407VETX 记录(五)
stm32·单片机·嵌入式硬件
listhi52022 分钟前
基于单片机的步进电机控制系统
单片机·嵌入式硬件
灯琰134 分钟前
STM32L051K6U6 IAP要点记录-LL库
stm32·单片机·嵌入式硬件
MAR-Sky1 小时前
stc8h系列单片机使用中断号超过32的插件解决办法
单片机·嵌入式硬件
kebidaixu1 小时前
FreeRTOS 移植到 STM32F407VETX 记录(四)
stm32
结城明日奈是我老婆2 小时前
基于stm32f103c8t6最小系统板俩块版通讯
stm32·单片机·嵌入式硬件
weixin_456808382 小时前
【沁恒蓝牙开发】从机判断主机是否使能CCCD
单片机·嵌入式硬件
深圳英康仕2 小时前
一款面向AGV智能搬运机器人的RK3588工控机的数据资料整理
嵌入式硬件·rk3588·工控机·agv·智能搬运机器人