Wie oben erwähnt, kostet der Selbsttest Rechenzeit, die der eigentlichen Applikation dann nicht mehr zur Verfügung steht. Zur Entlastung der CPU hat Fujitsu bei der FM3-Familie verschiedene Hardware-Peripherien eingebaut, die der Funktionalen Sicherheit dienen. Natürlich werden diese auch in der beschriebenen IEC60730, Klasse-B-Bibliothek genutzt.
Beispielsweise erfolgt die Berechnung der Prüfsumme zum Testen von Speicherbereichen mit einem CRC-Hardware-Modul (CRC: Cyclic Redundancy Check). Dieses berechnet ohne Hilfe der CPU CCITT CRC16 oder IEEE-802.3 CRC32 konforme Prüfsummen. Über direkten Speicher-Zugriff (DMA) wird das Modul mit Daten aus dem zu prüfenden Speicherbereich versorgt. Hierfür steht ein eigener interner Datenbus zur Verfügung, damit die CPU bei Speicherzugriffen nicht behindert wird.
Andere Sicherheits-Funktionen setzen Hardware-Unterstützung zwingend voraus. So ist zur Erfüllung der Taktüberwachung sowohl eine unabhängige Taktquelle auf Basis eines RC-Oszillators als auch ein Clock-Supervisor implementiert. Beide Komponenten zusammen sorgen dafür, dass Frequenz-Abweichungen oder der Ausfall des Haupttaktes erkannt werden. Außerdem kann nach Ausfall der Haupttaktquelle der Mikrocontroller mit dem internen Oszillatortakt betrieben werden, um in einen sicheren Zustand zu gelangen.
Ein weiteres, speziell für Motorsteuerungen implementiertes Hardware Feature, ist eine »Notausschaltung«. Wird der entsprechende Eingangs-Pin des Mikrocontrollers aktiv, schalten die PWM-Ausgangs-Pins in einen, vom Nutzer definierten, sicheren Zustand, wie z.B. hochohmig oder auf logisch 0. Der Leistungsteil der Treiberstufe wird also automatisch abgeschaltet.
Eine Übersicht der eingebauten Sicherheitsfunktionen der FM3-MB9B500-Serie bietet folgende Aufstellung:
Fazit und Ausblick
Kein Bauteillieferant kann dem Systemhersteller die Verantwortung für eine Normgerechte Implementierung und Zertifizierung der Sicherheitsfunktionen abnehmen. Mit dem Angebot von Software-Bibliotheken wird die Entwicklung jedoch maßgeblich erleichtert und die Zertifizierung beschleunigt.
Hardwareunterstützung nimmt der CPU Aufgaben im Bereich Sicherheit ab und lässt dieser mehr Raum für die eigentliche Anwendung. Höhere Sicherheitsanforderungsstufen werden erst durch dedizierte Hardware möglich. Fujitsu arbeitet bereits an weiteren Software-Modulen um neben der IEC60730 auch IEC61508-konforme Applikationen zu unterstützen.
Zum Autor: Dirk Fischer ist Product Marketing Engineer bei Fujitsu Semiconductor Europe
Anhang
Nr. | Komponente | Fehlermodell | Relevanz für Ein-Chip Mikrocontroller |
---|---|---|---|
1.1 |
CPU Register | Stuck at | + |
1.3 |
CPU Programmzähler | Stuck at | + |
2 |
Interrupt Handling und Ausführung | keine oder zu häufige Interrupts | + |
3 |
Takt | falsche Frequenz | + |
4.1 |
Nichtflüchtiger Speicher (Flash) | alle Einfachfehler (single bit) | + |
4.2 |
Veränderbarer Speicher (RAM) | DC fault | + |
4.3 |
Adressierung | Stuck at | nur bei Verwendung externer Speicher |
5.1 |
Datenpfade | Stuck at | nur bei Verwendung externer Speicher |
5.2 |
Adresspfade | falsche Adresse | nur bei Verwendung externer Speicher |
6.1 |
Externe Kommunikation - Daten | Hamming distance 3 | nur bei externer Kommunikation z.B. über SPI |
6.2 |
Externe Kommunikation - Adressen | falsche Adresse | nur bei externer Kommunikation z.B. über SPI |
6.3 |
Externe Kommunikation - Zeitverhalten | falscher Zeitpunkt falsche Reihenfolge |
nur bei externer Kommunikation z.B. über SPI |
7.1 |
Digital Ein/Ausgabe | Fault conditions | + |
7.2.1 |
Analog/Digital Konverter | Fault conditions | + |
7.2.2 |
Analog Multiplexer | falsche Adressierung | + |
IEC60730, Anhang H, Liste der zu testenden Komponenten eines Mikrocontrollers Quelle: Fujitsu Semiconductor Europe