Soft- und Hardwareentwickler wissen die Safety Management Unit der Aurix-Mikrocontroller als eigenständige Einheit für Fehlerbehandlungen zu schätzen.
Neue Regeln im Zusammenhang mit funktionaler Sicherheit sowohl in der Industrie als auch im Automobilbereich treiben die Verbreitung von Multicore-Systemen wie Aurix weiter voran. Einerseits reagieren die Hersteller damit auf Kundenwünsche nach höherer Integration, um die Komplexität und die Kosten von Systemen zu reduzieren. Andererseits ergeben sich daraus Effizienzsteigerungen bei der Realisierung von Safety-zertifizierten Systemen (IEC 65108, ISO 26262). Zusammen mit Forderungen aus Software-Spezifikationen (z.B. AUTOSAR) bieten sich aktuell viele neue Möglichkeiten für den Einsatz von Multicore-Systemen an.
Lock-Step-Kerne erkennen Single-Event-Effects automatisch
Manche Embedded-Projekte fordern unter Umständen eine strenge Trennung und Aufteilung in Safety-relevante und nicht-relevante Applikationseinheiten. Gerade die ISO 26262 bietet mit dem Konzept der ASIL-Dekomposition eine gute Möglichkeit, Multicore-Systeme effektiv zu nutzen. Eine entsprechende Partitionierung hilft dabei, dies auf Multicore-Plattformen mit einem hohen Maß an Effizienz zu erreichen.
So grundlegende Safety-Prinzipien wie Redundanz bleiben jedoch weiterhin aktuell. Man erfüllt sie auf Rechenkern-Ebene über das Duplizieren von Ressourcen. Sogenannte Lock-Step-Kerne führen mit einer Verzögerung von wenigen Taktzyklen dieselben Befehle aus wie auf dem „normalen“ Kern. Unterscheiden sich die Resultate, wird ein entsprechendes Alarmsignal ausgelöst und so die entsprechende Reaktion angetriggert. Sogenannte Single-Event-Effects werden über diesen Mechanismus automatisch erkannt.
Schreibzugriffe auf Ressourcen einfach konfigurieren
Immer wichtiger wird in solchen Systemen der Zugriffsschutz auf die gemeinsamen Ressourcen. Soll der Zugriff prinzipiell für alle Systemelemente möglich sein, darf die Performance nicht darunter leiden. Werden die anderen Kerne über einen langen Zeitraum hinweg dadurch ausgebremst, sollen bei Bedarf auch Regelungen und Einschränkungen greifen. Aus diesem Grund haben Hersteller den unterschiedlichen Kernen und anderen zugriffsberechtigten Teilnehmern (z.B. DMA) Identifikationsnummern zugeteilt. Ressourcen können so konfiguriert werden, dass sie Schreibzugriffe nur von explizit berechtigten Teilnehmern zulassen. Auch Speicherzugriffe fallen in diese Klasse. Allerdings sind diese so wichtig, dass dafür häufig eigene Schutzeinheiten implementiert sind.
Safety Management Unit als eigenständige Einheit für Fehlerbehandlungen
Alle potentiellen Alarme, die durch solche Schutzmechanismen ausgelöst werden können, werden in einer dedizierten Einheit gesammelt und weiteren Aktionen zugeführt. Unter Aurix wurde dazu die sogenannte Safety Management Unit realisiert. Sie dient als zentrale Sammelstelle aller sicherheitskritischen Alarme. Je nach Konfiguration führt sie unterschiedliche Fehlerbehandlungen aus.
Da eine solche Fehlerbehandlung natürlich nicht auf einer potentiell fehlerhaften Einheit (sprich Rechenkern) ausgeführt werden soll, ist die SMU als eigenständige Einheit konzipiert. Alarme können zwar individuell behandelt werden, aber unter Umständen führt auch das nicht zum Erfolg (sicherer Zustand oder Teilabschaltung etc.).
Zu diesem Zweck sieht die SMU auch die Möglichkeit eines Backup-Plans vor. Dieser ist gekoppelt an einen im Hintergrund laufenden Timer, der bei Ablauf zu einem Reset des Systems führt.
Bringen Sie Ihre Aurix-Kenntnisse auf den neuesten Stand und erlernen Sie moderne Safety-Konzepte in den eigens dafür entwickelten MicroConsult-Seminaren zum Aurix Multicore-Mikrocontroller sowie in speziellen Safety-Schulungen. Melden Sie sich gleich an!
Weiterführende Informationen
MicroConsult Fachwissen zum Thema Mikrocontroller
MicroConsult Training & Coaching zum Thema Multicore
MicroConsult Training & Coaching zum Thema Safety & Security