EEPROM im AVR vor Überspannung schützen

Gast #1510474
Lesenswert?

Hallo,

habe ein Problem, dass die Daten meines internen EEPROMs durch evtl. 
Überspannugen (EMV?) verändert werden. Das EEPROM wird nur verändert, 
aber nicht beschädigt.
Wie kann ich das interne EEPROM durch entsprechende Hardwarebeschaltung 
schützen? Schreibschutz wird wohl nichts bringen, da das Phänomen nicht 
durch einen SW Schreibfehler auftritt.

Verwendet wird ein AT90CAN128.

Merci Christian
Persönliche Seite #1510611
Lesenswert?

Christian schrieb:
> habe ein Problem, dass die Daten meines internen EEPROMs durch evtl.
> Überspannugen (EMV?) verändert werden.

Wie kommst du darauf, dass es Überspannungen sind?
Warum werden diese überhaupt toleriert und in die Schaltung gelassen.


> Schreibschutz wird wohl nichts bringen, da das Phänomen nicht
> durch einen SW Schreibfehler auftritt.

Woher kannst du da sicher sein?
Das wäre mein erster Ansatzpunkt.
Moderator (Firma: Titel) Persönliche Seite #1510620
Lesenswert?

> habe irgendwo gelesen, daß manche AVRs den inhalt ihres
> eeprom beim abschalten korrupieren können.
Das waren die Mature AVR. Wenn bei denen ein Schreibvorgang angestossen 
wurde, und dann die Versorgungsspannung wegging, blieb die Ladungspumpe 
eingeschaltet, aber der Pointer ging auf Adresse 0. Und dann konnte es 
sein, dass die eigentlich angewählte Zelle ein wenig "angelöscht" und 
die Zelle 0 "fertiggelöscht" wurde. Fatal war, dass der uC so einen 
Schreibvorgang fehlerhafterweise beim Powerfail selber anstossen 
konnte.
Mit aktivierten Brown-Out passiert da heutzutage nichts mehr.

> habe ein Problem, dass die Daten meines internen EEPROMs durch evtl.
> Überspannugen (EMV?) verändert werden.
Werden die fehlerhaften Bits immer auf '1' gesetzt?
Falls ja: Brown-Out aktivieren.
Gast #1510660
Lesenswert?

Werde einmal testen, ob die Fehlerhaften Bits alle auf '1' liegen. Wie 
würde das dann mit Brown Out aussehen? Muss ich das Flag vor dem 
Schreibvorgang lesen, und darf erst dann ins EEPROM schreiben? Wobei ich 
selber meine nicht in mein EEPROM zu schreiben. Werde dies aber noch 
einmal prüfen.
Moderator (Firma: Titel) Persönliche Seite #1510680
Lesenswert?

> Wie würde das dann mit Brown Out aussehen?
Nichts einfacher als das:
Du setzt die entsprechende Fuse, den Rest macht der uC.

Aber aufpassen:
Der Brown-Out schützt dich nicht davor, dass die gerade aktuell 
beschriebene Zelle korrupt ist. Wenn die Energie noch zum Löschen 
reicht, aber nicht mehr fürs Schreiben, was soll der uC da noch machen? 
Du selber brauchst eine Powerfail-Überwachuung, und nur wenn das Byte 
(oder der Datensatz) noch geschreiben werden kann, darfst du einen 
Schreibvorgang starten. Dabei hilft dir der Brown-Out aber nicht, denn 
der schützt "nur" die anderen Zellen.
#1510895
Lesenswert?

Hallo,

ich habe mit dem Atmega8535 das gleiche Problem. Den "Brown out level" 
habe ich bereits auf 4 Volt eingestellt. Einen Softwarefehler kann ich 
auch ausschließen, da überhaupt nicht auf das EEPROM zugegriffen wird. 
Und es werden fast alle Speicherzellen von 0-511 mit unregelmäßigen 
Bitmustern gefüllt. Auch die Zellen die nicht programmiert wurden sind 
nicht mehr auf 255. In der Nähe (ca. 50 cm Abstand) werden 
Transformatoren mit einer Leistung von 37 kVA über Schütze geschalten. 
Bis jetzt vermute ich, dass sich über die Luft (magnetische Einsteuung?) 
der Atmega etwas einfängt. Wenn jemand eine Erklärung bzw. Abhilfe weiß, 
würde ich mich sehr darüber freuen.
Am Programm (Flash) verändert sich aber kein Byte.

Gruß
Jürgen
#1511213
Lesenswert?

@  Ben _ (burning_silicon)

>dann probier's doch einfach mal mit einem abschirmkäfig um den µC...

Kann helfen, wird es aber wahrscheinlich eher weniger. Den meisten Dreck 
fängt man sich über Signal- bzw. Masseschleifen ein.

>meine der regelfall ist der betrieb eines (ungeschützten) µC in 50cm
>abstand zu richtig dicken trafos nicht gerade.

Alles relativ. Bissel 50Hz Streufeld interessiert Digitalelektronik 
keine Sekunde. Aber Schaltfunken von Schützen sind HEISS!

MFG
Falk
Gast #1511275
Lesenswert?

Blechkiste wäre eine Idee, aber 50cm Abstand zu 37 kVA ?
Da wirkt doch jeder Draht wie Antenne und die Betriebsspannung= ???

Wahrscheinlich wäre eine Ortsveränderung die beste Lösung. Man sollte 
aber wissen, daß z.B. ein Eisenbahnfahrdraht in 10m Entfernung auch noch 
wunderliche Effekte verursachen kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren