时钟极性
指的是时钟信号在空闲状态下的电平,可以取0或1两种状态。
在SPI通信中,主设备通过时钟信号来控制从设备的数据传输,时钟信号在传输开始前需要有一个确定的起始状态,时钟极性就是用来指定这个起始状态的电平状态。
时钟相位
指的是数据采样的时机,可以取边沿采样或中心采样两种方式。
在SPI通信中,主设备通过时钟信号来控制从设备的数据传输,数据的传输是在时钟信号的上升或下降沿进行采样的。时钟相位用来指定采样数据的时机,它与时钟极性一起决定了数据采样的方式。
struct spi_device中,
168 #define SPI_CPHA 0x01 /* clock phase / 若采用了这个宏,时钟上升沿采样,下降沿发送
169 #define SPI_CPOL 0x02 / clock polarity / 若采用了这个宏,时钟状态空闲时为高电平
170 #define SPI_MODE_0 (0|0) / (original MicroWire) */
171 #define SPI_MODE_1 (0|SPI_CPHA)
172 #define SPI_MODE_2 (SPI_CPOL|0)
173 #define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
模式0表示时钟空闲状态为低电平,数据在时钟的下降沿采样,上升沿发送。
模式1表示时钟空闲状态为低电平,数据在时钟的上升沿采样,下降沿发送。
模式2表示时钟空闲状态为高电平,数据在时钟的下降沿采样,上升沿发送。
模式3表示时钟空闲状态为高电平,数据在时钟的上升沿采样,下降沿发送。