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
brown-out detection ist aktiviert? ansonsten einen externen reset-IC verwenden. habe irgendwo gelesen, daß manche AVRs den inhalt ihres eeprom beim abschalten korrupieren können.
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.
> 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.
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.
> 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.
...es steht definitiv nicht nur '1' an den "fehlerhaften" Stellen, sondern es wird auch '1' auf '0' gesetzt. Was bedeutet das??
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
dann probier's doch einfach mal mit einem abschirmkäfig um den µC... meine der regelfall ist der betrieb eines (ungeschützten) µC in 50cm abstand zu richtig dicken trafos nicht gerade. du willst schließlich auch nicht, daß irgendjemand eine 380kV leitung 50cm neben dir einschaltet.
@ 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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.