DE102013216443A1 - Sicherheitssysteme und -verfahren mit zufälligen und mehreren Aufforderungs-Reaktions-Tests - Google Patents

Sicherheitssysteme und -verfahren mit zufälligen und mehreren Aufforderungs-Reaktions-Tests Download PDF

Info

Publication number
DE102013216443A1
DE102013216443A1 DE102013216443.2A DE102013216443A DE102013216443A1 DE 102013216443 A1 DE102013216443 A1 DE 102013216443A1 DE 102013216443 A DE102013216443 A DE 102013216443A DE 102013216443 A1 DE102013216443 A1 DE 102013216443A1
Authority
DE
Germany
Prior art keywords
processor module
response
prompt
test
request
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.)
Ceased
Application number
DE102013216443.2A
Other languages
English (en)
Inventor
Mohammed Abdulla Yousuf
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102013216443A1 publication Critical patent/DE102013216443A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • 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/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/2038Error 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 a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Diagnosesystem für ein Fahrzeug enthält ein erstes Prozessormodul und ein zweites Prozessormodul. Das erste Prozessormodul enthält einen ersten Mikroprozessor und einen Speicher. Das zweite Prozessormodul enthält einen zweiten Mikroprozessor und einen Speicher. Das zweite Prozessormodul überträgt eine erste Aufforderung für einen ersten Aufforderungs-Antwort-Test an das erste Prozessormodul, es überträgt selektiv eine zweite Aufforderung für einen zweiten Aufforderungs-Antwort-Test an das erste Prozessormodul, es überträgt selektiv eine dritte Aufforderung für einen dritten Aufforderungs-Antwort-Test an das erste Prozessormodul, es überträgt selektiv eine vierte Aufforderung für einen vierten Aufforderungs-Antwort-Test an das erste Prozessormodul und es diagnostiziert selektiv einen Fehler auf der Grundlage von Antworten des ersten Prozessormoduls auf die erste, zweite, dritte und vierte Aufforderung. Die ersten, zweiten, dritten und vierten Aufforderungs-Antwort-Tests sind jeweils verschiedene Typen von Aufforderungs-Antwort-Tests.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung ist mit der US-Patentanmeldung mit der Nr. 13/596,239 verwandt, die am 28. August 2012 eingereicht wurde. Der Offenbarungsgehalt der vorstehenden Anmeldung ist durch Bezugnahme in seiner Gesamtheit hier mitaufgenommen.
  • GEBIET
  • Die vorliegende Offenbarung betrifft Fahrzeugsteuerungssysteme und insbesondere Mikroprozessorsicherheitssysteme und -verfahren von Fahrzeugen.
  • HINTERGRUND
  • Die hier bereitgestellte Hintergrundbeschreibung dient dem Zweck einer allgemeinen Darstellung des Kontexts der Offenbarung. Die Arbeit der gegenwärtig genannten Verbinder, sofern sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt des Einreichens nicht anderweitig als Stand der Technik ausgewiesen sind, werden weder explizit noch implizit als Stand der Technik gegen die vorliegenden Offenbarung anerkannt.
  • Ein Fahrzeug enthält mehrere Systeme, etwa ein Antriebsstrangsystem, ein Bremsensystem, ein Kraftstoffsystem usw. Jedes System enthält mehrere Hardwarekomponenten und Sicherheitsmechanismen. Ein Sicherheitsmechanismus kann ein physikalischer Sicherheitsmechanismus oder ein Stück einer Software sein, die von einem Prozessor ausgeführt wird, um als Sicherheitsmechanismus zu wirken. Ein Sicherheitsmechanismus für eine Hardwarekomponente kann eine Gegenmaßnahme durchführen, um ein Sicherheitsniveau bereitzustellen, wenn die Hardwarekomponente ausfällt.
  • Es kann gefordert sein, dass Systeme aus elektrischen Komponenten des Fahrzeugs einer oder mehrerer Anforderungen zur Integrität von Kraftfahrzeughardware entsprechen, etwa dem Standard 26262 der internationalen Standardisierungsorganisation (ISO). Nur als Beispiel kann gefordert sein, dass eine Gefährdung, die auftreten könnte, wenn ein oder mehrere Elemente eines Systems ausfallen, eine Auftretenswahrscheinlichkeit aufweist, die geringer als eine vorbestimmte Wahrscheinlichkeit ist, um dem ISO 26262-Standard zu entsprechen.
  • ZUSAMMENFASSUNG
  • Ein Diagnosesystem für ein Fahrzeug enthält ein erstes Prozessormodul und ein zweites Prozessormodul. Das erste Prozessormodul enthält einen ersten Mikroprozessor und einen Speicher. Das zweite Prozessormodul enthält einen zweiten Mikroprozessor und einen Speicher. Das zweite Prozessormodul überträgt selektiv eine erste Aufforderung an das erste Prozessormodul für einen ersten Aufforderungs-Antwort-Test bzw. Challenge-Response-Test, es überträgt selektiv eine zweite Aufforderung an das erste Prozessormodul für einen zweiten Aufforderungs-Antwort-Test, es überträgt selektiv eine dritte Aufforderung an das erste Prozessormodul für einen dritten Aufforderungs-Antwort-Test, es überträgt selektiv eine vierte Aufforderung an das erste Prozessormodul für einen vierten Aufforderungs-Antwort-Test und es diagnostiziert selektiv einen Fehler auf der Grundlage von Antworten des ersten Prozessormoduls auf die erste, zweite, dritte und vierte Aufforderung. Die ersten, zweiten, dritten und vierten Aufforderungs-Antwort-Tests sind jeweils verschiedene Arten von Aufforderungs-Antwort-Tests.
  • Ein Diagnoseverfahren für ein Fahrzeug umfasst, dass: ein erstes Prozessormodul mit einem ersten Mikroprozessor und einem Speicher bereitgestellt wird, und dass von einem zweiten Prozessormodul, das einen zweiten Mikroprozessor und einen Speicher enthält, selektiv eine erste Aufforderung an das erste Prozessormodul für einen ersten Aufforderungs-Antwort-Test übertragen wird, selektiv eine zweite Aufforderung an das erste Prozessormodul für einen zweiten Aufforderungs-Antwort-Test übertragen wird, selektiv eine dritte Aufforderung an das erste Prozessormodul für einen dritten Aufforderungs-Antwort-Test übertragen wird, selektiv eine vierte Aufforderung an das erste Prozessormodul für einen vierten Aufforderungs-Antwort-Test übertragen wird und selektiv auf der Grundlage von Antworten des ersten Prozessormoduls auf die erste, zweite, dritte und vierte Aufforderung ein Fehler diagnostiziert wird. Die ersten, zweiten, dritten und vierten Aufforderungs-Antwort-Tests sind jeweils verschiedene Arten von Aufforderungs-Antwort-Tests.
  • Weitere Anwendungsgebiete der vorliegenden Offenbarung werden sich aus der hier nachstehend bereitgestellten genauen Beschreibung ergeben. Es versteht sich, dass die genaue Beschreibung und spezielle Beispiele nur zur Veranschaulichung gedacht sind und den Umfang der Offenbarung nicht einschränken sollen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Offenbarung wird anhand der genauen Beschreibung und der beiliegenden Zeichnungen besser verstanden werden, in denen:
  • 1 ein Funktionsblockdiagramm eines beispielhaften Fahrzeugsystems gemäß der vorliegenden Offenbarung ist;
  • 2 ein Funktionsblockdiagramm eines beispielhaften externen Objektberechnungsmoduls gemäß der vorliegenden Offenbarung ist;
  • 3 ein Funktionsblockdiagramm von beispielhaften Prozessormodulen des externen Objektberechnungsmoduls gemäß der vorliegenden Offenbarung ist; und
  • 4 ein Flussdiagramm ist, das ein beispielhaftes Verfahren zum Diagnostizieren eines Prozessormoduls gemäß der vorliegenden Offenbarung darstellt.
  • GENAUE BESCHREIBUNG
  • Die Lenkung eines Fahrzeugs, das Bremsen eines Fahrzeugs und die Beschleunigung/Verzögerung eines Fahrzeugs werden im Allgemeinen auf der Grundlage von Eingaben von einem Fahrer des Fahrzeugs gesteuert. Aktive Sicherheitssysteme sind Systeme, die die Lenkung des Fahrzeugs, das Bremsen des Fahrzeugs und/oder die Beschleunigung/Verzögerung des Fahrzeugs selektiv justieren, um Eingaben des Fahrers zu ergänzen, um Eingaben des Fahrers entgegenzuwirken, oder die unabhängig von Eingaben des Fahrers sind. Aktive Sicherheitssysteme können auch als sicherheitskritische eingebettete Steuerungssysteme (SCEC-Systeme) und Systeme zum autonomen Fahren bezeichnet werden.
  • Ein Fahrzeug kann ein aktives Sicherheitssystem enthalten, das die Lenkung des Fahrzeugs selektiv justiert, beispielsweise um ein Fahrzeug in einer Spur zu positionieren (z. B. zu zentrieren), um die Spur zu wechseln, um Objekten auszuweichen und/oder aus einem oder mehreren anderen Gründen. Ein Fahrzeug kann zusätzlich oder alternativ ein aktives Sicherheitssystem enthalten, das ein Bremsen des Fahrzeugs und/oder eine Beschleunigung/Verzögerung des Fahrzeugs selektiv justiert, z. B. zum Vermeiden von Zusammenstößen, zur adaptiven Geschwindigkeitsregelung, zur Vorbereitung auf einen Zusammenstoß und/oder aus einem oder mehreren anderen Gründen.
  • Ein Fahrzeughersteller entwickelt einen vorläufigen Bericht für ein Fahrzeug, bevor das Fahrzeug der Öffentlichkeit zum Kauf zur Verfügung gestellt wird. Der vorläufige Bericht kann eine Gefährdung anzeigen, die auftreten könnte, wenn ein oder mehrere Elemente eines Systems des Fahrzeugs ausfallen. Eine Klassifizierung für das System kann durch einen Kraftfahrzeughardware-Integritätsstandard definiert werden, etwa den 26262-Standard, der von der internationalen Standardisierungsorganisation (ISO) entwickelt wurde. Aktive Sicherheitssysteme können beispielsweise in das Kraftfahrzeugsicherheits-Integritätsniveau (ASIL) D des ISO 26262-Standards eingestuft sein.
  • Kraftfahrzeug-Mikroprozessoren wurden speziell entwickelt, um einer oder mehreren der ASIL-Klassifizierungen des ISO 26262-Standards zu entsprechen. Ein aktives Sicherheitssystem kann einen Kraftfahrzeug-Mikroprozessor enthalten, der die Verarbeitung für und den Betrieb des aktiven Sicherheitssystems durchführt. Für sich alleine jedoch kann der eine Kraftfahrzeug-Mikroprozessor eine oder mehrere Anforderungen der ASIL D-Klassifizierung nicht erreichen. Zudem sind Kraftfahrzeug-Mikroprozessoren kostspielig und groß und das Implementieren von mehreren (z. B. drei) Kraftfahrzeug-Mikroprozessoren zusammen mit der zugehörigen Funktionalität kann komplex sein.
  • Aktive Sicherheitssysteme können daher einen Kraftfahrzeug-Mikroprozessor und mindestens einen Graphik-Mikroprozessor enthalten. Graphik-Mikroprozessoren werden typischerweise bei der Verarbeitung in intensiven eingebetteten Systemen mit einer oder mehreren Anzeigen verwendet, etwa in Smartphones, Tablet-Computern, Navigationssystemen usw. Graphik-Mikroprozessoren werden in aktiven Sicherheitssystemen von Fahrzeugen aufgrund ihrer fehlenden Kompatibilität mit allen ASIL-Klassifizierungen nicht verwendet.
  • Die vorliegende Offenbarung beschreibt Systeme und Verfahren zum Durchführen eines zufallsgesteuerten Aufforderungs-Antwort-Tests, um ein Prozessormodul und ein externes Objektberechnungsmodul (EOCM) kompatibel zu einer oder mehreren der ASIL-Klassifizierungen zu machen. Der zufallsgesteuerte Aufforderungs-Antwort-Test schließt ein erstes Prozessormodul ein, das mehrere verschiedene Arten von Aufforderungs-Antwort-Tests (z. B. vier oder mehr) zusammen mit einem zweiten Prozessormodul durchführt.
  • Jeder Aufforderungs-Antwort-Test umfasst, dass das erste Prozessormodul eine Aufforderung (z. B. einen ”Samen” oder ein Token) an das zweite Prozessormodul sendet und verifiziert, dass eine Antwort des zweiten Prozessormoduls, die auf der Grundlage der Aufforderung bestimmt wurde, gleich einer erwarteten Antwort ist. Jeder Aufforderungs-Antwort-Test umfasst außerdem, dass das erste Prozessormodul verifiziert, dass die Antwort innerhalb einer vorbestimmten Zeitspanne geliefert wurde. Das erste Prozessormodul kann einen Fehler diagnostizieren, wenn sich die Antwort von einer erwarteten Antwort unterscheidet und/oder das zweite Prozessormodul nach dem Übertragen einer Aufforderung eine Antwort nicht innerhalb einer vorbestimmten Zeitspanne liefert.
  • Bei mindestens einem der Aufforderungs-Antwort-Tests kann eine dynamische Variable für den Aufforderungsabschnitt des Tests verwendet werden. Dynamische Variablen können beispielsweise unter Verwendung von Sensoren gemessen, auf der Grundlage einer oder mehrerer anderer dynamischer Variablen bestimmt werden usw.
  • Die zufällige Auswahl der Art des Aufforderungs-Antwort-Tests, der durchgeführt werden soll, erhöht die Zuverlässigkeit jedes Aufforderungs-Antwort-Tests und die Zuverlässigkeit des zufallsgesteuerten Aufforderungs-Antwort-Tests durch Verringerung der Wahrscheinlichkeit, dass das zweite Prozessormodul korrekt antworten kann, wenn ein Fehler vorhanden ist. Die Verwendung einer oder mehrerer dynamischer Variablen erhöht auch die Zuverlässigkeit eines Aufforderungs-Antwort-Tests und die Zuverlässigkeit des zufallsgesteuerten Aufforderungs-Antwort-Tests durch Verringern der Wahrscheinlichkeit, dass das zweite Prozessormodul korrekt antworten kann, wenn ein Fehler vorhanden ist.
  • Die vorliegende Offenbarung wird in Hinblick auf Fahrzeugsysteme und insbesondere aktive Sicherheitssysteme erörtert. Jedoch ist die vorliegende Offenbarung auch auf andere Fahrzeugsysteme und andere Systeme anwendbar. Mit Bezug nun auf 1 ist ein Funktionsblockdiagramm eines Fahrzeugsystems 100, das ein aktives Sicherheitssystem enthält, dargestellt. Ein Kraftmaschinensteuerungsmodul (ECM) 104 steuert Kraftmaschinenaktoren auf der Grundlage einer oder mehrerer Fahrereingaben 108. Die Fahrereingaben 108 können eine Gaspedalposition (APP), eine Bremspedalposition (BPP), eine Lenkradposition (auch Lenkwinkel genannt), Eingaben an eine Geschwindigkeitsregelung und andere Fahrereingaben umfassen.
  • Das ECM 104 kann beispielsweise auf der Grundlage einer oder mehrerer der Fahrereingaben 108 eine gewünschte Öffnung eines Drosselklappenventils 112 bestimmen. Ein Drosselklappenaktormodul 116 kann das Drosselklappenventil 112 auf der Grundlage der gewünschten Öffnung betätigen. Obwohl es nicht gezeigt ist, umfassen andere Kraftmaschinenaktoren Kraftstoffeinspritzventile, Zündkerzen, Abgasrückführungsventile (AGR-Ventile), Schubvorrichtungen, Ventilaktoren und/oder Phasensteller usw., sind aber nicht darauf beschränkt.
  • Das ECM 104 kann auch einen oder mehrere andere Aktoren auf der Grundlage einer oder mehrerer der Fahrereingaben 108 steuern, etwa einen Servolenkungsmotor 120 und (Reibungs-)Bremsen 124. Das ECM 104 kann beispielsweise einen gewünschten Lenkwinkel auf der Grundlage der Lenkradposition bestimmen und es kann eine gewünschte Bremskraft auf der Grundlage der BPP bestimmen. Ein Lenkungsaktormodul 128 kann den Servolenkungsmotor 120 auf der Grundlage des gewünschten Lenkwinkels betätigen. Ein Bremsenaktormodul 132 kann die Bremsen 124 auf der Grundlage der gewünschten Bremskraft betätigen.
  • Zusätzlich zu oder als eine Alternative zu den Fahrereingaben 108 kann das ECM 104 einen oder mehrere der Aktoren auf der Grundlage eines oder mehrerer Parameter steuern, die von Sensoren 136 gemessen werden. Die Sensoren 136 können beispielsweise einen Ansauglufttemperatursensor, einen Luftmassendurchsatzsensor (MAF-Sensor), einen Krümmerdrucksensor, Temperatursensoren für Öl und Kühlmittel, Raddrehzahlsensoren und verschiedene andere Sensoren für Temperatur, Position, Druck und Geschwindigkeit/Drehzahl enthalten.
  • Das ECM 104 und andere Module des Fahrzeugs können Daten über einen oder mehrere Controllerbereichsnetzwerkbusse (CAN-Busse), etwa einen CAN-Bus 140, übertragen und empfangen. Das ECM 104 und andere Module des Fahrzeugs können zusätzlich oder alternativ Daten über einen oder mehrere andere Datenbusse, etwa einen FlexRay-Bus 144, übertragen und empfangen. Der FlexRay-Bus 144 ist ein Datenbus, bei dem die Kommunikation gemäß einem FlexRay-Kommunikationsprotokoll durchgeführt wird.
  • Daten von Sensoren 148, die verwendet werden können, um Beziehungen zwischen dem Fahrzeug und Merkmalen außerhalb des Fahrzeugs zu bestimmen, können über den FlexRay-Bus 144 empfangen werden. Daten von anderen Dingen, etwa von einem globalen Positionierungssystem (GPS) 150, können ebenfalls über den FlexRay-Bus 144 oder einen anderen geeigneten Bus empfangen werden. Das GPS 150 bestimmt einen Aufenthaltsort des Fahrzeugs. Die Sensoren 148 können beispielsweise einen oder mehrere Lidar-Sensoren (Sensoren zur Lichtdetektion und Abstandsmessung), einen oder mehrere auf Radar basierende Sensoren, einen oder mehrere auf Laser basierende Sensoren, optische Sensoren, eine oder mehrere Kameras und/oder einen oder mehrere andere Sensoren umfassen, die verwendet werden können, um Beziehungen zwischen dem Fahrzeug und Merkmalen (z. B. Fahrspuren, Objekten usw.) außerhalb des Fahrzeugs (d. h. die sich außerhalb des Fahrzeugs befinden) zu bestimmen.
  • Das Fahrzeug kann ein oder mehrere aktive Sicherheitssysteme enthalten, die selektiv eine Fahrzeuglenkung, ein Bremsen des Fahrzeugs und/oder eine Beschleunigung/Verzögerung des Fahrzeugs auf der Grundlage eines oder mehrerer gemessener Parameter steuern, um die Fahrereingaben 108 zu ergänzen, um den Fahrereingaben 108 entgegenzuwirken, oder die unabhängig von den Fahrereingaben 108 sind. Ein beispielhaftes aktives Sicherheitssystem justiert selektiv die Fahrzeuglenkung mit Hilfe des Servolenkungsmotors 120, beispielsweise, um ein Fahrzeug in einer Fahrspur zu positionieren (z. B. zu zentrieren), um die Spur zu wechseln, um Objekten auszuweichen und/oder aus einem oder mehreren anderen Gründen. Ein anderes beispielhaftes aktives Sicherheitssystem justiert selektiv ein Bremsen des Fahrzeugs mit Hilfe der Bremsen 124 und/oder eine Beschleunigung/Verzögerung des Fahrzeugs mit Hilfe des Drosselklappenventils 112, beispielsweise zur Vermeidung von Zusammenstößen, zur adaptiven Geschwindigkeitsregelung, zur Vorbereitung auf einen Zusammenstoß und/oder aus einem oder mehreren anderen Gründen.
  • Ein aktives Sicherheitssystem ist ein System, welches das Drosselklappenventil 112, den Servolenkungsmotor 120 und/oder die Bremsen 124 selektiv betätigt, um die Fahrereingaben 108 zu ergänzen, um den Fahrereingaben 108 entgegenzuwirken oder das unabhängig von den Fahrereingaben 108 ist. Aktive Sicherheitssysteme können als semiautonome Systeme bezeichnet werden. Die vorliegende Offenbarung ist auch auf autonome Fahrzeugsysteme anwendbar.
  • Das beispielhafte aktive Sicherheitssystem enthält ein primäres externes Objektberechnungsmodul (EOCM) 152. Das primäre EOCM 152 (siehe auch 2) betätigt selektiv das Drosselklappenventil 112, den Servolenkungsmotor 120 und/oder die Bremsen 124, um die Fahrereingaben 108 zu ergänzen, um den Fahrereingaben 108 entgegenzuwirken oder unabhängig von den Fahrereingaben 108.
  • Das beispielhafte aktive Sicherheitssystem enthält auch ein redundantes EOCM 156. Das redundante EOCM 156 funktioniert ähnlich oder identisch wie das primäre EOCM 152. Im Fall, dass im primären EOCM 152 ein Fehler detektiert wird, wird die Steuerung vom primären EOCM 152 auf das redundante EOCM 156 überfragen und das redundante EOCM 156 betätigt selektiv das Drosselklappenventil 112, den Servolenkungsmotor 120 und/oder die Bremsen 124. Da das primäre und das redundante EOCM 152 und 156 funktional ähnlich oder identisch sind, wird nur das primäre EOCM 152 erörtert.
  • Mit Bezug nun auf 2 ist ein Funktionsblockdiagramm des primären EOCM 152 dargestellt. Das primäre EOCM 152 enthält ein erstes Prozessormodul 204, ein zweites Prozessormodul 208, ein drittes Prozessormodul 212, ein CAN-Bus-Deaktivierungsmodul 216 und ein FlexRay-Bus-Deaktivierungsmodul 220. 3 enthält Funktionsblockdiagramme des ersten Prozessormoduls 204, des zweiten Prozessormoduls 208 und des dritten Prozessormoduls 212.
  • Mit Bezug nun auf 2 und 3 enthält das erste Prozessormodul 204 einen Prozessor 304, einen Speicher 308, gemeinsame Ressourcen 312, eine erste serielle Paketschnittstelle (SPI) 316 und eine zweite SPI 320. Das erste Prozessormodul 204 enthält außerdem einen Can-Sender/Empfänger 324, einen FlexRay-Sender/Empfänger 328 und einen Ethernet-Sender/Empfänger 332. Der Speicher 308 kann beispielsweise einen externen Speicher mit wahlfreiem Zugriff (RAM), einen externen elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM) und/oder andere geeignete Arten von Speicher enthalten. Ein Code, der von dem ersten Prozessormodul 204 ausgeführt wird, um die hier beschriebenen und andere Funktionen auszuführen, ist in dem Speicher 308 gespeichert.
  • Das erste Prozessormodul 204 kann ein Kraftfahrzeug-Prozessormodul sein, etwa ein Kimodo, der von Freescale gefertigt wird. Das erste Prozessormodul 204 kann jede der folgenden Minimaleigenschaften erfüllen:
    Dual-core-Mikroprozessor mit 180 Megahertz (MHz);
    900 DMIPS (Dhrystone-Millionen Anweisungen pro Sekunde);
    1 Megabyte (MB) Flash-Speicher; und
    0,5 MB RAM
  • Das erste Prozessormodul 204 empfängt Daten von den Sensoren 136 über den CAN-Sender/Empfänger 324. Das erste Prozessormodul 204 überträgt Daten an die CAN-Busse und empfängt Daten von den CAN-Bussen über den CAN-Sender/Empfänger 324. Das erste Prozessormodul 204 überträgt Daten an den FlexRay-Bus 144 und empfängt Daten vom FlexRay-Bus 144 über den FlexRay-Sender/Empfänger 328. Das erste Prozessormodul 204 kann Daten von einem oder mehreren der Sensoren 148 über den FlexRay-Sender/Empfänger 328 empfangen.
  • Das erste Prozessormodul 204 kann Daten von einem oder mehreren der Sensoren 148 über den Ethernet-Sender/Empfänger 332 empfangen. Das erste Prozessormodul 204 kann den Aufenthaltsort des Fahrzeugs über den CAN-Sender/Empfänger 324, den FlexRay-Sender/Empfänger 328, den Ethernet-Sender/Empfänger 332 oder auf eine andere geeignete Weise empfangen. Das erste Prozessormodul 204 überträgt Daten an das zweite Prozessormodul 208 und empfängt Daten vom zweiten Prozessormodul 208 über den Ethernet-Sender/Empfänger 332. Zum Beispiel kann das erste Prozessormodul 204 Daten, die es von Sensoren (z. B. den Sensoren 136 und/oder den Sensoren 148) und/oder dem GPS 150 empfangen hat, über den Ethernet-Sender/Empfänger 332 an das zweite Prozessormodul 208 übertragen.
  • Das erste Prozessormodul 204 überträgt auch über die zweite SPI 320 Daten an das zweite Prozessormodul 208 und empfängt Daten vom zweiten Prozessmodul 208. Zum Beispiel kann das erste Prozessormodul 204 Daten, die es von den Sensoren (z. B. den Sensoren 136 und/oder den Sensoren 148), und/oder dem GPS 150 empfangen hat, über die zweite SPI 320 an das zweite Prozessormodul 208 übertragen. Das erste Prozessormodul 204 überträgt Daten über die erste SPI 316 an das dritte Prozessormodul 212 und empfängt Daten vom dritten Prozessormodul 212.
  • Das zweite Prozessormodul 208 enthält einen Prozessor 340, einen Speicher 344, gemeinsame Ressourcen 348, eine SPI 352 und einen Ethernet-Sender/Empfänger 356. Der Speicher 344 kann beispielsweise RAM, Flash und/oder andere geeignete Arten von Speicher enthalten. Ein Code, der von dem zweiten Prozessormodul 208 ausgeführt wird, um die hier beschriebenen und andere Funktionen durchzuführen, ist im Speicher 344 gespeichert. Das zweite Prozessormodul 208 kann einen graphischen Mikroprozessor enthalten, etwa einen Cortex-A9, der von ARM hergestellt wird, oder einen Integra 4, der von Nvidia hergestellt wird. Das zweite Prozessormodul 208 kann jede der folgenden Minimaleigenschaften erfüllen:
    Quad-Core-Mikroprozessor mit 1 Gigahertz (GHz);
    9600 DMIPS;
    10 MB Flashspeicher und ROM;
    0,5 Gigabyte (GB) RAM;
    einen Temperaturmonitor;
    einen Watchdog; und
    eine Uhr und einen Reset.
  • Das zweite Prozessormodul 208 kann in das aktive Sicherheitssystem leicht eingebettet sein. ”Leicht eingebettet” kann bedeuten, dass das zweite Prozessormodul 208 nicht in Systemen mit harten zeitlichen Anforderungen verwendet wird und eine Antwortzeit von einer Sekunde oder mehr akzeptabel ist. Im Gegensatz dazu kann das erste Prozessormodul 204 eingebettet sein, was bedeuten kann, dass Antwortzeiten von größer als einer Sekunde nicht akzeptabel sind und auch Antwortzeiten, die kleiner als eine Sekunde sind, nicht akzeptabel sein können.
  • Das zweite Prozessormodul 208 kann Daten von einem oder mehreren der Sensoren 148 über den Ethernet-Sender/Empfänger 356 empfangen. Das zweite Prozessormodul 208 überträgt Daten an das erste Prozessormodul 204 und empfängt Daten vom ersten Prozessormodul 204 über den Ethernet-Sender/Empfänger 356. Auch über die SPI 352 überträgt das zweite Prozessormodul 208 Daten an das erste Prozessormodul 204 und empfängt Daten vom ersten Prozessormodul 204. Das zweite Prozessormodul überträgt Daten über die SPI 352 an das dritte Prozessormodul 212 und empfängt Daten vom dritten Prozessormodul 212.
  • Das dritte Prozessormodul 212 enthält einen Prozessor 370, einen Speicher 374, gemeinsame Ressourcen 378, eine SPI 382, einen CAN-Bus-Sender/Empfänger 386 und einen FlexRay-Sender/Empfänger 390. Ein Code, der von dem dritten Prozessormodul 212 ausgeführt wird, um die hier beschriebenen und andere Funktionen durchzuführen, ist in dem Speicher 374 gespeichert. Über die SPI 382 überträgt das dritte Prozessormodul 212 Daten an das erste Prozessormodul 204 und empfängt Daten vom ersten Prozessormodul 204. Das dritte Prozessormodul 212 überträgt Daten auch über die SPI 382 an das zweite Prozessormodul 208 und empfängt Daten vom zweiten Prozessormodul 208.
  • Das zweite Prozessormodul 208 verarbeitet Daten von den Sensoren, etwa den Sensoren 136 und 148. Auf der Grundlage von Daten, die es von den Sensoren 148 und dem GPS 150 empfangen hat, kann das zweite Prozessormodul 208 beispielsweise die verarbeitungsintensiven Funktionen durchführen, etwa das Identifizieren von Spurlinien, das Bestimmen einer Beziehung zwischen dem Fahrzeug und den Spurlinien (z. B. die Position des Fahrzeugs zwischen den Spurlinien), das Identifizieren von Objekten, die sich außerhalb des Fahrzeugs befinden, das Bestimmen von Beziehungen zwischen dem Fahrzeug und identifizierten Objekten, das Bestimmen von Formen und Größen der Objekte, das Bestimmen eines Zielwegs des Fahrzeugs, das Bestimmen eines tatsächlichen Wegs des Fahrzeugs, das Bestimmen von Hindernissen in einem Weg des Fahrzeugs usw.
  • Das erste Prozessormodul 204 bestimmt, ob das Drosselklappenventil 112, der Servolenkungsmotor 120 und/oder die Bremsen 124 betätigt werden sollen, auf der Grundlage von Daten, die aus der Verarbeitung resultieren, die von dem zweiten Prozessormodul 208 durchgeführt wird. Wenn entschieden wird, dass das Drosselklappenventil 112, der Servolenkungsmotor 120 und/oder die Bremsen 124 betätigt werden sollen, bestimmt das erste Prozessormodul 204 das Ausmaß der Betätigung, die Rate bzw. Geschwindigkeit, mit der die Betätigung durchgeführt werden soll, die Länge (Zeitdauer) der Betätigung usw. Das erste Prozessormodul 204 gibt entsprechend Befehle an das bzw. die Aktormodule aus. Das erste Prozessormodul 204 kann Befehle an das bzw. die Aktormodule ausgeben, um gewünschte Werte, die auf der Grundlage der Fahrereingaben 108 bestimmt wurden, zu ergänzen, um gewünschten Werten, die auf der Grundlage der Fahrereingaben 108 bestimmt wurden, entgegenzuwirken, oder unabhängig von den Fahrereingaben 108. Auf diese Weise kann das erste Prozessormodul 204 mindestens ein semiautonomes Fahren bereitstellen.
  • Das dritte Prozessormodul 212 führt verschiedene Funktionen durch, um das Sicherheitsintegritätsniveau des zweiten Prozessormoduls 208 und des primären EOCM 152 kompatibel zu einer oder mehreren der ASIL-Klassifizierungen zu machen, etwa dem ASIL-B-Standard, dem ASIL-C-Standard oder dem ASIL-D-Standard. Auf der Grundlage des Sicherheitsintegritätsniveaus des zweiten Prozessormoduls 208 (z. B. ASIL-B) und des Sicherheitsintegritätsniveaus des ersten Prozessormoduls 204 kann das primäre EOCM 152 ein Sicherheitsintegritätsniveau von ASIL-D erreichen.
  • Beispielsweise verifiziert das dritte Prozessormodul 212, dass das zweite Prozessormodul 208 Funktionen in einer vordefinierten Reihenfolge aufruft, und es verifiziert, dass das zweite Prozessormodul 208 jede Funktion innerhalb einer vorbestimmten Zeitspanne abschließt. Das dritte Prozessormodul 212 stellt außerdem sicher, dass die Daten von den Sensoren, die gerade von dem zweiten Prozessormodul 208 verarbeitet werden, die gleichen Daten sind, die gerade von einem oder mehreren anderen Modulen verwendet werden oder verwendet werden können. Dies kann als Rahmenzählen bezeichnet werden.
  • Das dritte Prozessormodul 212 verifiziert außerdem, dass das zweite Prozessormodul 208 funktionsfähig ist. Das Verifizieren, dass das zweite Prozessormodul 208 funktionsfähig ist, umfasst, dass ein zufallsgesteuerter Aufforderungs-Antwort-Test durchgeführt wird, wie nachstehend weiter beschrieben wird (siehe 4).
  • Der zufallsgesteuerte Aufforderungs-Antwort-Test umfasst allgemein, dass das dritte Prozessormodul 212N verschiedene Arten von Aufforderungs-Antwort-Tests in einer zufälligen Reihenfolge ausführt, wobei N eine ganze Zahl größer als Eins ist. Beispielsweise kann N 3, 4, 5, 6 oder eine andere geeignete ganze Zahl sein, die größer als Eins ist.
  • Jeder Aufforderungs-Antwort-Test umfasst, dass das dritte Prozessormodul 212 eine Aufforderung (z. B. einen ”Samen” oder ein Token) an das zweite Prozessormodul 208 sendet und verifiziert, dass eine Antwort des zweiten Prozessormoduls 208, die aus der Aufforderung bestimmt wird, gleich einer erwarteten Antwort ist, und dass die Antwort innerhalb einer vorbestimmten Zeitspanne geliefert wird. Bei mindestens einem der Aufforderungs-Antwort-Tests wird eine dynamische Variable für den Aufforderungsabschnitt des Tests verwendet, etwa die Fahrzeuggeschwindigkeit oder eine andere geeignete dynamische Variable. Eine dynamische Variable kann eine Variable/ein Parameter sein, die bzw. der sich mit der Zeit verändert, oder eine Variable/ein Parameter, die bzw. der sich mit der Zeit verändern kann. Dynamische Variablen können beispielsweise unter Verwendung von Sensoren gemessen werden, auf der Grundlage einer oder mehrerer anderer dynamischer Variablen bestimmt werden usw.
  • Das Verifizieren, dass das zweite Prozessormodul 208 funktionsfähig ist, kann auch umfassen, dass das zweite Prozessormodul 208 aufgefordert wird, zu berichten, dass es funktionsfähig ist. Das dritte Prozessormodul 212 kann auch verifizieren, dass das erste Prozessormodul 204 funktionsfähig ist, das erste Prozessormodul 204 kann auch verifizieren, dass das dritte Prozessormodul 212 funktionsfähig ist, und/oder das zweite Prozessormodul 208 kann verifizieren, dass das dritte Prozessormodul 212 funktionsfähig ist.
  • Das dritte Prozessormodul 212 kann auch verifizieren, dass das zweite Prozessormodul 208 in Ansprechen auf eine Aufforderung vom dritten Prozessormodul 212 weniger als eine vorbestimmte Zeitspanne lang aussetzt. Das dritte Prozessormodul 212 kann auch verifizieren, dass die Prozessorkerne des zweiten Prozessormoduls 208 synchronisiert sind.
  • Das dritte Prozessormodul 212 kann auch verifizieren, dass zwei der Kerne des zweiten Prozessormoduls 208 redundante/identische Funktionen (Codeabschnitte) ausführen, die in separaten Blöcken des Speichers 344 gespeichert sind. Diese Verifizierung kann beispielsweise durchgeführt werden, indem Ergebnisse, die von zweien der Kerne ermittelt werden, bei einem dritten Kern verglichen werden und verifiziert wird, dass der dritte Kern berichtet, dass der Vergleich der Ergebnisse anzeigt, dass die Ergebnisse gleich sind.
  • Das dritte Prozessormodul 212 kann auch verifizieren, dass das zweite Prozessormodul 208 Anforderungen an eine serielle Datenübertragung zur Integrität serieller Daten erfüllt, wie sie unter der ASIL-B-Klassifizierung definiert ist. Das dritte Prozessormodul 212 kann verifizieren, dass Prüfsummenwerte, die auf der Grundlage von Daten berechnet werden, die in Speicherblöcken eines nichtflüchtigen Speichers (NVM) des zweiten Prozessormoduls 208 gespeichert sind, gleich erwarteten Prüfsummenwerten sind. Das dritte Prozessormodul 212 kann auch eine oder mehrere Verifizierungen durchführen, die unter der ASIL-B-Klassifizierung definiert sind. Das dritte Prozessormodul 212 kann feststellen, dass ein Fehler in dem primären EOCM 152 vorhanden ist, wenn eine oder mehrere der vorstehenden nicht verifiziert werden.
  • Wenn das dritte Prozessormodul 212 einen Fehler in dem primären EOCM 152 identifiziert (z. B. in dem ersten Prozessormodul 204 oder in dem zweiten Prozessormodul 208), setzt das dritte Prozessormodul 212 erste und zweite Deaktivierungssignale 400 und 404 in einen aktiven Zustand. Wenn von dem dritten Prozessormodul 212 kein Fehler in dem primären EOCM 152 identifiziert wurde, kann das dritte Prozessormodul 212 das erste und zweite Deaktivierungssignal 400 und 404 in einen inaktiven Zustand setzen.
  • Wenn das erste Prozessormodul 204 einen Fehler in dem primären EOCM 152 identifiziert (z. B. in dem zweiten Prozessormodul 208 oder in dem dritten Prozessormodul 212), setzt das erste Prozessormodul dritte und vierte Deaktivierungssignale 408 und 412 in einen aktiven Zustand. Wenn von dem ersten Prozessormodul 204 kein Fehler in dem primären EOCM 152 identifiziert wurde, kann das erste Prozessormodul 204 das dritte und vierte Deaktivierungssignal 408 und 412 in einen inaktiven Zustand setzen.
  • Das CAN-Bus-Deaktivierungsmodul 216 deaktiviert selektiv eine Kommunikation von dem primären EOCM 152 zu dem CAN-Bus 140, wenn sich das erste Deaktivierungssignal 400 und/oder das dritte Deaktivierungssignal 408 im aktiven Zustand befindet bzw. befinden. Das CAN-Bus-Deaktivierungsmodul 216 kann beispielsweise den bzw. die CAN-Sender/Empfänger 324 deaktivieren, wenn sich das erste Deaktivierungssignal 400 und/oder das dritte Deaktivierungssignal 408 im aktiven Zustand befindet bzw. befinden. Das CAN-Bus-Deaktivierungsmodul 216 kann den bzw. die CAN-Sender/Empfänger 324 aktivieren, wenn sich sowohl das erste Deaktivierungssignal 400 als auch das dritte Deaktivierungssignal 408 im inaktiven Zustand befinden. Das CAN-Bus-Deaktivierungsmodul 216 kann den bzw. die CAN-Sender/Empfänger 324 über ein Aktivierungs-/Deaktivierungs-Signal 416 aktivieren und deaktivieren.
  • Das FlexRay-Bus-Deaktivierungsmodul 220 deaktiviert eine Kommunikation von dem primären EOCM 152 an den FlexRay-Bus 144, wenn sich das zweite Deaktivierungssignal 404 und/oder das vierte Deaktivierungssignal 412 in dem aktiven Zustand befindet bzw. befinden. Das FlexRay-Bus-Deaktivierungsmodul 220 kann beispielsweise den FlexRay-Sender/Empfänger 328 deaktivieren, wenn sich das zweite Deaktivierungssignal 404 und/oder das vierte Deaktivierungssignal 412 in dem aktiven Zustand befindet bzw. befinden. Das FlexRay-Bus-Deaktivierungsmodul 220 kann den FlexRay-Sender/Empfänger 328 aktivieren, wenn sowohl das zweite Deaktivierungssignal 404 als auch das vierte Deaktivierungssignal 412 im inaktiven Zustand sind. Das FlexRay-Bus-Deaktivierungsmodul 220 kann den FlexRay-Sender/Empfänger 328 über ein Aktivierungs-/Deaktivierungs-Signal 420 aktivieren und deaktivieren.
  • Auf diese Weise wird verhindert, dass das primäre EOCM 152 den Servolenkungsmotor 120, das Drosselklappenventil 112 und/oder die Bremsen 124 betätigt. Wenn in dem primären EOCM 152 ein Fehler vorhanden ist, kann das redundante EOCM 156 die Steuerung des aktiven Sicherheitssystems übernehmen und den Servolenkungsmotor 120, das Drosselklappenventil 112 und/oder die Bremsen 124 selektiv betätigen, um die Fahrereingaben 108 zu ergänzen, um den Fahrereingaben 108 entgegenzuwirken oder unabhängig von den Fahrereingaben 108.
  • Mit Bezug nun auf 4 ist ein Flussdiagramm gezeigt, das ein beispielhaftes Verfahren zum Durchführen eines zufallsgesteuerten Aufforderungs-Antwort-Tests zum Diagnostizieren von Fehlern in dem primären EOCM 152 darstellt. Obwohl 4 mit Hilfe des dritten Prozessormoduls 212 erörtert wird, welches das zweite Prozessormodul 208 diagnostiziert, ist das Nachstehende allgemein auf ein Prozessormodul anwendbar, das ein anderes Prozessormodul diagnostiziert. Zum Beispiel ist 4 auch auf das dritte Prozessormodul 212, das das erste Prozessormodul 204 diagnostiziert, auf das zweite Prozessormodul 208, das das dritte Prozessormodul 212 diagnostiziert, und auf das zweite Prozessormodul 208, das das erste Prozessormodul 204 diagnostiziert, anwendbar. 4 ist auch auf das erste Prozessormodul 204, das das zweite Prozessormodul 208 diagnostiziert, und auf das erste Prozessormodul 204, das das dritte Prozessormodul 212 diagnostiziert, anwendbar.
  • Das Verfahren von 4 wird während einer Aufgabenvorstufe einer Steuerungsschleife des zweiten Prozessormoduls 208 durchgeführt. Das zweite Prozessormodul 208 führt Steuerungsschleifen mit einer vorbestimmten Rate aus, etwa eine Steuerungsschleife pro Millisekunde (ms), eine Steuerungsschleife alle 10 ms oder mit einer anderen Rate. Das zweite Prozessormodul 208 kann eine oder mehrere Aufgaben (Codeabschnitte) pro Steuerungsschleife ausführen, nachdem die Aufgabenvorstufe dieser Steuerungsschleife abgeschlossen ist.
  • Die Steuerung beginnt mit 504, wobei das dritte Prozessormodul 212 zurückgesetzt wird und einen Zeitgeber startet. Obwohl ein Zeitgeber erörtert wird, kann stattdessen ein Zähler verwendet werden. Das dritte Prozessormodul 212 wählt einen Typ von Aufforderungs-Antwort-Test aus einem vorbestimmten Satz von M verschiedenen Typen von Aufforderungs-Antwort-Tests bei 508, wobei M eine ganze Zahl ist, die größer oder gleich N ist. Zum Beispiel kann M 3, 4, 5, 6 oder eine andere geeignete ganze Zahl sein, die größer als Eins und größer oder gleich N ist.
  • Typen von Aufforderungs-Antwort-Tests umfassen beispielsweise Tests einer arithmetischen Logikeinheit (ALU), Funktionstests eines Speichers mit wahlfreiem Zugriff (RAM), Registertests, Strom/Spannungs-Tests, Taktgebertests und Tests der zyklischen Redundanzprüfung (CRC). Der Typ des Aufforderungs-Antwort-Tests gibt vor, wie das zweite Prozessormodul 208 eine Antwort auf der Grundlage einer Variablen (der Aufforderung) berechnen soll, die von dem dritten Prozessormodul 212 übertragen wurde, um die Berechnung durchzuführen.
  • Das dritte Prozessormodul 212 wählt den Typ des Aufforderungs-Antwort-Tests aus dem Satz in einer zufälligen Reihenfolge. Die zufällige Reihenfolge kann umfassen, dass jeder der verschiedenen Typen von Tests Q-Mal gewählt wird, bevor ein beliebiger der Typen von Tests ein R-tes Mal gewählt wird, wobei Q eine ganze Zahl größer als Null ist und R gleich Q + 1 ist. Alternativ kann die zufällige Reihenfolge umfassen, dass die Tests zufällig aus dem vorbestimmten Satz von verschiedenen Typen von Aufforderungs-Antwort-Tests unabhängig von der Anzahl der Male gewählt werden, die jeder der Tests zuvor gewählt wurde. Die zufällige Wahl des Typs des Aufforderungs-Antwort-Tests, der durchgeführt werden soll, erhöht die Zuverlässigkeit jedes Aufforderungs-Antwort-Tests und die Zuverlässigkeit der zufallsgesteuerten Aufforderungs-Antwort-Tests, indem die Wahrscheinlichkeit, dass das zweite Prozessormodul 208 korrekt antworten kann, wenn ein Fehler vorhanden ist, verringert wird.
  • Bei 512 wählt/setzt das dritte Prozessormodul 212 eine Variable zur Verwendung im Aufforderungs-Antwort-Test. Für jeden Aufforderungs-Antwort-Test kann eine dynamische Variable verwendet werden. Alternativ kann die Variable aus einem vorbestimmten Satz von dynamischen und/oder statischen Variablen gewählt werden. Die Verwendung einer oder mehrerer dynamischer Variablen erhöht auch die Zuverlässigkeit eines Aufforderungs-Antwort-Tests und die Zuverlässigkeit des zufallsgesteuerten Aufforderungs-Antwort-Tests, indem die Wahrscheinlichkeit verringert wird, dass das zweite Prozessormodul 208 korrekt antworten kann, wenn ein Fehler vorhanden ist.
  • Bei 516 überträgt das dritte Prozessormodul 212 den Typ des Aufforderungs-Antwort-Tests, der ausgeführt werden soll, und die Variable an das zweite Prozessormodul 208. Wenn das zweite Prozessormodul 208 korrekt funktioniert (d. h. ohne den Fehler), wird es eine Antwort auf der Grundlage der Variable auf die Weise, die durch den Typ des Aufforderungs-Antwort-Tests beschrieben ist, innerhalb einer vorbestimmten Zeitspanne bestimmen/berechnen, und die Antwort wird gleich einer erwarteten Antwort sein (für die Variable und den Typ des Aufforderungs-Antwort-Tests). Die vorbestimmte Zeitspanne kann mit dem Typ des Aufforderungs-Antwort-Tests und/oder der Variablen variieren.
  • Das dritte Prozessormodul 212 stellt bei 520 fest, ob eine Antwort vom zweiten Prozessormodul 208 empfangen wurde. Wenn dies nicht zutrifft, fährt die Steuerung mit 524 fort. Wenn dies zutrifft, geht die Steuerung zu 532 weiter, was nachstehend weiter erörtert wird. Bei 524 stellt das dritte Prozessormodul 212 fest, ob die von dem Zeitgeber mitgeführte Zeitspanne größer als die vorbestimmte Zeitspanne ist. Wenn dies zutrifft, kann das dritte Prozessormodul 212 bei 528 anzeigen, dass ein Fehler im zweiten Prozessormodul 208 vorhanden ist, und die Steuerungsschleife kann enden. Wenn dies nicht zutrifft, kann die Steuerung 520 zurückkehren. Auf diese Weise weist das zweite Prozessormodul 208 eine konfigurierbare Grenz/Zeitüberschreitungs-Zeitspanne zum Antworten auf die Aufforderung auf, die von dem dritten Prozessormodul 212 übertragen wurde. Wenn das zweite Prozessormodul 208 innerhalb der Grenz/Zeitüberschreitungs-Zeitspanne nicht auf die Aufforderung antwortet, kann dies einen Fehler im primären EOCM 152 anzeigen.
  • Bei 532 (wenn das dritte Prozessormodul 212 eine Antwort auf die Aufforderung vom zweiten Prozessormodul 208 empfängt) stellt das dritte Prozessormodul 212 fest, ob die empfangene Antwort gleich einer erwarteten Antwort auf die Aufforderung ist. Wenn dies zutrifft, kann das dritte Prozessormodul 212 bei 536 anzeigen, dass im primären EOCM 152 kein Fehler vorhanden ist. Wenn dies nicht zutrifft, kann das dritte Prozessormodul 212 bei 528 anzeigen, dass im primären EOCM 152 ein Fehler vorhanden ist und die Steuerungsschleife kann enden. Das dritte Prozessormodul 212 kann die erwartete Antwort auf der Grundlage des gewählten Typs der Aufforderungs-Antwort-Tests und der verwendeten Variable (der Aufforderung) bestimmen/berechnen.
  • Bei verschiedenen Implementierungen kann das dritte Prozessormodul 212 in Ansprechen auf mindestens eine erste vorbestimmte Anzahl von Fehlern (X) während einer zweiten vorbestimmten Anzahl von Steuerungsschleifen (Y) anzeigen, dass ein Fehler in dem primären EOCM 152 vorhanden ist. Fehler umfassen, dass das zweite Prozessormodul 208 eine Antwort erzeugt, die sich von der erwarteten Antwort unterscheidet, und dass das zweite Prozessormodul nicht innerhalb der vorbestimmten Zeitspanne antwortet.
  • Das dritte Prozessormodul 212 kann eine oder mehrere Gegenmaßnahmen ergreifen, wenn ein Fehler im zweiten Prozessormodul 208 diagnostiziert wird. Beispielsweise kann das dritte Prozessormodul 212 eine Kommunikation von dem primären EOCM 152 an den bzw. die Busse des Fahrzeugs deaktivieren (über die Deaktivierungssignale 400 und 404), wenn ein Fehler in dem primären EOCM 152 diagnostiziert wird, und die Steuerung der Aktoren von dem primären EOCM 152 auf das redundante EOCM 156 umschalten. Das dritte Prozessormodul 212 kann zusätzlich eine oder mehrere andere Gegenmaßnahmen ergreifen, etwa das Zurücksetzen des zweiten Prozessormoduls 208, das Setzen eines Diagnoseproblemcodes (DTC) im Speicher und/oder das Beleuchten einer Fehlfunktionsanzeigeleuchte (MIL), wenn ein Fehler diagnostiziert wird.
  • Obwohl 4 nur eine Steuerungsschleife des dritten Prozessormoduls 212 darstellt, führt das dritte Prozessormodul 212 Steuerungsschleifen mit einer zweiten vorbestimmten Rate aus. Die zweite vorbestimmte Rate kann gleich der vorbestimmten Rate, mit welcher das zweite Prozessormodul 208 Steuerungsschleifen ausführt, oder davon verschieden (z. B. langsamer) sein. Da der Typ des Aufforderungs-Antwort-Tests, der während einer gegebenen Steuerungsschleife durchgeführt werden soll, aus dem vorbestimmten Satz von Aufforderungs-Antwort-Tests zufällig gewählt wird, werden vier oder mehr verschiedene Typen von Aufforderungs-Antwort-Tests für die Durchführung des zufallsgesteuerten Aufforderungs-Antwort-Tests verwendet.
  • Die vorstehende Beschreibung ist nur veranschaulichend und ist keinesfalls dazu gedacht, die Offenbarung, ihre Anwendung oder Verwendungsmöglichkeiten einzuschränken. Die weit gefassten Lehren der Offenbarung können in einer Vielfalt von Formen implementiert werden. Obwohl diese Offenbarung spezielle Beispiele enthält, soll daher der tatsächliche Umfang der Offenbarung nicht auf diese begrenzt sein, da sich bei einem Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche andere Modifikationen offenbaren werden. Der Klarheit halber werden in den Zeichnungen gleiche Bezugszeichen verwendet, um ähnliche Elemente zu bezeichnen. Bei der Verwendung hierin soll der Ausdruck A, B und/oder C so aufgefasst werden, dass er ein logisches (A oder B oder C) unter Verwendung eines nicht exklusiven logischen Oder bedeutet. Es versteht sich, dass ein oder mehrere Schritte in einem Verfahren in einer anderen Reihenfolge (oder gleichzeitig) ausgeführt werden können, ohne die Prinzipien der vorliegenden Offenbarung zu verändern.
  • Der Begriff ”Modul” kann, so wie er hier verwendet wird, eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, eine kombinatorische Logikschaltung, ein im Feld programmierbares Gatearray (FPGA), einen Prozessor (gemeinsam genutzt, dediziert oder Gruppe), der einen Code ausführt, andere geeignete Hardwarekomponenten, welche die beschriebene Funktionalität bereitstellen, oder eine Kombination aus einigen oder allen vorstehenden, etwa bei einem System-on-Chip, bezeichnen, ein Teil davon sein oder diese enthalten. Der Begriff Modul kann einen Speicher (gemeinsam genutzt, dediziert, oder Gruppe) enthalten, der einen Code speichert, der von dem Prozessor ausgeführt wird.
  • Der Begriff ”Code” kann, so wie er vorstehend verwendet wird, Software, Firmware und/oder Mikrocode enthalten und kann Programme, Routinen, Funktionen, Klassen und/oder Objekte bezeichnen. Der Begriff ”gemeinsam genutzt” bedeutet, so wie er vorstehend verwendet wird, dass ein Teil oder der gesamte Code von mehreren Modulen unter Verwendung eines einzigen (gemeinsamen genutzten) Prozessors ausgeführt werden kann. Zudem kann ein Teil oder der gesamte Code von mehreren Modulen von einem einzigen (gemeinsam genutzten) Speicher gespeichert werden. Der Begriff ”Gruppe” bedeutet, so wie er vorstehend verwendet wird, das sein Teil oder der gesamte Code von einem einzigen Modul unter Verwendung einer Gruppe von Prozessoren ausgeführt werden kann. Zudem kann ein Teil oder der gesamte Code von einem einzigen Modul unter Verwendung einer Gruppe von Speichern gespeichert werden.
  • Die hier beschriebenen Vorrichtungen und Verfahren können von einem oder mehreren Computerprogrammen implementiert werden, die von einem oder mehreren Prozessoren ausgeführt werden. Die Computerprogramme enthalten von einem Prozessor ausführbare Anweisungen, die in einem nicht vorübergehenden konkreten computerlesbaren Medium gespeichert sind. Die Computerprogramme können auch gespeicherte Daten enthalten. Beispiele ohne Einschränkung des nicht vorübergehenden konkreten computerlesbaren Mediums sind nichtflüchtiger Speicher, magnetischer Massenspeicher und optischer Massenspeicher.
  • 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 Nicht-Patentliteratur
    • Standard 26262 [0005]
    • ISO 26262-Standard [0005]
    • 26262-Standard [0016]
    • ISO 26262-Standards [0016]
    • ISO 26262-Standards [0017]

