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!
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).
Aber wenn der WDI-Puls ausbleibt (sprich dauerhaft GND), dann sollte das doch einen Reset zur Folge haben: Oder irre ich da???
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.
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.
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.
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!
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.
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 ...
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.
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.
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.
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?
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.
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.
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 :-)
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.
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.