SPI 和 IIC 接口一样是非常常见的开发板接口,但与 IIC 相比,SPI设计了一种二进制流的交互方式 ,拥有更快的传输速度,它可以在任何两个嵌入式设备之间交换消息,ELF 1 开发板也是通过SPI接口连接了六轴加速度传感器,下面就由小编带各位小伙伴详细了解一下 SPI 接口。
六轴加速度传感器使用 SPI 总线进行设置与数据传输。SPI 的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少 4 根线,事实上 3 根也可以(单向传输时)。也是所有基于 SPI 的设备共有的,它们是 MOSI(主出从入)、MISO(主入从出)、SCLK(时钟)、CS(片选)。时钟信号只由主设备控制,用于时钟同步。在一主多从模式下,每个从设备都有一条独立的 CS 信号线,如果要和特定的从机进行通讯,可以将相应的 CS(下图使用 NSS 表示)信号线拉低。SPI 接口为收发双全工串行方式传输,收发同步,主设备发出一位给从设备时,从设备也发出一位给主设备。一主多从情况如下图:
SPI 具有 4 种工作方式,时钟极性(CPOL)和相位(CPHA)共同决定读取数据的方式,比如信号上升沿读取数据还是信号下降沿读取数据,并且一个片选信号可以设置一种模式。
SPI 的工作方式如以下列表:
SPI总线的4种模式
SPI时序图如下图:
CPOL 用来决定 SCLK 空闲时的电平:
CPOL=0,空闲时为低电平;CPOL=1,空闲时为高电平;
CPHA 用来决定采样时刻:
CPHA=0,每个周期的第一个时钟沿采样;CPHA=1,每个周期的第二个时钟沿采样。
关于SPI接口就简单介绍到这里,希望能对屏幕前的小伙伴有所帮助。
全部0条评论
快来发表一下你的评论吧 !