SPI总线概述
SPI(Serial Peripheral interface),串行外围设备接口。是一种高速的,全双工,同步的通信总线。
- 优点
- 支持全双工通信
- 通信简单
- 数据传输速率快
- 缺点
没有指定的流控制,没有应答机制确认是否接收到数据,所以和IIC总线协议比较在数据可靠性上有一定的缺陷。
SPI总线特点
采用主-从模式(Master-Slave)的控制方式
SPI规定了两个SPI设备之间通信必须由主设备Mater来控制次设备Slave。一个Master设备可以通过提供时钟Clock和对Slave设备进行片选(Slave Select)来控制多个Slave设备,时钟Clock由主设备来控制,没有Clock,Slave设备不能工作。
采用同步方式(Synchronous)传输数据
Master设备会根据将要交换的数据来产生相对应的时钟脉冲(Clock Pulse),时钟脉冲组成了时钟信号(Clock Signal),时钟信号通过时钟极性(CPOL)和时钟相位(CPHA)控制着两个SPI设备间何时数据交换以及何时对接收到的数据进行采样,来保证数据在两个设备之间是同步传输的。
SPI的4种工作模式
- CPOL=0,CPHA=0,空闲时的SCK时钟=低,采样时钟=奇数次边沿
- CPOL=0,CPHA=1,空闲时的SCK时钟=低,采样时钟=偶数次边沿