Forum: Mikrocontroller und Digitale Elektronik Watchdog löst keinen Reset aus


von GFunk (Gast)


Lesenswert?

Ich habe den Watchdog-IC TPS3820. Am WDI-Eingang bekommt er die Pulse 
vom µC. Wenn ich den WDI kurz mit GND kurzschließe, erwarte ich 
eigentlich einen Reset, aber der Watchdog macht keinen (Output bleibt 
High). Kann mir jemand helfen?
Danke im voraus!

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

GFunk schrieb:
> vom µC. Wenn ich den WDI kurz mit GND kurzschließe, erwarte ich
> eigentlich einen Reset, aber der Watchdog macht keinen (Output bleibt
> High). Kann mir jemand helfen?
> Danke im voraus!

 Warum erwartest du das ?
 Wenn du MR mit GND verbindest, kriegst du einen Reset. WDI muss
 periodisch getriggert werden ( also LOW-HIGH-LOW etc).

von GFunk (Gast)


Lesenswert?

Aber wenn der WDI-Puls ausbleibt (sprich dauerhaft GND), dann sollte das 
doch einen Reset zur Folge haben: Oder irre ich da???

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

GFunk schrieb:
> Aber wenn der WDI-Puls ausbleibt (sprich dauerhaft GND), dann sollte das
> doch einen Reset zur Folge haben: Oder irre ich da???

 Nein, aber vielleicht hast du einen TPS3824 oder 8 ?

 Die haben ein Timeout von 1s bis 2.5s.

von GFunk (Gast)


Lesenswert?

Es ist schon der TPS3820. Aber wie funktioniert das denn nun? Wenn die 
Pulse kommen ist gut. Wenn die Pulse nicht mehr ankommen ist immer noch 
gut? Also z.B. µC hört auf, oder Leitung unterbrochen wird nicht 
erkannt? Dann könnte man sich das ja sparen.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

GFunk schrieb:
> Es ist schon der TPS3820. Aber wie funktioniert das denn nun? Wenn die
> Pulse kommen ist gut. Wenn die Pulse nicht mehr ankommen ist immer noch
> gut? Also z.B. µC hört auf, oder Leitung unterbrochen wird nicht
> erkannt? Dann könnte man sich das ja sparen.

 Rätselhaft, sollte normalerweise so funktionieren, wie du oben schon
 geschrieben hast.

 Chip KO ?

 P.S.
 Obwohl ich es nicht glaube, aber probiere mal mit 4K7 Pullup am RESET.

von GFunk (Gast)


Lesenswert?

Am Reset-Ausgang habe ich einen 10k Pull-up.
Ich habe jetzt mal die Leitung zwischen WDI und dem µC aufgetrennt, und 
einen Schalter dazwischen gemacht. Öffne ich den Schalter, kommen die 
Pulse nicht mehr durch, aber der Watchdog macht keinen Reset. Lege ich 
jetzt den WDI-Eingang auf GND macht er ständig einen Reset (ca. alle 
200ms).
Also zusammenfassend folgendes Verhalten:
- WDI-Leitung mit den Pulsen mit GND kurzschließen -> kein Reset
- WDI-Leitung unterbrechen -> kein Reset
- WDI-Leitung unterbrechen und am WD auf GND legen -> Reset alle 200ms
Bin gerade komplett verwirrt!

von Peter D. (peda)


Lesenswert?

Das Datenblatt ist Dein Freund:

"Leaving WDI unconnected disables the watchdog."

Damit der Watchdog immer wach ist, muß also noch ein Pullup oder 
Pulldown ran.

von GFunk (Gast)


Lesenswert?

So ist es tatsächlich. Das ist ja trickreich.
Aber dieses Forum ist einfach spitze. Vielen Dank!

Leider muss ich jetzt halt noch einen Pull-Up spendieren. Ich dachte 
"leaving unconnected" heißt den Pin ganz offen lassen. Ich habe ja aber 
den µC mit seinem Heartbeat dran, aber das reicht wohl nicht ...

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Peter Dannegger schrieb:
> Damit der Watchdog immer wach ist, muß also noch ein Pullup oder
> Pulldown ran.

 Ich dachte, das ist selbstverstandlich, das macht man doch immer.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

