Hallo Wie lässt man am besten µCs redundant arbeiten? Man muss ja min 2 haben die sich gegenseitig überprüfen. Wie realisiert man denn am besten das gegenseitige kontrollieren ? MFG
Man hat einen Vergleicher, der vergleicht selektierte Daten, die irgendwie angeliefert werden.
Vllt. ne einfache Prüfsummme bilden lassen über den Inhalt bestimmter Speicherbereiche die wichtig sind. Und dann dem anderen zustellen der vergleicht dann. Wichtiger ist doch die Frage was wenn das Ergebnis "Falsch" lautet?
Am einfachsten indem man die Entscheidung einem dritten "Voter" überläßt der dann für die Sicherheit verantwortlich ist. Der muß dann so aufgebaut sein daß wenn irgend ein (einzelner) Transistor kaputtgeht die Funktion nicht beeinträchtigt wird und der Defekt automatisch erkannt und gemeldet wird ... Wenn du nur 2 normale Rechner hast könntest Du versuchen die berechneten Daten auszutauschen. Eine Schwierigkeit besteht darin daß die Meßwerte niemals zum selben Zeitpunkt erfaßt werden und daher unterschiedlich sind. -> entweder entsprechend die Toleranzen beim Ergebnis aufweiten oder auch die Meßwerte gegenseitig austauschen und plausibilisieren. Einfache Prüfsummen gehen nur wenn sichergestellt ist daß beide Rechner immer auch dieselben Eingangsdaten haben. Jeder Rechner rechnet also im Extremfall beide Pfade. Bei Abweichungen wird in beiden Rechnern ein Fehlerzähler hochgezählt. Bei Erreichen eines Limits müssen beide Rechner unabhängig in einen "sicheren Zustand" schalten können. Falls es keinen sicheren Zustand gibt brauchst Du dann doch einen "Voter" und ggf. mehr als 2 Rechner.
Hallo, ausserdem müssen durch Toleranzen des AD-Wandlers oder Rechenungenauigkeiten entstehende Differenzen von Zeit zu Zeit synchronisiert werden, damit es nicht zu ungewollten Fehlermeldungen kommt Gruß Roland
Naja das mit der Prüfsumme ist ein Problem weil ich 2 verschiedene compiler verwenden um fehler des compiler auszuschließen (am besten wären wohl 2 verschiedene µCs) aber das mit dem vergleicher wird dann ein Problem weil der ja auch redundant sein muss !
Anja schrieb: > Am einfachsten indem man die Entscheidung einem dritten "Voter" überläßt > der dann für die Sicherheit verantwortlich ist. Der muß dann so Ein sehr interessantes Thema, bei dem sich mir gleich folgende Frage aufdrängt: Wenn ein dritter Controller die beiden anderen überwacht, wie weiß er nach der Feststellung eines Unterschiedes, welcher von beiden Recht hat? Michael
Hallo Leute, wenn man das mal so an einem Sonntag-Nachmittag zusammenklopfen könnte, bräuchten nicht manche Firmen für solch ein System mehrere Mannjahre daran zu entwickeln. Aber nur weiter, man lernt ja auch was dabei, wenn man sich mal dazu Gedanken macht. Gruß Roland
Hallo, wie schon einige hier erkannt haben, führt das schon rein logisch zu nichts - sinnvoll ist nur ein System aus 3 Zweigen und einer Majoritätsentscheidung. 2 Zweige sind nur verwendbar, wenn man bei Nicht-Übereinstimmung alles stoppen kann, aber für die meisten Probleme ist das nicht möglich oder nicht zumutbar: was nützt es dem Zugführer, wenn die Signale abgeschaltet sind? Und ein Kernkraftwerk fährt man auch nicht so gern herunter. Gruss Reinhard
@seennoob Hardware ansatzweise in 2h auf Steckbrett, kann schon sein. Aber in der Praxis sicher funktionierendes System incl. Software braucht schon etwas mehr als 2 Stunden. Ansonsten mal schnell bewerben ;-) Gruß Roland
Reinhardt du hast recht man kommt wohl ned mit weniger als 3 µCs aus, die sich gegenseitig prüfen, dann hat man noch das Problem welcher der µCs hat den Fehler ? Es könnten ja alle 2 µCs falsche Werte liefern, also müsste man noch eine plausibilitäts Prüfung machen. MFG
hier mal eine paar nette Begrifflichkeiten, nach denen man mal googlen kann: www.vdi.de/uploads/tx_vdirili/pdf/9065062.pdf Gruß Roland
[[www.vdi.de/uploads/tx_vdirili/pdf/9065062.pdf]] so vieleicht wirds jetzt ein Link
Patrick Weinberger schrieb: > Es könnten ja alle 2 µCs falsche Werte liefern, > also müsste man noch eine plausibilitäts Prüfung machen. Kommt drauf an wogegen man damit vorgehen will. Gleichzeitig und unabhängig voneinander auftretende Hardwarefehler werden bei hinreichend geringer Einzelwahrscheinlichkeit üblicherweise nicht berücksichtigt. Wer überprüft den Plausibilitätsprüfer? Gegen Denk- oder Programmierfehler hilft der nur begrenzt, denn der Fehler kann genauso gut da drin stecken. Ausserdem kommt es etwas auf den Einsatz an. Wenn der Ausweg aus dem Dilemma darin bestehen kann, rot leuchtend und nervend fiepsend den Betrieb einzustellen, ist die Sache etwas einfacher. Wenn so allerdings ein Flugzeug vom Himmel fallen würde hat man diese einfache Alternative nicht.
Naja das ist wohl auch das Problem zB für Dive by wire (Auto). Es kann ja ned die Lenkung oder die Bremsen ausfallen nur weil ein Bus spinnt oder so. Wenn man darüber nachdenkt bekommt man mächtig Schädelweh. Um wieder zu prx zurück zu kehren man muss jedes System Doppelt ausführen ^^ MFG
Patrick Weinberger schrieb: > Wenn man darüber nachdenkt bekommt man mächtig Schädelweh. Um wieder zu > prx zurück zu kehren man muss jedes System Doppelt ausführen ^^ Schlimmer. Ich hatte das oben schon mal verlinkt, eine Präsentation zu dieser Problematik über die entsprechende Technik bei Airbus. Schau das mal durch und zähle mit wieviele verschiedene Rechner dabei im Einsatz sind: http://www.cs.st-andrews.ac.uk/~ifs/Resources/Case... Allein bei den 3 Haupt- und 2 Sekundärsystemen sind es insgesamt 10, da jeder einzelne dieser 5 wiederum aus einem aktiven und einem Kontrollsystem besteht. Das natürlich mit unterschiedlicher Hardware, verschiedenen Programmierern, Programmierteams und Programmiersprachen. Boeing verwendet 3 Systeme, jedes davon besteht aus 3 parallel arbeitenden technisch unterschiedlichen Prozessoren (486,68040,29050): http://www.iaeng.org/IJCS/issues_v35/issue_4/IJCS_35_4_07.pdf
gibt es eigentlich schon Konzepte für ein Drive by wire System ? MFG
Wogegen soll die Absicherung erfolgen? Gegen Gesamtversagen? Dann lass denn Hauptmicro von einem Slave ueberwachen. Der Hauptmicro wuerde einen Pulsschlag bereitstellen, in dem er ein kleines Datenfeld immer wieder updated wenn er bei Checkpoints vorbeikommt, evtl. wuerde er die Daten per serieller Kommunikation austauschen. Sobald diese Kommunikation baden geht, uebernimmt der kleine mit einem "Notprogramm" und gibt dem groesseren einen Reset. Nachdem die beiden wieder synchronisiert sind, uebernimmt Big Brother. Redundanz gegen Hardware Probleme laesst sich wie schon erwaehnt mit majority vote of 3 erledigen, kostet noch nicht mal sooo viel Overhead. Allerdings ist es viel wahrscheinlicher, dass ein logischer Fehler im Programm drin ist. Dann helfen auf 5 parallele MCUs absolut nichts. Also fuer echte Redundanz, verschiedene Entwickler mit verschiedenen CPUs :-))) Dann gibt wenigstens mit Sicherheit Probleme mit dem Gleilauf. Es hat einfach sein Grenzen und man kann es locker zum Exzess treiben. Ist jedenfalls eine interessante Aufgabe, wuerde mich auch reizen! Robert
Seas Robert du kenst ja, wenn einem Techniker fad is kommen die blödesten Dinge heraus. Eigentlich ist der Typ mit Autoumbauprojekt schuld ^^ Da hab ich mir dann die Frage gestellt wie kann man soetwas bauen das es auch sicher ist! Den ich will ned das die Lenkung oder gar der Motor beim Überholen ausfehlt. Robert bist du eigentlich noch immer für NXP tätig ? MFG Patrick
Also werd ich mich mal beschäftigen mit soetwas wenn die nächste µC Lieferung kommt ^^ Mfg
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.