Forum: Mikrocontroller und Digitale Elektronik EEPROM zerschossen


von Peter Z. (Gast)


Lesenswert?

Hallo zusammen,

ich habe hier ein merkwürdiges Problem. Wir haben ein Gerätetyp, welcher 
seit 2 Jahren ohne größere Probleme und Reklamationen verkauft wird. Vor 
zwei Monaten wurden von diesem Gerät 8 Stück an einen Kunden geliefert. 
Letzte Woche kamen von diesen 8 Geräten 3 Stück zur Reparatur zurück. 
Alle das selbe Problem. In den EEPROMs der Geräte waren defekte, bzw. 
ungültige Werte zu finden. Merkwürdig daran sind nun folgende Umstände:

-Das Problem ist bisher noch nie aufgetreten
-Die defekten Werte im EEPROM sind bei allen 3 Geräten an 
unterschiedlichen Speicherstellen zu finden
-In zwei der Geräte waren Werte im EEPROM zu finden, welche niemals im 
Programmablauf auftauchen

Es handelt sich um ein internes EEPROM im Mikrocontroller, sodass ein 
Busproblem ausgeschlossen werden kann.
An der Firmware und der Elektronik wurde nichts geändert.

Hat von euch jemand eine Idee, wie solch ein Fehler zu Stande kommen 
kann? Ich bin etwas ratlos.

Vielen Dank!
Peter

von TK (Gast)


Lesenswert?

Das kenne ich auch - vor allem bei älteren ATMEL Controllern ist das 
aufgetreten, wenn der Brown-Out nich sauber gekommen ist oder häufige 
Power-Up Zyklen gefahren wurden. Da macht der ATMEL mal irgendwas, was 
so nie konfiguriert war. Ich habe mir bei diesen Typen dann so geholfen, 
dass ich am Anfang der Initialisierung ein Register mit einer bestimmten 
Bitkombination programmiert habe und direkt in der Write-EEPROM Routine 
diese Kombi wieder abgefragt habe. Seit dieser Zeit ist Ruhe.
Trotzdem sollte man die Ursache angehen bzw. erst mal analysieren.


Gruß
TK

von Sebastian (Gast)


Lesenswert?

Vielleicht waren die Geräte ja ionisierender Strahlung ausgesetzt?

von BerndB (Gast)


Lesenswert?

Hallo,

kann durch externe Einstrahlung verursacht werden. Hast Du EMV Prüfungen 
gemacht ?

Gruß Bernd

von Peter Z. (Gast)


Lesenswert?

Es handelt sich nicht um Atmel, sondern dsPIC30 Mikrocontroller.
Ja, EMV Prüfungen wurden gemacht und Bestanden!

von TK (Gast)


Lesenswert?

Bei PICs habe ich das noch nicht erlebt, aber gut, auch hier kann das
Gleiche passieren. Wie sieht die Versorgungsspannung aus? Wie ist der 
Brown-Out eingestellt? Was macht das Gerät / was macht der Kunde damit?

TK

von Peter Z. (Gast)


Lesenswert?

Die Versorgungsspannung sieht gut aus. Auch in Langzeitmessungen konnten 
hier keine Auffälligkeiten ermittelt werden. Und wie gesagt. Von den 
Geräten sind schon hunderte raus, welche alle ohne Probleme laufen. 
Seltsam ist jetzt nur, dass es bei einem Kunden so viele sind.

Brown-Out könnte ein guter Anhaltspunkt sein. Ich musste selbst im 
Quelltext schauen, da das Gerät noch von meinem Vorgänger programmiert 
wurde, aber Brown-Out ist definitiv ausgeschalten!

von TK (Gast)


Lesenswert?

>Brown-Out könnte ein guter Anhaltspunkt sein. Ich musste selbst im
Quelltext schauen, da das Gerät noch von meinem Vorgänger programmiert
wurde, aber Brown-Out ist definitiv ausgeschalten!

