1、什么是SPI
SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一
种同步串行接口技术,是一种高速的,全双工,同步的通信总线。在越来越多的芯片集成了这种通信协议,常见的有EEPROM、FLASH、AD转换器等。它的优点是支持全双工通信、通信简单、数据传输速率块、协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;缺点是相比IIC多两根线;没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。
2、硬件连线
SPI 总线包含 4 条线,分别为SS 、SCLK、MOSI、MISO。
(1)SS/CS(SlaveSelect):片选信号线,当有多个 SPI 设备与 MCU 相连时,每个设备的这个片选信号线是与 MCU 单独的引脚相连的,而其他的 SCK、MOSI、MISO 线则为多个设备并联到相同的 SPI 总线上,低电平有效。
(2)SCLK (Serial Clock):时钟信号线,由主通信设备产生,不同的设备支持的时钟频率不一样,如 STM32 的 SPI 时钟频率最大为 f PCLK /2。
(3)MOSI (Master Output, Slave Input):主设备输出 / 从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入数据,即这条线上数据的方向为主机到从机。
(4)MISO(Master Input, Slave