一、SPI总线工作模式

SPI总线有四种工作模式,是由时钟极性选择(CPOL)和时钟相位选择(CPHA)决定的。

CPOL = 0 ,SPI总线空闲为低电平,CPOL = 1, SPI总线空闲为高电平。

CPHA = 0, 在SCK第一个跳变沿采样,CPHA = 1, 在SCK第二个跳变沿采样。

工作模式1:CPHA = 0 CPOL = 0

当CPHA=0、CPOL=0时SPI 总线工作在方式1。MISO 引脚上的数据在第一个SPSCK 沿跳变之前已经上线

了,而为了保证正确传输,MOSI 引脚的MSB 位必须与SPSCK 的第一个边沿同步,在SPI 传输过程中,首

先将数据上线,然后在同步时钟信号的上升沿时,SPI 的接收方捕捉位信号,在时钟信号的一个周期结束

时(下降沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。

工作模式2:CPHA = 0 CPOL = 1

当CPHA=0、CPOL=1时SPI 总线工作在方式2。与前者唯一不同之处只是在同步时钟信号的下降沿时捕捉

位信号,上升沿时下一位数据上线。

工作模式3:CPHA = 1 CPOL = 0

当CPHA=1、CPOL=0时SPI 总线工作在方式3。MISO 引脚和MOSI 引脚上的数据的MSB 位必须与SPSCK

的第一个边沿同步,在SPI 传输过程中,在同步时钟信号周期开始时(上升沿)数据上线,然后在同步时钟

信号的下降沿时,SPI 的接收方捕捉位信号,在时钟信号的一个周期结束时(上升沿),下一位数据信号上线,

再重复上述过程,直到一个字节的8位信号传输结束。

工作模式4:CPHA = 1 CPOL = 1

当CPHA=1、CPOL=1时SPI 总线工作在方式4。与前者唯一不同之处只是在同步时钟信号的上升沿时捕捉

位信号,下降沿时下一位数据上线。

二、参考文档

https://blog.csdn.net/o0o0o0D/article/details/52904574
https://blog.csdn.net/qq_29344757/article/details/76855350