SPI协议

SPI协议是一个 4 线、全双工的、同步串口协议。根据串口时钟SCLK的相位SCPH和极性SCPOL的不同,有 4 种组合。

1、在主设备处于不使能或者空闲的状态下,主设备输出的从设备选择信号CS保持高电平。

2、时钟极性SCPOL参数决定串口时钟SCLK 在无效的状态下是高电平还是低电平:

      (1)SCPOL=0,串口时钟(sclk)在无效的状态下保持低电平。

      (2)SCPOL=1,串口时钟( sclk)在无效的状态下保持高电平。


3、时钟相位SCPH参数决定在第几个时钟变化边沿开始采样数据:

     (1) SCPH=0时在第一个时钟变化沿开始发送数据。

     (2) SCPH=1时在第二个时钟变化沿采样输入数据。

4、SPI 协议时序图

图 1 是 模式0。
图 2 是 模式1。
图 3 是 模式2。
图 4 是 模式3。

SPI协议
图中 CS、 SCLK 对于主设备 SPI 为输出; spi_tx 为输出, spi_rx 为输入。

SPI协议

                                                            图1

SPI协议

                                                            图2

SPI协议

                                                             图3

SPI协议

                                                     图4