Da haben wir doch schon das Problem! Gerät OHNE Brown-Out betreiben -> 
bei Kundengeräten immer tötlich!
Da reicht doch schon das einfache ABSCHALTEN der Spannung und irgendwann 
kommt dann eine von mehreren Schaltschwellen, an den das int. RAM nicht 
mehr geht, die int. Peripherie bei einer anderen Schwelle nicht mehr 
geht, der Oszillator bei einer weiteren Schwelle nicht mehr geht...
Und genau bei diesen Schwellen kann die int. Logik einfach mal irgendwas 
machen!
Oder anders herum gesagt:
wenn der int. Brown-Out deaktiviert ist, dann muss ZWINGEND ein externer 
Brown-Out vorhanden sein.

Gruß
TK

von Peter Z. (Gast)


Lesenswert?

Dann mal vielen Dank für die Hilfe, ich denke (und hoffe) auch, dass es 
an dem liegen könnte.
Es stellt sich mir aber noch die Frage, weshalb das Problem gerade bei 
diesem Kunden gleich 3 Mal aufgetreten ist und ansonsten bisher noch nie 
Probleme aufgetreten sind. Kann dies mit einer unsauberen Netzspannung 
beim Kunden zusammen hängen?

von TK (Gast)


Lesenswert?

Ja - und mit vielen anderen Dingen, die ein Kunde so treibt.
Also ich vermute - wie im ersten Beitrag geschrieben - einen häufigeren
Power-Zyklus als bei den anderen Kunden.

Gruß
TK

von Wilhelm F. (Gast)


Lesenswert?

Peter Z. schrieb:

> Dann mal vielen Dank für die Hilfe, ich denke (und hoffe) auch, dass es
> an dem liegen könnte.
> Es stellt sich mir aber noch die Frage, weshalb das Problem gerade bei
> diesem Kunden gleich 3 Mal aufgetreten ist und ansonsten bisher noch nie
> Probleme aufgetreten sind. Kann dies mit einer unsauberen Netzspannung
> beim Kunden zusammen hängen?

Sind die EEPROMs dauerhaft beschädigt?

Ich könnte mir gut vorstellen, daß ein EEPROM auch bei ausgeschaltetem 
Gerät, z.B. Lagerung, zerschossen werden kann, wenn jemand elektrisch 
leitende Teile daran berührt. Wie sieht es bei dem Kunden mit ESD-Schutz 
aus? Trägt da einer Schuhe mit Gummisohlen und einen Wollpullover? Das 
erzeugt schon mal ziemlich hohe Energien.

Ein externes EEPROM (Exel XLS2816A) löschte ich sogar mal vollständig, 
in dem irrtümlich kurz ein falscher Spannungsimpuls an einen Pin kam 
(VCC negativer als GND). Das war nicht der Löschmodus! Der Strom reichte 
nicht für eine Zerstörung, und der Baustein blieb heil, läßt sich bis 
heute immer stets einwandfrei schreiben und lesen.

Aus diesem Grunde setzte ich EEPROM auch nie mehr als externes ROM in 
µC-Schaltungen ein, sondern EPROM, wie es sich eigentlich gehörte. Die 
sind in dieser Hinsicht robuster.

von Peter Z. (Gast)


Lesenswert?

Auch ein interressanter Aspekt. Aber der Kunde hat ein fertiges Gerät 
der Schutzklasse 1 vor sich und sollte sich nicht mehr um ESD kümmern 
müssen. Und der ESD-Test wurde sogar eine Klasse höher als notwendig 
durchgeführt und bestanden.
Nein, das EEPROM ist nicht dauerhaft beschädigt. Nachdem ich das Gerät 
an unsere Servicestation gehängt und neu initialisiert und kalibriert 
habe hat alles wieder funktioniert.

von m.n. (Gast)


Lesenswert?

Seinerzeit hatte ich etwas für den KFZ-Bereich auf einem ATmega128 
programmiert. Trotz BOD war sein EEPROM immer wieder vergesslich. 
Letztlich hatte ich dann den EEPROM-Datensatz dreifach mit separater 
Prüfsumme abgespeichert und beim Einschalten den ggf. abweichenden 
Datensatz neu geschrieben.

Das war zwar 150%ig, dafür ist aber auch nie etwas zurückgekommen.
Wenn Du schon am Programm etwas änderst, vielleicht wäre ein mehrfaches 
Abspeichern auch für Dich die hinreichende Absicherung.

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.