SPI协议

SPI协议

物理层

SPI协议_第1张图片

信号线

SCK(Serial Clock):时钟线

MOSI(Master Output, Slave Input ):主设备输出,从设备输入

MISO(Master Input,, Slave Output):主设备输入,从设备输出

SSN(Slave Select ,N表示第N个设备):设备选择,每个设备单独使用这一条线

协议层

(起始/停止)信号

SSN=高->低=>起始信号

SSN=低->高=>停止信号

通信模式

SPI 使用 MOSI 及 MISO 信号线来传输数据,使用 SCK 信号线进行数据同步。 MOSI 及 MISO 数
据线在 SCK 的每个时钟周期传输一位数据,且数据输入输出是同时进行的。数据传输时, MSB
先行或 LSB 先行并没有作硬性规定,但要保证两个 SPI 通讯设备之间使用同样的协定,一般都
会采用图 SPI 通讯时序 中的 MSB 先行模式。
观察图中的标号处, MOSI 及 MISO 的数据在 SCK 的上升沿期间变化输出,在 SCK 的下降沿时
被采样。即在 SCK 的下降沿时刻, MOSI 及 MISO 的数据有效,高电平时表示数据“1”,为低电
平时表示数据“0”。在其它时刻,数据无效, MOSI 及 MISO 为下一次表示数据做准备。
SPI 每次数据传输可以 8 位或 16 位为单位,每次传输的单位数不受限制。

SPI协议_第2张图片

CPOL/CPHA 及通讯模式

SPI协议_第3张图片

SPI协议_第4张图片

SPI协议_第5张图片

根据不同的SPI模式,空闲时SCK时钟和采样时刻都不一样,具体由从设备指定。

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