SPI的 CLK_POL和CLK_PHA

时间:2023-02-19 16:09:18

1.模式0(CPOL=0,CPHA=0)

模式0特性:

CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿

CPHA = 0:数据在第1个跳变沿(上升沿)采样

 SPI的 CLK_POL和CLK_PHA

2.模式1(CPOL=0,CPHA=1)

模式1特性:

CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿

CPHA = 1:数据在第2个跳变沿(下降沿)采样

SPI的 CLK_POL和CLK_PHA

3.模式2(CPOL=1,CPHA=0)

CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿

CPHA = 0:数据在第1个跳变沿(下降沿)采样

 SPI的 CLK_POL和CLK_PHA

4.模式3(CPOL=1,CPHA=1)

CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿

CPHA = 1:数据在第2个跳变沿(上升沿)采样

SPI的 CLK_POL和CLK_PHA

 

总结

1. CS拉低后开始传输, 但是CLK_POL需要在CS拉低前出于空闲状态

2. 数据中CLK前半周期先写入要发送的数据,  数据中CLK前半周期的电平状态是 = CLK_POL ^ CLK_PHA

3. 后半周期结束后才读入要读取的数据, 如下:

SPI的 CLK_POL和CLK_PHA