Forum: Mikrocontroller und Digitale Elektronik SIL Mikrocontroller + Software


von squirrel (Gast)


Lesenswert?

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?

von TTL (Gast)


Lesenswert?

SIL2 ist mit AVR möglich, bzw. hab ich für PIC18 vom Tüv so abgenommen 
bekommen

von 6A66 (Gast)


Lesenswert?

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

von squirrel (Gast)


Lesenswert?

@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 ...

von Martin L. (maveric00)


Lesenswert?

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

von squirrel (Gast)


Lesenswert?

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.

von Martin L. (maveric00)


Lesenswert?

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

von squirrel (Gast)


Lesenswert?

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

von 6A66 (Gast)


Lesenswert?

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

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.