一、SPI协议介绍
SCK:提供时钟
DO:作为数据输出
DI:作为数据输入
CS0/CS1:作为片选
那么数据是怎么传输的呢?
二、SPI模式
1、时序图
CPOL (Clock Polarity)clk初始状态
CPHA(Clock Phase) clk的相位
MSB( Most Significant Bit)最高位
LSB:(Least Significant Bit)最低位
查看S3C2440芯片手册,P501,传输格式,下面讲解下图片怎么看:
CPOL = 0, CPHA = 0 (Format A)
CPOL = 0表示初始是低电平,如图下图画红线:
CPHA = 0表示在第一个时钟沿采样数据。如图画红线所示,在上升沿采样数据:
CPHA = 1表示在第二个时钟沿采样数据。如图画红线所示,在下降沿采样数据:
2、模式
SPI Mode | CPOL | CPHA |
---|---|---|
0: CLK空闲时为低电平,CLK上升沿采样数据。 | 0 | 0 |
1:CLK空闲为低电平,CLK下降沿采样数据。 | 0 | 1 |
2: CLK空闲时为高电平,CLK下降沿采样数据。 | 1 | 0 |
3: CLK空闲时为高电平,CLK上升沿采样数据。 | 1 | 1 |
常用0和3模式,模式0和模式3都是在上升沿采样数据。
那么,我们外接的设备是使用SPI的哪种模式呢?
这就要去看外接设备的芯片手册。
CPOL可以是高电平也可以是低电平,但是要上升沿采样数据的:P19