Frank (Diskussion | Beiträge) K |
|||
Zeile 1: | Zeile 1: | ||
− | Als Watchdog (Wachhund) bezeichnet man die sogenannte | + | Als Watchdog (Wachhund) bezeichnet man die sogenannte "Watchdogtimer-Schaltung" (WDT) innerhalb eines Microcontrollers, die dafür sorgt, daß der Controller bei einem undefinierten Zustand ein RESET ausführt. |
− | + | ||
− | + | Mit dem Starten des Watchdog-Timers läuft ein von der Systemclock getakteter Hardware-Zähler ab einem programmierbaren Zählerstand los. Kommt es nach der gewählten Zeit zu einem Überlauf, so wird automatisch ein RESET-Signal für den Controller ausgelöst und somit die Hardware initialisiert und das im Controller abgelegte Programm neu gestartet. | |
− | Ein Watchdogtimer findet man in den meisten [[Atmel]] | + | Um zu verhindern, daß der COntroller sich ständig neu startet, muß das Programm immer rechtzeitig den Watchdogtimers zurücksetzen. Dies kann an mehreren Stellen im üblichen Programmablauf geschehen. Falls also das Programm aus irgendwelchen Gründen nicht mehr planmäßig abläuft oder auch stehenbleibt (z.B. wegen Endlosschleife), wird in den meisten Fällen der Watchdogtimer nicht mehr zurückgesetzt. Dadurch wird durch den Reset zumindest der Controller wieder in einen definierten Zustand gebracht. |
+ | |||
+ | Ein Watchdogtimer findet man in den meisten [[Atmel]] [[AVR]]-Controllern. Dort kann dieser auch per Software deaktiviert und aktiviert werden. | ||
==Siehe auch== | ==Siehe auch== | ||
+ | * [[avr-gcc#Reset auslösen|Beispiel für avr-gcc]] | ||
* [[Microcontroller]] | * [[Microcontroller]] | ||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] | ||
[[Kategorie:Grundlagen]] | [[Kategorie:Grundlagen]] |
Version vom 4. Januar 2006, 11:39 Uhr
Als Watchdog (Wachhund) bezeichnet man die sogenannte "Watchdogtimer-Schaltung" (WDT) innerhalb eines Microcontrollers, die dafür sorgt, daß der Controller bei einem undefinierten Zustand ein RESET ausführt.
Mit dem Starten des Watchdog-Timers läuft ein von der Systemclock getakteter Hardware-Zähler ab einem programmierbaren Zählerstand los. Kommt es nach der gewählten Zeit zu einem Überlauf, so wird automatisch ein RESET-Signal für den Controller ausgelöst und somit die Hardware initialisiert und das im Controller abgelegte Programm neu gestartet.
Um zu verhindern, daß der COntroller sich ständig neu startet, muß das Programm immer rechtzeitig den Watchdogtimers zurücksetzen. Dies kann an mehreren Stellen im üblichen Programmablauf geschehen. Falls also das Programm aus irgendwelchen Gründen nicht mehr planmäßig abläuft oder auch stehenbleibt (z.B. wegen Endlosschleife), wird in den meisten Fällen der Watchdogtimer nicht mehr zurückgesetzt. Dadurch wird durch den Reset zumindest der Controller wieder in einen definierten Zustand gebracht.
Ein Watchdogtimer findet man in den meisten Atmel AVR-Controllern. Dort kann dieser auch per Software deaktiviert und aktiviert werden.