目录
SPI通信特点
SPI多从机系统方案设计
SPI通信分类
1 SPI通信特点
SPI通信的优势
全双工通信
相对于I2C、UART而言,SPI可以实现高速率通信,通信速率约为50Mbps。
通信方式比较灵活,数据的长度支持自定义。
硬件结构简单,从机不会要地址,不会存在地址冲突。
SPI通信的缺点
SPI不支持多主机,一个SPI通信系统上,仅允许一个主设备。
相比于I2C通信,耗费更多的硬件资源。
SPI没有硬件级别的错误检验。
相比于RS232、CAN通信,SPI的通信距离十分有限。
2 SPI多从机系统方案设计
SPI系统仅支持一个主机,但是支持多个从机,具体的放置主要有两种方式:多片选信号和单片选信号。
2.1 多片选信号
所谓的多片选信号,顾名思义就是主机系统有多个片选信号控制引脚。电路设计具体见下:
通信过程说明:
每个从机都需要一条单独的片选信号控制引脚
如果主机系统系统需要与特定的从机通信,主机系统只需要将相应的片选信号置低,并保持其它的从机设备片选信号为高电平。如果同时将两个从机设备的片选信号置低,有可能导致整个通信紊乱。
2.2 单片选信号
这种通信方式的连接方式又被称为菊花链,此菊花非彼菊花。单片选信号与多片选系统不同,在多从机SPI通信系统中,主机系统仅需要一个片选信号,能有效节省主机系统的硬件资源。
设备的数据信号以串行的方式从一个设备依次传递到下一个设备,不断的循环直到找到目标设备。这种通信方式在存在较大的缺陷,具体见下:
这种通信方式,采用串行传输方式,如果中间某个从设备宕机,后面的从机就无法接收到数据。
距离主机越远的从机,优先级越低。
3 SPI通信分类
SPI通信根据协议,可以分为标准SPI(Standard SPI)、双线SPI(Dual SPI)、四线SPI(Qual SPI),比较常用的是SPI(Standard SPI)。
标准SPI(Standard SPI)
双线SPI(Dual SPI)
四线SPI(Qual SPI)
标准SPI通信接口,是一种全双工通信方式。通信信号包括片选信号CS、时钟信号CLK、主机输出从机出入MOSI、主机输入从机输出MISO,单次可传输1bit数据。
双线SPI通信接口,是一种半双工通信方式。通信信号包括片选信号CS、时钟信号CLK、数据信号0、数据信号1,单次可传输2bit数据。
四线SPI通信接口,是一种半双工通信方式。通信信号包括片选信号CS、时钟信号CLK、数据信号0、数据信号1、数据信号2、数据信号3,单次可传输4bit数据。