Forum: Mikrocontroller und Digitale Elektronik EEPROM-Killer -> ich find den Fehler nicht!


von Joachim B. (jojo84)


Angehängte Dateien:

Lesenswert?

Guten Abend zusammen!

Ich habe mal ein Programm geschrieben, daß so lange abwechselnd 0x00 unf 
0xff an eine EEPROM-Speicherstelle in einem Atmega8 schreibt, bis diese 
kaputt ist. "Eigentlich ganz einfach." dachte ich... Ein- und Ausgabe 
schön über nen Terminalprogramm (was auch soweit klappt), aber irgendwas 
stimmt scheinbar mit meinen EEPROM-Routinen nicht!
Denn ich habe an einer Stelle mittlerweile weit über 4 Mio. 
Schreibzugriffe! Und spezifiziert sind die mit gerade mal 10000.

Ich finde es echt nicht. der Inhalt der zu zerstörende Speicherstelle 
wird sogar vor jedem neuen Reinschreiben ausgegeben, und da kann ich 
sehen, DASS die Werte sich scheinbar wirklich ändern, die 
Schreibzugriffe also stattfinden...
Würde mich echt freuen, wenn ihr da mal drüber gucken könntet...

Danke schonmal!

Gruß,
Jojo

von Christian M. (chrisreg)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Joachim A. schrieb:
> aber irgendwas stimmt scheinbar mit meinen EEPROM-Routinen nicht!
Du solltest zwischendurch mal die Versorgungsspannung abschalten 
und/oder vor dem Lesen länger warten. So eine ausgeleierte EEPROM-Zelle 
hält die geschriebenen Daten schon noch locker ein paar Sekunden... 
:-o
Nur eben nicht mehr die garantierten 10 Jahre... :-(

von Bernhard R. (barnyhh)


Lesenswert?

Und wozu dient der Test?

Im Datenblatt steht ausdrücklich und explizit die Mindestzahl von 
Schreibzyklen. Ein sinnvoller Test prüft also, ob nach dieser 
Mindestzahl von Schreibzyklen alles noch stimmt ---> IC hat 
Spezifikation bestanden.

Ein sinnfreier Test dagegen prüft irgendetwas anderes, z.B. beschreibt 
es das EEPROM einige Millionen Male. Wenn das EEPROM jetzt immer noch 
tut, geht der sinnfreie Tester hin und sucht seinen Fehler.

Bernhard

von Ralph (Gast)


Lesenswert?

Dann lies mal die Spec genau.

Die 10000 sind gültig über den gesamten Versorgungsspannungs und 
Temperatur Bereich.
Bist du im optimalen Bereich halten die Zellen fast ewig.

Mach den gleichen Versuch mal bei z.b. 80 °C ( ich gehe mal davon aus 
das der EEPROM auf -20  bis +85 °C ausgelegt ist) und du wirst sehen das 
die Anzahl der Schreibzyklen gewaltig einbricht.

von Martin (Gast)


Lesenswert?

... Und spezifiziert sind die mit gerade mal 10000 ...

Das EEPROM im ATMega8 ist mit 100 000 Schreibzyklen angegeben.

von Joachim B. (jojo84)


Lesenswert?

Ok, danke erstmal für die Antworten...

@Martin:
da hast du natürlich recht... da ist die eine "0" wohl beim eintippen 
verloren gegangen :) .

@Lothar:
danke für den Hinweis. Einmal hatte ich die Spannung schon aus, bei ca. 
3 Mio. Zugriffen. Das war gestern, heute sind es bereits 4 Mio. Aber ok, 
ich kann ja mal längere Pausen einfügen. Aber eine Sekunde ist mir da 
doch zu lang ;) ...

@Bernhard:
auch wenn es in den Forenregeln nicht "ausdrülich und explizit" drin 
steht kann aber doch davon ausgegangen werden, daß sinnfreie Kommentare 
auch keine Mindestanzahl von "Prima"-Stempeln ins Fleiß-Heftchen gibt. 
Aber genau so, wie der Eine gern sinnfrei testet macht de Andere eben 
gern sinnfreie Kommentare.

Jeder so, wie er will :) . Dann geh ich mal vorsichtig davon aus, daß 
dann eben noch ab Ablauf gefeilt werden sollte...

Danke erstmal!
Gruß

von Maxwell (Gast)


Lesenswert?

Hallo,

ich habe beruflich mit EEPROMs im Automotive Bereich zu tun. Die 
Anforderungen in dem Bereich sind ziemlich streng was Temperaturbereich 
und Anzahl der Schreibzyklen betrifft. Es gibt da mehrdimensionale 
Diagramme, die die Anzahl der Zyklen angeben abhängig von vielen 
Parameter.
Es gibt da auch die Aussage, dass nicht die Zelle an sich das schwächste 
Glied ist, sondern die Ladungspumpe zur Erzeugung der 
Programmierspannung.

von bko (Gast)


Lesenswert?

Der Hersteller garantiert das der Inhalt des EEPROMs, auch
nach den 100000ten Programmieren zehn Jahre erhalten bleibt.
(Innerhalb des spezifizierten Temperaturbereiches).

Da hab ich was von Infineon dazu gefunden:
http://av.rds.yahoo.com/_ylt=A0geumA6QmRMxQIBEDiTLaMX;_ylu=X3oDMTBvdmM3bGlxBHBndANhdl93ZWJfcmVzdWx0BHNlYwNzcg--/SIG=15bkktftu/EXP=1281725370/**http%3a//www.infineon.com/dgdl/ap0805710_XC8xx_eeprom_emulation.pdf%3ffolderId=db3a30431375fb1a01138c57204603bd%26fileId=db3a30431689f44201169021e82c00b1

Also muss dein Test eigentlich nach dem x-ten EEPROM Schreiben
nun in zehn Jahren weitergeführt werden. Beim Chiptest (auf dem Wafer !) 
wird diese Zeit durch sog. "baken" des Wafers bei 225 Grad Celsius 
abgekürzt:
http://www.tmworld.com/article/325423-EEPROMs_store_calibration_data.php

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.