Hej,
ich arbeite mich gerade in die Erstellung von SIL - Software ein.
Wenn die Software SIL ist, muss der µC ja auch zwingend die
Sicherheitsanforderungen erfüllen können, welche an die Zuverlässigkeit
usw. gestellt werden.
Kennt hier jemand Werte was z.B. mit einem einfachen AVR ohne
redundantes System möglich ist?
Es gibt ja auch spezielle SIL µC wie z.B. RH850-, FM3- oder die
TMS570LS-Familie. Diese gehen ja bis SIL 3.
Ich kenne von Hausgeräten die Klassen:
Class A
Class B
Class C
hier reicht es ja (nicht ganz komplett) regelmäßig einen Ram/Rom Test
durchzuführen. Sind mit solchen Funktionen SIL 2 mit einem AVR oder
MSP430 möglich?
squirrel schrieb:> Kennt hier jemand Werte was z.B. mit einem einfachen AVR ohne> redundantes System möglich ist?
Maximal SIL2.
SIL3 erfordert zwingend Redundanz oder Diversität, jedoch einen zweiten
Kanal.
rgds
@6A66
squirrel schrieb:> Sind mit solchen Funktionen SIL 2 mit einem AVR oder> MSP430 möglich?
Davon war ich ja auch ausgegangen ;)
Schon mal danke an die Antwortenden. Ich habe gerade gesehen, dass man
zu SIL 2 wohl auch gut ohne MISRA kommt. Aber zu empfehlen wird das wohl
nicht sein ...
Naja, ich werde dann wohl mal weiter lesen ...
Hallo,
SIL 2 kann möglich sein, gegebenenfalls aber nur durch Zusammenarbeit
mit dem Controller-Hersteller.
SIL 2 erfordert für ein Typ A-Teilsystem für ein nicht-redundantes
System einen Diagnosedeckungsgrad (Anteil ungefährlicher Fehler) von
mindestens 60%, für ein Typ B-System mindestens 90%.
Typ A Systeme sind solche, für die alle Fehlermodi aller Bauteile
ausreichend definiert sind, das Verhalten im Fehlerfall vollständig
bestimmt ist und für das verlässliche Ausfallraten existieren.
Da ohne tiefgreifende Informationen des Herstellers dies nicht
gewährleistet ist, müsste ein Diagnosedeckungsgrad von 90% erreicht
werden, das heisst, das 90% aller möglichen Fehler nicht zu einer
Verletzung des Schutzzieles führen dürfen.
Es könnte schwer fallen, dies ohne eine externe Überwachungseinheit
hinzubekommen, da es praktisch unmöglich ist, die Versorgungsspannung,
den Befehlssatz, das Taktsystem und den Abschaltpfad durch den µC selber
korrekt überwachen zu lassen. Mit einer solchen externen
Überwachungseinheit lässt sich allerdings sicherlich ein SIL 2-System
mit einem Standard-µC aufbauen.
Schöne Grüße,
Martin
Hej Martin,
vielen Dank für deine Nachricht.
Du hast natürlich recht. Ich hätte auch direkt sagen sollen das System
wird mit einem externen zusätzlichem WDT mit Spannungsüberwachung
zusätzlich gesichert.
Naja, ich sehe da noch einiges an Einarbeitung auf mich zukommen. Hat
von euch schon wer nach MISRA programmiert? Ist die Umsetzung
anstrengend oder lässt sich das eher unter naja, das macht man jetzt
halt so zusammenfassen?
MISRA Dokumente werde ich wohl erst nächste Woche haben ...
Bei uns ist aktuell "nur" Erfahrung in der Elektronikentwicklung im
Zusammenhang mit SIL vorhanden und ich war dabei bis jetzt noch nicht
beteiligt.
... glaube muss bald nochmal ein paar Anfängern helfen ... habe jetzt
seit knapp über einem Jahr glaube ich fast nur Hilfe/Informationen in
anspruch genommen, ohne was zu geben.
Hallo,
so ziemlich jede Sicherheitsnorm empfiehlt, dass sich das Unternehmen
einen Coding-Standard gibt, um
1.) die Struktur des Codes zu normieren
2.) gefährliche Konstrukte möglichst zu vermeiden
Misra ist halt so ein Coding-Standard, der allerdings ggf. den Punkt 2
etwas überstrapaziert (es gibt einige Misra-Regeln, die aus meiner Sicht
etwas zu scharf sind). Andererseits sind viele Misra-Regeln einfach
einzuhalten und sehr sinnvoll (z.B. kein goto ;-).
Es empfiehlt sich daher, sich die Misra-Regeln genauer anzusehen und
ggf. die Regeln, die für einen selber keinen großen Nutzen darstellen,
die aber einen teilweise erheblichen Aufwand bedeuten mit einer guten
Begründung auszuschließen. Dazu gibt es auch etliche Hinweise hier und
im Netz (einfach mal "Misra C Kritik" googeln).
Schöne Grüße,
Martin
Hej Martin,
vielen Dank für den Tip. Habe viel gutes Material gefunden.
Also ... meine Meinung goto ...
Wenn von vielen Stellen an einen Fehlerverarbeitungspunkt gesprungen
wird ok.
Womit ich es mir schwer tue, ich es aber doch ok finde ist wenn man
einen arg verschachtelten Funktionsaufruf Ablauf hat und diesen mit goto
behandelt, was allerdings auch wieder quasi mein erster Ok Punkt wäre,
nur das ich zwei sehr unterschiedliche Codestücke vor Augen habe ;) mhh
eigentlich müsste ein Beispiel her, aber müde
Ich finde das Regeln, welche aus einem verständlichen 10 Zeiler 40
Zeilen machen nicht unbedingt förderlich. Aber ich schreibe gerne jedem
seinen Code wie er ihn will. Insbesondere wenn man eine Abnahme braucht.
Aber nochmal Danke!
und gute Nacht
squirrel schrieb:> Ich finde das Regeln, welche aus einem verständlichen 10 Zeiler 40> Zeilen machen nicht unbedingt förderlich. Aber ich schreibe gerne jedem> seinen Code wie er ihn will. Insbesondere wenn man eine Abnahme braucht.
Bei einer Abnahme durch eine zertifizierende Stelle wird ein
durchgeführter Code-Review gefordert. Dieser kann - normalerweise - nur
durch einen zweite unabhängige Person durchgeführt worden sein (Also
z.B. nicht dein Chef oder Dein Mitarbeiter). Durch die zertifizierende
Stelle wird dann bei der Zertifizierung auch noch ein schneller Review
sowie Fehlereinpflanzung durchgeführt.
Misra: Es hilft Dir, sich den Sinn und Zweck der Misra-Regeln zu
vergegenwärtigen. Wenn Du auch einzelne Regeln - mit guter Begründung
die auch dokumentiert sein muss - übergehen kannst wird die
zeritifzierende Stelle not amused sein wenn es in Deinem Code drunter
und drüber geht.
Nur damit Du mal weißt was auf Dich zukommt.
rgds