Watchdog-Timer |
![]() |
![]() |
Letztmalig dran rumgefummelt: 01.03.10 14:44:00 |
![]() |
Der Begriff Watchdog (englisch; Wachhund) wird verallgemeinert für eine Komponente eines Systems verwendet, die die Funktion anderer Komponenten überwacht. Wird dabei eine mögliche Fehlfunktionen erkannt, so wird dies entweder gemäß Systemvereinbarung signalisiert oder geeignete Sprunganweisungen eingeleitet, die das anstehende Problem bereinigen. Das Signal oder die Sprunganweisungen dienen unmittel- oder mittelbar als Auslöser für andere kooperierende Systemkomponenten, die das Problem lösen sollen. | ||||||
![]() |
1. Technische Parameter sowie wichtige
Hinweise |
||||||
![]() |
|
||||||
![]() |
Quellen: |
1. Technische Parameter sowie wichtige Hinweise |
![]() |
Im Speziellen werden
Watchdogs in Mikrocontroller-gesteuerten elektrischen Geräten eingesetzt, um
einem Komplettausfall des Gerätes durch Softwareversagen zuvorzukommen.
Verhindert wird der Ausfall eines automatischen Mikrocomputersystems, indem
die Software in regelmäßigen Abständen dem Watchdog mitteilt, dass sie noch
ordnungsgemäß arbeitet. Alternativ kann das gleiche auch durch einen Zähler realisiert werden, der in regelmäßigen Abständen von der Software auf einen bestimmten Wert gesetzt wird. Dieser Zähler wird hardwareseitig ständig dekrementiert; erreicht er 0, so hat es die Software nicht geschafft, ihn rechtzeitig zu erhöhen und ist wahrscheinlich "hängengeblieben" oder ausgefallen. Der Watchdog setzt daraufhin das Gerät durch Rücksetzen (Reset) in den definierten Ausgangszustand zurück, damit das von der Software gesteuerte System wieder überwacht ordnungsgemäß arbeiten kann. Das Intelligente Plattform Managementsystem spezifiziert als IPMI-Standard eine Schnittstelle zwischen Rechner und Watchdog, so dass man für Standard-Server-Mainboards keine weitere Hardware benötigt. Allgemein ist das Gerät während eines Neustarts (nach dem Reset) nicht zu Echtzeitreaktionen fähig und kann somit keine Daten verarbeiten, bzw. auf Anfragen reagieren. |
![]() |
Watchdogs werden in verschiedenen funktionalen Ausführungen verwendet: |
![]() |
Hardware-Watchdog: Der Hardware-Watchdog
ist in den Mikrocontroller integriert oder ein auf der Platine verbauter
Mikroelektronik-Baustein oder eine externe Mikroelektronikkomponente mit
Kommunikation zum Mikrocontroller: Time-Out-Watchdog: Beim Time-Out-Watchdog muss sich der Mikrocontroller vor Ablauf einer vorgegebenen Zeit beim Watchdog melden (Prinzip Totmanneinrichtung bei der Bahn). Im Fehlerfall wird ein Reset des Mikrocontrollers und eventuell einiger Peripheriebauteile ausgelöst. Ist der Watchdog im Mikrocontroller integriert, kann auch zusätzlich ein sogenannter Trap (= Interrupt) ausgelöst werden. Es ist anschließend die Aufgabe des dem Trap zugeordneten Softwaremoduls, eine angepasste Reaktion durchzuführen (z. B. abspeichern, dass es ein Watchdog-Problem gegeben hat, das System in den sicheren Zustand bringen und anschließend einen teilweisen oder kompletten Neustart durchführen). Verfügt ein Mikrocontroller nicht über einen speziellen Watchdog-Schaltkreis, kann auch der Software-Interrupt eines normalen Timers dazu verwendet werden. Fenster-Watchdog: Beim Fenster-Watchdog muss sich der Mikrocontroller innerhalb eines vorgegebenen Zeitfensters beim – meist externen – Watchdog melden. Reaktion entspricht dem Time-Out-Watchdog. Intelligenter Watchdog: Beim intelligenten Watchdog muss
der Mikrocontroller eine vom externen Watchdog-Baustein gestellte Frage
korrekt beantworten, das Verfahren wird daher auch
Challenge-Response-Konzept bezeichnet. |
![]() |
Software-Watchdog Der Software-Watchdog ist eine prüfende Software im Mikrocontroller. Das Watchdog-Software-Modul kontrolliert ob alle wichtigen Programm-Module in einem vorgegebenen Zeitrahmen korrekt ausgeführt werden oder ob ein Modul unzulässig lange für die Bearbeitung benötigt. Dieses muss nicht unbedingt durch eine fehlerhafte Abarbeitung verursacht sein, sondern kann auch durch einen Deadlock (Verklemmung) hervorgerufen werden. Der Software-Watchdog kann seinerseits von einem Hardware-Watchdog überwacht werden. |
2. PIC-Programmierung |
![]() |
Für die Programmierung der PIC-Controller gibt es ganz offensichtlich verschiedene Möglichkeiten und Werkzeuge - sowohl hard- als auch softwareseitig. Und nicht zu vergessen ist die Tatsache, dass die fertigen geschriebenen und compilierten Programme HEX-konvertiert sowie in den Controller übertragen werden müssen. Als Programmiersprachen kommen Assembler für die jeweiligen Zielprozessoren oder aber auch Hochsprachen wie C- und BASIC-Derivate zum Einsatz |
![]() |
3. Speicheraufteilung |
![]() |
Mit Sicherheit ist der PIC16F877 für die weitaus meisten Projekte völlig überdimensioniert und somit zu teuer und zu aufwendig (alte deutsche Rechtschreibung!). Für die Mehrzahl der kleinen "Elektronik-Anwendungen" und Aufgabenstellungen ist |
![]() |
4. Controller-Peripherie |
![]() |
|
![]() |
|
5. Projekte & Linksammlung |
![]() |
Mit Sicherheit ist der PIC16F877 für die weitaus meisten Projekte völlig überdimensioniert und somit zu teuer und zu aufwendig (alte deutsche Rechtschreibung!). Für die Mehrzahl der kleinen "Elektronik-Anwendungen" und Aufgabenstellungen ist |
![]() |
|
6. Verwandte Themen |
![]() |
![]() |
![]() |
|
Was ist alles mit dem Betriebssystem eines Microcomputers verwandt? Antwort: faktisch der gesamte Bereich der Digitalelektronik und sowieso die gesamte Technik der Software-Technologie der Vergangenheit, Gegenwart sowie zumindest der nächsten Zukunft. | ||||||||||||||||||
![]() |
|
||||||||||||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am 1. März 2010 um 13.28 Uhr |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |
Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-) |