Claims (10)

  1. Diagnoseverfahren für ein Fahrzeug, das umfasst, dass: ein erstes Prozessormodul mit einem ersten Mikroprozessor und einem Speicher bereitgestellt wird; und bei einem zweiten Prozessormodul, das einen zweiten Mikroprozessor und einen Speicher enthält: eine erste Aufforderung für einen ersten Aufforderungs-Antwort-Test selektiv an das erste Prozessormodul übertragen wird; eine zweite Aufforderung für einen zweiten Aufforderungs-Antwort-Test selektiv an das erste Prozessormodul übertragen wird; eine dritte Aufforderung für einen dritten Aufforderungs-Antwort-Test selektiv an das erste Prozessormodul übertragen wird; eine vierte Aufforderung für einen vierten Aufforderungs-Antwort-Test selektiv an das erste Prozessormodul übertragen wird; und auf der Grundlage von Antworten des ersten Prozessormoduls auf die erste, zweite, dritte und vierte Aufforderung selektiv ein Fehler diagnostiziert wird; wobei die ersten, zweiten, dritten und vierten Aufforderungs-Antwort-Tests jeweils verschiedene Typen von Aufforderungs-Antwort-Tests sind.
  2. Diagnoseverfahren nach Anspruch 1, das ferner umfasst, dass der Fehler bei dem zweiten Prozessormodul in Ansprechen auf mindestens eines diagnostiziert wird von: eine erste Feststellung, dass das erste Prozessormodul nicht innerhalb einer ersten vorbestimmten Zeitspanne auf die erste Aufforderung geantwortet hat; eine zweite Feststellung, dass das erste Prozessormodul nicht innerhalb einer zweiten vorbestimmten Zeitspanne auf die zweite Aufforderung geantwortet hat; eine dritte Feststellung, dass das erste Prozessormodul nicht innerhalb einer dritten vorbestimmten Zeitspanne auf die dritte Aufforderung geantwortet hat; und eine vierte Feststellung, dass das erste Prozessormodul nicht innerhalb einer vierten vorbestimmten Zeitspanne auf die vierte Aufforderung geantwortet hat.
  3. Diagnoseverfahren nach Anspruch 1, das ferner umfasst, dass bei dem zweiten Prozessormodul die ersten, zweiten, dritten und vierten Aufforderungs-Antwort-Tests aus einer Gruppe von mindestens vier verschiedenen Typen von Aufforderungs-Antwort-Tests gewählt werden.
  4. Diagnoseverfahren nach Anspruch 3, das ferner umfasst, dass bei dem zweiten Prozessormodul die ersten, zweiten, dritten und vierten Aufforderungs-Antwort-Tests in einer zufälligen Reihenfolge aus der Gruppe gewählt werden.
  5. Diagnoseverfahren nach Anspruch 3, wobei die Gruppe mindestens vier der folgenden enthält: einen Test einer arithmetischen Logikeinheit (ALU); einen Test der zylindrischen Redundanzprüfung (CRC); einen Strom/Spannungs-Test; einen Registertest; einen Uhrentest; und einen Funktionstest eines Speichers mit wahlfreiem Zugriff (RAM).
  6. Diagnoseverfahren nach Anspruch 1, das ferner umfasst, dass bei dem zweiten Prozessormodul mindestens eine der ersten, zweiten, dritten und vierten Aufforderungen auf der Grundlage einer zeitvarianten Variable gesetzt wird.
  7. Diagnoseverfahren nach Anspruch 1, das ferner umfasst, dass bei dem zweiten Prozessormodul der Fehler diagnostiziert wird, wenn mindestens eines zutrifft von: ein erster erwarteter Wert für den ersten Aufforderungs-Antwort-Test unterscheidet sich von einer ersten Antwort des ersten Prozessormoduls auf die erste Aufforderung; ein zweiter erwarteter Wert für den zweiten Aufforderungs-Antwort-Test unterscheidet sich von einer zweiten Antwort des ersten Prozessormoduls auf die zweite Aufforderung; ein dritter erwarteter Wert für den dritten Aufforderungs-Antwort-Test unterscheidet sich von einer dritten Antwort des ersten Prozessormoduls auf die dritte Aufforderung; und ein vierter erwarteter Wert für den vierten Aufforderungs-Antwort-Test unterscheidet sich von einer vierten Antwort des ersten Prozessormoduls auf die vierte Aufforderung.
  8. Diagnoseverfahren nach Anspruch 7, das ferner umfasst, dass bei dem zweiten Prozessormodul: der erste erwartete Wert auf der Grundlage des Typs des ersten Aufforderungs-Antwort-Tests und der ersten Aufforderung bestimmt wird; der zweite erwartete Wert auf der Grundlage des Typs des zweiten Aufforderungs-Antwort-Tests und der zweiten Aufforderung bestimmt wird; der dritte erwartete Wert auf der Grundlage des Typs des dritten Aufforderungs-Antwort-Tests und der dritten Aufforderung bestimmt wird; und der vierte erwartete Wert auf der Grundlage des Typs des vierten Aufforderungs-Antwort-Tests und der vierten Aufforderung bestimmt wird.
  9. Diagnoseverfahren nach Anspruch 1, das ferner umfasst, dass bei dem zweiten Prozessormodul ein vorbestimmter Diagnoseproblemcode (DTC) im Speicher gesetzt wird und eine Fehlfunktionsanzeigeleuchte beleuchtet wird, wenn der Fehler diagnostiziert wird.
  10. Diagnoseverfahren nach Anspruch 1, das ferner umfasst, dass: verarbeitete Daten bei dem ersten Prozessormodul auf der Grundlage von Daten von Sensoren erzeugt werden, die Merkmale außerhalb des Fahrzeugs erfassen, wobei der erste Mikroprozessor einen graphischen Mikroprozessor enthält; und bei einem dritten Mikroprozessormodul auf der Grundlage der verarbeiteten Daten selektiv ein elektrischer Servolenkungsmotor, Reibungsbremsen und/oder ein Drosselklappenventil betätigt wird bzw. werden.
