SPI数据传输
SPI的通信比较简单,一个时钟传输一位数据(主机 -> 从机,或者从机 -> 主机)。
SPI时钟 理论上SPI的时钟频率可以做到很大,一般几MHz~几百MHz,拿常见的W25Q16来说,SPI最高支持80MHz。
SPI通信速率要结合实际情况,不能超过主机或从机支持的最大时钟频率。
SPI数据 SPI的数据分两个方向: MOSI:主机 -> 从机 MISO:从机 -> 主机
SPI通信有一个“缺点”:没有指定的流控制,没有应答机制确认是否接收到数据。
可以理解为:不知道是什么时候主机发给从机,什么时候从机发给主机,到底该发多少字节数据等。
此时,需要通信的主机和从机达成约定,一般由主机进行控制读写的操作。
比如下面这个读写SPI Flash数据的操作: 前面1字节是指令,紧接着再3字节(24位)地址,都是由主机发送给从机。之后,主机读取数据(由从机发送出来)。
|