SPI接口是Serial Peripheral Interface的简称,是串行通讯接口的一种,很多外设都使用SPI接口,如,Flash、液晶屏等等。SPI传输数据快,我司目前使用的SPI接口速率基本都在10M(CLK速率)左右。SPI能够全双工通讯,即发送数据的过程中也能接收数据。
SPI至少需要4根线,即,CS、MOSI、MISO、CLK
CS:外设片选信号,至少有一个,一般情况下是低电平选中,操作哪个芯外设,哪个CS输出有效电平,其它CS为无效电平。
MOSI:Master Output Slave Input ,主机输出数据,从机输入数据。
MISO:Master Input Slave Output, 主机输入数据,从机输出数据。
CLK:时钟线,时钟上升沿或者下降沿时数据有效。
SPI能够实现一主对多从,但是同一时刻只能选择一个从设备访问,因为数据线和时钟是共用的,以下图片描述了主机与从机的连接关系。
以下图片显示了SPI的四种模式,注意:首先传输字节低位。
CPOL=0:Clock线空闲时为低电平
CPOL=1:Clock线空闲时为高电平
CPHA=0:第一个时钟沿传输第一位
CPHA=1:第二个时钟沿传输第一位
Mode0:CPOL=0,CPHA=0
Clock线空闲时为低电平,第一个时钟沿传输第一位,这里是上升沿。
Mode1:CPOL=0,CPHA=1
Clock线空闲时为低电平,第二个时钟沿传输第一位,这里是下降沿。
Mode2:CPOL=1,CPHA=0
Clock线空闲时为高电平,第一个时钟沿传输第一位,这里是下降沿。
Mode3:CPOL=1,CPHA=1
Clock线空闲时为高电平,第二个时钟沿传输第一位,这里是上升沿。
文字描述感觉有点乱,其实就是四种排列组合,不用刻意去死背硬记,理解就好,每个芯片都会有时序图,使用时看图即可。
联系客服