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。
图中 CS、 SCLK 对于主设备 SPI 为输出; spi_tx 为输出, spi_rx 为输入。
图1
图2
图3
图4