Forum: Mikrocontroller und Digitale Elektronik Ultra hoch verfügbaren (fault tolerant) CAN-BUS // Wie lange lebt digitale Elektronik?


von Rafal (Gast)


Lesenswert?

Hallo Leute,

ich mache gerade ein Konzept für eine ultra hoch verfügbaren, Fehler 
toleranten CAN-Bus.

Hierzu brauche ich auch Redundanzen.

Klar ist, das ich mind. zwei parallele Busse benötige. Datenblätter wie 
z.B. die des SN65HVD267 zeigen eine einfache Art eines Redundanten 
Busses, bei dem einfach zwei Transceiver auf zwei unterschiedlichen 
Bussen hängen und deren Signale einfach "Verundet" an einen Kontroller 
laufen.
http://www.ti.com/lit/ds/symlink/sn65hvd267.pdf Seite 22
Die Lösung scheint zwar einfach, aber was passiert, wenn ein Transceiver 
jetzt dauerhaft (z.B. durch Schädigung) falsche Signale liefert oder ein 
Bus dauerhaft unterbrochen ist? -> Diese Lösung lässt also keine Fehler 
zu, funktioniert aber auch danach ggf. nicht mehr.

Ich will aber eine Lösung, bei der Fehler aufgespürt werden und trotzdem 
eine Kommunikation möglich wäre.

Dazu müste ich also den Redundanten Bus zweifach ausführen, oder?

Auch ganz interessant ist z.B. dieses Paper: 
http://klabs.org/mapld04/abstracts/woodroffe_a.pdf
Da wird eine Art "Muxer" zwischen zwei Busse in der Grafik gezeigt, der 
scheinbar ggf. im Fehlerfall umschalten kann. Hat jemand zu solchen 
Methoden eine ausführlicheren hinweis für mich?

Gibt es eigentlich schon (Peripherie-) Kontroller die CAN-FD 
verarbeiten? Ich habe zwar schon viele Transceiver gesehen, die das 
beherrschen, auch ein paar FPGA Implementationen, aber noch keinen 
kaufbaren Chip.


Andere Frage:

Ist es eigentlich mit unserer digitalen Elektronik möglich, diese über 
Jahrzehnte betriebsbereit (also laufen lassen, nicht lagern) zu halten, 
wenn man für eine konstant "gute" Bedingung sorgt?
Atmel sagt z.B. über den ATmega88, das sein Speicher bei 25°C seinen 
Inhalt 100Jahre halten könnte. Beziehen sich solche Werte auf 
"gelagerte" Komponente oder welche, die im 24/7 Einsatz sind?
Z.B. die 8051 stammen aus dem Anfang der 80'er, hat jemand ein Gerät 
damals Entwickelt, das bis heute ununterbrochen läuft?

von Daniel V. (danvet)


Lesenswert?

Rafal schrieb:

> http://www.ti.com/lit/ds/symlink/sn65hvd267.pdf Seite 22
> Die Lösung scheint zwar einfach, aber was passiert, wenn ein Transceiver
> jetzt dauerhaft (z.B. durch Schädigung) falsche Signale liefert oder ein
> Bus dauerhaft unterbrochen ist? -> Diese Lösung lässt also keine Fehler
> zu, funktioniert aber auch danach ggf. nicht mehr.

Wie so oft:
Du schickst die Daten über zwei Kanäle und vergleichst.
Wenn gleich, dann OK.
Wenn unterschiedlich, dann Fehler --> goto SAFESTATE.

das ganze kannst du natürlich beliebig aufbohren:
3 Kanäle
4 Kanäle
etc.

: Bearbeitet durch User
von Rafal (Gast)


Lesenswert?

Ja, das weiß ich doch schon - hab ich vielleicht falsch angedeutet!

Aber ich will selbst im Fehlerfall Daten übertragen können!

von Helmut L. (helmi1)


Lesenswert?

Rafal schrieb:
> Ist es eigentlich mit unserer digitalen Elektronik möglich, diese über
> Jahrzehnte betriebsbereit (also laufen lassen, nicht lagern) zu halten,
> wenn man für eine konstant "gute" Bedingung sorgt?

Die Voyager Sonden laufen seit 1977 permanent durch, Kontakt zum Rechner 
besteht bis heute noch.

von mir_fällt_keiner_ein (Gast)


Lesenswert?

Rafal schrieb:
> Aber ich will selbst im Fehlerfall Daten übertragen können!

Was wenn du auf ebiden Leitungen einen Fehler hast?

Und auf 3? Oder 4?

Immer kann das nicht gehen, du kannst nur die Wahrscheinlichkeit 
ausrechnen, wie viele Kanäle es noch gibt bzw. auf wie vielen Kanälen 
ein Fehler auftritt.

von Daniel V. (danvet)


Lesenswert?

Rafal schrieb:
> Ja, das weiß ich doch schon - hab ich vielleicht falsch angedeutet!
>
> Aber ich will selbst im Fehlerfall Daten übertragen können!

Na dann halt:
3 Kanäle:
alle OK --> prima
2 OK, 1 kaputt --> Fehler, dennoch Übertragung auf den 2 guten Kanälen
1 OK, 2 kaputt -->Fehler, goto SAFESTATE

