1

SPI简介

SPI是串行外设接口的缩写,SPI是一种高速的,全双工,同步的串行通信总线;SPI采用主从方式工作,一般有一个主设备或多个从设备;SPI需要至少4根线,MISO(主设备输入从设备输出)、MOSI(主设备输出从设备输入)、SCLK(时钟)、CS(片选),SPI使用的引脚较少,通讯方便。

寻址方式

主设备和某个从设备进行通讯时,主设备需要先向从设备的片选线上发送使能信号(高电平或者低电平,根据从机而定)表示选中该从设备。
image.png

通讯过程

SPI总线在进行数据传送时,先传送高位,后传送低位;数据线为高电平表示逻辑“1”,低电平表示逻辑“0”,一个字节传送完成后无需应答,即可开始下一字节的传送;SPI总线采用同步工作方式,时钟线在上升沿或者下降沿时发送器向数据线上发送数据,再紧接着的下降沿或者上升沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期可完成一个字节数据的传送。
MSB最高位 LSB最低位
image.png

极性和相位

SPI总线有四种不同的工作模式,取决于极性(CPOL)和相位(CPHL)
CPOL表示SCLK空闲时的状态
CPOL=0;空闲时SCLK为低电平
CPOL=1;空闲时SCLK为高电平
CPHA表示采样时刻
CPHA=0;每个周期的第一个时钟沿采样
CPHA=1;每个周期的第二个时钟沿采样
image.png

四种情况

image.png
image.png
image.png
image.png
极性为0的时候,空闲时为低电平;极性为1的时候,空闲时为高电平;
相位为0的时候,上升沿发数据,下降沿读数据;相位为1的时候,下降沿发数据,上升沿读数据

极性和相位

需要说明的是,一个特定的从设备来说,一般再出厂时就会将其设计为某种特定的工作模式,我们再使用设备时就必须保证主设备的工作模式和该从设备的设备保持一致,否则是无法进行通讯,一般我们需要对主设备的CPOL和CPHA进行配置。

IIC与SPI的异同

image.png


YingLi
6 声望4 粉丝

From zero to hero.