目录
一.SPI简介
SPI(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工通信,被广泛应用在设备与MCU之间要求通信频率高的场合
二.SPI协议
物理层:
主机MCU与从机通过四条线连接,其中SCK、MOSI、MISO三条线共用,SS为从设备选择信号线,使SPI可以支持多设备。
NSS:片选信号线,每个从设备都有一条独立片选信号线,独占主机的一个引脚,有多少个从设备就有多少片选信号线。当主机要选定从设备时,将该设备的SS线电平拉低,即片选有效,接下来主机开始与被选中的从机通信,当主机将SS线电平拉高结束通信。
SCK:时钟信号线,用于通讯数据同步。由通讯主机产生,并决定通讯频率。
MOSI:master output,slave input主设备输出从设备输入引脚,主机通过这条线向从机发送数据。
MISO:master input,slave output主设备输入从设备输出引脚,从机通过这条线向主机发送数据。
MOSI与MISO两条信号线使SPI可以实现全双工通信,如果只需要单向通信则可以少使用一条信号线。
协议层:
SPI协议层定义了通讯的起始信号和停止信号、数据有效性、时钟同步等环节。
1.SPI的基本通讯过程
①:片选信号线选择从设备,通讯开始。
②④:SCK触发信号,MOSI与MISO变化等待采样。
③⑤:SCK采样信号,主机与从机分别对MISO、MOSI信号进行采集。
多次的触发、采样组成SPI数据传输过程。
⑥:片选信号线停止信号,通信停止。