Forum: Mikrocontroller und Digitale Elektronik Hilfestellung Watchdog Implementierung


von tigger (Gast)


Lesenswert?

Hallo, ich möchte eine Software Watchdog Funktionalität für einen 
Mikrocontroller implementieren. Dazu gibt es auch eine Funktion die 
einen Reset auslöt. Wie bringt man so eine Funktionalität in der 
Applikation unter ? verwendet man da einen Timer bzw. Zähler der dann 
immer automatisch zurückgesetzt wird ?

Besten Dank im Voraus für jeden Beitrag.

von spess53 (Gast)


Lesenswert?

Hi

>Hallo, ich möchte eine Software Watchdog Funktionalität für einen
>Mikrocontroller implementieren.

Welcher Mikrocontroller?

MfG Spess

von tigger (Gast)


Lesenswert?

16Bit Mikrocontroller XC164 von Infineon.

von HolgerT (Gast)


Lesenswert?

tigger schrieb:
> verwendet man da einen Timer bzw. Zähler der dann
> immer automatisch zurückgesetzt wird ?

Der Watchdog ist der Zähler und (einmal gestartet) musst DU ihn 
periodisch zurücksetzen, sonst gibts den Reset (automatisch).

von Dietrich L. (dietrichl)


Lesenswert?

tigger schrieb:
> Software Watchdog

...halte ich für etwas sinnlos. Ein Software-Watchdog kann auch nichts 
mehr tun (z.B. Reset auslösen), wenn der Prozessor abgestürzt ist.
Aber vielleicht meinst Du auch was anderes?

Gruß Dietrich

von J. S. (bb84)


Lesenswert?

Dietrich L. schrieb:
> tigger schrieb:
>> Software Watchdog
>
> ...halte ich für etwas sinnlos. Ein Software-Watchdog kann auch nichts
> mehr tun (z.B. Reset auslösen), wenn der Prozessor abgestürzt ist.
> Aber vielleicht meinst Du auch was anderes?
>
> Gruß Dietrich

Könnte man den "watchdog" nicht extern als analoge schaltung 
realisieren?
Diese dann über software immer wieder zurücksetzen.

von Olle Kammelle (Gast)


Lesenswert?

Julian S. schrieb:
> Könnte man den "watchdog" nicht extern als analoge schaltung
> realisieren?
> Diese dann über software immer wieder zurücksetzen.

Doch, kann man und wird auch oft so gemacht gerade in 
Sicherheitstechnik.
Im wesentlichen besteht die Schaltung aus einem Hochpass, einem 
Kondensator, einem Entladewiderstand und evtl. noch einem 
Schmitt-Trigger / OP.
Der uC muss zyklisch im Programm einen Pin Toggeln. Durch den Hochpass 
kommen nur die Flankenwechsel durch(ansonsten würde auch ein ständiger 
High Pegel den Kondensator laden). Wenn der Kondensator voll ist, ist 
alles in Ordnung (der uC Triggert regelmäßig den Pin). Wenn der uC nun 
irgendwo hängen bleibt, wird der Kondensator über einen Widerstand 
entladen und der OP zieht den uC ab einer gewissen minimalen Spannung am 
Kondensator in den Reset.

Dafür Pin muss dann aber definitiv in der Software getriggert werden, 
nicht über einen PWM Counter o.ä. !!

von Olle Kammelle (Gast)


Lesenswert?

Olle Kammelle schrieb:
> Dafür Pin

Der Pin...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Olle Kammelle schrieb:
> nicht über einen PWM Counter o.ä. !!
Und auch nicht über einen Timerinterrupt...

von NurEinGast (Gast)


Lesenswert?

Aber der XC164 hat doch nen Watchdogtimer in der Hardware.....
Wieso nimmst Du den nicht ?

von Olle Kammelle (Gast)


Lesenswert?

NurEinGast schrieb:
> Aber der XC164 hat doch nen Watchdogtimer in der Hardware.....
> Wieso nimmst Du den nicht ?

Evtl. zu langsam bzw. zu schnell!?
Mit einem externen kann man theoretisch jede Zeitkonstante machen die 
man möchte. Mit einem Internen nur die vorgegebenen.

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.