一、 SPI介绍
SPI通信特点简单来说就是:它支持主从设备通信,可以双向传输数据,有专门的片选信号来选择设备,还能通过时钟控制数据传输,允许数据传输暂停,且主设备控制整个通信过程。
二、SPI的硬件连接
SPI总线定义两个以及两个以上设备间的数据传输,提供时钟的设备为主设备(Master),接受时钟的设备为从设备(Slave)。下图为单个Master个单个Slaver的SPI连接
1. SS:Slave Select 片选信号
2. SCK: Serial Clock 串行时钟
3. MOSI:Master Output,Slaver Input 主发从收信号
4. MISO:Master Input,Slaver Output 主收从发信号
三、四种工作模式
- CPOL:时钟极性,0表示时钟信号初始状态为低电平,1表示时钟信号初始状态为高电平。
- CPHA:时钟相位,0表示在首个时钟变化沿采样数据,1表示在第二个时钟变化沿采样数据。SPI协议用CPOL和CPHA真值表来选择不同的模式
模式 | CPOL | CPHA | 时钟极性 | 采样时刻 |
Mode0 | 0 | 0 | 低电平 | 上升沿 |
Mode1 | 0 | 1 | 低电平 | 下降沿 |
Mode2 | 1 | 0 | 高电平 | 上升沿 |
Mode3 | 1 | 1 | 高电平 | 上升沿 |
1.模式0(CPOL=0,CPHA=0)
模式0特性:
CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿
CPHA = 0:数据在第1个跳变沿(上升沿)采样
2.模式1(CPOL=0,CPHA=1)
模式1特性:
CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿
CPHA = 1:数据在第2个跳变沿(下降沿)采样
3.模式2(CPOL=1,CPHA=0)
CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿
CPHA = 0:数据在第1个跳变沿(下降沿)采样
4.模式3(CPOL=1,CPHA=1)
CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿
CPHA = 1:数据在第2个跳变沿(上升沿)采样
注:部分内容来自网络资料查找,并非原创哦~