- SPI接口相对简单(4根线),主要应用在EEPROM、FLASH、实时时钟、AD转换器、数字信号处理器与数字信号解码器之间
-
SPI中的时钟和相位指的是SCLK时钟的特性。
-
SPI的极性Polarity和相位Phase,常见写法CPOL和CPHA。其他写法:
-
(1)CKPOL(Clock Polarity) = CPOL = POL = Polarity = (时钟)极性
-
(2)CKPHA(Clock Phase) = CPHA = PHA = Phase = (时钟)相位
-
(3)SCK = SCLK = SPI的时钟
-
(4)Edge = 边沿,即时钟电平变化的时刻,即上升沿(rising edge)或者下降沿(falling edge)
- 对于一个时钟周期内,有两个edge,分别称为:
- (1)Leading edge=前一个边沿=第一个边沿,对于开始电压是1,那么1变成0的时候;对于开始电压是0,那么就是0变成1的时候。
- (2)Trailing edge=后一个沿=第二个边沿,对于开始电压是1,那么0变成1的时候;对于开始电压是0,那么就是1变成0的时候。
-
CPOL极性:
- SCLK时钟的空闲时刻:就是当SCLK在发送8个bit数据之前和之后的状态。与此对应SCLK在发送数据的时候,就是正常的工作的时候,有效active的时刻了。(Clock Polarity=IDLE state of SCK)
-
CPHA相位:
-
capture strobe = latch = read = sample,都表示数据采样,数据有效的时刻。相位,对应着数据采样实在第几个边沿,是第一个边沿还是第二个边沿,0对应着第一个边沿,1对应着第二个边沿。
-
对于:
-
CPHA=0,表示第一个边沿:
-
对于CPOL=0,idle的时候是低电平,第一个边沿就是从低变高,所以是上升沿;
-
对于CPOL=1,idle的时候是高电平,第一个边沿就是从高变低,所以是下降沿;
-
CPHA=1,表示第二个边沿:
-
对于CPOL=0,idle的时候是低电平,第二个边沿就是从高变到低,所以是下降沿;
-
对于CPOL=1,idle的时候是高电平,第二个边沿就是从低变到高,所以是上升沿;
-
- 如何判断CPOL和CPHA
- (1)如何判断CPOL:SCLK的空闲时候的电压,是0还是1,决定了CPOL是0还是1;
- (2)如何判断CPHA:而数据采样时刻对应着的SCLK的电平,是第一个边沿还是第二个边沿,对应着CPHA为0还是1。
- 4种SPI模式:
-
MSB: (Most Significant Bit)最高有效位。在二进制数中,MSB是最高加权位。与十进制中最左边的一位类似。通常MSB位于二进制数的最左边。
-
LSB: (Least Significant Bit)最低有效位,LSB位于二进制数的最右边。
-
若MSB=1,则表示数据为负值,若MSB=0,则数据为正。