-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Was ist der Unterschied zwischen eeprom und flash ???

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.03.2005
    Beiträge
    26

    Was ist der Unterschied zwischen eeprom und flash ???

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Ich bin zwar kein Neuling in elektronik.
    Doch eine Sache bleibt mir unklar:
    Viele microcontroler haben flash speicher und auch eeprom.
    Beim Nachschlagen wird Flash speicher meistens als anderer Typ von eeprom beschrieben.
    Wo ist da dann der Unterschied ???

    Danke in vorraus.

    slm

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    61
    Beiträge
    1.058
    Hallo slm

    Ich weis nicht wie weit du in die Details gehen möchtest, aber Flash und EEPROM sind 2 ganz verschiedene Speichertechnologien und es gibt historsche Gründe für die Koexistenz.
    Den Flash Speicher muß man sich ursprünglich als Ersatz für für Masken-programmierten Speicher, sprich ROM, sprich read only memory, oder auch dem EPROM, sprich "electrical programmable Read Only memory".
    Die billigste Variante des Speichers auf einem IC sind die ROMS, also Maskenprogrammierte Speicher. Hier ist die höchste Dichte zu erreichen, und da in der Halbleiter-Herstellung Fläche gleich Kosten ist, also die billigste. Der Nachteil ist sollte man den Speicherinhalt ändern müssen, so kann man seinen gesamten Bestand verschrotten. Trotzdem hat man z.B. in der Automobil-Zulieferindustrie sehr lange auf diesen Speicher gesetzt, obwohl man damit unflexibel war, da es sich über die riesigen Stückzahlen rechnete. Brauchte ein solches Programm einen Speicher für einstellbare Parameter, so hat man dafür EEPROM verwendet. Brauchte vielmehr Fläche, erlaubte aber eine hinreichende Anzahl von Schreib- Löschzyklen, da man da in der Regel mit sehr wenig Speicher auskommt war die große Fläche verschmerzbar.
    Das Gegenstück zum PROM oder ROM, ist der EPROM, sozusagen der ROM für die kleinen und mittleren Stückzahlen. Hat man ein teuereres Gehäuse mit Fenster genommen, so konnte man diesen Speicher durch das Aussetzen einer UV-Strahlung löschen, ansonsten ohne Fenster in der Serie konnte man das Bauteil einmalig programmieren und lag von den Kosten zwischen einem ROM oder PROM und dem EPROM mit Fenster. EPROM steht für erasable programmable read only memory.

    Beim Flash Memory brauchte man lange Zeit eine zusätzliche Spannugsversorgung um das Flash löschen, bzw. Schreiben zu können. Auch war/ist der Fertigungsprozess schlecht kompatibel mit dem für die kombinatorische Logik, also dem uC. Es dauerte sehr lange bis die großen Halbleiter-Hersteller uC mit Flash-Memory zu einem Preis herstellen konnte der sie für z.B. die Automobilbranche akzeptabel machen konnte. Außerdem war auch das Thema Zuverlässigkeit ein kritisches Thema. Über Jahre war es klar, das wer zuerst zu einer Massenfertigung von uC mit Flash mit der erforderlichen Zuverlässigkeit und zu den passenden Kosten herstellen konnte seine Stellung als Lieferant sicherte.
    Heute ist der Prozess ausgereift und wird immer weiter forciert. Die Spannung für die Programmierung, bzw. Löschung wird z.B. bei den mega AVR auf dem IC erzeugt und heisst daher "self-programming", also selbst programmierend".
    MfG

    Hellmut

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    15.03.2005
    Beiträge
    26
    Hallo Hellmut,

    vielen dank fuer Deine ausführliche Beschreibung.
    Die Frage nach dem Unterschied bleibt aber weiterhin offen.
    Mal als Beispiel:
    Der ATmega128 hat 128KBytes flashspeicher UND 4 KBytes eeprom.

    Die 128KBytes Flashspeicher sind in-system programmierbar.
    Ich gehe mal davon aus das der Flashspeicher genauso wie beim P89C51RD controler (mcs51 mit 64Kbytes flash) vom Microcontrolerprogramm selbst beschrieben kann.
    Warum dann auch noch die 4Kbytes eeprom wenn ich schon 128 KBytes flash zu verfügung habe?
    Sind sie schneller oder öfters zu beschreiben?

    Bitte noch mal um Rat
    Stephan

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2005
    Ort
    Nürnberg
    Alter
    37
    Beiträge
    118
    Hallo slm

    Bei einem eeprom kann jede Speicherzelle einzeln gelöscht und mit einem
    neuen Wert beschrieben werden.
    Das ist bei flashspeicher nicht möglich. Hier muß immer ein ganzer
    Bereich gelöscht werden.
    Viele Controller können auch ihren eigenen Speicher nicht selbst beschreiben.

    MfG

    Sandro

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    61
    Beiträge
    1.058
    Hallo Stephan

    Aus historischen Gründen erhalten sich immer wieder Techniken, die gäbe es sie nicht, man auch ohne sie auskäme. Im Detail trifft das was Sandro sagt zu, aber sicher könnte man in den meisten Fällen damit leben. Langsam sind beide Techniken, deshalb haben die Controller ja auch RAM, der aber eben flüchtig ist, sprich fällt der Strom aus ist der Inhalt flöten. Aber erlaube mir doch eine Rückfrage, warum ist es dir wichtig den Unterschied zu wissen?

    Wie hier schon gesagt, Flash und EEROM sind beide nicht flüchtig, beide lösch und wiederbeschreibbar, und beide nicht beliebig häufig zu beschreiben. Das EEROM sogar noch weniger wieder beschreibbar.

    Zum Ablegen gelegentlich zu pflegender Daten eignen sich beide, ich käme ohne EEROm aus, nich jedoch ohne RAM.
    MfG

    Hellmut

  6. #6
    Gast
    Hi Hellmut

    In meiner Applikation muss ich benutzterspezifische Daten speichern.
    Zur Zeit benutzte ich dafür eine Batterie gepufferte sram.
    Ob ich jetzt nonvolatile sram, flash oder eeprom dafür Anwende ist eigentlich schnuppe.
    Wenn auch der Kostenfaktor wie auch das Leiterplattenlayout eine Rolle spiel.
    Mir geht es um grundlegende Klarheit, weil in den Datasheets hin und her zwischen eeprom, flash und sogar flash eeprom geredet wird.
    Um Entscheidungen zu treffen muss ich die Vorzuege wie auch die Nachteile der jeweilige Technologie wissen. Fehlentscheidungen kosten vor allem ein viel Zeit für eine Neuentwicklung.

    Um vorweg zu nehmen benutzte ich eine "teure" Batterie gepufferte sram und kein eeprom weil diese auch eine Echtzeituhr beinhaltet die ich brauche.

    Stephan

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    61
    Beiträge
    1.058
    Hallo Stephan

    Also, lass uns das konkret hin bekommen:

    1. Wieviele Daten, Bytes, möchtest du ablegen?
    2. Wie häufig musst du diese verändern?
    Also während eines Programmlaufes mehrmals, einmal, gelegentlich?
    Trifft deine Aussage hier unter 2. für alle Daten zu?
    3. Müssen die Daten dauerhaft gespeichert werden, sprich auch nach dem Ausschalten?
    Da du zur Zeit ein Batterie gepufertersw SRAM verwendest soll es also nicht flüchtig sein!

    Um dir auch ein wenig Refrenzmaterial zu geben, schaue dir bei Atmel die Tabelle an mit allen Controllern und der Auflistung z.B. wieviel Flash, wieviel SRAM, wieviel EEROM, Timer usw. jeder Controller hat.

    In den Flash Speicher würde ich Programm Kode ablegen,
    in das SRAM die Laufzeit-Variablen,
    in das EEROM einige nur gelegentlich zu verändernden Benutzerspezifische Daten.

    In den Flash Speicher würde ich Tabellen und andere größere Datenbestände ablegen die doch regelmäßig verändert werden.

    Hierzu ein Beispiel aus meiner Praxis:

    Ich verwende einen mega8 um die Impulslängen der Signale des Empfängers und des Multiprop-Dekoders meiner f14 von robbe zu dekodieren.

    Im Flash lege ich eine Kopie der Impulslängen-Tabelle und anderer Steuergrößen ab, die ich als "default" bezeichne. Nach einem Neustart erlauben diese Werte einen default betrieb.

    In das SRAM tuhe ich eine Kopie dieser Tabelle, die im Betrieb gepflegt wird. Dort stehen immer die letzten Impulslängen für jeden Kanal, der mega8 vergleicht eine neu gemessene Impulslänge mit dem Wert dort. Sollte der Benutzer über die Funkfernsteuerung einen geänderten Wert übertragen, so erkennt das Programm dieses durch Vergleich, pflegt die Daten in der Tabelle im SRAM und sendet per I2C die veränderten daten z.B. an eine Motorsteuerung.

    Für das EEROM habe ich bisher keinen Bedarf und habe es auch nicht genutzt. Du siehst also, das SRAM enthält jene Daten die sehr variabel sind, das Flash jene die ich nur seltener ändere.

    Ach, ein grund fällt mir gerade für das EEROMein. Man kann bei den Controllern über sogenannte Fusebits den Inhalt des Flash vor Auslesen und verändern schützen. In diesem fall könnte das Flash also nicht zur Speicherung der "default Information dienen und das EEROM wäre die Alternative.

    Ich hoffe diese Information hilft dir jetzt besser.
    MfG

    Hellmut

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Zitat Zitat von Hellmut
    Wie hier schon gesagt, Flash und EEROM sind beide nicht flüchtig, beide lösch und wiederbeschreibbar, und beide nicht beliebig häufig zu beschreiben. Das EEROM sogar noch weniger wieder beschreibbar.
    Es ist genau umgekehrt. Das EEprom lässt sich wesentlich häufiger beschreiben ( 100 000 mal im Gegensatz zum 1 000 bis 10 000 mal beim Flash Speicher ).
    Viele der "alten" AVRs konnten außerdem ihren Flashspeicher nicht selbst beschreiben, daher war das Eeprom die einzige Möglichkeit Daten dauerhaft zu speichern.
    Für die Anwendung die du beschrieben hast nimmt man deswegen auch normalerweise das EEprom Im Flash legt man eigentlich keine Variablen ab. Wenn es mal zu einem Fehler im Programm kommt hat man so eine wunderbare Möglichkeit das das gespeicherte Programm mal eben überschrieben wird...

    MfG Kjion

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    61
    Beiträge
    1.058
    Hallo Kjion

    Danke für die Korrektur. Aber das Ablegen eines "default" Werte-Satzes ist doch im Flash sinnvoller als im EEROM, da dort viel mehr Speicher verfügbar ist, und 1000 bis 10000 Zyklen geht sicher weit über die Anzahl der male wo man seine "defaults ändert! Ansonsten für Laufzeitvariable ist aber das das SRAM sicher geeigneter als das EEROM?
    MfG

    Hellmut

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Ja klar, für Variablen ist das SRAM da. Das beschreiben des EEproms würde zum einen viel zu lange dauern und man würde schnell an die Grenzen der Beschreibbarkeit kommen, also völlig ungeeignet dafür ...

    Große Datentabellen kann man natürlich im Flash Speicher ablegen, nur normalerweise ändert man nicht mehr so viel daran.

    MfG Kjion

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •