DE102022129939A1 - Redundante Prozessorarchitektur für sicherheitskritische Anwendungen - Google Patents

Redundante Prozessorarchitektur für sicherheitskritische Anwendungen Download PDF

Info

Publication number
DE102022129939A1
DE102022129939A1 DE102022129939.2A DE102022129939A DE102022129939A1 DE 102022129939 A1 DE102022129939 A1 DE 102022129939A1 DE 102022129939 A DE102022129939 A DE 102022129939A DE 102022129939 A1 DE102022129939 A1 DE 102022129939A1
Authority
DE
Germany
Prior art keywords
voter
computing module
computing
designed
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022129939.2A
Other languages
English (en)
Inventor
Martin Stoffel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daimler Truck Holding AG
Original Assignee
Daimler Truck AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daimler Truck AG filed Critical Daimler Truck AG
Priority to DE102022129939.2A priority Critical patent/DE102022129939A1/de
Priority to PCT/EP2023/079032 priority patent/WO2024099723A1/de
Publication of DE102022129939A1 publication Critical patent/DE102022129939A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

Die Erfindung betrifft eine Recheneinheit (100) zum Ausführen einer softwareimplementierten Funktion für eine sicherheitskritische Anwendung, aufweisend ein erstes Rechenmodul (1) mit einem ersten Voter (11) und ein zweites Rechenmodul (2) mit einem zweiten Voter (12), wobei das erste Rechenmodul (1) und das zweite Rechenmodul (2) auf jeweils eigenen integrierten Schaltungen aufgebracht sind und durch eine Diensteschicht miteinander verbunden sind, wobei die Recheneinheit (100) dazu ausgeführt ist, eine vorgegebene softwareimplementierte Funktion zeitlich parallel auf dem ersten Rechenmodul (1) und dem zweiten Rechenmodul (2) auszuführen und mittels der Diensteschicht die Ergebnisse der auf den Rechenmodulen (1,2) ausgeführten Funktion mit dem jeweils anderen Rechenmodul (2) zu teilen, wobei der jeweilige Voter (11,12) die Ergebnisse der Funktionen auf Übereinstimmung überprüft.

