mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µCs redundant arbeiten lassen


Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man hat einen Vergleicher, der vergleicht selektierte Daten, die 
irgendwie angeliefert werden.

Autor: thecamper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Roland M (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 !

Autor: Michael Steinbauer (Firma: Steinbauer Electronics GmbH) (captain-stone)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Voter muss dann auf ein anderes system umschalten

Autor: Roland M (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Roland

Ich dacht das geht so auf 2h auf nem Steckbrett^^

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Roland M (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Roland M (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier mal eine paar nette Begrifflichkeiten, nach denen man mal googlen 
kann:
www.vdi.de/uploads/tx_vdirili/pdf/9065062.pdf

Gruß Roland

Autor: Roland M (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[[www.vdi.de/uploads/tx_vdirili/pdf/9065062.pdf]]
so vieleicht wirds jetzt ein Link

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich helf dir mal Roland mit dem Link
http://www.vdi.de/uploads/tx_vdirili/pdf/9065062.pdf

Autor: Roland M (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke.

Gruß Roland

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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_...

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es eigentlich schon Konzepte für ein Drive by wire System ?

MFG

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok ich beantwort mal selbst meine frage
http://de.wikipedia.org/wiki/Drive-by-Wire

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Patrick Weinberger (seennoob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also werd ich mich mal beschäftigen mit soetwas wenn die nächste µC 
Lieferung kommt ^^

Mfg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.