3.1.SPI原理

目录

SPI硬件连接

时序分析


SPI硬件连接

3.1.SPI原理_第1张图片

对于一个主控芯片,其一般都会有一个SPI控制器,其上有三条线,SCK,DO,DI分别可以输出时钟脉冲,发送数据,以及接收数据。对于连接在同一个SPI控制器上的SPI设备,主要的一个点是不能相互影响,这就用到了片选引脚(CS0,CS1),片选引脚可以选中对应的SPI设备,在同一时间只有一个片选引脚有效。这个引脚需要自己在通用IO中定义。其中低电平表示被选中,高电平表示不被选中。

时序分析

假设现在主控芯片传输一个0x56数据到SPIflash,时序图如下:

3.1.SPI原理_第2张图片

可以看到,CS0拉低表示选中SPIFLASH作为SPI控制器操作的SPI设备,而SCK与DO可以看到,在每一个时钟脉冲周期,都有一个数据传入,进而引出两个问题:

SCK的初始电平是高还是低?

DO的数据是在下降沿写入,还是在上升沿写入?

这里又引入一个概念:SPI控制器中的两个寄存器CPOL(极性寄存器)与CPHA(相位寄存器)。

3.1.SPI原理_第3张图片

 简单来讲就是当CPOL为0时SCK初始电平为低电平,CPOL为1时SCK初始电平为高电平。当CPHA为0时将在第一个边沿采样数据,CPHA为1时将在第二个边沿采样数据。

你可能感兴趣的:(嵌入式硬件,单片机)