¿RAM paralela sin gran cantidad de pines?

16

En la década de 1970, Texas Instruments tenía una gama de productos ahora descontinuados que llamaron GRAM (y que solo leen GROM equivalente), que era básicamente un chip de memoria estándar con direcciones y datos, todos multiplexados en 8 pines. Comenzaría una operación enviando al chip dos bytes de dirección y luego, cada vez que pulsaba el pin de lectura o escritura, leería o escribiría un byte utilizando el bus, luego incrementaría el contador de direcciones interno. El resultado fue un chip de memoria que fue casi tan rápido (al menos para operaciones de acceso secuencial) como un chip de memoria paralelo estándar, pero que solo necesita un paquete de 16 pines, en lugar de los paquetes de 28 pines que necesitan otros recuerdos similares del día .

Hoy en día, para aplicaciones similares, lo más probable es que utilice la memoria serial a la que se accede con SPI, pero el problema es que tales memorias son bastante lentas (la mayoría tiene un rendimiento máximo de aproximadamente 20 Mbit / s; algunas se ejecutan tan rápido como el doble, pero no he encontrado nada más rápido que eso) mientras que un equivalente moderno de esas partes de TI podría ser mucho más rápido que eso, permitiendo fácilmente un acceso de 100 + Mbit / s.

¿Existe algo que aún esté en producción y que se comporte de manera similar a los chips TI? Lo más cercano que puedo encontrar hoy son las partes personalizadas, por ej. VLSI VS23S010D , que combina un dispositivo de memoria que admite el tipo de interfaz que busco junto con un controlador de pantalla, que hace que el número de pines sea de 48 pines ... Lo ideal es buscar algo en un paquete de 14 o 16 pines (creo que 14 es el mínimo realista: potencia 2x, datos 8x, reloj, selección de dirección, leer byte, escribir byte).

    
pregunta Jules

2 respuestas

19

La solución estándar adecuada es probablemente QSPI (también llamada QPI, o también SQI). Es en cierto modo una extensión de la interfaz SPI, pero utiliza cuatro bits de datos (quad, por lo tanto, Q en el acrónimo) (IO0 / IO1 / IO2 / IO3) en lugar de una sola señal para cada dirección (MISO / MOSI).

Por lo tanto, los chips son muy pequeños (generalmente SO-8) y la interfaz es muy eficiente: debe enviar la dirección para cada comando de lectura o escritura, pero luego puede leer varios bytes en ráfaga, cuatro bits en cada uno ciclo de reloj La velocidad máxima del reloj es típicamente ~ 104MHz para flash. Se puede hacer incluso más rápido usando una señalización de velocidad de datos dual (cuatro bits en cada flanco del reloj, tanto ascendente como descendente: por lo tanto, ocho bits en cada ciclo del reloj, por lo general, los chips de flash alcanzan un máximo de 80MHz en este modo).

Las hojas de datos del chip proporcionarán todos los detalles sobre el significado / uso exacto de cada señal. Para ilustrar, aquí hay un diagrama de tiempo del comando de lectura (en modo de velocidad de datos única, y tomado de esta hoja de datos ):

Aquí,vesquenecesitas14ciclosderelojparaobtenerelprimerbyte(a80MHz,significauntiempodeaccesode175ns).Perosinecesitamásbytes,soloagregue2ciclosporbyte(25ns).Porlotanto,leerenráfagaloharámuchomásrápidoqueunchipparalelode70nsoinclusounflashparalelode45ns.

PuedeencontrarfácilmenteNORflashpartsdemuchosfabricantes,usandoestainterfaz.Tengaencuentaquelosrendimientos(velocidadmáxima,recuentodeciclosficticios)ysusfunciones(QuadI/OosoloDualI/O,soporteDDR)variarán,asíqueverifiquelahojadedatos.

LaRAMesunpocomásdifícildeencontrar,peroaúnestádisponible,especialmenteenMicrochip(porejemplo, 23LC512 ), ON semi (por ejemplo, N01S818HA ) e ISSI (por ejemplo, IS62WVS2568GBLL-45 ). Sin embargo, son más lentos que el flash. Pero el ISSI que sugiero anteriormente aún sube a 45MHz (velocidad de datos única) con aparentemente un ciclo de lectura mínimo que necesita 11 relojes para el primer byte. O dicho de otra manera: 200 ns + 45 ns por byte (rendimiento de 180Mbit / s), que no es malo y supera la velocidad GRAM indicada.

También, tenga en cuenta que muchas MCU de gama alta (de NXP, ST, ...) admiten esta interfaz en hardware.

    
respondido por el dim
2

Estoy publicando esto como otra respuesta porque es algo totalmente diferente.

Hay otra interfaz, pero menos común, que también se ajusta a su descripción: HyperBus , diseñada por Cypress (es propietario).

Este utiliza DDR a velocidades mucho más altas (hasta 166MHz) y un bus de 8 bits. Así que puedes alcanzar 2666 Mbit / s (¡guau!), Lo que deja a QSPI muy atrás. También está diseñado para DRAM de mayor densidad en lugar de SRAM, por lo que puede encontrar 8M x 8 chips (vs 256k x 8 para el ISSI QSPI SRAM mencionado en la otra publicación). Utiliza solo 12 señales (excluidas las tensiones de alimentación).

Aquí hay un producto HyperRAM de ISSI: IS66WVH8M8ALL . También hay productos HyperFlash que puedes encontrar.

Pero estamos en otra categoría de productos. Es más caro, menos fácil de obtener, los chips suelen ser BGA y la interfaz es un poco más compleja (debido a la alta velocidad y DDR). Además, menos MCU admiten esto.

    
respondido por el dim

Lea otras preguntas en las etiquetas