Description

  • Die Erfindung betrifft eine Recheneinheit zum Ausführen einer softwareimplementierten Funktion für eine sicherheitskritische Anwendung, sowie ein Fahrzeug mit einer solchen Recheneinheit.
  • Zugunsten erhöhter Sicherheit wird bei der Ausführung von Computerprogrammen in sicherheitskritischen Anwendungen typischerweise Hardware-Redundanz in der Programmausführung gefordert, um Fehler zu erkennen und mit fehlerfrei arbeitenden Ressourcen einen sicheren Betrieb bei der Ausführung des Computerprogramms aufrechterhalten zu können. Insbesondere das Betreiben von autonomen Fahrzeugen mit Hilfe eines implementierten Fahrsteuerungssystems erfordert eine Systemauslegung nach dem sogenannten „Fail-Operational“ Prinzip. Das bedeutet, im Fahrsteuerungssystem müssen Fehler erkannt werden und bei Erkennung darauf reagiert werden - idealerweise, während uneingeschränkt die Funktionalität des Fahrsteuerungssystems aufrechterhalten wird. System mit Fail-Operational Systemarchitektur werden typischerweise durch das sogenannte „2 out of 3“ Konzept (kurz „2oo3“-Konzept) ermöglicht, welches bedeutet, dass eine implementierte Funktion auf drei Kanälen parallel (und damit redundant) ausgeführt wird. Die Ergebnisse der Ausführungen in den drei Kanälen werden über sogenannte „Voter“ verglichen, die zur Kontrolle dienen, ob die Ausführung in einem der Kanäle fehlerhaft ist. Derzeit existierende Fahrsteuerungssysteme sind typischerweise nach dem „Fail-Degraded“ Konzept ausgelegt. Das bedeutet, dass Fehler erkannt werden und das Fahrzeug seine Funktionalität durch einen sogenannten Back-Up Pfad in reduzierter Form aufrecht erhält. Typischerweise findet die Fehlererkennung durch Prozessieren einer Funktion auf zwei Pfaden (jeweils ein Kern auf einem Prozessor) statt, deren Ergebnisse über Voter nach jedem Berechnungsschritt verglichen werden. Die Voter werden dabei typischerweise auf demselben Prozessor betrieben oder auf einem zweiten Prozessor mit höherem Safety Level (ASIL-D). Diese Thematiken werden insbesondere in folgenden Veröffentlichungen aus dem Stand der Technik diskutiert:
  • In der Dissertation „B. Sari, Fail-operational Safety Architecture for ADAS/AD Systems and a Model-driven Approach for Dependent Failure Analysis", erschienen in der „Wissenschaftliche[n] Reihe Fahrzeugtechnik Universität Stuttgart" unter ISBN-13: 978-3658294212, wird das 2oo3 Prinzip auf Multicoreebene beschrieben, d.h. jede Funktion bekommt drei unabhängige Kerne auf einem Hochleistungsprozessor zugewiesen.
  • In der Veröffentlichung „F. K. Bapp, T. Dörr, T. Sandmann, F. Schade, and J. Becker, ‚Towards Fail-Operational Systems on Controller Level Using Heterogeneous Multicore SoC Architectures and Hardware Support‘, in SAE Technical Paper Series, 2018" wird außerdem ein Mechanismus beschrieben, der auf einem Lockstep-Prozessor (Prozessor mit mehreren Kernen deren Berechnungsergebnisse permanent verglichen werden) Funktionen parallel betreibt und im Fehlerfall in einen degradierten Modus geht.
  • In „E-Gas Working Group, 'Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units: Version 6.0' wird ferner das in der Automobilindustrie etablierte Egas Monitoring Concept vorgestellt. Es sieht vor, das System in einen degradierten Modus zu bringen, sollte ein Fehler erkannt werden.
  • Die EP 2 765 045 A1 betrifft darüberhinaus eine Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs mit mindestens zwei separaten Motoren zur Betätigung des Beschleunigungs- und Bremssystems und mindestens zwei separaten Motoren zur Betätigung des Lenksystems, und mit mindestens einer elektronischen Kontrolleinheit zur Ansteuerung der mindestens zwei separaten Motoren zur Betätigung des Beschleunigungs- und Bremssystems sowie der mindestens zwei separaten Motoren zur Betätigung des Lenksystems, wobei die mindestens eine Kontrolleinheit drei identische CPUs und einen programmierbaren Logikbaustein aufweist, wobei jede der CPUs in Abhängigkeit von Eingangssteuersignalen sowie von Sensorsignalen der Motoren Ansteuersignale für die Motoren erzeugt und an den programmierbaren Logikbaustein weiterleitet, der abhängig von seiner Programmierung die Ansteuersignale einer der CPUs an die Motoren weiterleitet.
  • Somit werden in der EP 2 765 045 A1 drei Kanäle genutzt, um einen eventuell fehlerbehafteten Kanal zu überstimmen. Die Programmable Logic wird benutzt, um nur die korrekten Signale an die Aktoren weiterzugeben. Dies entspricht einer Umsetzung des Tripple Modular Redundancy Concepts und birgt den Nachteil, permanent drei Kanäle gleichzeitig zu betreiben, sowie einen zusätzlichen Chip zur Entscheidungsarbitrierung implementiert zu haben. Ferner ist nachteilig, dass die Nutzung dreier unabhängiger Kanäle ebenfalls bedeutet, dass alle Komponenten, die hierfür notwendig sind, dreifach vorliegen. Dies führt zu hohen Massen, sowie hohem Leistungsbedarf und erheblichen Kosten.
  • Aufgabe der Erfindung ist es, die Ausführung von softwareimplementierten Funktionen für sicherheitskritische Anwendungen effizienter zu gestalten.
  • Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.
  • Ein erster Aspekt der Erfindung betrifft eine Recheneinheit zum Ausführen einer softwareimplementierten Funktion für eine sicherheitskritische Anwendung, aufweisend ein erstes Rechenmodul und ein zweites Rechenmodul, wobei das erste Rechenmodul und das zweite Rechenmodul auf jeweils eigenen integrierten Schaltungen aufgebracht sind und durch eine Diensteschicht miteinander verbunden sind, wobei das erste Rechenmodul einen ersten Voter und das zweite Rechenmodul einen zweiten Voter aufweist, wobei die Recheneinheit dazu ausgeführt ist, eine vorgegebene softwareimplementierte Funktion zeitlich parallel auf dem ersten Rechenmodul und dem zweiten Rechenmodul auszuführen und mittels der Diensteschicht das Ergebnis der auf dem ersten Rechenmodul ausgeführten Funktion an den zweiten Voter und das Ergebnis der auf dem zweiten Rechenmodul ausgeführten Funktion an den ersten Voter zu übermitteln, wobei der erste Voter dazu ausgeführt ist, das Ergebnis der auf dem ersten Rechenmodul ausgeführten Funktion mit dem Ergebnis der auf dem zweiten Rechenmodul ausgeführten Funktion auf Übereinstimmung zu überprüfen, und wobei der zweite Voter dazu ausgeführt ist, das Ergebnis der auf dem zweiten Rechenmodul ausgeführten Funktion mit dem Ergebnis der auf dem ersten Rechenmodul ausgeführten Funktion auf Übereinstimmung zu überprüfen.
  • Die Recheneinheit ist dabei insbesondere dazu ausgeführt, nur das erste Rechenmodul und das zweite Rechenmodul (also kein drittes Rechenmodul) zur parallelen Ausführung der Funktion zu verwenden, solange kein Fehlersignal vorliegt.
  • Dass das erste Rechenmodul und das zweite Rechenmodul auf jeweils eigenen integrierten Schaltungen aufgebracht sind, drückt aus, dass es sich bei dem ersten Rechenmodul und dem zweiten Rechenmodul nicht um jeweilige Kerne eines Mehrkernprozessors handelt, sondern um Rechenmodule, insbesondere Prozessoren, die ihre eigenen Chips, d. h. eigene integrierte Schaltungen aufweisen. Prinzipiell könnte demnach sowohl das erste Rechenmodul als auch das zweite Rechenmodul jeweils alleine und damit ohne die Hilfe des jeweils anderen Rechenmoduls die Funktion unter Erhalt des vollständigen gewünschten Ergebnisses ausführen, dies wäre jedoch nicht für eine sicherheitskritische Anwendung ausreichend, da hierfür eine redundante Ausführung der Funktion benötigt wird. Während demnach bei Mehrkernprozessoren es möglich ist, eine auszuführende Funktion redundant auf mehreren Kernen des Mehrkernprozessors gleichzeitig ausführen zu lassen, werden gemäß dem ersten Aspekt der Erfindung anstatt von mehreren Kernen eines Mehrkernprozessors mehrere Rechenmodule parallel verwendet.
  • Ein solches Rechenmodul ist insbesondere ein Steuergerät, besonders bevorzugt ein Steuergerät eines Fahrzeugs, auch genannt eine ECU eines Fahrzeugs, wobei ‚ECU‘ die Abkürzung für „Electronic Control Unit“ ist.
  • Bevorzugt ist die Ausführung der softwareimplementierten Funktion zyklisch ausgestaltet, d. h. dass ein Algorithmus in bestimmten Zeitabschnitten wiederholt ausgeführt wird, wie es beispielsweise in der Regelungstechnik üblich ist, um einen aktuellen Eingangswert von Sensoren mit aktuellen Sollwerten zu vergleichen und in jedem der Zeitschritte einen Signalwert als Stellgröße im Sinne des Regelungsausgangs zu erzeugen. Werden von beiden Votern übereinstimmende Ergebnisse der Ausführungen auf dem ersten Rechenmodul und dem zweiten Rechenmodul nach Beendigung eines jeweiligen Zeitschritts erkannt, kann die Ausführung des Algorithmus im sich anschließenden Zeitschritt wiederholt werden. Dies entspricht dem Normalfall, d. h. der fehlerfreien Ausführung der Funktion über längere Zeiträume und führt typischerweise zu einer sehr großen Zahl von Iterationen in der Ausführung der softwareimplementierten Funktion, beispielsweise in Zeitschritten von 1 ms oder 10 ms über eine Fahrtdauer von 3 Stunden, wenn es sich bei der Recheneinheit um ein Fahrsteuerungssystem eines automatisierten Fahrzeugs handelt. Nur dann, wenn das Fehlersignal erzeugt wird, nachdem von zumindest einem der Voter eine fehlende Übereinstimmung bzw. eine fehlende Konsistenz in den Ergebnissen der Vergleiche der Übereinstimmung festgestellt wurde, kann die reguläre Ausführung der Funktion in paralleler Weise auf dem ersten Rechenmodul und im zweiten Rechenmodul nicht länger zuverlässig garantiert werden, sodass darauf reagiert werden muss. Eine solche Reaktion muss insbesondere bei einem autonomen Fahrzeug automatisch erfolgen.
  • Die Diensteschicht wird auch „Middleware“ genannt, dass sie typischerweise das Bindeglied in einer „Client-Server“ Architektur darstellt. Diese Middleware dient dem Austausch der Daten zwischen den Votern und wird bevorzugt über kabelgebundenes Ethernet realisiert. Entsprechende Abschirmung der Kabel gegenüber elektromagnetischen Einflüssen ist vorteilhaft vorzusehen, insbesondere wenn elektrisch leitfähige Kabel anstelle von Lichtleitern verwendet werden.
  • Die Recheneinheit als Ganzes dient damit zum Ausführen einer softwareimplementierten Funktion. Softwareimplementiert heißt in diesem Zusammenhang, dass ein vorab definiertes und abgespeichertes Computerprogramm, wie beispielsweise ein zu Binärcode kompilierter C-Code, auf einem Prozessor ausgeführt wird, und die im Computerprogramm definierten algorithmischen Schritte mit ihren entsprechenden Berechnungen ausgeführt werden. Während ein solcher Vorgang per Definition standardmäßig auf jedem Heimanwender-Rechner erfolgt, zeichnet sich die Recheneinheit besonders dadurch aus, dass sie sich durch ihre Architektur und Konfiguration für sicherheitskritische Anwendungen eignet. Solche sicherheitskritischen Anwendungen führen im Gegensatz zu Anwendungen für den Heimanwender zu einer erhöhten erforderten Zuverlässigkeit, da beim Scheitern einer korrekten Ausführung der gewünschten Funktion mit negativen Konsequenzen zu rechnen ist, die insbesondere für Gesundheit und Leben von Menschen eine Gefahr darstellen oder Sachschäden in diesem Fall zu befürchten sind.
  • Indem ein erstes Rechenmodul und ein zweites Rechenmodul vorhanden ist, und auf beiden die gewünschte Funktion zeitlich parallel ausgeführt wird, kann bei der fehlerbehafteten Ausführung der Funktion auf einem der Rechenmodule erkannt werden, dass zumindest eines der Rechenmodul fehlerhafte Berechnungen ausführt. Erfindungsgemäß wird jedoch die gewünschte Funktion grundsätzlich nur zweifach parallel ausgeführt, und nicht dreifach, wie aus dem oben genannten Stand der Technik gelehrt wird. Trotzdem wird eine vollwertige „Fail-Operational“ Systemarchitektur bei minimaler Anzahl an redundanten Komponenten erhalten.
  • Es ist damit eine vorteilhafte Wirkung der Erfindung, dass die notwendige Anzahl an Komponenten minimiert wird, während gleichzeitig eine Fail-Operational Systemarchitektur erreicht wird. Insbesondere die im Bezug auf die eingangs erwähnte EP 2 765 045 A1 genannten Nachteile werden hiermit vermieden. Sowohl die Funktionen, als auch die Voter laufen auf zwei verteilten Rechenmodulen, welche durch die Diensteschicht, bevorzugt via Ethernet, miteinander verbunden sind. Somit kann eine separate Entscheidungslogik einspart werden, da auch das Voting redundant ausgeführt wird. Neben dem Entfall der Entscheidungslogik ist der zweite große Vorteil der Erfindung gegenüber EP 2 765 045 A1 die effizientere Skalierbarkeit: Wenn Rechenmodule wie in der Automobiltechnik verwendete ECUs an ein Auslastungsmaximum geraten, kann, durch Hinzunahme zweier neuer ECUs (durch einfaches Verbinden über Ethernet), die Kapazität verdoppelt werden. Die CPUs in der EP 2 765 045 A1 lassen sich nicht skalieren, da sich diese auf einem Schaltkreis befinden. Die EP 2 765 045 A1 bräuchte drüberhinaus drei zusätzliche CPUs und eine separate Entscheidungslogik für einen Skalierungsschritt.
  • Gemäß einer vorteilhaften Ausführungsform ist die Recheneinheit dazu ausgeführt, bei durch den ersten Voter erkannter fehlender Übereinstimmung oder bei durch den zweiten Voter erkannter fehlender Übereinstimmung ein Fehlersignal zu erzeugen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist der erste Voter dazu ausgeführt, sein Ergebnis der Überprüfung auf Übereinstimmung an den zweiten Voter über die Diensteschicht zu übermitteln, und wobei der zweite Voter dazu ausgeführt ist, sein Ergebnis der Überprüfung auf Übereinstimmung an den ersten Voter über die Diensteschicht zu übermitteln, wobei der erste Voter dazu ausgeführt ist, das Ergebnis der Überprüfung auf Übereinstimmung des ersten Voters mit dem Ergebnis der Überprüfung auf Übereinstimmung des zweiten Voters auf Konsistenz hin zu vergleichen, wobei der zweite Voter dazu ausgeführt ist, das Ergebnis der Überprüfung auf Übereinstimmung des zweiten Voters mit dem Ergebnis der Überprüfung auf Übereinstimmung des ersten Voters auf Konsistenz hin zu vergleichen, wobei die Recheneinheit dazu ausgeführt ist, bei durch den ersten Voter erkannter fehlender Konsistenz oder bei durch den zweiten Voter erkannter fehlender Konsistenz ein Fehlersignal zu erzeugen.
  • Demnach überprüft nicht nur jeder Voter das Ergebnis der Ausführung der Funktion jedes Rechenmoduls durch Vergleich, sondern überprüft auch sein eigenes Ergebnis der Überprüfung und das Ergebnis der Überprüfung des anderen Voters auf Konsistenz der Ergebnisse der Voter selbst. Somit werden dezentrale Voter- Überprüfungen geschaffen, und eine separate Einheit zum Vergleichen der Voter- Ergebnisse entfällt vorteilhaft.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgen Daten-Übertragungen über die Diensteschicht über Ethernet.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weist die Recheneinheit ein drittes Rechenmodul auf und ist dazu ausgeführt, nur nach erzeugtem Fehlersignal die Ausführung der softwareimplementierten Funktion auf dem dritten Rechenmodul zu aktivieren.
  • Das dritte Rechenmodul wird vorteilhaft erst dann zur Ausführung der Funktion angesteuert, wenn das Fehlersignal erzeugt wurde, insbesondere durch einen Vergleich der Ergebnisse des ersten und des zweiten Rechenmoduls mit negativem Ausgang oder durch eine erkannte Inkonsistenz der Voter Ergebnisse des ersten und zweiten Voters. Vorteilhaft ist das dritte Rechenmodul damit nicht dauerhaft im Einsatz, sondern nur wenn in der Einheit aus erstem und zweitem Rechenmodul ein Fehler festgestellt wird. Dies ist energiesparender und erlaubt vorteilhaft leichter eine Skalierung über mehrere Recheneinheiten, da beispielsweise nur ein einziges drittes Rechenmodul über eine Vielzahl von Paaren von ersten und zweiten Rechenmodulen in einem System wie einem Fahrzeug verbaut werden muss, da die dritte Recheneinheit nur ein Back-up für mehrere redundante Rechenmodule dann darstellen kann. Das dritte Rechenmodul und damit ein dritter Kanal wird in anderen Worten on-demand bevorzugt über Ethernet und eine service-orientierte Middleware, die Diensteschicht, nur genau dann aufgerufen, wenn die beiden ersten in einem Kalkulationsschritt nicht übereinstimmen. Auch erlaubt der erfindungsgemäße Ansatz, den fehlerhaften Kanal während der Laufzeit zu reparieren.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weist das dritte Rechenmodul einen dritten Voter auf, wobei das erste Rechenmodul dazu ausgeführt ist, mittels der Diensteschicht das Ergebnis der auf dem ersten Rechenmodul ausgeführten Funktion an den dritten Voter zu übermitteln, wobei das zweite Rechenmodul dazu ausgeführt ist, mittels der Diensteschicht das Ergebnis der auf dem zweiten Rechenmodul ausgeführten Funktion an den dritten Voter zu übermitteln, wobei der dritte Voter dazu ausgeführt ist, die Ergebnisse der auf dem ersten Rechenmodul ausgeführten Funktion und der auf dem zweiten Rechenmodul ausgeführten Funktion und der auf dem dritten Rechenmodul ausgeführten Funktion auf jeweilige Übereinstimmung zu überprüfen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist jedes der Rechenmodule dazu ausgeführt, sein jeweiliges Ergebnis der Ausführung der Funktion an alle jeweils anderen Rechenmodule über die Diensteschicht zu übermitteln, wobei jeder Voter der Rechenmodule dazu ausgeführt ist, die Ergebnisse aller Rechenmodule auf Übereinstimmung zu vergleichen.
  • Dadurch wird vorteilhaft das System on-demand auf ein „2oo3“ Niveau gehoben und der fehlerhafte Pfad kann erkannt werden.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist jeder der Voter dazu ausgeführt, sein jeweiliges Ergebnis der Überprüfung auf Übereinstimmung an alle jeweiligen übrigen Voter über die Diensteschicht zu übermitteln, wobei die Recheneinheit dazu ausgeführt ist, durch Ausführung einer Mehrheitsfunktion ein übereinstimmendes Ergebnis von Ausführungen der Funktion zu verwenden.
  • Durch die bedingte Hinzunahme des dritten Rechenmoduls und dessen vollständige und analoge Anbindung an das erste und zweite Rechenmodul (analog wie diese untereinander verbunden sind), kann auch das Prinzip der Vergleiche der Voterergebnisse übernommen werden. Es liegt somit ein vollständiges „2oo3“ System vor, das fehlerhafte Rechenmodul kann durch eine Mehrheitsfunktion erkannt werden. Während im Stand der Technik für eine Mehrheitsfunktion häufig ein sogenanntes „majority gate“ implementiert wird, ist durch die vollständige Übermittlung von Daten über die Ergebnisse der ausgeführten Funktion an alle anderen Rechenmodule sowie der Austausch der Daten über die Ergebnisse der Voter untereinander eine zuverlässige Diagnose möglich, welches der Rechenmodule (und unter Umständen welcher der Voter) eine fehlerhafte Ausführung vollzieht.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weist das Recheneinheit weiterhin einen Orchestrator auf, wobei der Orchestrator dazu ausgeführt ist, dasjenige Rechenmodul mit einer fehlerhaften Ausführung der Funktion zu identifizieren und einen Wiederherstellungsversuch der korrekten Ausführung der Funktion am identifizierten Rechenmodul auszuführen.
  • Der Wiederherstellungsversuch sieht einen Schritt vor, einen sogenannten „Recovery“-Schritt, den fehlerhaften Pfad zu beheben, indem die Funktion auf dem identifizierten fehlerhaften Rechenmodul geschlossen wird, d. h. beendet wird. Dem folgt ein Neustart des ganzen Rechenmoduls oder wahlweise ein Neustart der Ausführung der Funktion, indem der entsprechende Prozess neu gestartet wird, der für die Ausführung der Funktion zuständig ist. Idealerweise befindet sich nach diesem Recovery-Prozess das System wieder in seinem fehlerfreien Ursprungszustand, wodurch vorteilhaft die Verfügbarkeit der Recheneinheit maximiert wird.
  • Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug mit einer Recheneinheit wie oben und im Folgenden beschrieben.
  • Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Fahrzeugs ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit der vorgeschlagenen Recheneinheit vorstehend gemachten Ausführungen.
  • Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.
  • Es zeigen:
    • 1: Grundelemente der Recheneinheit gemäß einem Ausführungsbeispiel der Erfindung.
    • 2: Die Recheneinheit mit ihren vollständigen Elementen aufbauend auf dem Ausführungsbeispiel der 1.
  • Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
  • 1 zeigt eine Recheneinheit 100 zum Ausführen einer softwareimplementierten Funktion für eine sicherheitskritische Anwendung. Die Recheneinheit 100 weist ein erstes Rechenmodul 1 und ein zweites Rechenmodul 2 auf, welche beide dieselben Eingangssignale, symbolisiert durch den verzweigten Eingangspfad der oberen Bildhälfte, erhalten. Sowohl das erste Rechenmodul 1 als auch das zweite Rechenmodul 2 können Steuergeräte, sogenannte ECUs, eines Fahrzeugs sein. Die Rechenmodule 1,2 sind jeweils auf ihren eigenen, voneinander unabhängigen integrierten Schaltungen, auch genannt Chips, angeordnet. Jedes der Rechenmodule 1,2 stellt damit eine prinzipiell eigene CPU (Abkürzung für „Central Processing Unit“) dar, anstatt nur ein bestimmter Kern eines Mehrkernprozessors zu sein. Die auszuführende Funktion sei in diesem Beispiel eine Applikation, die in einem von mehreren Containern (als Container auf dem Gebiet der Software wird eine abtrennbare Umgebung verstanden, die in der Rolle einer Virtualisierung für eine Anwendung bestimmte und konstante Randbedingungen ermöglicht) abläuft. Die Container wiederum werden mithilfe eines Betriebssystems ausgeführt, welches sich speziell für eingebettete Systeme eignet, um auf einem solchen Steuergerät, wie sie die Rechenmodule jeweils sind, ausgeführt zu werden. Eine Diensteschicht, eine sogenannte Middleware, stellt das architektonische Bindeglied zwischen den Rechenmodueln 1,2 dar. Über eine kabelbasierte Ethernet Datenverbindung ist die Middleware dazu in der Lage, koordiniert zwischen dem ersten Rechenmodul 1 und dem zweiten Rechenmodul 2 Daten auszutauschen, insbesondere das Ergebnis der auf einem Rechenmodul ausgeführten Funktion an das andere Rechenmodul zu übermitteln. Das jeweilige Berechnungsergebnis wird somit mittels Ethernet (durch die Middleware) zum jeweils anderen Steuergerät gesendet. Somit haben die Voter 11,12 auf beiden Steuergeräten 1,2 sowohl das Ergebnis der eigenen Berechnung, als auch das des anderen Steuergerätes vorliegen. Wird nun eine solche vorgegebene softwareimplementierte Funktion zeitlich parallel auf dem ersten Rechenmodul 1 und dem zweiten Rechenmodul 2 ausgeführt und mittels der Diensteschicht das Ergebnis der auf dem ersten Rechenmodul 1 ausgeführten Funktion an den zweiten Voter 12 und das Ergebnis der auf dem zweiten Rechenmodul 2 ausgeführten Funktion an den ersten Voter 11 übermittelt, kann vom ersten Voter 11 das Ergebnis der auf dem ersten Rechenmodul 1 ausgeführten Funktion mit dem Ergebnis der auf dem zweiten Rechenmodul 2 ausgeführten Funktion auf Übereinstimmung überprüft werden, und vom zweiten Voter 12 das Ergebnis der auf dem zweiten Rechenmodul 2 ausgeführten Funktion mit dem Ergebnis der auf dem ersten Rechenmodul 1 ausgeführten Funktion auf Übereinstimmung überprüft werden. Der erste Voter 11 übermittelt außerdem sein Ergebnis der Überprüfung auf Übereinstimmung an den zweiten Voter 12 über die Diensteschicht, und der zweite Voter 12 übermittelt sein Ergebnis der Überprüfung auf Übereinstimmung an den ersten Voter 11 über die Diensteschicht. Damit kann der erste Voter 11 das Ergebnis der Überprüfung auf Übereinstimmung des ersten Voters 11 mit dem Ergebnis der Überprüfung auf Übereinstimmung des zweiten Voters 12 auf Konsistenz hin vergleichen. Analog dazu vergleicht der zweite Voter 12 das Ergebnis der Überprüfung auf Übereinstimmung des ersten Voters 11 mit dem Ergebnis der Überprüfung auf Übereinstimmung des zweiten Voters 12 auf Konsistenz hin. Nur so lange also, wie der erste und der zweite Voter 11,12 beide feststellen, dass von dem ersten Rechenmodul 1 und von dem zweiten Rechenmodul 2 übereinstimmende Ergebnisse der Ausführung der Funktion erzielen, wird kein Fehlersignal erzeugt. Die Aufgabe eines jeweiligen Voters 11,12 ist es daher nicht nur, die Ergebnisse des ersten Rechenmoduls 1 und des zweiten Rechenmoduls 2 zu vergleichen, sondern auch das Resultat dieses Vergleichs des eigenen Voters mit dem Resultat des Vergleichs mit dem anderen Voter zu vergleichen. Ein jeweiliger der Voter 11,12 überprüft damit die Ausführung der Rechenmodule sowie die konsistente Ergebnis-Bestimmung zwischen den beiden Votern 11,12. Liegt keine Konsistenz vor, wird ein Fehlersignal von der Recheneinheit 100 erzeugt. In diesem Fall der Erzeugung des Fehlersignals, und nur in diesem Fall, wird davon abgewichen, Redundanz durch die lediglich zweifache parallele Ausführung der Funktion zu schaffen, und es wird in diesem Fall die Ausführung der Funktion auf einem dritten Rechenmodul 3 gestartet. Weitere Details hierzu sind in der 2 dargestellt.
  • 2 zeigt die vollständige Architektur der Recheneinheit 100, die den in der 1 beschriebenen Teil damit mitumfasst. Zusätzlich ist hier jedoch das dritte Rechenmodul 3 mit seinem dritten Voter 13 dargestellt, wobei das dritte Rechenmodul 3 nur dann für die zum ersten Rechenmodul 1 und zum zweiten Rechenmodul 2 parallele Ausführung herangezogen wird, wenn das Fehlersignal erzeugt wird, wie in 1 beschrieben. Mittels der Diensteschicht wird von jedem der Rechenmodule 1,2,3 dann sein jeweiliges Ergebnis der Ausführung der Funktion an alle jeweils anderen Rechenmodule übermittelt, und jeder der Voter 11,12,13 vergleicht die Ergebnisse aller Rechenmodule 1,2,3 auf Übereinstimmung. Jeder der Voter 11,12,13 übermittelt wiederum sein jeweiliges Ergebnis der Überprüfung auf Übereinstimmung an alle jeweiligen übrigen Voter über die Diensteschicht, und die Recheneinheit 100 ist dann dazu in der Lage, durch Ausführung einer Mehrheitsfunktion ein übereinstimmendes Ergebnis von Ausführungen der Funktion zu verwenden. Somit ist es möglich, dasjenige der Rechenmodule 1,2,3 zu identifizieren, welches eine fehlerhafte Ausführung der Funktion durchführt. In einem Recovery Prozess der Recheneinheit 100 kann damit versucht werden, durch Neustart des fehlerhaften Rechenmoduls einen einwandfreien Betrieb der Ausführung der Funktion auf diesem identifizierten Rechenmodul wieder herzustellen, und bei Scheitern der Wiederherstellung dieses abzuschalten und durch ein verbleibendes Rechenmodul mit fehlerfreiem Betrieb zu ersetzen, sodass die zweifach redundante Ausführung der Funktion weiter gewährleistet werden kann.
  • Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen wirklich nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen, beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente, vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehende Erläuterungen in der Beschreibung, definiert wird.
  • Bezugszeichenliste
  • 1
    erstes Rechenmodul
    2
    zweites Rechenmodul
    3
    drittes Rechenmodul
    11
    erster Voter
    12
    zweiter Voter
    13
    dritter Voter
    100
    Recheneinheit
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • EP 2765045 A1 [0006, 0007, 0018]
  • Zitierte Nicht-Patentliteratur
    • „B. Sari, Fail-operational Safety Architecture for ADAS/AD Systems and a Model-driven Approach for Dependent Failure Analysis", erschienen in der „Wissenschaftliche[n] Reihe Fahrzeugtechnik Universität Stuttgart“ unter ISBN-13: 978-3658294212 [0003]
    • „F. K. Bapp, T. Dörr, T. Sandmann, F. Schade, and J. Becker, ‚Towards Fail-Operational Systems on Controller Level Using Heterogeneous Multicore SoC Architectures and Hardware Support‘, in SAE Technical Paper Series, 2018 [0004]
    • E-Gas Working Group, 'Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units: Version 6.0' [0005]

