-
前言
上一篇SPI通信协议_01,是在找工作时写的,当时还是个学生,一直不理解为什么要学SPI通信协议,网上现成的代码不是一大堆吗?不过为了面试,我还是将SPI通信协议背的滚瓜烂熟,也成功过了面试。最近有机会在工作的时候,接触到spi通信相关的芯片驱动,在这里以自己理解的角度再次解释SPI通信协议,顺便解释为什么要学SPI通信协议。 -
关键点
1.时钟产生是由MASTER产生的,这就表明SPI通信的波特率由MASTER决定,无论Send/Receive都需要MASTER发出时钟信号,有时钟必有收和发。
2.SPI的时钟通信模式,一般根据从机配置的模式配置主机。
3.Receive和Send分开的FIFO应用方式。
4.示波器波形分析。 -
时钟
1.在SPI通信的过程中,会经常多一些字节(常见的有0xff),这些0xff是为了给Slave发过来的数据提供时钟。
例如:以SST25VF020B外置Flash为例子(波特率为10Mhz,时钟都快变形了),黄线是时钟,蓝线是MOSI,粉线是片选,这里是Read 4 Byte的时序图。
/send Read CMD/
左侧放大(黄线是时钟,蓝线是MOSI,粉线是片选)发送0x03读命令