¿Por qué se prefiere la EEPROM en serie a la EEPROM en paralelo?

En la página de wikipedia para EEPROM: http://en.wikipedia.org/wiki/EEPROM se da que "los dispositivos EEPROM paralelos suelen tener un bus de datos de 8 bits y un bus de direcciones lo suficientemente ancho como para cubrir la memoria completa" y también "La operación de una EEPROM paralela es simple y rápida en comparación con la EEPROM serial". En ese caso, ¿por qué las EEPROM seriales se están volviendo más populares que las EEPROM paralelas?

Requieren menos pines y varios buses seriales son muy comunes en los diseños. Con las velocidades modernas, la velocidad de la serie está absolutamente bien para lo que se utilizan los dispositivos EEPROM.
Seguramente con las mismas velocidades modernas, una interfaz paralela daría un rendimiento mucho mejor, en comparación con una interfaz en serie.
Claro, pero si no necesita velocidades más rápidas que las que ofrece la serie, ¿por qué desperdiciar pines?
... por eso tenemos USB, no UPB
Y serie ATA, PCI express, etc.
En realidad, si tiene N pares LVDS, es mejor hacer N enlaces en serie en lugar de 1xN enlace paralelo, eso es más rápido.

Respuestas (8)

Es muy simple. Número de pines y coste del embalaje.

Los dispositivos EEPROM se utilizan principalmente para almacenar datos paramétricos o constantes de caracterización para un dispositivo. El escenario típico es escribir muy rara vez y leer normalmente una vez cada vez que se inicia el dispositivo host. Para este tipo de aplicación, los tiempos de escritura relativamente lentos de EEPROM son de poca importancia. Y el tiempo de lectura para cargar como máximo unos K-bytes de datos desde un dispositivo serie (SPI o I2C) no suele suponer un impacto de tiempo excesivo.

Hay otro factor que ha influido en la popularidad de los dispositivos seriales sobre los dispositivos paralelos. Esa ha sido la migración de dispositivos MCU de unidades de microprocesador más antiguas con buses paralelos a los tipos modernos mucho más frecuentes que tienen toda su memoria de almacenamiento de programas y memoria de datos integrada directamente en el chip. A menudo, ya no existe una opción de bus paralelo directamente disponible. Y en la mayoría de las aplicaciones hay muy poco interés en usar montones de pines para conectar un periférico paralelo.

¿Quieres decir que el único factor decisivo aquí es el espacio que ocupan los alfileres?
@Arpith: consulte la información adicional que agregué a mi publicación inicial.
@Arpith Esa no es una consideración insignificante. Una EEPROM paralela de 32 kilobits requeriría más de 20 pines y un paquete correspondientemente grande; una serie requiere dos.
@MichaelKaras: +1 para el último párrafo de su respuesta (no encontré esta información en ninguna parte). ¿Alguna fuente/referencia que me ayude a aprender más sobre los tipos de EEPROM?
Además, puede conectar en cadena dispositivos SPI y tener varios dispositivos I2C en un bus, lo que permite ahorrar aún más pines.
El espacio necesario para enrutar los rastros adicionales para un paquete paralelo también puede ser significativo en algunas aplicaciones.

En los primeros días, los cables eran baratos y los transistores eran caros. En estos días es al revés. De ahí que casi todo se haga en serie.

En los primeros días, los chips no eran muy sofisticados y una CPU se encendía y leía lo primero que encontraba en su bus de memoria en la dirección de inicio, por lo que las EEPROM paralelas imitaban efectivamente la DRAM que colgaba del bus.

En estos días, DDR RAM está gritando a gigahercios en buses enormes y anchos, hacer un chip flash que podría colgarse en el mismo bus sería prohibitivamente costoso y bastante inútil cuando las CPU modernas tienen suficiente inteligencia incorporada (gracias a pequeños transistores baratos) para arranque desde flash I²C / SPI .

Con los micros, en estos días el programa flash y la RAM suelen ser internos al dispositivo. El almacenamiento externo, como EEPROM, puede colgarse en un bus I²C, lo que ahorra pines de E/S para otras funciones y mantiene un rendimiento aceptable. Cuantos menos pines de E/S utilice, más pequeño, más económico y más eficiente obtendrá. Además, es mucho más fácil rastrear dos cables alrededor de una placa que dos buses de 8/16/32 bits de ancho, con los problemas de EMC asociados, etc., etc.

Si un procesador necesita usar un bus de memoria para acceder a su memoria principal, y si ese bus de memoria es lo suficientemente lento como para que la carga capacitiva no sea un problema en particular, la interfaz de una EEPROM paralela que está diseñada para escribirse "en el sistema" será en muchos casos ser más fácil y más barato que conectar uno en serie. Las señales de decodificación de direcciones a menudo se generan en grupos de ocho, y si uno tiene una señal de decodificación de direcciones de repuesto disponible, agregar una EEPROM paralela puede requerir cero circuitos adicionales.
La memoria de arranque de la PC es una aplicación un tanto inusual, aunque un aspecto interesante es que algunos procesadores tienen buses altamente configurables y tienen suficiente RAM de caché para contener una cantidad significativa de código sin usar el bus externo principal en absoluto. Si el procesador puede cargar algún código inicial antes de tener que usar el bus externo, ese código puede configurar las características del bus para que coincidan con la configuración del hardware físico.