DE102013216443.2A 2012-08-28 2013-08-20 Sicherheitssysteme und -verfahren mit zufälligen und mehreren Aufforderungs-Reaktions-Tests Ceased DE102013216443A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/596,250 2012-08-28
US13/596,250 US8527139B1 (en) 2012-08-28 2012-08-28 Security systems and methods with random and multiple change-response testing

Publications (1)

Publication Number Publication Date
DE102013216443A1 true DE102013216443A1 (de) 2014-03-06

Family

ID=49034741

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013216443.2A Ceased DE102013216443A1 (de) 2012-08-28 2013-08-20 Sicherheitssysteme und -verfahren mit zufälligen und mehreren Aufforderungs-Reaktions-Tests

Country Status (3)

Country Link
US (1) US8527139B1 (de)
CN (1) CN103676926B (de)
DE (1) DE102013216443A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3018412B1 (fr) * 2014-03-07 2016-03-18 Peugeot Citroen Automobiles Sa Procede et systeme pour le telechargement de donnees vers au moins un calculateur
CN108025685B (zh) * 2015-09-30 2020-12-01 日立汽车系统株式会社 车载控制装置
DE102016201980A1 (de) 2015-11-12 2017-05-18 Continental Teves Ag & Co. Ohg System zum Plausibilisieren von Satellitensignalen globaler Navigationssysteme
US10466061B2 (en) 2016-12-30 2019-11-05 Nio Usa, Inc. Autonomous override safety
WO2018132378A2 (en) 2017-01-10 2018-07-19 Cavh Llc Connected automated vehicle highway systems and methods
US10380886B2 (en) 2017-05-17 2019-08-13 Cavh Llc Connected automated vehicle highway systems and methods
US11029660B2 (en) * 2017-05-15 2021-06-08 Rockwell Automation Asia Pacific Business Center, Pte. Ltd. Safety input system for monitoring a sensor in an industrial automation system
US10692365B2 (en) 2017-06-20 2020-06-23 Cavh Llc Intelligent road infrastructure system (IRIS): systems and methods
US20220375336A1 (en) 2017-05-17 2022-11-24 Cavh Llc Autonomous Vehicle (AV) Control System with Roadside Unit (RSU) Network
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
GB2560780A (en) * 2017-08-22 2018-09-26 Daimler Ag A method to monitor program flow for multitasking real-time embedded software with ASIL rating
US10800264B2 (en) 2017-09-15 2020-10-13 Nio Usa, Inc. System and method for providing ASIL D fail operational power systems in automated vehicle applications
US10857889B2 (en) 2017-10-04 2020-12-08 Nio Usa, Inc. Highly-integrated fail operational e-powertrain for autonomous driving application
US10274532B1 (en) 2017-10-30 2019-04-30 Nio Usa, Inc. Resilient high-voltage interlock loop
EP3750145A4 (de) 2018-02-06 2022-02-16 Cavh Llc Intelligentes strasseninfrastruktursystem (iris): systeme und verfahren
CA3096472A1 (en) 2018-05-09 2019-11-14 Cavh Llc Systems and methods for driving intelligence allocation between vehicles and highways
WO2019246246A1 (en) 2018-06-20 2019-12-26 Cavh Llc Connected automated vehicle highway systems and methods related to heavy vehicles
US11735041B2 (en) 2018-07-10 2023-08-22 Cavh Llc Route-specific services for connected automated vehicle highway systems
US11373122B2 (en) 2018-07-10 2022-06-28 Cavh Llc Fixed-route service system for CAVH systems
CN109050261A (zh) * 2018-08-14 2018-12-21 深圳新荷科技有限公司 一种基于新能源汽车报警编码实现程序自动化诊断方法
US10901417B2 (en) * 2018-08-31 2021-01-26 Nissan North America, Inc. Autonomous vehicle operational management with visual saliency perception control
DE102018222556A1 (de) * 2018-12-20 2020-06-25 Robert Bosch Gmbh Notstop-Verfahren und Vorrichtung für ein zumindest teilweise automatisiert fahrendes Fahrzeug
CN111891134B (zh) * 2019-05-06 2022-09-30 北京百度网讯科技有限公司 自动驾驶处理系统和片上系统、监测处理模块的方法
EP3816741B1 (de) * 2019-10-31 2023-11-29 TTTech Auto AG Sicherheitsmonitor für erweiterte fahrerassistenzsysteme
CN111523283B (zh) * 2020-04-16 2023-05-26 北京百度网讯科技有限公司 一种验证处理器的方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364975B2 (en) * 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
US8244426B2 (en) * 2007-10-27 2012-08-14 GM Global Technology Operations LLC Method and apparatus for monitoring processor integrity in a distributed control module system for a powertrain system
US9031237B2 (en) * 2009-02-19 2015-05-12 GM Global Technology Operations LLC Method and apparatus for protecting private data on a vehicle
US9043078B2 (en) * 2010-08-13 2015-05-26 Deere & Company Method and system for performing diagnostics or software maintenance for a vehicle

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
26262-Standard
ISO 26262-Standard
ISO 26262-Standards
Standard 26262

