Forum: Mikrocontroller und Digitale Elektronik Externer Watchdog Funktion


von Bert S. (kautschuck)


Lesenswert?

Hi

Ich suche einen externen Watchdog, der alle paar ms einen Trigger Puls 
bekommt und wenn nicht innerhalb des vorgesehenen Intervalls ein Puls 
kommt, dann geht der Ausgang kontinuierlich auf low, bis wieder Pulse 
kommen.

Gesucht und gefunden habe ich folgenden: 
https://www.st.com/resource/en/datasheet/stwd100.pdf

Alles passt soweit bis auf dass der bei fehlenden WDI Pulsen den Ausgang 
die ganze Zeit toggelt, ich möchte aber kontinuierlich low. Leider finde 
ich z.B auf Mouser keine alternative, die das was ich will kann. Jemand 
eine Idee, was man da machen könnte? Evtl. ein Latch bis wieder Pulse am 
Eingang kommen?

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


Lesenswert?

Bert S. schrieb:
> Ich suche einen externen Watchdog, der alle paar ms einen Trigger Puls
> bekommt und wenn nicht innerhalb des vorgesehenen Intervalls ein Puls
> kommt, dann geht der Ausgang kontinuierlich auf low, bis wieder Pulse
> kommen.
Nimm ein flankengetriggertes nachtriggerbares Monoflop in Richtung 4538.

: Bearbeitet durch Moderator
von Bert S. (kautschuck)


Lesenswert?

Lothar M. schrieb:
> Nimm ein flankengetriggertes nachtriggerbares Monoflop in Richtung 4538.

Ok, ich sehe aber nicht genau wie das Ausgangssignal dann resettend 
wird.

von Daniel V. (danvet)


Lesenswert?

Bert S. schrieb:
> ..., dann geht der Ausgang kontinuierlich auf low, bis wieder Pulse
> kommen.
>
Und wie kommt dein Controller dann wieder aus dem Reset raus?

von Andras H. (kyrk)


Lesenswert?

Das was du willst heisst Reset Escalation und wir in der uC meist 
implementiert. Also bei 5 mal reset bleibt der Controller tot bis kein 
POR kommt.

von Bert S. (kautschuck)


Lesenswert?

Daniel V. schrieb:
> Und wie kommt dein Controller dann wieder aus dem Reset raus?

Das ganze soll nicht den uC resetten, sondern ist eine zusätzliche 
Sicherheitsstufe, die eine Leistung abschaltet, wenn keine Pulse mehr 
kommen. Wenn wieder Pulse kommen (uC ist wieder da), dann soll es wieder 
laufen. Wenn der uC sich nicht mit dem IWDG resettet, dann bleibt das 
ganze Tod.

von Dietrich L. (dietrichl)


Lesenswert?

Bert S. schrieb:
> Ok, ich sehe aber nicht genau wie das Ausgangssignal dann resettend
> wird.

Das verstehe ich nicht. Was willst du da "sehen"?

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


Lesenswert?

Bert S. schrieb:
> wenn nicht innerhalb des vorgesehenen Intervalls ein Puls kommt, dann geht
> der Ausgang kontinuierlich auf low, bis wieder Pulse kommen.
Geanz genau das macht ein retriggerbares Monoflop. Welchen Teil der 
Aufgabe habe ich übersehen?

Kannst du da einfach mal ein Timingdiagramm malen, wie das ablaufen 
soll?
Was soll der Ausgang des "Watchdogs" machen, woran ist der 
angeschlossen?

von Xerxes (Gast)


Lesenswert?

Den (Toggle)-Ausgang der CPU auf ein R-C-Filter. Dahinter ein Komparator 
der die Spannung über dem C misst.  Wenn die Spannung, durch fehlende 
Pulse, zu klein wird schaltet der Komparator.
Durch eine geschickte Wahl des  R-C-Filters kann du nicht nur erkennen 
ob Pulse kommen sondern auch ob sie mit der erwarteten Frequenz kommen.
Z.B. erwartet sind 2kHz PWM mit 50% Duty-Cycle. Wenn der DC nicht stimmt 
oder die Frequenz nicht passt ist irgend etwas in der SW faul und der 
Komparator löst aus.

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


Lesenswert?

Xerxes schrieb:
> die Frequenz nicht passt ist irgend etwas in der SW faul und der
> Komparator löst aus.
Profis sind dann die, die zum Zurücksetzen des Watchdogs für die 
"passende Frequenz" dann extra einen Timer samt Interrupt spendieren.

Wenn mir der übliche in jeden µC eingebaute Watchdog nicht gut genug 
wäre, dann würde ich einen kleinen AVR programmieren, der die 
Watchdogfunktion genau so macht, wie ich das will...  ;-)

: Bearbeitet durch Moderator
von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Angehängt mal die Signale, die ich möchte.

Solange ich also Pulse bekomme (in einem fixen Zeitinterval von wenigen 
ms) bleibt der Ausgang bei HIGH. Wenn das Signal des uC konstant bleibt, 
dann wird der Ausgang auf LOW gefahren, bis wieder Pulse kommen.

von Peter D. (peda)


Lesenswert?

Z.B. 74HC123

von Bert S. (kautschuck)


Lesenswert?

Peter D. schrieb:
> Z.B. 74HC123

Ich sehe nicht wirklich, wie ein Monoflop hier helfen soll, denn es muss 
bei Eingangspulsen ein konstantes Ausgang Signal auf HIGH geben und beim 
ausbleiben von Pulsen beim Eingangssignal (egal ob HIGH oder LOW) muss 
der Ausgang immer auf LOW gehen.

von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Ich habe mir noch einmal den Retrigger Mechanismus angeschaut und es 
scheint, dass wenn ich auf dem 74HC123 Pulse gebe, die schneller sind 
als die Monoflop Puls Zeit, dann bleibt der Ausgang konstant auf HIGH 
bis keine Pulse mehr kommen. Stimmt das?

von A. S. (Gast)


Lesenswert?

Bert S. schrieb:
> Stimmt das?

Ja. Deine Aufgabe ist ein Monoflop.

Ein watchdog ist zum kurzzeitigen Reset eines uC, nicht zum dauerhaften 
Abschalten.

von spess53 (Gast)


Lesenswert?

Hi

Watchdogs werden maßlos überschätzt. Das war das Erste was ich immer 
dauerhaft deaktiviert habe. Denn der hilft nicht gegen miserable 
Software oder /und gegen mangelhafte Hardware.

MfG Spess

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.