Hallo, ich habe mehrere Mikrocontroller über ein I2C Netzwerk verbunden (1 Master, mehrere Slaves). Diese haben eine gemeinsame Resetleitung. Gibt es eine (einfache) Lösung, dass ich mit einem Mikrocontroller (Master oder Slave) die Resetleitung auf GND ziehe und damit bei allen (auch den eigenen) Mikrocontroller einen Reset auslöse? Danke für eure Hilfe, Grüße Josef
Josef schrieb: > (auch den eigenen) Mikrocontroller einen Reset auslöse? Schon ins Datenblatt des unbekannten MC geschaut? Bei manchen kann der Resetpin auch Resetausgang (open-drain) sein. Ansonsten kann man einen externen Reset-IC (MAX690) benutzen und den Watchdog vergessen zu triggern.
Hallo, Danke für deine Antwort. Meine Mikrocontroller sind ATMEGA328P. Soweit ich glaube, selber herausgefunden zu haben, kann ich den PIN C6 entweder als Reset-Pin oder als normalen I/O Pin verwenden. (je nach Einstellung des Fuses RSTDISBL.) Daher kann ich mit den Mikrocontroller den Reset Pin nicht direkt auf GND ziehen, sondern nur mit einen anderen Port Pin (extra Hardware Verbindung). Wenn ich einen externen Reset IC verwende, benötige ich eine zusätzliches Signal im Netzwerk (Watchdog-Signal), welches ich vermeiden möchte. Daher eben meine ursprüngliche Frage, ob es eine Alternative gibt. Grüße, Josef
Nö. Der Watchdog-IC wird nur vom Master bedient, das reicht. Der Ausgang von dem Stein gelt an alle Reset-Eingänge. Oder du baust das zu Fuß mit einem bzw. zwei Monoflops.
RSTDISBL ist eine schlechte Idee, denn danach funktioniert der ISP Port nicht mehr. Du kannst am Master jeden beliebigen I/O Pin als Ausgang verwenden und damit die Reset Eingänge der Slaves ansteuern.
Hallo Stefan, danke, das mit dem ISP Port habe ich (leider) bereits herausgefunden :-( Grüße, Josef
Einfach aus allen Controllern den Watchdog aktivieren und bei I2C-Aktivitaet zuruecksetzen (Auf jedem Controller natuerlich.) Dann kannst Du auch SCL als (externes) low-aktives Reset benutzen.
... schrieb: > Einfach aus allen Controllern den Watchdog aktivieren Wieso eigentlich? Der TO wollte doch nur einen Reset. Bei den üblichen ICs z.B. von Maxim kann man den Watchdog benutzen, muss aber nicht. Ausserdem haben sie einen eigenen Reseteingang, an dem man normalerweise den zentralen Resetknopf anschliessen kann, den kann man natürlich auch mit einem Pin eines Controllers ansteuern (auch parallel zu einem Taster). Was einfacheres als einen 8poligen Chip wird man für die Aufgabe kaum finden. Ein Watchdog hat natürlich auch seinen Sinn, aber gefragt war das nicht. Georg
Hallo, danke für eure Antworten: Soweit ich aus den Antworten herausgelesen habe und die Angelegenheit überdacht habe, empfiehlt sich folgendes: -Der Master überprüft das ordnungsgemäße Arbeiten der Slave MCs durch regelmäßiges Abfragen der Slaves. Auslösen der Reset Funktion: -Reset Funktion über Watchdog auf jeden MC Der Watchdog wird bei I2C Aktivität zurückgesetzt. Wenn etwas nicht "passt", schickt, der Master keine neuen I2C Nachrichten mehr und jeder Slave schickt sich selbst in des Reset -der Master MC setzt die Reset-Leitung mit einen freien Pin auf GND. (Benötigt zusätzlich MC-Pin, Netzwerk-Leitung, MC-Verdrahtung,) VT: kann einfach manuell ausgelöst werden -Verwendung eines externes Reset-IC (z.B (MAX690) ((Benötigt zusätzlich MC-Pin, zusätzlicher IC, Netzwerk-Leitung, MC-Verdrahtung)
Mit welcher Situation soll denn umgegangen werden? Master abgestürzt, Slave aber nicht? Oder Slave abgestürzt, Master aber nicht? Beide abgestürzt? Die Strategie ist jedesmal eine andere. MfG Klaus
Prinzipiell sollten natürlich alle 3 Varianten gemeistert werden können. Für meinen Anwendungsfall sollte die Variante "Reset mittels Watchdog auf jeden MC" passen: -Nach dem eigenen Reset (Neustart) schickt der Master alle Slaves in den Reset -Master schickt bei Abstürzen der Slaves nur die Slaves in Reset -Beim Absturz des Masters wird nur der Master in den Reset geschickt, die Slaves unmittelbar nach dem Restart.(siehe Punkt 1)
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.