Irgendwann hat sichs halt ausgefehlert. Wenn alle drei Kanäle kaputt 
sind, dann geht eben eine Datenübertragung nicht mehr. Punkt.

von asdf (Gast)


Lesenswert?

Also wenn nur der BUS redundant sein soll, nimm einen µC mit dual CAN, 
dann zwei Transceiver und vergleiche es. Wenn du noch mehr Redundanz 
brauchst, nimm zwei Baugruppen, die identisch sind und bei einem Fehler 
der andere einspringt. Also nimm dein CAN-Board 2x mit jeweils einem 
(oder auch zwei) Bus.

So läuft das sehr zuverlässig u.a. in Kraftwerken. (Mit SPS) 100% 
Ausfallsicherheit wirst du nie bekommen, aber so fällt eine Baugruppe 
aus und du kannst sie problemlos tauschen.

von Daniel V. (danvet)


Lesenswert?

Das Spiel geht ja mit dem Controller weiter. Woher weißt du, dass der 
einen Fehler richtig erkannt hat? Es könnte ja der Controller defekt 
sein.
Das Stichwort heißt: mehrkanalig

von rtfm (Gast)


Lesenswert?

Und wenn du systematische Fehler in der HW ausschließen willst, dann 
nimmst du noch zwei verschiedene Controller.

von Rafal (Gast)


Lesenswert?

rtfm schrieb:
> Und wenn du systematische Fehler in der HW ausschließen willst, dann
> nimmst du noch zwei verschiedene Controller.

Es sind sogar drei in meinem Fall!
Zwei unterschiedliche die als Com-Interface an CAN hängen sollen und ein 
FPGA, der dreifach redundante Software abarbeitet...

von Krnx (Gast)


Lesenswert?

Denke auch an ein gutes Netzteil, dass sind nämlich die Dinger, die 
meist schon nach ein paar Jahren ununterbrochenen Betrieb den Löffel 
abgeben.

von Rafal (Gast)


Angehängte Dateien:

Lesenswert?

Vielleicht eine Dumme Frage,

aber was haltet ihr von einem TMR-CAN-Voter, wie im Anhang gezeigt?
Ob Sowas klappen würde?

von Detlef K. (adenin)


Lesenswert?

Rafal schrieb:
> und ein FPGA, der dreifach redundante Software abarbeitet...

Was passiert, wenn der FPGA ausfällt?

von Rafal (Gast)


Lesenswert?

Detlef Kunz schrieb:
> Was passiert, wenn der FPGA ausfällt?

Also es gibt ZWEI µCs (jeweils eins mit hoffentlich fault-tolerant CAN) 
und ein FPGA.
Der FPGA hat mit Absicht kein Interface! Die µCs könnten aber Ihren 
"CAN-Buffer" dem FPGA zur Verfügung stellen.

Alle "Programmierbaren" laufen auf Zeit Redundanz (also machen alles 
mindestens zwei mal nacheinander).

Sollte ein µC oder der FPGA ausfallen, ist das zwar kritisch für die 
zukünftige Ausfallsicherheit - es kann aber die ihm zugeteilte Aufgabe 
erfüllen. -> Es geht halt im Übertragenem Sinne sie "Kontrollleuchte" an 
:-)

von Major Krampas (Gast)


Lesenswert?

Der Ausfall der Anlage muß aber unbedingt an 2 Stellen gemeldet werden,
falls einer der Beobachter eingeschlafen sein sollte...

von dunno.. (Gast)


Lesenswert?

Rafal schrieb:
> Vielleicht eine Dumme Frage,
>
> aber was haltet ihr von einem TMR-CAN-Voter, wie im Anhang gezeigt?
> Ob Sowas klappen würde?

Ob der einzelne & mit seinem zusätzlichen Propagation-Delay stört..?
Die gesamte Logikschaltung könnte auch das Propagation-Delay im CAN 
stören, wenn ich so an das ACK am ende denke.. müssten halt schnelle 
Gatter sein..

Aber Mbit CAN willst du in deiner Anwendung wohl eh nicht?


Ich frage mich auch, ob du nicht vielleicht erkennen können willst, ob 
sich ein Fehler ankündigt? Mit der Vergatterung kriegst du ja nix mehr 
mit..

von Rafal (Gast)


Lesenswert?

Major Krampas schrieb:
> Der Ausfall der Anlage muß aber unbedingt an 2 Stellen gemeldet werden,
> falls einer der Beobachter eingeschlafen sein sollte...

Da will man man ein seriöses Konzept und dann das...

Aja, es gibt das komplette System noch ein zweites mal als "Backup".
Als Cold-Spare.
Auf dieses wird umgeschaltet, wenn:
- mind. ein "Programierbarer" der drei in einem System Ausfällt
- ein System neu gestartet/gebootet wird -> Behebt manchmal schon Fehler
- Diagnose eines Systems
- Übertemperatur eines Systems / Abkühlzeit
- das System länger als 300msec nicht mehr geantwortet hat.

Das komplette System verkraftet "Ausfallzeit" von max 800msec


dunno.. schrieb:
> Aber Mbit CAN willst du in deiner Anwendung wohl eh nicht?

Richtig!

250k Busfrequenz

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
Noch kein Account? Hier anmelden.