No olvide que hay una "casa intermedia" llamada SQI. Esa es una interfaz serial de múltiples bits paralelos (significa Serial Quad Interface ).

Desde el punto de vista del protocolo, es lo mismo que trabajar con una interfaz serial normal, pero en lugar de transferir solo un bit cada reloj, se pueden transferir 4 bits a la vez. En lugar de una única disposición de datos/reloj o din/dout/reloj, tiene 4 pines de datos y un reloj. Esto da 4 veces el rendimiento de una interfaz serial normal y no requiere muchos pines más. De hecho, muchos chips flash SPI también pueden ejecutarse en modo SQI sin requerir más de los 8 pines existentes que ya tienen. Un aumento significativo en la velocidad sin ningún aumento en el estado real.

SQI se está convirtiendo en una interfaz popular para una carga más rápida de programas desde chips flash externos, no solo se usa para microcontroladores simples, sino que ahora también se usa a menudo para arrancar el BIOS de las PC, especialmente las computadoras portátiles, donde el espacio es una preocupación real.

Guau. Esto no lo habia oido.
SQI ofrecerá 4 veces el rendimiento del flash en serie al obtener datos secuencialmente, pero un flash paralelo de 8 bits de ancho aún puede ser un orden de magnitud más rápido cuando un byte cada uno proviene de muchas ubicaciones "aleatorias".

El recuento bajo de pines en el dispositivo en sí es probablemente menos importante que el ahorro en la MCU o FPGA a la que lo conecta.

Encontrar 8 pines de datos, además de muchas más direcciones, seleccionar y habilitar pines significa un paquete mucho más grande y probablemente también más gastos para la MCU.

Mientras que los chips EEPROM paralelos son más rápidos y menos complicados para comunicarse, los seriales son menos costosos en cuanto a hardware, ya que requieren menos pines, energía y cables/circuitos.

Solo por sonrisas, digamos que tengo una radio bidireccional antigua en mi avión, con 16 frecuencias disponibles y seleccionables desde la cabina, donde reside la unidad de control.

Detrás, en algún lugar, está la unidad transmisora-receptora con un cable que va a la unidad de control que contiene, entre otras cosas, los 16 cables que van al interruptor selector de la cabina requerido para hacer la selección de frecuencia.

Un día, cuando hablo con un amigo, menciono el tema de la radio y le pregunto si no sería posible codificar la configuración de frecuencia de la cabina en un número binario de cuatro bits y enviar ese número a través de cuatro cables (ahorrando 12 cables). ) a la unidad T/R donde se decodificaría en las dieciséis señales necesarias para realizar la selección de frecuencia.

"Claro", dice, "pero ¿por qué detenerse ahí? En lugar de enviar el número [de cuatro bits] de una sola vez, ¿por qué no enviarlo de a poco a través de un solo cable y tener el decodificador en la figura de la unidad T/R seleccionar la frecuencia, ahorrando 15 hilos en el cable y 15 pines cada uno en los conectores que conectan las unidades?

A continuación se presentan algunas razones por las que se prefiere la EEPROM en serie a la EEPROM en paralelo.

  1. Menor consumo de corriente . Por ejemplo, las corrientes operativas para seriales de 16K son de alrededor de 3 mA; lo mismo para dispositivos paralelos de 16K es de aproximadamente 30 mA y superior. Así que cuanto menor sea la corriente, menor será el consumo de energía.

  2. Voltaje más bajo : las EEPROM en serie están disponibles en los mercados que funcionan con voltajes bajos (1,8-2,5 V). La operación de bajo voltaje también tiene un efecto positivo en el consumo de energía.

  3. Programabilidad : las EEPROM en serie son más fáciles de programar en comparación con las paralelas. Las EEPROM seriales tienen la capacidad y la facilidad de programar un byte a la vez;

  4. Las EEPROM seriales están disponibles en un tamaño más pequeño

  5. Recuento de pines más bajo

  6. Disponible a un precio más bajo en comparación con los paralelos

  7. Baja sobrecarga y soporte del microcontrolador

El punto 2 es probablemente incidental. No hay ninguna razón técnica por la que las EEPROM paralelas necesiten un alto voltaje. Pero las EEPROM de bajo voltaje apuntan al mercado de baja potencia y, por la razón 1, esas EEPROM de baja potencia son en serie.
No estoy seguro de que Sanjeev esté comparando dispositivos similares aquí, si es que están disponibles. Las eeproms paralelas son bastante antiguas, mientras que las seriales son un fenómeno más moderno en general, por lo que decir que un dispositivo de 16k de 1980 es menos eficiente que un dispositivo de 16k de 2015 es una comparación un poco falsa, es probable que estén usando tecnologías completamente diferentes. ...
¿Cuál es la unidad para "16K"? ¿Es de 16 kilobits? 16 kilobytes?
Son 16 kilobytes.
@ John Esta comparación no se basó en el tiempo. Incluso si observa las EEPROM seriales más antiguas, no funcionan con voltajes más bajos. Esta comparación solo se basa en la tecnología disponible en la actualidad.

Nadie parece haber mencionado otra razón para la serie.

Es mas rapido. SÍ, más rápido. Porque tratar de mantener todas esas señales paralelas sincronizadas a alta velocidad es difícil. Es mucho más fácil ir rápido con serial. Y si eso no es lo suficientemente rápido, agregue otro canal (serie paralela).

Por favor, envíe sus comentarios, los votos negativos sin comentarios son inútiles.