SPI是一种用于芯片通信的同步串行通信接口规范,同步数据总线,一根数据线一根时钟线
SPI定义
SPI总线包括4条逻辑线,定义如下
MISO:Master input slave output 主机输入从机输出
MOSI:Master output slave input 主机输出从机输入
SCLK:Serial Clock 穿行时钟信号,由主机产生发送给从机
SS:Slave Select 从机选择信号,通常低电平有效
不同的制造商会遵循其他的命名规则
MISO也可以是:SOMI,DOUT,DO,SDO或SO(在主机端)
MOSI也可以是:SIMO,DIN,DI,SD或SI(在主机端)
NSS也可以是:CE,CS或SSEL,(主机端可以有多个ss,用N+ss加以区分)
SCLK也可以是:SCK
SPI的模式
数据传输方式
大端传输模式
先传高位数据,再传输低位数据
0x53 01010011 传输顺序为 0101 0011
小端传输模式
先传低位数据,再传输高位数据
0x53 01010011 传输顺序为1100 1010
数据采样方式
一共有四种
SPI时钟极性为低电平,相位为第一边沿
SPI时钟极性为高电平,相位为第一边沿
SPI时钟极性为低电平,相位为第二边沿
SPI时钟极性为高电平,相位为第二边沿
什么意思呢?
SPI时钟极性为低电平,相位为第一边沿:时钟信号在空闲时是低电平,在第一个边沿采样数据信号。如果是第二个边沿,那就是在下降沿采样信号,因为极性为低时第一个边沿一定是上升沿,第二个边沿是下降沿。