文章目录
介绍SPI
SPI由时钟线、主机发送线、主机接收线、从机选择线(一个或多个)组成,拥有高速的速率,使用比较简单,但是需要的线更多,更容易造成资源的浪费。
四根通讯线的命名在不同的地方可能会有差异,需要甄别。
硬件电路
主机与从机通信线对应,对于多从机发送时,为了避免冲突,当从机的SS高电平(未被选中时)设为高阻态,选中时配置为推挽输出
移位示意图
SPI的数据收发原理如下:波特率发生器产生一个上升沿,通过时钟线影响,主机与从机的移位寄存器都向左(高位)移位一位,然后把数据保存到对应的数据寄存器中,然后波特率产生下降沿,主机与从机的移位寄存器把数据寄存器的数据取出,依次8次完成一个字节的数据的交换。当想只发送或接收数据,就时另一个移位寄存器发送一个特定的字节当做没有内容即可。
SPI时序
开始与结束时序单元
数据交换期间ss都为低电平
交换字节时序单元
可以通过配置CPOL、CPHA来确定这个时序的模式。
MISO的中间高度的线表示高阻态。
模式0(最常用)
这里对比模式1来理解,时钟相位提前,第一个上升沿就要移入数据,所以在时钟线产生上升沿之前就要先移出一位数据,才能在第一个上升沿移入数据,因此在最后一个时钟线下降沿之后要提前把下一个字节的最高位放入,如果是最后一位也要放入一个特定的数据。
模式1
这个模式与上面移位示意图所讲的时序一致
模式2
对比与模式0颠倒了时钟线
模式3
对比与模式1颠倒了时钟线
发送时序
指定地址写
由于使用的W25Q64外设内存大,需要指定3个字节的地址
指定地址读
标签:字节,通信协议,模式,时序,SPI,详解,移位,时钟 From: https://blog.csdn.net/qq_53922901/article/details/137142038