Also Published As

Publication number Publication date
CN103676926B (zh) 2016-12-28
US8527139B1 (en) 2013-09-03
CN103676926A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
DE102013216443A1 (de) Sicherheitssysteme und -verfahren mit zufälligen und mehreren Aufforderungs-Reaktions-Tests
DE102013216444B4 (de) Aktive Sicherheitssysteme von Fahrzeugen mit Graphikmikroprozessoren
EP2891264B1 (de) Verfahren zum durchführen einer sicherheitsfunktion eines fahrzeugs und system zum durchführen des verfahrens
DE102013203358A1 (de) System und verfahren zum verifizieren der integrität eines sicherheitskritischen fahrzeugsteuerungssystems
DE102015217386A1 (de) Verfahren und System zum Betreiben eines Kraftfahrzeugs
DE102015220884B4 (de) Bildverarbeitungsvorrichtung
DE102017100380A1 (de) Diagnostiktest-durchführungssteuersystem und verfahren
DE102017214611A1 (de) Verfahren zum Überprüfen eines Reaktionssignals einer Fahrzeugkomponente sowie Überprüfungsvorrichtung und Kraftfahrzeug
DE102014222860A1 (de) Elektronische Fahrzeugregelungseinheit
DE102015218361A1 (de) Verfahren und Testeinheit zur Verifizierung einer Fahrzeugfunktion
DE102018103803A1 (de) System und verfahren für das erkennen einer fehlerhaften sensorinstallation innerhalb eines fahrzeugs, um die mit der objekterkennung verbundenen gefahren zu verringern
DE102017214661A1 (de) Verfahren zum Erkennen einer Manipulation zumindest eines Steuergeräts eines Kraftfahrzeugs sowie Prozessorvorrichtung für ein Kraftfahrzeug und Kraftfahrzeug
DE102016204713A1 (de) Ansteuervorrichtung
DE112018007796T5 (de) Fahrzeug-steuerungsvorrichtung
DE102020206755A1 (de) Redundanzinformationen für objektschnittstelle für hoch und vollautomatisiertes fahren
DE102018129013A1 (de) Systeme und verfahren zur koordination von fahrzeugdiagnosetestern
DE102020127631A1 (de) Verbesserung der fahrzeugsicherheit
WO2016012387A1 (de) Vorrichtung und verfahren zur fehler- und angriffserkennung für ein kraftfahrzeug
DE102017103724B4 (de) Vorrichtung und Verfahren zum Steuern eines Sensorbauelements eines Sicherheitssystems eines Objekts, Steuerungssystem für ein Automobilfahrzeug und Sensorbauelement für ein Sicherheitssystem eines Automobilfahrzeugs
EP2081791B1 (de) Verfahren zum abtasten eines umfelds eines fahrzeugs
DE102015202326A1 (de) Verfahren zum Betreiben einer Datenverarbeitungseinheit eines Fahrerassistenzsystems und Datenverarbeitungseinheit
DE102020123091A1 (de) Verbesserte fahrzeug-ecu-flash-programmierung
DE102021100155A1 (de) System und verfahren für dynamisches softwaremanagement
EP1733284B1 (de) Ablaufsteuerung von funktionen auf miteinander wechselwirkenden geräten
DE102009012887B4 (de) Verfahren zum Prüfen einer nicht korrekten Installation von Fahrzeugsensoren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final