Warum wird ein serielles EEPROM gegenüber einem parallelen EEPROM bevorzugt?

Auf der Wikipedia-Seite für EEPROM: http://en.wikipedia.org/wiki/EEPROM wird angegeben, dass "Parallel EEPROM-Geräte typischerweise einen 8-Bit-Datenbus und einen Adressbus haben, der breit genug ist, um den gesamten Speicher abzudecken" und auch "Der Betrieb eines parallelen EEPROM ist im Vergleich zum seriellen EEPROM einfach und schnell". Warum werden in diesem Fall serielle EEPROMs immer beliebter als parallele EEPROMs?

Sie benötigen weniger Pins und verschiedene serielle Busse sind in Designs weit verbreitet. Mit modernen Geschwindigkeiten ist die serielle Geschwindigkeit absolut in Ordnung für das, wofür EEPROM-Geräte verwendet werden.
Sicherlich würde eine parallele Schnittstelle bei denselben modernen Geschwindigkeiten im Vergleich zu einer seriellen Schnittstelle einen viel besseren Durchsatz liefern?
Sicher, aber wenn Sie keine Geschwindigkeiten benötigen, die schneller sind als die Serienwerte, warum dann Pins verschwenden?
... deshalb haben wir USB, nicht UPB
Und Serial ATA, PCI Express etc.
Wenn Sie N LVDS-Paare haben, ist es tatsächlich besser, N serielle Verbindungen anstelle von 1xN parallelen Verbindungen herzustellen, das ist schneller.

Antworten (8)

Es ist sehr einfach. Anzahl der Pins und Verpackungskosten.

EEPROM-Geräte werden hauptsächlich verwendet, um parametrische Daten oder Charakterisierungskonstanten für ein Gerät zu speichern. Das typische Szenario besteht darin, sehr selten zu schreiben und normalerweise einmal zu lesen, wenn das Hostgerät hochfährt. Für diese Art von Anwendung sind die relativ langsamen Schreibzeiten von EEPROM von geringer Bedeutung. Und die Lesezeit zum Laden von höchstens ein paar K-Bytes Daten von einem seriellen Gerät (SPI oder I2C) ist normalerweise kein übermäßiger Zeiteinfluss.

Es gibt noch einen weiteren Faktor, der zur Popularität serieller Geräte gegenüber parallelen Geräten beigetragen hat. Das war die Migration von MCU-Geräten von älteren Mikroprozessoreinheiten mit parallelen Bussen zu den weit verbreiteteren modernen Typen, die ihren gesamten Programmspeicher und Datenspeicher direkt auf dem Chip eingebaut haben. Oft ist eine parallele Busoption nicht mehr direkt verfügbar. Und in den meisten Anwendungen besteht nur sehr geringes Interesse daran, Unmengen von Pins zu verbrauchen, um sie an ein paralleles Peripheriegerät zu bitbangen.

Du meinst, der einzige entscheidende Faktor ist hier die Fläche, die die Pins einnehmen?
@Arpith - Bitte beachten Sie die zusätzlichen Informationen, die ich meinem ursprünglichen Beitrag hinzugefügt habe.
@Arpith Das ist keine unbedeutende Überlegung. Ein paralleles 32-Kilobit-EEPROM würde mehr als 20 Pins und ein entsprechend großes Gehäuse erfordern; eine serielle benötigt zwei.
@MichaelKaras: +1 für den letzten Absatz für Ihre Antwort (habe diese Informationen nirgendwo gefunden). Irgendwelche Quellen/Referenzen, die mir helfen, mehr über EEPROM-Typen zu erfahren?
Außerdem können Sie SPI-Geräte in Reihe schalten und mehrere I2C-Geräte an einem Bus haben, wodurch weitere Pins eingespart werden.
Der Platz, der zum Leiten der zusätzlichen Spuren für ein paralleles Paket erforderlich ist, kann bei einigen Anwendungen ebenfalls erheblich sein.

In der Anfangszeit waren Drähte billig und Transistoren teuer. Heutzutage ist es umgekehrt. Deshalb wird fast alles seriell gemacht.

In den frühen Tagen waren Chips nicht sehr ausgeklügelt, und eine CPU schaltete sich ein und las das Erste, was sie auf ihrem Speicherbus an der Startadresse fand, sodass parallele EEPROMs effektiv den DRAM nachahmten, der am Bus hing.

