SPI总线协议

1.简介

  • SPI(Serial Peripheral Interface)是串行外设接口的缩写,SPI是一种高速,串行,全双工,同步的串行通信总线
  • SPI采用主从方式工作,一般有一个主设备和一个或者多个从设备
  • SPI至少需要4根线,分别为:MISO(主设备输入,从设备输出),MOSI(主设备输出,从设备输入),SCLK(时钟),CS(片选),SPI使用引脚较少布线方便,许多芯片集成了该种通信协议

2.寻址方式

  • 当主设备想要和某从设备进行通信时候,主设备需要先向对应从设备的片选线(CS)山发送使能信号(高电平或者低电平,按从设备而定),表示选中该从设备

3.通信过程

  • SPI总线在进行数据传输时候,先传送高位,后传送低位
  • 数据线为高电平表示"1",低电平表示"0"
  • 一个字节传送完毕后无需应答即可开始下一个字节传送
  • SPI总线采用同步方式工作,时钟线在上升沿或者下降沿时向数据线上发送数据,在紧接着的下降沿或者上升沿时接收者从数据线上读取数据,完成一位数据传输,8个时钟周期即可完成一个字节传输.

4.极性与相位

  • SPI总线有4种不同的工作模式,取决于极性(CPOL)和相位(CPHL)这两个因素,CPOL表示SCLK空闲时的状态,CPHA表示采样时刻
  • 一般对于某个从设备在出厂时候就规定了其工作模式,在使用时候需要将主设备配置为与从设备相同的工作模式
  • CPOL分类:
    1.CPOL = 0,空闲时SCLK为低电平
    2.CPOL = 1,空闲时SCLK为高电平
  • CPHA分类:
    1.CPHA = 0,每个周期的第一个时钟沿采样
    2.CPHA = 1,每个周期的第二个时钟沿采样
  • CPOL = 0,CPHA = 0
  • CPOL = 0,CPHA = 1
  • CPOL = 1,CPHA = 0
  • CPOL = 1,CPHA = 1

5.IIC与SPI异同

  • 同:
    1.二者均为串行,同步方式通信
    2.均采用TTL电平,传输距离与应用场景类似
    3.均为主从工作模式
  • 异:
    1.IIC为半双工,SPI为全双工
    2.IIC有应答机制,SPI无应答机制
    3.IIC通过向总线广播从机地址来寻址,SPI通过对从机发送使能信号寻址
    4.IIC时钟相位固定,SPI有4种工作模式

你可能感兴趣的:(SPI总线协议)