mikrocontroller.net

Forum: FPGA, VHDL & Co. Lattice M4A5 CPLD Ausfallsicherung


Autor: vlaad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,
ich hätte da mal ein kleines Problem und würde gern mal eure Meinung 
dazu hören.
Ich hab grad ein Projekt bei dem ich per Lattice M4A5 CPLD adressiere 
und zwar werden darüber Ventile geschaltet. Problem ist, das auf keinen 
Fall da irgendwas schief laufen darf. Ventil zur falschen Zeit auf und 
ich hab Probleme.
Ich hab mir nun überlegt, die Adressierung auf 2 M4A5 zu machen und das 
Schalten läuft nur, wenn beide das gleiche ausgeben. Die Frage ist halt 
nur, ob es da nicht eine bessere Lösung für gibt. Oder auch, ob es dabei 
evtl. Timingprobleme geben könnte.
Was meint ihr dazu?
Danke für eure Hilfe

: Verschoben durch User
Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst also ein zweites möglichst unabhängiges System. Bei 
Übereinstimmung beider Systeme wird der Schaltvorgang erst ausgeführt 
...

Prinzipiell eine gute Überlegung aber die Erfahrung zeigt, dass die 
Wahrscheinlichkeit für einen Ausfall eines ICs (generell) im Rahmen 
seiner vom Hersteller angegebenen Lebensdauer absolut vernachlässigbar 
ist. Nahezu alle Fehler rühren von Bugs aus der Software, Fehler in den 
mechanischen Systemen und Spannungs/- Stromversorgungsproblemen.
Das Problem ist, dass das alles Fehler sind die immmer beide CPLDs 
betreffen.

Es wesentlich wichtiger, Systeme redundant auszulegen und eine gute 
Fehlererkennung zu planen die im Notfall Sicherheitsabschaltungen, etc 
vornehmen.

Ich würde eher auf mechanische / hardwaretechnische  Blockaden setzten 
denn 2 mal einne CPLD einzusetzen der den gleichen Fehler hat wie sein 
Gegenüber.

Wann ich soetwas anwenden würde, ist wenn ich 2 unabhängige 
Programmierer hätte und beide mit der gleichen Aufgabe betraue. Die 
Wahrscheinlichkeit, dass beide den gleichen Fehler einbauen ist rel. 
gering. Entstehende Probleme sind fehlenden Synchronisation und Probleme 
beim Vergleich (wer vergleicht, wie zuverlässig ist die Kommunikation 
zwischen den beiden CPLD ? ...). Ich möchte behaupten, dass die 
Warscheinlichkeit für einen Ausfall der seriellen Kommunikation um 
einige dutzend Zehnerpotzenzen höher ist als die eines CPLD-Fehlers. 
(ich weiß, dass die serielle Kommunikation hier nicht angebracht ist - 
nur Anschauungsbeispiel).

Limitierender Faktor bei der Zuverlässigkeit ist so gut wie immer der 
Mensch ...

Autor: vlaad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen

Lehrmann Michael schrieb:
> Du meinst also ein zweites möglichst unabhängiges System. Bei
> Übereinstimmung beider Systeme wird der Schaltvorgang erst ausgeführt

das trifft den Nagel auf den Kopf, so hatte ich mir das überlegt.

Ich dachte mir schon, das der Ausfall der ICs nicht so wahrschenlich 
ist, aber ich muß halt alles absichern. Ich wollte eigentlich die 
Fehlererkennung per Spoftware lösen, weil ich nicht wirklich eine gute 
Idee hatte die per Hardware abzuhandeln. An was denkst du denn wenn du 
von "mechanische / hardwaretechnische  Blockaden" sprichts?

Die Idee mit dem zweiten Programmierer ist interessant, aber leider 
nicht umsetzbar. Im Team trau ich mich nur alleine an Software ran. Die 
anderen Fallen bei Software lieber gleich nahezu ins Koma, schieben bei 
Ideenmangel aber gerne alles auf die Software ;-)

Ich muß ja den Ausfall der Hardware und Bugs in der Software abfangen, 
denn die Ventile dürfen auf keinen Fall gleichzeitig Schalten und Sie 
dürfen erst Schalten, wenn ich per Software verschiedene Dinge 
abgehandelt habe und das Signal an das eine, zu schaltene, gebe. Wie 
sichere ich das den Hardwaremässig ab? Zumal ich auch noch 
Softwaremässig erfahren muß welches Ventil Probleme macht.

Nochmals Danke für die Hilfe

Autor: Thomas T. (knibbel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vlaad schrieb:
> Ich muß ja den Ausfall der Hardware und Bugs in der Software abfangen,
> denn die Ventile dürfen auf keinen Fall gleichzeitig Schalten und Sie
> dürfen erst Schalten, wenn ich per Software verschiedene Dinge
> abgehandelt habe und das Signal an das eine, zu schaltene, gebe. Wie
> sichere ich das den Hardwaremässig ab? Zumal ich auch noch
> Softwaremässig erfahren muß welches Ventil Probleme macht.

Also das "gleichzeitige Schalten" wird in der Regel über Hardware 
verriegelt. Solltest du vom CPLD über Treiberstufen auf mechanische 
Schalter gehen (Relais oder Schütze), dann werden von diesen 
Öffnerkontakte in die Spulenkreise mit eingeschliffen. Somit wird 
verhindert, dass das zweite Relais/Schütz überhaput Spannung an seine 
Spule bekommen kann, wenn das erste Relais/Schütz aktiviert ist.

Schau dir mal zum Verständnis "Stern/Dreieck-Umschaltungen" für 
Dreiphasen-Motoren an. Da wird es auch so gemacht, um Kurzschlüsse 
zwischen den Phasen zu vermeiden.

Gruß,
Thomas

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.