SPI总线协议
SPI总线协议
0. 概述
-
数据线:
SCL :同步时钟线,用于控制时序,可通过CPOL设置极性
MOSI :主机发送-从机接收 数据线
MISO :主机接收-从机发送 数据线
CS/NSS:片选信号线,低电平有效,但是每个从设备都想要一根CS线,占用引脚多 -
支持全双工通信
-
高速片上通信协议:
支持MHz级速率(取决于设备)波特率 = SCK 时钟频率
1. 四个参数
1. LSB/MSB: 大端小端选择
示例:(如下图)

2. 8-bit/16bit: 字长选择
3. 时钟极性(CPOL):
-
CPOL = 0:SCL空闲状态为低电平
-
CPOL = 1:SCL空闲状态为高电平
示例:(如下图)
![]()
4. 时钟相位(CPHA):
-
CPHA= 0:在时钟信号SCK的第一个跳变沿采样
-
CPHA = 1:在时钟信号SCK的第二个跳变沿采样
示例:(如下图)


2. 四种时钟模式
- tip:若发送数据在上升沿,则接收数据在下降沿,反之
| 模式 | CPOL | CPHA | SCL 空闲电平 | 主设备更新数据(MOSI) | 主设备采样数据(MISO) | 从设备采样数据(MOSI) | 从设备更新数据(MISO) |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 低电平 | 下降沿 | 上升沿 | 上升沿 | 下降沿 |
| 1 | 0 | 1 | 低电平 | 上升沿 | 下降沿 | 下降沿 | 上升沿 |
| 2 | 1 | 0 | 高电平 | 上升沿 | 下降沿 | 下降沿 | 上升沿 |
| 3 | 1 | 1 | 高电平 | 下降沿 | 上升沿 | 上升沿 | 下降沿 |
3. 多从机模式
3.1 多CS模式 :每个从机都需要一根单独的CS线
3.2 菊花链(环形)拓扑:
- 菊花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;
- 另一方面,距离主机越远的从机,获得服务的优先级越低,数据的转发次数越多,所以需要安排好从机的优先级
4.优缺点:
4.1 优点:
- 全双工串行通信
- 通信速率高
- 配置简单
- 硬件结构简单,从机使用主机时钟
4.2 缺点
- 通常只支持一个主机
- 需要更多的引脚
- 没有物理层的错误检测协议
- 没有硬件从机应答信号
- 通信距离短(片上通信)
5.参考链接
图片来源:B站up主 铁头山羊


浙公网安备 33010602011771号