SPl(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线
1.
四根通信线:SCK(SerialClock)串行时钟线【提供时钟信号】、MOSl(Master Output SlaveInput)主机输出从机输入、MISO(MasterInput Slave Output)主机输入从机输出、SS(Slave Select)从机选择
2.
同步,全双工
3.
支持总线挂载多设备(一主多从)
所有SPI设备的SCK、MOSI、MISO分别连在一起主机另外引出多条SS控制线,分别接到各从机的SS引脚输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入
最左边的是主机,一般都是控制器,例如stm32,下面这些从机1.2.3就是一些从设备了,比如oled,通信模块 传感器等等。因为是单端信号,所以所有设备都需要共地。
SPI的基本收发电路都是使用了这样一个模型
,具体移动方法就是左边的1通过mosi移动到从机的最低位,右边的0通过miso移动到主机的最低位。
然后就是4模式
模式0
cpol=0
cpha=0
模式1
cpol=0
cpha=1
模式2
cpol=1
cpha=0
模式3
cpol=1
cpha=1