SPI与DBI概念

SPI

标准SPI

标准SPI接口,4根线CS、CLK、MISO、MOSI。4根线都是单线传输,主机通过MOSI发送数据,设备通过MISO发送数据给主机。标准的SPI可以支持全双工(发和收同时)、半双工(某个时刻发或收)、单双工(单方向传输,主机要么只能发送,要么只能接收)。

Dual SPI

双线SPI,顾名思义就是数据传输使用2根数据线。与标准SPI的线数一样4根线CS、CLK、MISO、MOSI,差别就是MISO,MOSI在某个时刻可以同时用来做数据收或发,因此该模式一般是半双工模式。对于Dual SPI类型接口外接的设备,通常是flash设备,根据传输的命令、地址是否使用2线又区分为DOUT和DIO模式。

DOUT模式

命令+地址阶段按照常规SPI传输1线传输,数据阶段变成2线(MOSI,MISO在读数据或写数据时使用两个线)。

DIO模式

命令阶段是常规SPI的1线传输,地址和数据阶段是双线传输。

Quad SPI

CS,CLK,MOSI,MISO,WP,HOLD一共6根线,其中MOSI,MISO,WP,HOLD为数据线。根据命令、地址是否使用4线还是标准SPI一共分为3中模式,分别是QOUT,QIO,QPI。

QOUT

命令+地址阶段按照常规SPI传输1线传输,数据阶段变成4线(MOSI,MISO,WP,HOLD在读数据或写数据时使用4线)。

QIO

只在命令阶段是常规SPI的1线传输,地址和数据阶段是4线传输。

QPI

命令,地址,数据都是8线传输。

小结

DBI

3-Line模式

CSX(CS),SCL(CLK),SDA(MOSI或MISO),SDI(MOSI或MISO,可选)。前面CSX,SCL,SDA是必须的,所以称为3线模式。3线模式有区分为2中,interface I和interface II。

  • interface I: 数据收发之需要一根线SDA。
  • interface II:额外使用SDI,数据收和发端口独立。

需要注意的时,3线模式没有Data/CMD线用于区分是数据还是命令,所以需要在数据流MSB前额外早呢更加一位表示当前传输的数据是DATA还是CMD。

4-Line模式

CSX(CS),SCL(CLK),D/CX,SDA(MOSI或MISO),SDI(MOSI或MISO,可选)。相对于3线模式,额外添加了一根D/CX用来表示数据还是命令。根据数据传输是否需要1线还是2线区分interface I和interface II。

  • interface I: 数据收发之需要一根线SDA。
  • interface II:额外使用SDI,数据收和发端口独立。

与3线的区别是,多了一根D/CX来表是data还是cmd。

小结:SPI和DBI是不同的协议,QSPI一般说的是SPI的物理线有4(数据传输)+2(CLK+CS),同时QSPI根据指令,地址使用几线有QOUT,QIO,QPI 3种模式,QSPI一般说的是SPI协议而不是DBI协议,SPI和DBI是完全不同的协议,只是复用了一样的pin。

参考:https://blog.csdn.net/tianizimark/article/details/124608851