SPI和IIC接口一样是一种非常常见的开发板接口,但与IIC相比,SPI设计了二进制流交互模式,传输速度更快,可以在任意两个嵌入式设备之间交换消息,ELF 1开发板也通过SPI接口连接到一个六轴加速度计。
六轴加速度计使用 SPI 总线进行设置和数据传输。 SPI的通信原理非常简单,它以主从模式工作,这种模式通常有一个主从机和一个或多个从机,并且至少需要4根线,实际上也可以使用3根(单向传输时)。 它也是所有基于SPI的器件的通用器件,它们是MOSI(主从输入)、MISO(主从输出)、SCLK(时钟)、CS(片选)。 时钟信号仅由主器件控制,用于时钟同步。 在主多从模式下,每个从机都有一条独立的CS信号线,如果要与特定的从机通信,可以将相应的CS(下图中的NSS)信号线拉低。 SPI接口正在收发双全工作串行传输,当主设备向从设备发送一个比特时,从设备也会向主设备发送一个比特。 一个主站和多个从站的情况如下图所示:
SPI具有4 种工作方式时钟极性 (CPOL) 和相位 (CPHA) 共同决定如何读取数据,例如是读取信号的上升沿还是下降沿,并且可以为片选信号设置模式。
SPI的工作原理如下:
spi总线模式
SPI时序图如下所示
CPOL 用于确定 SCLK 空闲的级别:
cpol=0,空闲时为低电平;cpol=1,空闲时为高电平;
CPHA用于确定采样时间:
cpha=0,对每个周期的第一个时钟边沿进行采样;CPA=1,则对每个周期的第二个时钟边沿进行采样。
关于SPI接口这里简单介绍一下,希望能对屏幕前的朋友们有所帮助。