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线空闲时为高电平,第二个时钟沿传输第一位,这里是上升沿。 文字描述感觉有点乱,其实就是四种排列组合,不用刻意去死背硬记,理解就好,每个芯片都会有时序图,使用时看图即可。 |
|