SPI 总线详细解析关键字:SPI串行通讯主从时钟一.SPI 总线简介串行外围设备接口 SPI(serialperipheralinterface)总线技术是 Motorola公司推出的一种同步串行接口。SPI 用于 CPU与各种外围器件进行全双工、同步串行通讯。它只需四条线就可以完成 MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线 CS。当 SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。即完成一个字节数据传输的实质是两个器件寄存器内容的交换。主 SPI的时钟信号(SCK)使传输同步。其典型系统框图如下图所示。二.SPI 总线主要特点·全双工;·可以当作主机或从机工作;·提供频率可编程时钟;·发送结束中断标志;·写冲突保护;.总线竞争保护等。三.SPI 总线工作方式SPI总线有四种工作方式,其中使用的最为广泛的是 SPI0和 SPI3方式(实线表示):四种工作方式时序分别为:时序详解:CPOL:时钟极性选择,为0时SPI总线空闲为低电平,为1时SPI总线空闲为高电平CPHA:时钟相位选择,为0时在SCK第一个跳变沿采样,为1时在SCK第二个跳变沿采样工作方式1:当CPHA=0、CPOL=0时SPI总线工作在方式1。MISO引脚上的数据在第一个SPSCK沿跳变之前已经上线了,而为了保证正确传输,MOSI引脚的 MSB位必须与 SPSCK的第一个边沿同步,在SPI传输过程中,首先将数据上线,然后在同步时钟信号的上升沿时,SPI的接收方捕捉位信号,在时钟信号的一个周期结束时(下降沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。工作方式2:当CPHA=0、CPOL=1时SPI总线工作在方式2。与前者唯一不同之处只是在同步时钟信号的下降沿时捕捉位信号,上升沿时下一位数据上线。工作方式3:当CPHA=1、CPOL=0时SPI总线工作在方式3。MISO引脚和 MOSI引脚上的数据的 MSB位必须与 SPSCK的第一个边沿同步,在SPI传输过程中,在同步时钟信号周期开始时(上升沿)数据上线,然后在同步时钟信号的下降沿时,SPI的接收方捕捉位信号,在时钟信号的一个周期结束时(上升沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。工作方式4:当CPHA=1、CPOL=1时SPI总线工作在方式4。与前者唯一不同之处只是在同...