SPI硬件接口
SPI协议使用3条总线以及片选线。3条总线分别是SCK、MOSI、MISO,片选线为SS(NSS、CS)
SPI基础属性
主从模式:主机模式,从机模式
通讯频率:不定,根据设备速率确定
数据位数:4位、7位,8位,9位,16位
SPI数据采集模式
采集模式介绍
模式总共有四种,由时钟极性(CPOL)与时钟相位(CPHA)决定,四种模式如下:
Mode 0 CPOL=0, CPHA=0
Mode 1 CPOL=0, CPHA=1
Mode 2 CPOL=1, CPHA=0
Mode 3 CPOL=1, CPHA=1
时钟极性(CPOL)决定SCLK信号在没有数据传输的时候的电平状态。
CPOL=0:空闲状态时,SCLK保持低电平
CPOL=1:空闲状态时,SCLK保持高电平
时钟相位(CPHA)决定数据位传输是从第一个SCLK边沿开始采集,还是从二个SCLK边沿开始采集。
CPHA=0:数据从第一个SLCK边沿开始采集
CPHA=1:数据从第二个SLCK边沿开始采集
模式0时序图
CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿
CPHA = 0:数据在第1个跳变沿(上升沿)采样
模式1时序图
CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿
CPHA = 1:数据在第2个跳变沿(下降沿)采样
模式2时序图
CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿
CPHA = 0:数据在第1个跳变沿(下降沿)采样
模式3时序图
CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿
CPHA = 1:数据在第2个跳变沿(上升沿)采样
SPI传输模式
高位先行(MSB):高位先行即在传输一个字节的时候先传输高位。
低位先行(LSB):低位先行即在传输一个字节的时候先传输低位。