一、SPI简介
SPI(Serial PeripheralInterface)是串行外设接口的缩写,SPI是一种高度的、全双工、同步的串行通信总线。采用主从方式工作,一般有一个主设备和一个或多个从设备。SPI至少需要四根线,MISO(主设备输入,从设备输出),MOSI(主设备输出从设备输入),SCLK(时钟),CS(片选)。
二、通信过程
SPI总线在进行数据传输时,先传送高位,在传送低位,传输完成后无需应答;SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据线上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据的传输,八个时钟周期即可完成一个字节数据的传送。
三、极性和相位
SPI总线有四种不同的工作模式,取决于极性(CPOL)和相位(CPHL),整两个因素
CPOL表示SCLK空闲时的状态
CPOL = 0 ,空闲时SCLK为低电平
CPOL = 1,空闲时SCLK为高电平
CPHL表示采样时刻
CPHL = 0,每个周期的第一个时钟沿采样,上升沿接数据,下降沿发数据
CPHL = 1,每个时钟的第二个时钟沿采样,上升沿发数据,下降沿接数据
设备在出厂的时候已经确定工作模式