Heutzutage schreit DDR-RAM auf riesigen, breiten Bussen nach Gigahertz, und die Herstellung eines Flash-Chips, der am selben Bus hängen könnte, wäre unerschwinglich teuer und ziemlich sinnlos, wenn moderne CPUs (dank billiger kleiner Transistoren) über genügend eingebaute Intelligenz verfügen Booten Sie von I²C / SPI - Flash.

Bei Micros ist heutzutage das Programm Flash und RAM meist geräteintern. Externer Speicher wie EEPROM kann an einem I²C-Bus hängen, wodurch E/A-Pins für andere Funktionen eingespart werden, während ein akzeptabler Durchsatz aufrechterhalten wird. Je weniger I/O-Pins Sie verwenden, desto kleiner, billiger und energieeffizienter werden Sie. Außerdem ist es viel einfacher, zwei Drähte um eine Platine herum zu verfolgen als zwei 8/16/32-Bit breite Busse, mit den damit verbundenen EMV-Problemen usw. usw.

Wenn ein Prozessor einen Speicherbus verwenden muss, um auf seinen Hauptspeicher zuzugreifen, und wenn dieser Speicherbus langsam genug ist, dass kapazitives Laden kein besonderes Problem darstellt, wird ein paralleles EEPROM angeschlossen, das so konzipiert ist, dass es "im System" geschrieben werden kann in vielen Fällen einfacher und billiger als der Anschluss einer seriellen Schnittstelle. Adressdekodiersignale werden oft in Achtergruppen erzeugt, und wenn man ein Ersatz-Adressdekodiersignal zur Verfügung hat, kann das Hinzufügen eines parallelen EEPROM keine zusätzliche Schaltung erfordern.
Der PC-Boot-Speicher ist eine etwas ungewöhnliche Anwendung, obwohl ein interessanter Aspekt darin besteht, dass einige Prozessoren hochgradig konfigurierbare Busse und genügend Cache-RAM haben, um eine beträchtliche Menge an Code zu speichern, ohne überhaupt den externen Hauptbus zu verwenden. Wenn der Prozessor einen anfänglichen Code geladen bekommen kann, bevor er den externen Bus verwenden muss, kann dieser Code dann die Buseigenschaften so konfigurieren, dass sie mit der physikalischen Hardwarekonfiguration übereinstimmen.

Vergessen Sie nicht, dass es ein „Häuschen auf halbem Weg“ namens SQI gibt. Das ist eine serielle Schnittstelle mit mehreren parallelen Bits (es steht für Serial Quad Interface ).

Aus Protokollsicht ist es genauso wie mit einer normalen seriellen Schnittstelle zu arbeiten, aber anstatt nur ein Bit pro Takt zu übertragen, können 4 Bit auf einmal übertragen werden. Anstelle einer einzelnen Daten/Uhr- oder Din/Dout/Uhr-Anordnung hat sie 4 Datenpins und eine Uhr. Dies ergibt den 4-fachen Durchsatz einer normalen seriellen Schnittstelle und benötigt nicht viel mehr Pins. Tatsächlich können viele SPI-Flash-Chips auch im SQI-Modus laufen, ohne mehr als die vorhandenen 8 Pins zu benötigen, die sie bereits haben. Eine deutliche Geschwindigkeitssteigerung ohne Immobilienzuwachs.

SQI entwickelt sich zu einer beliebten Schnittstelle zum schnelleren Laden von Programmen von externen Flash-Chips – nicht nur für einfache Mikrocontroller, sondern jetzt auch oft zum Booten des BIOS von PCs, insbesondere Laptops, wo Platz ein echtes Problem ist.

Wow. Davon hatte ich noch nichts gehört.
SQI bietet den vierfachen Durchsatz von seriellem Flash beim sequenziellen Abrufen von Daten, aber ein 8 Bit breiter paralleler Flash kann immer noch eine Größenordnung schneller sein, wenn jeweils ein Byte von vielen "zufälligen" Orten stammt.

Die geringe Anzahl an Pins auf dem Gerät selbst ist wahrscheinlich weniger wichtig als die Einsparungen bei der MCU oder dem FPGA, mit dem Sie es verbinden.

Das Auffinden von 8 Datenpins plus viel mehr Adress-, Auswahl- und Aktivierungspins bedeutet ein viel größeres Paket und wahrscheinlich auch mehr Kosten für die MCU.

Während die Kommunikation mit parallelen EEPROM-Chips schneller und unkomplizierter ist, sind serielle Chips hardwaremäßig kostengünstiger, da sie weniger Pins, Energie und Drähte/Schaltungen benötigen.

