一.SPI简介
SPI协议(Serial Peripheral Interface)是摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD 、Flash等设备与MCU之间的通讯,适用于要求通讯速率较高的场合。
1.SPI的物理层
SPI总线通常由4条总线组成,分别为SCK(时钟信号线),MOSI(主机发送从机接收线),MISO(主机接收从机发送线)和CS(从设备使能信号,有的地方叫NSS)。SPI不同于IIC,在协议层中没有从机设备寻址的功能,所以需要通过CS信号去控制从设备的选择。数据传输时也是采用小端模式
MOSI:主机输出从机输入,用于主设备向从设备发送数据;
MISO:主机输入从机输出,用于主设备接收来自从设备发送的数据;
SCK:数据时钟线,用于产生时钟信号
CS:设备使能信号,用于使能数据传输(一般为低电平有效)
2.SPI通信模式
通常对于从设备而言,其出厂时就已经配置好相应的通信模式,无法被改变,所以我们必须通过修改主机的程序对其通信模式进行配置,