Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 EPROM Datenverlust


von Tino K. (blumengiesser)


Lesenswert?

Ich habe ein Atmega8 auf einem eigenen Board und dieser vergisst ab und 
zu die Werte die im Eprom gespeichert sind. Also komplett weg sind sie 
nicht nur falsch oder total falsch. Es tritt gerade nach Ein- und 
Ausschalten auf. Die Software ist komplett die aus dem Tutorial und 
hatte immer wunderbar funktioniert. Was ist da faul?

von Hannes L. (hannes)


Lesenswert?

Tino Kühn schrieb:
> Was ist da faul?

Vermutlich BOD-Reset nicht aktiviert.

...

von Tino K. (blumengiesser)


Lesenswert?

Und das ist was?

von Hannes L. (hannes)


Lesenswert?

Tino Kühn schrieb:
> Und das ist was?

Ein Suchbegriff für das Datenblatt!

(Datenblatt öffnen, Ctrl-F, BOD, Suchergebnisse lesen und verstehen)...

...

von Hannes L. (hannes)


Lesenswert?


von ... (Gast)


Lesenswert?

Tino Kühn schrieb:
> Und das ist was?
Ein Schutz, damit bei zu geringer Betriebsspannung nicht irgendwelche 
unkontrollierten Dinge im µC ablaufen.

von Tino K. (blumengiesser)


Lesenswert?

Danke! Ich habe jetzt etliche Threads gelesen und bin dem Burn out 
Syndrom schon etwas näher gekommen. So wie ich es jetzt verstanden habe, 
ist das doch aber ein Schutz vor wirrem Zeug wenn der Controller etwas 
in das EPROM schreiben will und die Schaltung ausgeschaltet wird. Das 
mache ich ja gar nicht, sondern der Controller steht und wartet auf 
gutes Wetter, wird ausgeschaltet und beim Einschalten sind die Werte 
komisch. Oder habe ich da war nicht ganz richtig verstanden?

von Tino K. (blumengiesser)


Lesenswert?

Wäre die Aktion einfach den SUT_CKSEL von "6 CK 65 ms" auf 6 CK 0 ms" zu 
ändern?

von Hannes L. (hannes)


Lesenswert?

Tino Kühn schrieb:
> Oder habe ich da war nicht ganz richtig verstanden?

Vermutlich...

Tino Kühn schrieb:
> So wie ich es jetzt verstanden habe,
> ist das doch aber ein Schutz vor wirrem Zeug wenn der Controller etwas
> in das EPROM schreiben will und die Schaltung ausgeschaltet wird.

Nööö, Du musst nicht während des Schreibens abschalten, es reicht, wenn 
die Versorgungsspannung beim Nichtstun zu langsam abfällt (oder 
ansteigt). Kommt sie unter einen kritischen Wert, kann der AVR Blödsinn 
machen, z.B. EEP-Bits kippen lassen. Ich ging bisher davon aus, dass 
dies nur an der zuletzt eingestellten EEP-Adresse (eearh:eearl) passiert 
und setzte die Adresse nach jedem Zugriff auf eine unbenutzte Zelle. Ich 
musste mich aber belehren lassen, dass auch die EEP-Adresse bei 
Unterspannung Amok laufen kann.

Der einzige wirksame Schutz ist, den AVR bei Unterspannung in den Reset 
zu zwingen, was früher mit externen Reset-ICs gemacht wurde und heute 
mittels BOD erreicht wird.

Tino Kühn schrieb:
> der Controller steht und wartet auf
> gutes Wetter

Steht er wirklich? (Sleep) Oder klappert er in einer Schleife?

Tino Kühn schrieb:
> Wäre die Aktion einfach den SUT_CKSEL von "6 CK 65 ms" auf 6 CK 0 ms" zu
> ändern?

Keinesfalls, denn die 65 ms verlängertes Reset sind ein guter Schutz 
gegen "dreckige" Versorgungsspannung beim Einschalten.

Kann es sein, dass Du hinter dem Spannungsregler einen größeren Elko 
hast? Das wäre auch eine mögliche Ursache für zu langsames Ansteigen und 
Abfallen der Versorgungsspannung.

...

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.