文章目录
SPI协议的简介
SPI是一种通信协议,串行外围设备的接口是一种高速的全双工的通信总线,广泛应用在一些外设与mcu需要高速传输数据的场合。
全双工的意思:同时发送和接收如spi
半双工:通信的时候只能发送或者通信,不可同时进行,如iic
spi物理层的简介
野火的图解
一个主机可以挂载多个从机,也是一种通信总线,同一个通信总线可以挂载多个设备,挂载多少个也没有限制
SS:从设备选择信号线,防止干扰并选中某个设备。
SCK:时钟信号线,用于通信数据同步
MOSI:主设备输出,从设备输入
MISO:主设备输入,从设备输出
SPI协议层
时钟极性:当nss即为ss在高电平时(空闲状态),如果cpol(时钟极性为1)sck为高电平,如果时钟极性为0,sck为低电平
时钟相位(CPHA):数据的采样时刻,如果CPHA=0时,数据线上的信号将会在SCK时钟线的“奇数边沿”采样,如果CPHA=1,将会在SCK时钟线的“偶数边沿采样”,是以奇数偶数来判断,而不是以上升沿或者下降沿来判断。
SPI模式 | 时钟极性(CPOL) | 时钟相位(CPOL) | 空闲时SCK时钟 | 采样奇偶 | 采样时刻 |
---|---|---|---|---|---|
0 | 0 | 0 | 低 | 奇数采样 | 上升沿采样 |
1 | 0 | 1 | 低 | 偶数采样 | 下降沿采样 |
2 | 1 | 0 | 高 | 奇数采样 | 下降沿采样 |
3 | 1 | 1 | 高 | 偶数采样 | 上升沿采样 |
注意SPI模式的设置从机要和主机一样的模式