Nur so zum Schmunzeln, sagen wir, ich habe ein altmodisches 2-Wege-Funkgerät in meinem Flugzeug, mit 16 verfügbaren Frequenzen, die vom Cockpit aus ausgewählt werden können, wo sich die Steuereinheit befindet.

Irgendwo hinten ist die Sender-Empfänger-Einheit mit einem Kabel, das zur Steuereinheit führt, die unter anderem die 16 Drähte enthält, die zum Cockpit-Wahlschalter führen, der für die Frequenzauswahl erforderlich ist.

Als ich eines Tages mit einem Freund spreche, spreche ich das Thema Radio an und frage ihn, ob es nicht möglich wäre, die Cockpit-Frequenzeinstellungen in eine 4-Bit-Binärzahl zu codieren und diese Zahl über vier Drähte zu senden (wodurch 12 Drähte eingespart werden ) an die Sende-/Empfangseinheit, wo es in die sechzehn Signale dekodiert würde, die für die Frequenzauswahl benötigt werden.

"Sicher", sagt er, "aber warum hier aufhören? Anstatt die [Vier-Bit-] Zahl auf einmal zu senden, warum nicht Stück für Stück über eine einzelne Leitung senden und den Decoder in der S/R-Einheitsfigur haben die zu wählende Frequenz herauszufiltern, wodurch 15 Drähte im Kabel und jeweils 15 Stifte in den Anschlüssen eingespart werden, die die Einheiten verbinden?"

Nachfolgend sind einige Gründe aufgeführt, warum ein serielles EEPROM gegenüber einem parallelen EEPROM bevorzugt wird.

  1. Niedrigerer Stromverbrauch . Beispielsweise liegen die Betriebsströme für 16K-Serien bei etwa 3 mA; das gleiche für 16K-Parallelgeräte sind ungefähr 30 mA und mehr. Je niedriger also der Strom, desto geringer der Stromverbrauch.

  2. Niedrigere Spannung – serielle EEPROMs sind auf dem Markt erhältlich, die mit niedrigen Spannungen (1,8–2,5 V) betrieben werden. Auch der Niederspannungsbetrieb wirkt sich positiv auf den Stromverbrauch aus.

  3. Programmierbarkeit – serielle EEPROMs sind im Vergleich zu parallelen einfacher zu programmieren. Serielle EEPROMs haben die Fähigkeit und Leichtigkeit, Byte für Byte zu programmieren;

  4. Serielle EEPROMs sind mit kleinerem Footprint erhältlich

  5. Niedrigere Pinzahl

  6. Im Vergleich zu parallelen zu einem niedrigeren Preis erhältlich

  7. Geringer Mikrocontroller-Overhead und -Support

Punkt 2 ist wohl Nebensache. Es gibt keinen technischen Grund, warum parallele EEPROMs eine hohe Spannung benötigen würden. Aber Low-Voltage-EEPROMs zielen auf den Low-Power-Markt ab, und aus Grund 1 sind diese Low-Power-EEPROMs zufällig seriell.
Ich bin mir nicht sicher, ob Sanjeev hier vergleichbare Geräte vergleicht, wenn sie überhaupt verfügbar sind. Parallele Eeproms sind ein ziemlich alter Hut, während serielle EEPROMs im Allgemeinen ein moderneres Phänomen sind. Daher ist die Aussage, dass ein 16k-Gerät aus den 1980er Jahren weniger effizient ist als ein 16k-Gerät aus dem Jahr 2015, ein etwas falscher Vergleich, sie verwenden wahrscheinlich völlig andere Technologien. ...
Was ist die Einheit für "16K"? Sind es 16 Kilobit? 16 Kilobyte?
Es sind 16 Kilobyte.
@John Dieser Vergleich basierte nicht auf Zeit. Auch wenn Sie sich die älteren seriellen EEPROMs ansehen, funktionieren sie nicht bei niedrigeren Spannungen. Dieser Vergleich basiert nur auf der Technologie, die heute verfügbar ist.

Niemand scheint einen anderen Grund für die Serie erwähnt zu haben.

Es ist schneller. JA, schneller. Weil der Versuch, all diese parallelen Signale bei hoher Geschwindigkeit synchron zu halten, schwierig ist. Es ist viel einfacher, schnell mit Serien zu arbeiten. Und wenn das nicht schnell genug ist, dann füge einen weiteren Kanal hinzu (parallel seriell).

Bitte geben Sie Feedback, Down-Votes ohne Feedback sind nutzlos.