¿Dónde está el beneficio en la interfaz paralela SQI sobre SPI? Paralelo vs serial

Microchip ofrece varios chips SRAM seriales con un protocolo de comunicación llamado SQI que es similar a SPI pero con 4 bits paralelos escritos en cada conmutador CLK.

Si puede gastar los 3 pines adicionales, esto tiene sentido. Puede lograr un rendimiento de 4 veces la tasa de SPI.

Sin embargo, hay un problema: SPI es compatible con todos los MCU modernos como un módulo de hardware, por lo que se ejecuta de forma automática y muy rápida y las tasas de CLK de varios MHz no son un problema.

SQI no es compatible con el hardware, por lo que debe modificar el protocolo. Si mi MCU, por ejemplo, se ejecuta en un reloj de sistema de 8 MHz y está ejecutando la mayoría de las instrucciones en un solo ciclo (AVR), puedo esperar una tasa SQI CLK de menos de 1 MHz. Esto se basa en la implementación de software SPI que también está por debajo de 1 MHz y tiene un poco menos de código.

Entonces, digamos que puedo transferir 4 bits a la vez, usando SQI, con 800 KHz CLK (números del mundo real), es decir, 3,2 Mbits por segundo. Sin embargo, puedo ejecutar SPI a 5 MHz y obtener 5 Mbits de datos con menos código y sin tener que esperar con mi código de aplicación mientras se envían o reciben datos a través de las líneas de comunicación.

Entonces, ¿cuál es el punto aquí? ¿Qué me estoy perdiendo?

Respuestas (1)

SQI no es compatible con el hardware...

Su premisa, si bien es correcta para su MCU particular, es defectuosa en el caso general. Es posible que las MCU que ha estado viendo no tengan SQI (que creo que es lo mismo que Quad SPI o QSPI), hay muchos dispositivos con soporte de hardware para QSPI. (Tenga en cuenta que "QSPI" es un acrónimo confuso porque a veces también se usa para "SPI en cola", que es diferente).

Por ejemplo: muchas MCU ARM (por ejemplo, STM32 y Atmel SAM ) tienen un periférico de hardware que puede hacer x1, x2 o x4 SPI y algunas se ejecutan desde el almacenamiento QSPI además de usar dichos periféricos para el almacenamiento de datos.

La mayoría de los FPGA admiten la configuración sobre serie maestra (SPI) en anchos x1, x2 o x4. Algunos incluso pueden usar chips flash QSPI duales para ocho bits completos por reloj. Consulte la configuración de la serie Xilinx 7 UG , ctrl-F "quad".

En estas aplicaciones, el QSPI no se bloquea y, por lo tanto, es cuatro veces más rápido. Para su microcontrolador específico (y muchas MCU pequeñas de 8 bits), tiene razón y estará mejor con un flash SPI x1 normal. Con muchos microcontroladores, procesadores de aplicaciones y FPGA, hay soporte de hardware para x4 SPI y es mucho más rápido.

Técnicamente, "Quad SPI" y "SQI" son dos cosas diferentes, la diferencia es la cantidad de líneas utilizadas para el protocolo de comando.
@IgnacioVazquez-Abrams Gracias por aclarar, no estoy completamente familiarizado con "SQI". Sin embargo, creo que mi respuesta sigue siendo suficiente, ¿sí?
Tampoco estaba familiarizado con SQI hasta que lo busqué (había escrito una respuesta antes pero la eliminé), pero sí, el resto de la respuesta se aplica en su mayor parte. El soporte SQI es simplemente más raro aún que el soporte Quad SPI.
Después de algunas investigaciones, parece que SQI(tm) de Microchip no es en realidad un protocolo x4, y parece que OP se refiere a Quad SPI. De un documento SSI/Microchip, SQI es {CE#, SCK, SI, SO, WP#, HOLD#} que es esencialmente x1 SPI con dos líneas de control adicionales.
Correcto, pero la comunicación en sí ocurre a través de DIO0-3 en lugar de solo SI.
Vaya, estoy ciego y aparentemente estaba mirando la hoja de datos incorrecta (para una pieza x1). Gracias por la aclaración.