Suchen

Multicore Sicherheit auf allen Kernen

| Autor / Redakteur: Prof. Dr.-Ing. Peter Fromm, Thomas Barth, Mario Cupelli* / Martina Hafner

Da bei Multicore-Controllern die physikalische Kopplung zwischen den einzelnen Kernen deutlich enger ist als bei diskreten Mehrcontrollerlösungen, werden besondere Anforderungen an die Softwarearchitektur, das Speicherlayout, das Betriebssystem und an die Treiberschicht gestellt.

Firma zum Thema

(Bild: ClipDealer)

Dieser Aufsatz zeigt die Herausforderungen und die Herangehensweise bei der Entwicklung einer Safety Architektur für Gabelstaplersteuerungen mit dem Infineon AURIX Multi-Core Baustein TC27x von Infineon unter Verwendung des Betriebssystems PxROS der Firma HighTec. Insbesondere werden die Entwicklung einer sicheren und erweiterbaren Basisarchitektur, das Design einer Multi-Core Laufzeitumgebung und die Anwendung geeigneter Designpattern für die Applikationsentwicklung dargestellt.

Bildergalerie

Bildergalerie mit 6 Bildern

Motivation für den Einsatz von Multi-Core Controllern

Die Entwicklung von Multicore Applikationen ist alles andere als trivial. Die Umstellung von existierendem Code in eine Multicore Architektur setzt in der Regel ein komplettes Redesign der Software Architektur voraus. Die echte Nebenläufigkeit der Core’s kann zu Datenkonsistenzproblemen führen.

Ressourcen wie Speicher und Peripherie müssen konfliktfrei zwischen den einzelnen Core’s geteilt werden. Die Qualifikation von Software und das Debugging von Fehlern werden im Vergleich zu Single-Core Applikationen deutlich aufwändiger. Warum also den Schritt auf den Multicore wagen?

Ein Haupt-Argument ist der Performancegewinn einer Mehrkernarchitektur gegenüber einem Singlecore. Die CPU-Frequenz lässt sich aufgrund der parallel steigenden Leistungsaufnahme und elektromagnetischen Störung nicht beliebig erhöhen. Einen Ausweg bieten hier Multicore Controller, die die parallele Ausführung voneinander unabhängiger Programmteile erlauben.

Ein weiterer interessanter Anwendungsfall von Multicore Architekturen ist der Ersatz von redundanten Mehrcontrollerlösungen durch einen einzelnen Multicore Chip. Solche Architekturen finden sich häufig in Applikationen, die hohen Sicherheitsanforderungen unterliegen, z.B. Maschinensteuerungen, Motorsteuergeräte, Flugzeugtechnologie, um nur einige Beispiele zu nennen.

Bei solchen Architekturen werden die Signalpfade in der Regel mehrkanalig ausgeführt, um eventuelle Fehlfunktionen zu erkennen und das System in einen sicheren Zustand zu überführen. Eine solche vereinfachte mehrkanalige Architektur mit redundanter Überwachungsfunktion ist in Bild 1 der Bildergalerie dargestellt.

Das Eingangssignal wird über einen zweikanaligen Sensor erfasst und einem Regelkreis zugeführt, der ein Ausgangssignal z.B. die gewünschte Drehzahl für eine Maschine berechnet und erzeugt. Gleichzeitig werden die Eingangssignale, die korrekte Berechnung des Ausgangssignals sowie das physikalische Ausgangssignal von zwei unabhängigen Überwachungseinheiten erfasst und geprüft.

Dabei werden aus Sicherheitsgründen häufig unterschiedliche Technologien zur Signalerfassung (z.B. VADC und Sigma-Delta ADC) und unterschiedliche Algorithmen genutzt. Sobald eine Prüfung fehlschlägt, kann das System über eine geeignete Eskalationsstrategie unabhängig von beiden Kanälen in einen sicheren Zustand, z.B. Stillstand, überführt werden.

Um Produktionskosten zu sparen und um die Manipulationssicherheit des Systems zu erhöhen (Wegfall externer Verbindungen zwischen den Controllern), soll eine solche Architektur alternativ mit einem Multicore Controller wie in Bild 2 der Bildergalerie beispielhaft skizziert aufgebaut werden.

Bei der Konzeptionierung einer solchen Lösung ergibt sich eine Reihe von Fragen, die im Folgenden diskutiert werden sollen:

  • Wie ist eine Multicore Architektur aus Sicht der einschlägigen Sicherheitsnormen mit einer diskreten Mehrcontrollerlösung zu vergleichen?
  • Wie kann die zentrale Forderung nach Freedom of Interferance auf einem Multicore Controller sichergestellt werden?
  • Wie sieht eine geeignete Safety Software Architektur auf einem Multicore Controller aus?

Im Rahmen einer Machbarkeitsstudie wurde in Zusammenarbeit mit den Firmen HighTec, Infineon und einem namhaften Maschinenhersteller ein prototypisches Steuergerät für zukünftige Gabelstaplersteuerungen unter Nutzung des 3-Kern Controllers Aurix TC275 der Firma Infineon entwickelt.

(ID:44288508)