11.1.1 串行外设接口的结构
串行外设接口(Serial Peripheral Interface,SPI)是Motorola公司推出的一种同步串行接口,是一种高速、全双工、同步的串行通信总线,常用于单片机与EEPROM、Flash、RTC、ADC、网络控制器、MCU、DSP以及数字信号解码器之间的高速通信。
SPI以主从模式工作,这种模式通常有一个主设备和一个(或多个)从设备,至少需要4个接口:主输入从输出(Master Input Slave Output,MISO)、主输出从输入(Master Output Slave Input,MOSI)、时钟(Serial Clock,SCK)、片选(Chip Select,CS
)。SPI的结构如图11.1所示。

图11.1 SPI的结构
(1)MOSI:主设备数据输出,从设备数据输入。(https://www.daowen.com)
(2)MISO:主设备数据输入,从设备数据输出。
(3)SCK:时钟信号,由主设备产生。
(4)
:从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入主设备中,所以当主设备和某个从设备通信时,需要将从设备对应的片选引脚电平拉低或拉高。
主设备提供同步时钟信号,主/从设备在时钟作用下实现读写功能。主设备的MOSI与从设备的MISO相连,主设备的MISO与从设备的MOSI相连,实现数据的双向通信。