Claims (10)

  1. Recheneinheit (100) zum Ausführen einer softwareimplementierten Funktion für eine sicherheitskritische Anwendung, aufweisend ein erstes Rechenmodul (1) mit einem ersten Voter (11) und ein zweites Rechenmodul (2) mit einem zweiten Voter (12), wobei das erste Rechenmodul (1) und das zweite Rechenmodul (2) auf jeweils eigenen integrierten Schaltungen aufgebracht sind und durch eine Diensteschicht miteinander verbunden sind, wobei die Recheneinheit (100) dazu ausgeführt ist, eine softwareimplementierte Funktion zeitlich parallel auf dem ersten Rechenmodul (1) und dem zweiten Rechenmodul (2) auszuführen und mittels der Diensteschicht das Ergebnis der auf dem ersten Rechenmodul (1) ausgeführten Funktion an den zweiten Voter (12) und das Ergebnis der auf dem zweiten Rechenmodul (2) ausgeführten Funktion an den ersten Voter (11) zu übermitteln, wobei der erste Voter (11) dazu ausgeführt ist, das Ergebnis der auf dem ersten Rechenmodul (1) ausgeführten Funktion mit dem Ergebnis der auf dem zweiten Rechenmodul (2) ausgeführten Funktion auf Übereinstimmung zu überprüfen, und wobei der zweite Voter (12) dazu ausgeführt ist, das Ergebnis der auf dem zweiten Rechenmodul (2) ausgeführten Funktion mit dem Ergebnis der auf dem ersten Rechenmodul (1) ausgeführten Funktion auf Übereinstimmung zu überprüfen.
  2. Recheneinheit (100) nach Anspruch 1, wobei die Recheneinheit (100) dazu ausgeführt ist, bei durch den ersten Voter (11) erkannter fehlender Übereinstimmung oder bei durch den zweiten Voter (12) erkannter fehlender Übereinstimmung ein Fehlersignal zu erzeugen.
  3. Recheneinheit (100) nach einem der vorhergehenden Ansprüche, wobei der erste Voter (11) dazu ausgeführt ist, sein Ergebnis der Überprüfung auf Übereinstimmung an den zweiten Voter (12) über die Diensteschicht zu übermitteln, und wobei der zweite Voter (12) dazu ausgeführt ist, sein Ergebnis der Überprüfung auf Übereinstimmung an den ersten Voter (11) über die Diensteschicht zu übermitteln, wobei der erste Voter (11) dazu ausgeführt ist, das Ergebnis der Überprüfung auf Übereinstimmung des ersten Voters (11) mit dem Ergebnis der Überprüfung auf Übereinstimmung des zweiten Voters (12) auf Konsistenz hin zu vergleichen, wobei der zweite Voter (12) dazu ausgeführt ist, das Ergebnis der Überprüfung auf Übereinstimmung des zweiten Voters (12) mit dem Ergebnis der Überprüfung auf Übereinstimmung des ersten Voters (11) auf Konsistenz hin zu vergleichen, wobei die Recheneinheit (100) dazu ausgeführt ist, bei vom ersten Voter (11) oder vom zweiten Voter (12) erkannter fehlender Konsistenz ein Fehlersignal zu erzeugen.
  4. Recheneinheit (100) nach einem der vorhergehenden Ansprüche, wobei die Recheneinheit (100) dazu ausgeführt ist, nur das erste Rechenmodul (1) und das zweite Rechenmodul (2) zur parallelen Ausführung der Funktion zu verwenden, solange kein Fehlersignal vorliegt.
  5. Recheneinheit (100) nach einem der Ansprüche 2 bis 4, wobei die Recheneinheit (100) ein drittes Rechenmodul (3) aufweist und dazu ausgeführt ist, nur nach erzeugtem Fehlersignal die Ausführung der softwareimplementierten Funktion auf dem dritten Rechenmodul (3) zu aktivieren.
  6. Recheneinheit (100) nach Anspruch 5, wobei das dritte Rechenmodul (3) einen dritten Voter (13) aufweist, wobei das erste Rechenmodul (1) dazu ausgeführt ist, mittels der Diensteschicht das Ergebnis der auf dem ersten Rechenmodul (1) ausgeführten Funktion an den dritten Voter (13) zu übermitteln, wobei das zweite Rechenmodul (2) dazu ausgeführt ist, mittels der Diensteschicht das Ergebnis der auf dem zweiten Rechenmodul (2) ausgeführten Funktion an den dritten Voter (13) zu übermitteln, wobei der dritte Voter (13) dazu ausgeführt ist, die Ergebnisse der auf dem ersten Rechenmodul (1) ausgeführten Funktion und der auf dem zweiten Rechenmodul (2) ausgeführten Funktion und der auf dem dritten Rechenmodul (3) ausgeführten Funktion auf jeweilige Übereinstimmung zu überprüfen.
  7. Recheneinheit (100) nach Anspruch 6, wobei jedes der Rechenmodule (1,2,3) dazu ausgeführt ist, sein jeweiliges Ergebnis der Ausführung der Funktion an alle jeweils anderen Rechenmodule über die Diensteschicht zu übermitteln, wobei jeder Voter (11,12,13) der Rechenmodule (1,2,3) dazu ausgeführt ist, die Ergebnisse aller Rechenmodule (1,2,3) auf Übereinstimmung zu vergleichen.
  8. Recheneinheit (100) nach Anspruch 7, wobei jeder der Voter (11,12,13) dazu ausgeführt ist, sein jeweiliges Ergebnis der Überprüfung auf Übereinstimmung an alle jeweiligen übrigen Voter über die Diensteschicht zu übermitteln, wobei die Recheneinheit (100) dazu ausgeführt ist, durch Ausführung einer Mehrheitsfunktion ein übereinstimmendes Ergebnis von Ausführungen der Funktion zu verwenden.
  9. Recheneinheit (100) nach einem der vorhergehenden Ansprüche, weiterhin aufweisend einen Orchestrator, wobei der Orchestrator dazu ausgeführt ist, dasjenige Rechenmodul mit einer fehlerhaften Ausführung der Funktion zu identifizieren und einen Wiederherstellungsversuch der korrekten Ausführung der Funktion am identifizierten Rechenmodul auszuführen.
  10. Fahrzeug mit einer Recheneinheit (100) nach einem der vorhergehenden Ansprüche.
