SPI通信

SPI(Serial Peripheral Interface,串行外设接口)

  • ⭐核心思想:主设备控制时钟,同步收发数据,适用于主控和外挂芯片之间的通信

  • 特性:

    • 同步通信:通信双方按照同一个“时钟”进行数据传输
    • 全双工通信:双方可以同时发送和接收数据
    类型 能力
    单工 单向
    半双工 双向但不能同时
    全双工 双向同时
    • 一个主机可以控制多个从机

SPI 的4根线

线名 全称 作用
SCLK Serial Clock 时钟
MOSI Master Out Slave In 主发从收
MISO Master In Slave Out 主收从发
CS/SS Chip Select 片选
  • SCLK:由主机产生,发送给从机;
  • MOSI:主机 → 从机
  • MISO:从机 → 主机
  • CS:主机发送,控制与哪个从机通信,一般低电平有效
    CS = 0:表示该从机被选中,可以通信
    CS = 1:表示该从机未被选中

SPI通信流程

  • 1、选择设备
    主机:CS ↓,即选中从设备
  • 2、产生时钟
    主机开始输出:SCLK
  • 3、发送命令
    主机通过 MOSI:发送相应的命令
  • 4、数据交换
    同时:
    MOSI → 发数据
    MISO ← 收数据
  • 5、结束通信
    CS ↑,通信结束

SPI四种工作模式

在SPI通信中,时钟极性(CPOL) + 时钟相位(CPHA)定义了主从设备之间如何同步数据。

CPOL:总线空闲时,时钟信号(SCK)的电平是高还是低。

CPOL = 0:空闲时为低电平
CPOL = 1:空闲时为高电平

CPHA:指数据采样(读取)是在时钟的第1个边沿还是第2个边沿。

CPHA = 0:在时钟的第一个边沿采样数据(发送端则在此时输出数据)
CPHA = 1:在时钟的第二个边沿采样数据。

由此,四种模式如下:

模式 CPOL CPHA 示意图
Mode0 0 0 image
Mode1 0 1 image
Mode2 1 0 image
Mode3 1 1 image
posted @ 2026-02-27 22:44  Vaeeeeeee  阅读(0)  评论(0)    收藏  举报