Forum: Mikrocontroller und Digitale Elektronik EPROM auf Vergesslichkeit hin überprüfen


von Torsten K. (Firma: TOKA) (avantasia)


Lesenswert?

Ich bin der Meinung in diesem Forum schon mal einen Thread gelesen zu 
haben, bei dem es darum ging ein EPROM auf Vergesslichkeit hin zu 
überprüfen.

Wenn ich mich recht erinner, wurde das EPROM zunächst mit der normalen 
Versorgungsspannung mit Hilfe eines EPROM Brenners ausgelesen und die 
Daten in einer Datei gespeichert.

Dann wurde die Versorgungsspannung gesenkt (über einen Adapter... meiner 
Meinung nach über eine Diode) und das EPROM erneut ausgelesen und die 
Daten wieder gespeichert.

Im Nachgang wurden beide Dateien verglichen und bei Abweichungen war 
klar... EPROM ist vergesslich.

Lieg ich damit richtig und wenn ja war das wirklich über eine Diode, 
sprich Versorgungsspannung aus EPROM Brenner reduziert um ca. -0,7V über 
die Diode?

Danke

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Man sollte das EPROM nicht nur bei normaler und verringerter Spannung 
auslesen, sondern zusätzlich auch noch bei erhöhter Betriebsspannung, da 
sich ggf. interne Komparatorschwellen ändern. Durch Vergleich der drei 
ausgelesenen Daten kann man dann auch besser rekonstruieren, welches 
ggf. die ursprünglichen Daten waren bzw. denen am ehesten entspricht.

Bessere EPROM-Brenner erlauben eine Feinjustage der Betriebs- und 
Programmierspannungen.

von Harald W. (wilhelms)


Lesenswert?

Torsten K. schrieb:

> Wenn ich mich recht erinner, wurde das EPROM zunächst mit der normalen
> Versorgungsspannung mit Hilfe eines EPROM Brenners ausgelesen und die
> Daten in einer Datei gespeichert.

Dann kannst Du doch gleich die Daten neu speichern und hast dann
wieder zehn Jahre Ruhe.

von Torsten K. (Firma: TOKA) (avantasia)


Lesenswert?

Danke für das bisherige Feedback. Natürlich kann ich den EPROM Inhalt 
ggf. neu brennen um Ruhe zu haben, sofern mir diese Datei im Original 
vorliegt.

Mir geht es hier erstmal darum mögliche Fehler einzugrenzen. Sprich wenn 
etwas ausfällt wo so ein EPROM drin ist zu prüfen ob z.B. das EPROM die 
Fehlerquelle für einen Ausfall sein kann. Daher die Frage nach einer 
Testmöglichkeit und welche Spannungsabweichungen von der normalen 
Versorgungsspannung hier genutzt werden können/sollten und ob diese oben 
beschriebene Prozedur auch tatsächlich angewendet wurde oder ggf. noch 
wird.

Dient also auch ein wenig meinen Kenntnisstand zu erweitern.

Danke

von Harald W. (wilhelms)


Lesenswert?

Torsten K. schrieb:

> Mir geht es hier erstmal darum mögliche Fehler einzugrenzen.

Dann nutze die Vorschläge von Andreas. Wenn Du eine Spannung gefunden
hast, bei der Du gültige Daten auslesen kannst, würde ich trotzdem
konplett neu einschreiben.

von Torsten K. (Firma: TOKA) (avantasia)


Lesenswert?

Ja... das werde ich ausprobieren.

Danke...

von michael_ (Gast)


Lesenswert?

Aber bitte auf einen neuen EPROM!
Wir hatten hier schon mal das Elend, dass er das auf den Originalen 
brennen wollte und das schief gegangen ist.
Das Gejammer war groß.

von Soul E. (Gast)


Lesenswert?

Torsten K. schrieb:

> Lieg ich damit richtig und wenn ja war das wirklich über eine Diode,
> sprich Versorgungsspannung aus EPROM Brenner reduziert um ca. -0,7V über
> die Diode?

Professionelle Programmiergeräte haben eine Verify High/Low-Funktion. Da 
wird bei 4,5 und 5,5 V gegengelesen.

Wenn Du bei 5,0 V ausliest und bei 4,5 und 5,5 V gegenliest, kannst Du 
(fast immer) der Mehrheit glauben. Ob das EPROM jetzt bei Unter- oder 
Überspannung Mist ausgibt hängt vom Aufbau der sense amplifier ab.

EPROMs mit verblasstem Inhalt werden langsamer. Es kann also gut sein, 
dass die Daten bei 100 kHz im EPROMMer fehlerfrei sind und in der 
Applikation bei 4 MHz troztdem ausfallen.


Die Hersteller sehen es nicht so gerne, aber man kann EPROMs bei 
identischem Inhalt auch programmieren ohne sie vorher zu löschen. So 
müssen historisch wertvolle Aufkleber, Seriennummern etc nicht entfernt 
werden.