DE102022129939.2A 2022-11-11 2022-11-11 Redundante Prozessorarchitektur für sicherheitskritische Anwendungen Pending DE102022129939A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022129939.2A DE102022129939A1 (de) 2022-11-11 2022-11-11 Redundante Prozessorarchitektur für sicherheitskritische Anwendungen
PCT/EP2023/079032 WO2024099723A1 (de) 2022-11-11 2023-10-18 Redundante prozessorarchitektur für sicherheitskritische anwendungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022129939.2A DE102022129939A1 (de) 2022-11-11 2022-11-11 Redundante Prozessorarchitektur für sicherheitskritische Anwendungen

Publications (1)

Publication Number Publication Date
DE102022129939A1 true DE102022129939A1 (de) 2024-05-16

Family

ID=88506843

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022129939.2A Pending DE102022129939A1 (de) 2022-11-11 2022-11-11 Redundante Prozessorarchitektur für sicherheitskritische Anwendungen

Country Status (2)

Country Link
DE (1) DE102022129939A1 (de)
WO (1) WO2024099723A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2765045A1 (de) 2013-02-12 2014-08-13 Paravan GmbH Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10243713B4 (de) * 2002-09-20 2006-10-05 Daimlerchrysler Ag Redundante Steuergeräteanordnung
US11214273B2 (en) * 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
CN107967194B (zh) * 2017-10-19 2020-09-29 北京全路通信信号研究设计院集团有限公司 一种基于冗余以太网的安全计算机系统
CA3136322A1 (en) * 2020-12-02 2022-06-02 The Boeing Company Debug trace streams for core synchronization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2765045A1 (de) 2013-02-12 2014-08-13 Paravan GmbH Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
„B. Sari, Fail-operational Safety Architecture for ADAS/AD Systems and a Model-driven Approach for Dependent Failure Analysis", erschienen in der „Wissenschaftliche[n] Reihe Fahrzeugtechnik Universität Stuttgart" unter ISBN-13: 978-3658294212
„F. K. Bapp, T. Dörr, T. Sandmann, F. Schade, and J. Becker, ‚Towards Fail-Operational Systems on Controller Level Using Heterogeneous Multicore SoC Architectures and Hardware Support‘, in SAE Technical Paper Series, 2018
BALEANI, Massimo et al. „Fault-tolerant platforms for automotive safety-critical applications" In Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems (CASES '03). 2003. Association for Computing Machinery, New York, NY, USA, 170–177. https://doi.org/10.1145/951710.951734
E-Gas Working Group, 'Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units: Version 6.0'

Also Published As

Publication number Publication date
WO2024099723A1 (de) 2024-05-16

Similar Documents

Publication Publication Date Title
EP2641176B1 (de) Mikroprozessorsystem mit fehlertoleranter architektur
DE19742446B4 (de) Fehlerdiagnoseverfahren
DE102017106087A1 (de) Fehlertoleranz-muster und schaltprotokoll für mehrere hot- und cold-standby-redundanzen
DE112018006702T5 (de) Bestimmung der zuverlässigkeit von fahrzeugsteuerbefehlen unter verwendung eines abstimmungsmechanismus
DE102017210156B4 (de) Vorrichtung und Verfahren zum Ansteuern eines Fahrzeugmoduls
WO2008040641A2 (de) Verfahren und vorrichtung zur fehlerverwaltung
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
DE102010013349A1 (de) Computersystem und Verfahren zum Vergleichen von Ausgangssignalen
DE102017106086A1 (de) Hybrid-dual-duplex fail-betriebsmuster und verallgemeinerung einer beliebigen anzahl an ausfällen
DE102019217613A1 (de) Verfahren zur diagnose eines motorzustands und diagnostisches modellierungsverfahren dafür
EP1092177A1 (de) Regler bzw. triebwerksregler, triebwerk und verfahren zum regeln eines stell- oder antriebssystems bzw. eines triebwerks
WO2018134023A1 (de) Redundante prozessorarchitektur
EP1053153B1 (de) Verfahren zur behandlung von fehlern in einem elektronischen bremssystem und zugehörige vorrichtung
DE10321229B4 (de) Gegenkontrollierende Prozessoren für Antriebsstrangsteuerungssysteme, die eine dedizierte serielle Datenleitung verwenden
DE102012221277A1 (de) Fahrzeugsteuervorrichtung
DE102022129939A1 (de) Redundante Prozessorarchitektur für sicherheitskritische Anwendungen
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
DE102015218898A1 (de) Verfahren zur redundanten Verarbeitung von Daten
DE10328059A1 (de) Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
DE102020209228A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
EP4091054A1 (de) Verfahren und vorrichtung zum rekonfigurieren eines automatisiert fahrenden fahrzeugs in einem fehlerfall
DE112019007286T5 (de) Fahrzeuginterne steuerungsvorrichtung und fahrzeuginternes steuerungssystem
DE102017212560A1 (de) Verfahren zum ausfallsicheren Durchführen einer sicherheitsgerichteten Funktion
DE102021212595A1 (de) Verfahren zum Überwachen eines Rechensystems
DE102017116081A1 (de) Verfahren und Vorrichtung zum Konfigurieren einer Ausführungseinrichtung und zum Erkennen eines Betriebszustands derselben

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication