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:若发送数据在上升沿,则接收数据在下降沿,反之
模式CPOLCPHASCL 空闲电平主设备更新数据(MOSI)主设备采样数据(MISO)从设备采样数据(MOSI)从设备更新数据(MISO)000低电平下降沿上升沿上升沿下降沿101低电平上升沿下降沿下降沿上升沿210高电平上升沿下降沿下降沿上升沿311高电平下降沿上升沿上升沿下降沿3. 多从机模式
3.1 多CS模式 :每个从机都需要一根单独的CS线
3.2 菊花链(环形)拓扑:
- 菊花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;
- 另一方面,距离主机越远的从机,获得服务的优先级越低,数据的转发次数越多,所以需要安排好从机的优先级
4.优缺点:
4.1 优点:
- 全双工串行通信
- 通信速率高
- 配置简单
- 硬件结构简单,从机使用主机时钟
4.2 缺点
- 通常只支持一个主机
- 需要更多的引脚
- 没有物理层的错误检测协议
- 没有硬件从机应答信号
- 通信距离短(片上通信)
5.参考链接
SPI协议详解(图文并茂+超详细) - 知乎
图片来源:B站up主 铁头山羊
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |