¿Qué es E / S dual / quad?

23

Al leer una hoja de datos de SPI Flash , me encontré con los conceptos de "E / S dual" y "E / S cuádruple". Al principio pensé que "E / S dual" era sinónimo de "dúplex completo", pero entonces, ¿qué es "E / S cuádruple"?

¿Qué es E / S dual y E / S cuádruple, y cómo se comparan do duplex y full duplex?

Randomblue
fuente
Por ejemplo, el Zynq PS (Cortex A9) tiene un controlador QSPI e interfaces en una placa Zed para flash NOR serie SPI (quad-SPI) de 4 bits. The Spansion S25FL256S

Respuestas:

20

Un dispositivo SPI de E / S múltiple es capaz de soportar un mayor ancho de banda o rendimiento desde un solo dispositivo. Una interfaz dual de E / S (bus de datos de dos bits) permite que las velocidades de transferencia se dupliquen en comparación con los dispositivos de memoria Flash serie estándar. Una interfaz quad I / O (bus de datos de cuatro bits) mejora el rendimiento cuatro veces.

ingrese la descripción de la imagen aquí

m.Alin
fuente
44
Ese no es un dispositivo SPI: SPI no utiliza pines bidireccionales.
Ben Voigt
77
Las tarjetas de memoria SD admiten el uso de un bus de 4 bits. Es difícil decir que "no son un dispositivo SPI", ya que la misma tarjeta (en algún otro momento) puede usar el bus SPI estándar de "1 bit".
davidcary
8

Significa que tiene más líneas seriales que comparten las mismas señales de control, o dicho de otro modo, un puerto serie con más de una línea de datos.

Tanto la E / S dual como la E / S cuádruple son semidúplex (explicado en la página 10), porque en E / S dual, ambas líneas se usan en paralelo para aumentar el rendimiento manteniendo el mismo número de cables, mientras que en quad Las E / S también DQ2 y DQ3 se usan como E / S junto con DQ0 y DQ1.

Tenga en cuenta que el modo de E / S dual usa la misma cantidad de líneas que el bus SPI normal, evitando la necesidad de pines adicionales en el diseño de hardware dedicado y uC.

clabacchio
fuente
1
"un puerto serie con más de una línea de datos" se llamaría un puerto paralelo.
user253751
@immibis no necesariamente, porque en un puerto paralelo las dos señales deben estar sincronizadas entre sí, mientras que dos líneas seriales pueden transmitir flujos independientes que son combinados por el receptor
clabacchio
1
Pero el reloj es compartido. Ambas señales se sincronizan con el reloj, y transitivamente, entre sí.
user253751
1
@immibis, lo que quiero decir es que también, en paralelo, envías símbolos de dos o cuatro bits en las dos líneas, mientras que aquí puedes enviar dos transmisiones en serie verdaderas en paralelo
clabacchio
5

Ese protocolo se llama SQI (parecido a SPI), que significa Protocolo de E / S serie cuádruple. Puede introducir la dirección / comando / datos a través de 4 pines en lugar de solo uno (SPI) y recibir datos a través de los mismos 4 pines.

Ser dúplex medio o completo es una característica de un sistema de comunicación, independientemente del protocolo que decida utilizar (por supuesto, algunos protocolos permiten el dúplex completo y otros simplemente no).

De hecho, Dual y Quad I / O no son lo mismo que full-duplex, son solo protocolos diferentes que puede usar (a veces con el mismo dispositivo). Comenzando con SPI (supongo que sabes lo que es esto) que tiene 1 pin para enviar y luego recibir (lo que significa que el protocolo es half-plex); luego tenemos E / S dual que usa 2 pines para enviar y recibir (half-duplex), y finalmente Quad I / O que usa 4 pines para enviar y luego recibir (también half-duplex).

Sebastian
fuente
4

Hoy en día, la gente lo llamaba como interfaz SPIFI. Esto se usa principalmente en la interfaz Flash.

Consulte la hoja de datos LPC18xx, capítulo 21: SPIFI. Enlace: http://www.nxp.com/documents/user_manual/UM10430.pdf

1 bit SPI: los datos estarán en 1 línea.

Por ejemplo: - Secuencia de bits 7 6 5 4 3 2 1 0

SPI de 2 bits o SPI dual: habrá datos en 2 líneas.

Por ejemplo: - secuencia de bits

    Line 1 : 7 5 3 1

    Line 2 : 6 4 2 0

SPI de 4 bits o SPI cuádruple: habrá datos en 4 líneas.

Por ejemplo: - secuencia de bits

    Line 1 : 7 3

    Line 2 : 6 2

    Line 3 : 5 1

    Line 4 : 4 0
usuario3497443
fuente
1
oye, creo que te perdiste al ver que el OP ya ha aceptado la respuesta y también es una pregunta de 4 años. Tus puntos ya están cubiertos también.
Umar
1
@Umar, para ser justos, esta respuesta muestra que en realidad se llama SPIFI y también muestra las secuencias de bits. Ambas cosas no están cubiertas en otras respuestas. Entonces, esta es una contribución válida, sin importar la antigüedad de la pregunta original.
Stanri
3

Como se señaló en otra parte, algunos dispositivos flash tienen la opción de usar dos o cuatro pines para generar datos. Otra opción que he visto en al menos un chip flash es usar un pin, pero generar datos en los bordes del reloj ascendente y descendente. Esto permitiría la transferencia de doble velocidad en un microcontrolador que podría manejar dicho formato de datos, sin requerir pines de datos adicionales, por lo que cuatro relojes generarían cada byte de datos en un pin. No conozco ningún controlador que admita dicha función, aunque tampoco conozco ninguno que admita el uso de dos o cuatro cables de datos.

Super gato
fuente
1
El Microchip ATSAMS70 y procesadores ARM similares admiten SPI dual y cuádruple para ejecutar código desde una memoria flash externa como los chips flash de la serie Micron N25Q, que también admiten SPI dual / cuádruple.
user4574