von M. K. (sylaina)


Lesenswert?

Man könnte natürlich auch ein Prüfbyte einführen, z.B. ist jedes 5 Byte 
auf dem EPROM ein Prüfbyte dass sich aus den 4 vorherigen Bytes 
berechnen lässt. Passt das Prüfbyte nicht mehr zu den vorherigen Bytes 
weiß man, dass das EPROM etwas vergessen hat.

von Soul E. (Gast)


Lesenswert?

M. K. schrieb:

> Man könnte natürlich auch ein Prüfbyte einführen, z.B. ist jedes 5 Byte
> auf dem EPROM ein Prüfbyte dass sich aus den 4 vorherigen Bytes
> berechnen lässt. Passt das Prüfbyte nicht mehr zu den vorherigen Bytes
> weiß man, dass das EPROM etwas vergessen hat.

Dazu passend patcht man den Microcode des Controllers, so dass er beim 
fetch jede fünfte Operation auslässt.


Spass beiseite, Prüfsummen sind Stand der Technik seit den '70ern. 
Üblicherweise nimmt man hierfür das letzte oder die letzten beiden 
Bytes. Wegen begrenzter Rechenleistung reichte es aber meist nur für 
eine Modulo-Addition, so dass Mehrfachfehler u.U. nicht erkannt werden.

von M. K. (sylaina)


Lesenswert?

soul e. schrieb:
> Spass beiseite, Prüfsummen sind Stand der Technik seit den '70ern.

Natürlich ist das Stand der Technik seit Jahrzehnten aber nicht jeder 
implementiert es und nicht jeder, der es implementiert, prüft wirklich. 
Da hatte ich vor ein paar Monaten mit dem Uart eine nette Diskussion wo 
es um was ähnliches ging. Paritätsbit war zwar implementiert (8O1 war 
eingestellt), wurde aber nicht geprüft. Naja, dann braucht man auch kein 
Paritätsbit definieren.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Es gab Ende der Achtziger mal einen Versuch, die Fehlerhäufigkeit von 
RAMs durch Weltraumstrahlung zu messen. Der Amateurfunksatellit Uosat 11 
hatte mehrere RAMs an Bord, die auf Bitfehler überprüft wurden.
http://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=2386&context=smallsat

Über Südamerika gibt es einen hot spot, der durch den Verlauf der 
Magnetfeldlinien bedingt ist.
Gefunden mit "Uosat 11 SEU anomaly" SEU heißt single event upset

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

soul e. schrieb:
> Die Hersteller sehen es nicht so gerne, aber man kann EPROMs bei
> identischem Inhalt auch programmieren ohne sie vorher zu löschen.

Das setzt aber voraus, daß "kippende" Zellen in Richtung "gelöscht" 
(d.h. 1) kippen, und nicht andersrum (in Richtung "programmiert", also 
0).

Beim Programmieren eines EPROMs kann nur aus einer 1 eine 0 gemacht 
werden, andersrum geht das nur mit der UV-Lampe.

von oszi40 (Gast)


Lesenswert?

soul e. schrieb:
> Prüfsummen sind Stand der Technik seit den '70ern.

Vorteil war, daß man gleich auf dem EPROM die Prüfsumme mit gebrannt hat 
und  sie vom System öfter mal geprüft wurde. Wenn man natürlich 2 
verschiedene Verfahren benutzt, wird die Zahl der Fehler, die durch 
"zufällige Ergänzung wieder richtig wurde", wesentlich reduziert. Ein 
Vorteil der Systemprüfung ist natürlich auch, daß die Daten mit der 
ECHTEN System-Geschwindigkeit abgerufen werden und nicht mit der 
Geschwindigkeit irgendeines lahmen Programmiergeräts.

von Soul E. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:

> Das setzt aber voraus, daß "kippende" Zellen in Richtung "gelöscht"
> (d.h. 1) kippen, und nicht andersrum (in Richtung "programmiert", also
> 0).

Ich habe noch nie erlebt, dass bei einem EPROM mit verblassenden Daten 
(egal ob durch Sonnenlicht oder Alterung) sich diese in Richtung 0 
verändern. Eigentlich nimmt immer die Anzahl der Einsen zu.

Im Gate fliesst Ladung ab, damit nähern wir uns dem gelöschten Zustand.

von oszi40 (Gast)


Lesenswert?

soul e. schrieb:
> noch nie erlebt

Ja, üblicherweise sind die leeren Zellen FF. Bei krankem EPROM hatte ich 
auch schon zwischendurch Fehler wo etwas war. Es gab aber neben 
Datenfehlern auch noch Adressfehler, die aber weniger auf 
"Vergesslichkeit" zurückzuführen sind.

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.