1、SPI总线简介
SPI是一种高速、全双工、同步的串行外围设备接口,相对IIC总线而言没有确认(应答)机制,数据可靠性上有一定缺陷。
1.1、SPI物理层
- SCK :时钟信号线,用于同步 通信数据
- MOSI :主机输出引脚(从机输入)
- MISO :主机输入引脚(从机输出)
- \CS :片选引脚
SPI总线可实现一主机多从机的通信方式,示意图如下:
1.2、SPI通信方式
SPI的通信方式是有CPOL(时钟极性)、CPHA(时钟相位)来决定的,具体可分为以下四种模式:
模式0 | CPOL=0,CPHA=0 |
模式1 | CPOL=0,CPHA=1 |
模式2 | CPOL=1,CPHA=0 |
模式3 | CPOL=1,CPHA=1 |
CPOL(时钟极性)=0 ,串行同步时钟空闲时为低电平
CPOL(时钟极性)=1 ,串行同步时钟空闲时为高电平
CPHA(时钟相位)=0 ,串行同步时钟的第一个跳变沿采集数据,如下图:奇数边沿数据采样,偶数边沿数据更新。
CPHA(时钟相位)=1 ,串行同步时钟的第二个跳变沿采集数据。如下图:偶数边沿数据采样,奇数边沿数据更新。