跳转至

01 SPI

作者:马亚丹 | 最后修改:2026-01-30

一、概述

SPI( Serial Peripheral Interface,串行外设接口):是一种同步串行通信协议,主要用于嵌入式系统中,微控制器与各外设之间的短距离高速通信。

SPI 的通信是主从架构,即一主多从,其协议层面没有总线仲裁、冲突检测等机制,所以 SPI 系统不适合存在多个主设备,只能有一个主机。标准的 SPI 有四根信号线:

  • SCLK(Serial Clock):时钟线,由主设备唯一控制,决定数据传输的节奏。
  • MOSI(Master Output, Slave Input):主线输出 / 从线输入,主设备通过此线向从设备发送数据。
  • MISO(Master Input, Slave Output):主线输入 / 从线输出,从设备通过此线向主设备返回数据。
  • CS(Chip Select ,又称 SS:Slave Select):从设备选择线(低电平有效),主设备通过拉低某从设备的 CS 脚,指定与哪个从设备通信(同一总线上可接多个从设备,需独立 CS)。同一时间只能有一个从设备的 CS 被拉低,对总设备来说 CS 只能是输入状态。

SPI 总线的通信速率范围很广,常见的速率为 1MHz,5MHz,10MHz,20MHz,合宙 Air8101 通用 SPI 接口可取值:400KHz~31MHz,具体取值请参考 spi-API-4.1 和 4.6 章节波特率取值范围。

SPI 的优点包括简单的硬件连接、高速数据传输和全双工通信。其缺点是通常需要更多的引脚,尤其是在多个从设备的情况下,每个从设备需要一个独立的 SS 引脚。此外,SPI 没有标准化的协议层,因此设备间的兼容性需要仔细管理。

Air8101 支持主机模式, 作为主控外挂 4G 模组(如 Air780EPM)时,可作为 SPI 从机使用。

二、使用教程

SPI 典型使用案例是挂载 SPI 接口的 nor flash / nand flash / rc522.

1.挂载 nor flash

详细功能演示、软件环境、硬件环境、以及示例代码和功能展示请参考

AirSPINORFLASH_1000

2.挂载 nand flash

详细功能演示、软件环境、硬件环境、以及示例代码和功能展示请参考

AirSPINAND_1000

3.挂载rc522

详细功能演示、软件环境、硬件环境、以及示例代码和功能展示请参考

AirRC522_1000

4.参考 API

spi-API