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

CPOL = 0:SCL空闲状态为低电平
CPOL = 1:SCL空闲状态为高电平
示例:(如下图)

CPHA= 0:在时钟信号SCK的第一个跳变沿采样
CPHA = 1:在时钟信号SCK的第二个跳变沿采样
示例:(如下图)


tip:若发送数据在上升沿,则接收数据在下降沿,反之
模式 | CPOL | CPHA | SCL 空闲电平 | 主设备更新数据(MOSI) | 主设备采样数据(MISO) | 从设备采样数据(MOSI) | 从设备更新数据(MISO) |
|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 低电平 | 下降沿 | 上升沿 | 上升沿 | 下降沿 |
1 | 0 | 1 | 低电平 | 上升沿 | 下降沿 | 下降沿 | 上升沿 |
2 | 1 | 0 | 高电平 | 上升沿 | 下降沿 | 下降沿 | 上升沿 |
3 | 1 | 1 | 高电平 | 下降沿 | 上升沿 | 上升沿 | 下降沿 |
菊花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;
另一方面,距离主机越远的从机,获得服务的优先级越低,所以需要安排好从机的优先级,并且设置总线检测器,如果某个从机超时,则对该从机进行短路,防止单个从机损坏造成整个链路崩溃的情况;
全双工串行通信
通信速率高
配置简单
硬件结构简单,从机使用主机时钟
通常只支持一个主机
需要更多的引脚
没有物理层的错误检测协议
没有硬件从机应答信号
通信距离短(片上通信)