Hallo zusammen.
Ich möchte gerne meinen uC hardwaremässig rebooten, wenn er sich
aufhängen würde (er ist schon mal im Bootloader hängen geblieben - reset
funktionslos). Ja, ich weiss, die meisten uC haben einen Watchdog schon
integriert. Ich möchte das aber rein schaltungstechnisch extern lösen.
Wenn der uC länger als 2s nicht mehr einen Ausgang toggelt (sagen wir
100ms lang 3.3V und 100ms lang 0V), dann soll ein Relaiskontakt für 1s
geöffnet werden, welcher die Versorgungsspannung des uC kurzzeitig
unterbricht und so einen Reboot auslöst.
Ich bräuchte eine möglichst simple Schaltung, welche auf kleinem Raum
aufgebaut werden kann.
Kann mir jemand weiterhelfen?
Vielen Dank!
mX273
Relaiskontakt und möglichst klein ist aber ein Oxymoron.
Normalerweise nimmt man ein flankengetriggertes retriggerbares MonoFlop.
Aber ob er in 2 Sek den Bootlaoder schafft...
Du solltest lieber herausfinden, warum der sich aufgehängt hat, anstatt
hier nach halbgaren Lösungen zu fragen. Kleiner Tipp: Das Problem sitzt
meistens vor der Schaltung.
Man zieht an den Resetleitung. Alle safetykonzepte gehen davon aus, dass
ein Reset sicher ist. Damit das auch so ist, wird die Resetfähigkeit
auch einmal pro Laufzyklus auch getestet. Du brauchst aber kein Safety.
Also watchdog und reset ziehen. Mehr brauchst du da nicht.
Manche externe watchdogs können wirklich den Strom auch abschalten.
Meist sind da integrierte DCDC und oder LDOs drin. Kannst auch so eins
nehmen. Die sind aber wesentlich komplexer, mit ihren Zustandsmaschinen
und Zählern...
Andras H. schrieb:> Alle safetykonzepte gehen davon aus, dass> ein Reset sicher ist.
Relativ sicher ist, dass eine CPU nach Stromausfall meist bei Adresse 0
anfängt. Was dann passiert, sollte ein gescheites Programm bewirken.
mX273 schrieb:> Hallo zusammen.>> Ich möchte gerne meinen uC hardwaremässig rebooten, wenn er sich> aufhängen würde (er ist schon mal im Bootloader hängen geblieben - reset> funktionslos). Ja, ich weiss, die meisten uC haben einen Watchdog schon> integriert. Ich möchte das aber rein schaltungstechnisch extern lösen.> Wenn der uC länger als 2s nicht mehr einen Ausgang toggelt (sagen wir> 100ms lang 3.3V und 100ms lang 0V), ...
Es gibt Watchdog-ICs (TI, Maxim,...), die genau das tun. Man schaltet
damit aber nicht die Versorgungsspannung, sondern geht auf den
Nichtmaskierbaren Reseteingang des MuC.
Und wenn es – warum auch immer – kein einzelner Wachhund-IC sein soll,
kann man immer noch einen Taktgenerator und einen oder mehrere Zähler
verwenden, z.B. CD74HC45 und SG-3030.
Aber wenn der TS auch nicht auf solche Ideen kommt, den HW-Reset des µC
nicht kennt, usw. muß ich Dyson leider Recht geben.
Vielen Dank für die vielen Antworten!
Das hilft mir bestimmt weiter! Ich verwende einen Teensy 4.0. Der hat
leider keinen Reset-Pin, deshalb dachte ich da an ein Relay.
mX273 schrieb:> Der hat leider keinen Reset-Pin, deshalb dachte ich da an ein Relay.
Das heißt noch immer Relais !
Wenn Du hinreichend Platz hast, ist ein kleines Relais mit Öffnerkontakt
zumindest Anfängerfreundlich. Chic wäre es natürlich, einen P-FET in die
Versorgung zu setzen, der vom externen Monoflop kurz abgedreht wird.
Zu bedenken ist dabei, dass die Versorgung nicht dauerhaft weg bleibt,
sondern der µC wieder anlaufen kann.