特点
.常规四线通信方式
.一根片选线,一根时钟线,两根数据线:一根是主进从出线,一根主出从入线
.同步,全双工,通信方式
.和谁通信就将谁的片选线拉低,每增加一个spi设备就需要将多加入一根片选线
.通信速度:大于I2C,一般由器件决定,几乎都在Mhz以上。
协议
·开始信号:拉低片选线
·停止信号:拉高片选线
·传输数据时,并没规定是高位先行还是低位先行,但一般使用高位先行的方式
·时钟极性和相位决定如何采样
时钟极性(CPOL)指通讯设备处于空闲状态(SPI开始通讯前、nSS线无效)时,SCK的状态。
CPOL = 0:SCK在空闲时为低电平
CPOL = 1:SCK在空闲时为高电平
时钟相位(CPHA)指数据的采样时刻位于SCK的偶数边沿采样还是奇数边沿采样。
CPHA = 0:在SCK的奇数边沿采样(在第一个边沿前要移出数据)
CPHA = 1:在SCK的偶数边沿采样(第一个边沿移除一位数据)
stm32含有2组spi
以w25Q64为例子:
通信时都有自己的移位寄存器,用来发送数据
传输是双向传输同时进行
参考手册时序:CPOL决定空闲状态,CPHA决定采样采样边沿,0:第一个边沿采样,1:第二个边沿采样
spi中断控制寄存器
spi引脚配置
通信过程,每一个时钟交换一次数据,8个时钟交换双方的移位寄存器数据