概述

  • SPI 通信线: SCK(Serial Clock), MOSI(Master Output Slave Input), MISO(Master Input Slave Output), SS(Slave Select).
  • SPI 通信方式: 同步, 全双工.
  • 所有 SPI 设备的SCK, MOSI, MISO分别连在一起.
  • 主机另外引出多条 SS 控制线,分别接在各从机的 SS 引脚. SS线低电平有效.主机与其中一个从机通信,相应从机 SS 线为低电平.
  • 当从机的 SS 引脚为高电平, 其 MISO 引脚必须切换为高阻态.
  • 输出引脚配置为推挽输出, 输入引脚配置为浮空或上拉输入.
+ SPI连接
- **SDO**: 主设备数据输出,从设备数据输入.对应 MOSI. - **SDI**: 主设备数据输入,从设备数据输出.对应 MISO. - **SCK**: 时钟信号,由主设备产生. - **CS**: 从设备使能信号, 由主设备控制.

SPI 时序

  • SPI 起始条件: SS 从高电平切换到低电平.
  • SPI 终止条件: SS 从低电平切换到高电平.
  • SPI 总线有四种不同的工作模式,取决于极性(CPOL) 和 相位(CPHL) 这两个因素.
  • CPOL: 表示 SCK 空闲时的状态.
    • CPOL = 0, 空闲时 SCK 为低电平.
    • CPOL = 1, 空闲时 SCK 为高电平.
  • CPHA: 表示采样时刻.
    • CPHA = 0, 每个周期(SCK)的第一个时钟沿采样.上升沿发数据, 下降沿读数据
    • CPHA = 1, 每个周期(SCK)的第二个时钟沿采样.下降沿发数据, 上升沿读数据
+ SPI四种工作模式

视频链接

+ 视频