【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)。
相关推荐
茉莉玫瑰花茶21 小时前
Windows 平台下的 UDP 客户端
stm32·单片机·嵌入式硬件
磨十三1 天前
U-Boot
arm开发·嵌入式硬件
笔夏1 天前
【移芯平台CAT1模组】烧写固件
stm32·单片机·学习
十月的皮皮1 天前
STM32从零到量产开发:四路继电器工业控制模块开发— 继电器模块bsp_di.h与 bsp_di.c文件
c语言·stm32·stm32cubemx·hal库
无垠的广袤1 天前
【RA-Eco-RA4M2开发板】步进电机的串口控制和 LabVIEW 数据采集
单片机·嵌入式硬件·labview
茯苓gao1 天前
嵌入式开发笔记:QSerialPort 完整使用指南——从基础 API 到工程实战
笔记·嵌入式硬件·qt·学习
wuyk5551 天前
67.嵌入式C语言进阶:结构体指针实战指南——STM32外设、传感器数据访问的高效技巧
c语言·开发语言·stm32·单片机
Mr+范1 天前
单片机 ADC 电压与电流检测及电阻选型指南
单片机·嵌入式硬件
西城微科方案开发1 天前
LCD智能婴儿秤方案
单片机·嵌入式硬件
三佛科技-134163842121 天前
灭蚊灯MCU方案开发,FT60E112-RB作为灭蚊灯主控芯片优势
单片机·嵌入式硬件·物联网·智能家居·pcb工艺