mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega644 benötigt Watchdog trotz unprogrammierter Fuse WDTON


Autor: Doktor Gnadenlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor mir liegt ein ATmega644-20PU. Im Lieferzustand ist dessen Fuse WDTON 
unprogrammiert, also auf logisch '1'. Ein Watchdog ist nicht 
erforderlich - in der Theorie.
De facto bekommt der Controller aber alle paar Millisekunden einen Reset 
verpasst. Das läßt sich nur vermeiden, indem man den Watchdog triggert, 
obwohl weder die Fuse WDTON noch das Register WDTCSR angefasst wurde.
Zunächst hatte ich das Programmierwerkzeug, AVR ISP mit einem 
Paralleladapter, in Verdacht. Das liess sich aber nicht erhärten, weil 
die Fuse auch beim Auslesen über LPM Instruction korrekt dargestellt 
wird.

Der Workaround ist trivial, schlicht den Watchdog triggern, wohler wäre 
mir aber doch bei einer schlüssigen Begründung.

Momentan habe ich keine Erklärung für das Verhalten.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt 2 Möglichkeiten:

1.
Du hattest die Watchdog-Fuse eingeschaltet und danach die VCC nicht 
abgeschaltet. Diese Fuse wird erst beim Ausschalten gelöscht.


2.
Wenn die VCC nicht von 0V an schnell und monoton steigt, kann das 
Poweron-Reset versagen. In dem Fall kann auch das WDRF-Bit zufällig 
gesetzt sein.

Für hohe Zuverlässigkeit muß man deshalb auch das Brownout-Reset 
aktivieren und nach dem Reset WDRF löschen und den Watchdog disablen.
Steht auch in einer App-Note drin.


Peter

Autor: Doktor Gnadenlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den Hinweis.
Das erste Szenario war zutreffend.
Die Änderung zumindest dieser Fuse wird erst nach einer 
Spannungsunterbrechung wirksam. Ein Reset ist nicht ausreichend.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.