Browse Prior Art Database

Verfahren zur Sicherung einer exakten Watchdogfunktion bei Mikrocontrollern

IP.com Disclosure Number: IPCOM000016884D
Original Publication Date: 1998-Oct-01
Included in the Prior Art Database: 2003-Jul-21
Document File: 1 page(s) / 15K

Publishing Venue

Siemens

Related People

Hans Rehaag: AUTHOR [+4]

Abstract

Die korrekte Funktion von Mikrocontroller, wie sie z.B. in elektrischen Überstromauslösern von Niederspannungs-Leistungsschaltern eingesetzt werden, wird üblicherweise durch Watchdog-Schaltungen überwacht. Hierbei wird die Watchdog-Schaltung periodisch mit einem Signal beaufschlagt, welches in der Hauptprogrammschleife generiert wird. Bleibt dieses Signal eine Zeit lang aus, so wird das System durch den Watchdog zurückgesetzt und neu gestartet. Ein Generieren des Signals in der Interrupt-Serviceroutine eines Timers verbietet sich, weil trotz eines Programmabsturzes die Interrupt-Serviceroutine noch weiterarbeiten kann und dem Watchdog so ein intaktes System vorspiegeln könnte. Verfängt sich das Programm nach dem Absturz in der signalerzeugenden Hauptschleife, so könnten trotz zerstörter Initialisierung der Interrupt-Serviceroutinen noch korrekte Signale erzeugt werden. Dies führt dazu, daß ein gefährlicher Zustand des Auslösers nicht erkannt wird. Bei der nun vorgeschlagenen Lösung nimmt man den Umstand zur Hilfe, daß die Interrupt- Serviceroutinen ohnehin nach Prioritäten geordnet sind. Zuerst erzeugt die Routine mit der niedrigsten Priorität ein „Watchdog-Signal-Enable“-Signal. Erkennt die nächst höhere Routine dieses Signal, so erzeugt sie ihrerseits ein derartiges Signal. Dieser Vorgang setzt sich solange fort, bis auch die Routine mit der höchsten Priorität ihr Signal erzeugt hat. Das Signal, mit dem der Watchdog periodisch beaufschlagt wird, wird nach wie vor in der Hauptschleife generiert. Diese Generierung erfolgt aber erst dann, wenn das „Watchdog- Singal-Enable“-Signal der höchstpriorsierten Routine vorliegt. Nach Ausgabe des Signals, welches den Watchdog periodisch beaufschlagt, werden sofort alle Enable-Signale zurückgenommen. Erst wenn wieder alle Interrupt-Serviceroutinen in der Reihenfolge ihrer Priorität durchlaufen wurden, kann in der Hauptschleife ein neues Signal generiert werden.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 69% of the total text.

- 39 -

Energie

Verfahren zur Sicherung einer exakten Watchdogfunktion beiMikrocontrollern

Idee: Hans Rehaag, Zepernick; Bernd Ette, Berlin; Peter Schust, Berlin;

Andreas Pancke, Berlin

Die korrekte Funktion von Mikrocontroller, wie sie z.B. in elektrischen Überstromauslösernvon Niederspannungs-Leistungsschaltern eingesetzt werden, wird üblicherweise durchWatchdog-Schaltungen überwacht. Hierbei wird die Watchdog-Schaltung periodisch miteinem Signal beaufschlagt, welches in der Hauptprogrammschleife generiert wird. Bleibtdieses Signal eine Zeit lang aus, so wird das System durch den Watchdog zurückgesetzt undneu gestartet. Ein Generieren des Signals in der Interrupt-Serviceroutine eines Timersverbietet sich, weil trotz eines Programmabsturzes die Interrupt-Serviceroutine nochweiterarbeiten kann und dem Watchdog so ein intaktes System vorspiegeln könnte.Verfängt sich das Programm nach dem Absturz in der signalerzeugenden Hauptschleife, sokönnten trotz zerstörter Initialisierung der Interrupt-Serviceroutinen noch korrekte Signaleerzeugt werden. Dies führt dazu, daß ein gefährlicher Zustand des Auslösers nicht erkanntwird.

Bei der nun vorgeschlagenen Lösung nimmt man den Umstand zur Hilfe, daß die Interrupt-Serviceroutinen ohnehin nach Prioritäten geordnet sind. Zuerst erzeugt die Routine mit derniedrigsten Priorität ein „Watchdog-Signal-Enable“-Signal. Erkennt die nächst höhereRoutine dieses Signal, so erzeugt sie ihrerseits ein derartiges Signal. Dieser V...