GFunk schrieb:
> Leider muss ich jetzt halt noch einen Pull-Up spendieren. Ich dachte
> "leaving unconnected" heißt den Pin ganz offen lassen. Ich habe ja aber
> den µC mit seinem Heartbeat dran, aber das reicht wohl nicht ...

 Das reicht sehr wohl.
 "leaving unconnected" heisst den Eingang offen lassen, ohne definierten
 Pegel. Wenn man diesen Pin mit Impulsen von uC ansteuert ( ob mit oder
 ohne Pullup ) sollte das Ganze funktionieren.
 Jeder Ausgang am uC hat einen definierten Pegel (Low oder High, ist
 eigentlich egal) und deswegen sollte der TPS ohne Zustandswechsel
 periodisch einen RESET auslosen.
 Der einzige Fall wo das Ganze nicht funktioniert, ist wenn du diesen
 Pin am uC als Eingang definiert hast. Dann hast du (ohne Pullup)
 den TPS disabled.

von Peter D. (peda)


Lesenswert?

Marc Vesely schrieb:
> Ich dachte, das ist selbstverstandlich, das macht man doch immer.

Beim 8051 nicht, da ist ein ständig aktiver Pullup schon eingebaut 
(außer an P0).

Bei den anderen ist er nötig, falls mal ein SW-Fehler den Pin als Input 
setzt oder das Init schon hängenbleibt.

von GFunk (Gast)


Lesenswert?

Hmm, ich verstehe immer noch nicht ganz die Funktionsweise.
Mit Pull-Up funktioniert es jetzt. Trenne ich die WDI-Leitung, und habe 
auf der Seite vom Watchdog einen Pull-up, also definierten High-Pegel, 
dann löst er den Reset aus. Trenne ich ohne Pull-Up, also WDI floating, 
dann gibt es keinen Reset.
Kann es sein, dass der µC Pulse ausgibt, wenn der Pin als Eingang 
definiert ist?

von npn (Gast)


Lesenswert?

GFunk schrieb:
> Kann es sein, dass der µC Pulse ausgibt, wenn der Pin als Eingang
> definiert ist?

Nein, er ist dann aber hochohmig.
Und "Leaving WDI unconnected disables the watchdog." heißt, wenn WDI 
hochohmig ist (bei µC-Pin als Eingang), daß dann eben der Watchdog nicht 
aktiv ist. Das heißt also, den µC-Pin nich als Eingang schalten, sonder 
auf Ausgang lassen. Und wenn dann beispielsweise durch einen 
Programmfehler der µC keine Impulse mehr ausgiobt, funktioniert auch der 
Watchdog.

von GFunk (Gast)


Lesenswert?

Marc Vesely schrieb:
> Ich dachte, das ist selbstverstandlich, das macht man doch immer.

Marc Vesely schrieb:
> Das reicht sehr wohl.
>  "leaving unconnected" heisst den Eingang offen lassen, ohne definierten
>  Pegel. Wenn man diesen Pin mit Impulsen von uC ansteuert ( ob mit oder
>  ohne Pullup ) sollte das Ganze funktionieren.

Was jetzt?
Ursprünglich hätte ich auch vermutet, es reicht wenn der µC dran hängt.

von npn (Gast)


Lesenswert?

GFunk schrieb:
> Ursprünglich hätte ich auch vermutet, es reicht wenn der µC dran hängt.

Klar, genau das schrieb er doch auch. Er schrieb aber nicht, daß du die 
Leitung zum µC auftrennen sollst. Dann floatet sie und der Wachhund ist 
nicht bereit zum Bellen :-)

von GFunk (Gast)


Lesenswert?

npn schrieb:
> Kann es sein, dass der µC Pulse ausgibt, wenn der Pin als Eingang
>> definiert ist?
>
> Nein, er ist dann aber hochohmig.

Ok, aber dann war es kein Eingang, denn er hat ja Pulse ausgegeben.

von GFunk (Gast)


Lesenswert?

Wie kann man sich erklären, dass der Wachhund nicht bellt, wenn ich die 
WDI-Leitung mit den Pulsen extern hart mit GND kurzschließe?

von npn (Gast)


Lesenswert?

GFunk schrieb:
> Wie kann man sich erklären, dass der Wachhund nicht bellt, wenn
> ich die
> WDI-Leitung mit den Pulsen extern hart mit GND kurzschließe?

Kann ich dir auch nicht sagen. Normalerweise müßte er. Es kommen keine 
Impulse und die Leitung ist -nicht- floatend. Also müßte er auslösen.

von GFunk (Gast)


Lesenswert?

Ok. Ich versuche es nochmal.
Aber der Fehler mit einer unterbrochenen Leitung oder schlechten 
Lötstelle würde nicht erkannt (bzw. würde nicht zu einem Reset führen).

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.