跳到主要内容

第六课:SPI通信 - 高速数据传输

📌 学习目标​

  1. 理解什么是 SPI 协议
  2. 了解 SPI 的硬件连接
  3. 理解 SPI 与 I2C 的区别
  4. 学会使用 SPI 设备

🎯 什么是 SPI?​

SPI = Serial Peripheral Interface = 串行外设接口

形象的比喻​

想象一个会议室:

  • 主机 = 主持人
  • 从机 = 参会者(可以多个)
  • MOSI = 主持人说的话
  • MISO = 参会者的回答
  • SCLK = 会议节奏
  • CS = 点名:叫到谁,谁才说话

🔌 SPI 的硬件连接​

需要 4 条线:

线名全称功能
SCLKSerial Clock时钟线
MOSIMaster Out Slave In主机输出,从机输入
MISOMaster In Slave Out主机输入,从机输出
CSChip Select片选(选择要通信的设备)

连接示意图​

单片机          SD卡          OLED屏
│ │ │
├─ SCLK ──────┼─ SCLK ─────┤
├─ MOSI ──────┼─ MOSI ─────┤
├─ MISO ──────┼─ MISO ─────┤
├─ CS1 ──────┤ │
└─ CS2 ────────────────────┤

📊 SPI 与 I2C 对比​

特性I2CSPI
所需线数2条4条
设备地址有(7位/10位)无(用CS)
速度较慢(通常400kHz)较快(可达几MHz)
通信方式半双工全双工
多设备共用地址每个设备独立CS
复杂度稍复杂简单

🎯 什么时候用 SPI?​

适合用 SPI 的场景:​

  1. 需要高速传输:比如读取大量数据
  2. SD卡/W25Q存储:高速读写
  3. 显示屏:快速刷新屏幕

适合用 I2C 的场景:​

  1. 节省引脚:引脚不够用
  2. 很多传感器:温度、湿度、光线等
  3. 低速设备:不需要很高的速度

🔧 JoyKit 中的 SPI 设备​

JoyKit 上常用的 SPI 设备:

设备用途
W25Q32Flash存储器(存储数据、图片)
4.3寸LCD主屏幕显示
OLED辅助显示屏

🔬 课堂演示:比较 I2C 和 SPI​

演示目标​

感受 I2C 和 SPI 的不同特点。

对比项I2C传感器SPI屏幕
线数少多
速度慢快
用途读数据写显示

💡 记忆口诀​

协议特点
I2C线少、有地址、适合传感器
SPI线多、速度快、适合屏幕

🎉 小结​

今天我们学到了:

  • ✅ SPI 是串行外设接口
  • ✅ 需要 4 条线:SCLK、MOSI、MISO、CS
  • ✅ SPI 速度比 I2C 快
  • ✅ I2C 适合传感器,SPI 适合屏幕/存储
  • ✅ JoyKit 有多个 SPI 设备

下一课将是综合实战项目,把前面学的都用起来!