SPI 和 QPI(嵌入式)有什么区别?

What is the difference between SPI and QPI (in embedded)?

在我的项目中,我使用Winbond W25Q64 64-MB Serial flash,当我阅读这个串行闪存的数据表时,有两种类型:

SPI(W25Q64 FLASH ID :- 0xEF4017) and QPI(W25Q64FV FLASH ID :- 0xEF6017).

我很了解SPI,但是第一次听说QPI。所以我有一些问题-

1.What是SPI和QPI的区别吗?

2.Can我用的是QPI通讯类型的Flash(using SPI)?

3.What 是 QPI 的主要特征,什么是 QPI(通信协议或其他)?

  1. QPI 协议的描述是数据表的一部分(我已将 link 添加到您的问题中)。

    从那里的描述来看,它确实为I/O使用了四根数据线(与SPI相反,其中一条线被指定为输入,另一条线被指定为输出),从而节省了时钟周期(与标准SPI相比) ) 因为一个字节只能在 2 个周期内传输。与 SPI 模式相比,可用命令似乎也有所不同。

    该芯片支持一些 "extended" SPI 模式(称为双 SPI 和四 SPI),其中更多的数据线用于向主机发送数据。这些由标准 SPI 命令触发,但数据传输不同。请参阅数据表中的详细信息。

    不兼容"standard" SPI,不知道有没有常见的MCU支持这种模式。看起来和SD卡/SDIO很像,但不知道有多少相似。

  2. 是的,你可以。标准的 SPI(一根输入和一根输出数据线)似乎是默认接口。扩展 SPI 模式仅用于响应特定的 SPI 命令,QPI 模式必须通过相应的 SPI 命令明确启用(参见第 12 页中的图 3)。

    另外:

    Quad SPI and QPI instructions require the non-volatile Quad Enable bit(QE) in Status Register-2 to be set. When QE=1, the /WP pin becomes IO2 and /HOLD pin becomes IO3.

    ...

    QE bit is required to be set to a 1 before issuing an “Enable QPI (38h)” to switch the device from Standard/Dual/Quad SPI to QPI, otherwise the command will be ignored. When the device is in QPI mode, QE bit will remain to be 1. A “Write Status Register” command in QPI mode cannot change QE bit from a “1” to a “0”.

  3. 优点是在相同时钟频率下数据传输速度更快。数据表中详细描述了协议的详细信息,包括时序图等。