逐渐深入的了解SPI通信
什么是SPI通信?
SPI是一种全双工的、串行、高速、同步的通信总线,使用四根线实现。分别是SCL(时钟信号),MOSI(主机输出,从机输入),MISO(主机输入,从机输出),/SS(片选线,器件使能信号,由主机控制)
一主多从模式
SPI通信协议
NSS:由高电平变为了低电平,进行了设备的选择,SPI的起始通信信号
由低电平变为高电平,信息发送完成,SPI的结束信号
数据传输:MOSI和MISO是用来传输数据的,使用SCK进行信号同步,数据传输时在每一个时钟周期传输一位数据,并且数据输入和输出是同时进行的。,SPI每次可以传输8位或者16位的数据,每次传输的的单位数目不受限制
SPI的四种工作模式
首先要了解时钟极性和时钟相位
时钟极性(CPOL):表示空闲状态的电平
时钟相位(CPHA):设置采样时钟的边沿(奇数边沿和偶数边沿)
了解了这两个概念,接下来的SPI的模式就变的非常简单了
需要注意的是:主机要根据从机支持的模式进行配置
下面就是四种SPI模式的时许图:
这个就是所谓的奇数边沿的检测
时钟极性(CPOL=0)表示为SCLK = 0,为空闲状态,因此可以确定了有效的时钟为高电平
时钟极性(CPOL=1)表示为SCLK = 1,为空闲状态,因此可以确定了有效的时钟为低电平
这个就是所谓的偶数边沿的检测
其他情况类似
这样的话SPI的四种模式的时序图就变得简单易懂了,如果你不知道数据传出的时序的话,可以这样理解:在时钟信号发生高低电平转换的时候,数据的传输是不允许的,只有在SCLK在为非空闲状态的时候才可以进行数据的传输。
看到这里你对SPI的四种工作模式已经了解了,使用的应用的场景中,大展拳脚把!!!