DE102015100746B4 - System und verfahren zum verifizieren der integrität eines ersten moduls in einem fahrzeug unter verwendung eines zweiten moduls in dem fahrzeug - Google Patents

System und verfahren zum verifizieren der integrität eines ersten moduls in einem fahrzeug unter verwendung eines zweiten moduls in dem fahrzeug Download PDF

Info

Publication number
DE102015100746B4
DE102015100746B4 DE102015100746.0A DE102015100746A DE102015100746B4 DE 102015100746 B4 DE102015100746 B4 DE 102015100746B4 DE 102015100746 A DE102015100746 A DE 102015100746A DE 102015100746 B4 DE102015100746 B4 DE 102015100746B4
Authority
DE
Germany
Prior art keywords
seed
key
module
microprocessor
expected
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.)
Active
Application number
DE102015100746.0A
Other languages
English (en)
Other versions
DE102015100746A1 (de
Inventor
Ming Zhao
Michael J. Abowd
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
Priority claimed from US14/268,180 external-priority patent/US9268953B2/en
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102015100746A1 publication Critical patent/DE102015100746A1/de
Application granted granted Critical
Publication of DE102015100746B4 publication Critical patent/DE102015100746B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0044In digital systems
    • B60W2050/0045In digital systems using databus protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

System, umfassend: ein erstes Modul eines Fahrzeugs, wobei das erste Modul zumindest einen Seed-Wert speichert, einen Schlüssel auf der Grundlage des zumindest einen Seed-Werts berechnet, ermittelt, ob der berechnete Schlüssel mit einem erwarteten Schlüssel, der in dem ersten Modul gespeichert ist, übereinstimmt, ein Seed-Schlüsselpaar auf der Grundlage der Ermittlung und des zumindest einen Seed-Werts bildet, eine Datenbusnachricht erzeugt, die das Seed-Schlüsselpaar und Daten, die dem Betrieb des ersten Moduls entsprechen, umfasst, und die Datenbusnachricht über ein verteiltes Fahrzeugnetz überträgt; und ein zweites Modul des Fahrzeugs, wobei das zweite Modul die Datenbusnachricht über das verteilte Fahrzeugnetz empfängt, das Seed-Schlüsselpaar von der Datenbusnachricht abruft, ermittelt, ob das Seed-Schlüsselpaar eine Angabe, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, umfasst, und selektiv die Integrität des ersten Moduls auf der Grundlage der Ermittlung, ob das Seed-Schlüsselpaar die Angabe umfasste, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, verifiziert.

Description

  • GEBIET
  • Die vorliegende Anmeldung bezieht sich auf ein System und ein Verfahren zum Verifizieren der Integrität eines ersten Moduls in einem Fahrzeug unter Verwendung eines zweiten Moduls in dem Fahrzeug.
  • HINTERGRUND
  • Ein elektronisches Kraftfahrzeugsteuersystem für ein Fahrzeug steuert Fahrzeugfunktionen, die einen Vortrieb, eine Bremsung, eine Lenkung und einen Getriebebetrieb des Fahrzeugs umfassen, jedoch nicht darauf beschränkt sind. Ein oder mehrere Hauptmikroprozessoren (z. B. in elektronischen Steuereinheiten oder ECUs) führen eine Software aus und/oder führen Berechnungen durch, die der Steuerung dieser Fahrzeugfunktionen zugehörig sind. Die Mikroprozessoren können mit anderen Mikroprozessoren und Komponenten des elektronischen Steuersystems über ein verteiltes Netz einer asynchronen seriellen Kommunikation, wie beispielsweise einen Controller Area Network-Bus (CAN-Bus) kommunizieren.
  • Die Hauptmikroprozessoren in den entsprechenden ECUs führen Software aus, die mit der Steuerung verschiedener Fahrzeugfunktionen über den CAN-Bus in Verbindung steht, und ein oder mehrere Mikroprozessoren können einen anderen der Mikroprozessoren über den CAN-Bus überwachen. Beispielsweise kann ein Hauptmikroprozessor einen anderen Mikroprozessor überwachen, der einem Fahrzeugsensor zugehörig ist. Somit hängt das Fahrzeugleistungsvermögen von der Integrität der Hauptmikroprozessoren ab.
  • Die Druckschrift DE 10 2011 016 514 A1 offenbart ein System mit einem Hauptprozessormodul 302 und einem Überwachungsprozessormodul 304. Das Überwachungsprozessormodul 304 kann die Integrität des Hauptprozessormoduls 302 verifizieren. Das Überwachungsprozessormodul 304 kann das Hauptprozessormodul 302 abfragen und eine von dem Hauptprozessormodul 302 empfangene Antwort überprüfen. Das Überwachungsprozessormodul 304 bestimmt auf der Grundlage der Antwort, ob das Hauptprozessormodul 302 richtig arbeitet.
  • Die Druckschrift DE 10 2008 055 805 A1 offenbart ein System mit einem PLD-Prozessor 120 und einem MCP 106. Der PLD-Prozessor 120 kann verwendet werden, um die Funktionsweise des MCP 106 zu verifizieren. Ferner kann der MCP 106 verwendet werden, um den PLD-Prozessor 120 zu verifizieren. Der PLD-Prozessor 120 und/oder der MCP 106 können mit Hilfe eines Informationsaustauschs verifiziert werden. Beispielsweise sendet der PLD-Prozessor 120 einen Seed-Wert an den MCP 106. Der MCP 106 ermittelt einen Rückgabeschlüssel basierend auf dem Seed-Wert und überträgt den Rückgabeschlüssel an den PLD-Prozessor 120. Der PLD-Prozessor 120 ermittelt die Funktionsweise des MCP 106 basierend auf dem Rückgabeschlüssel, indem der PLD-Prozessor 120 beispielsweise den Rückgabeschlüssel mit einem erwarteten Schlüssel vergleicht.
  • Die Druckschriften DE 10 2004 022 624 A1 , DE 10 2008 055 924 A1 und US 2012/0 310 467 A1 beschreiben weitere Systeme und Verfahren zum Verifizieren der Integrität von Prozessormodulen.
  • ZUSAMMENFASSUNG
  • Ein erfindungsgemäßes System umfasst ein erstes und ein zweites Modul eines Fahrzeugs. Das erste Modul speichert zumindest einen Seed-Wert, berechnet einen Schlüssel auf der Grundlage des zumindest einen Seed-Werts, ermittelt, ob der berechnete Schlüssel mit einem erwarteten Schlüssel, der in dem ersten Modul gespeichert ist, übereinstimmt, bildet auf der Grundlage der Ermittlung und des zumindest einen Seed-Werts ein Seed-Schlüsselpaar, erzeugt eine Datenbusnachricht, die das Seed-Schlüsselpaar und Daten umfasst, die dem Betrieb des ersten Moduls entsprechen, und überträgt die Datenbusnachricht über ein verteiltes Fahrzeugnetz. Das zweite Modul empfängt die Datenbusnachricht über das verteilte Fahrzeugnetz, ruft das Seed-Schlüsselpaar von der Datenbusnachricht ab, ermittelt, ob das Seed-Schlüsselpaar eine Angabe umfasst, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, und verifiziert selektiv die Integrität des ersten Moduls auf der Grundlage der Ermittlung, ob das Seed-Schlüsselpaar die Angabe umfasste, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte.
  • Weitere Anwendungsgebiete der vorliegenden Offenbarung werden aus der detaillierten Beschreibung, den Ansprüchen und den Zeichnungen offensichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Offenbarung wird aus der detaillierten Beschreibung und den begleitenden Zeichnungen breiter verständlich, in denen:
  • 1 ein Funktionsblockdiagramm eines Maschinensystems gemäß den Prinzipien der vorliegenden Offenbarung ist;
  • 2 ein Funktionsblockdiagramm eines beispielhaften Mikroprozessorverifikationssystems gemäß den Prinzipien der vorliegenden Offenbarung ist; und
  • 3 eine erste beispielhafte Seed-Schlüsselpaarberechnung gemäß den Prinzipien der vorliegenden Offenbarung zeigt;
  • 4 eine zweite beispielhafte Seed-Schlüsselpaarberechnung gemäß den Prinzipien der vorliegenden Offenbarung zeigt;
  • 5 ein erstes beispielhaftes Seed-Schlüsselpaarerzeugungsverfahren gemäß den Prinzipien der vorliegenden Offenbarung zeigt;
  • 6 ein zweites beispielhaftes Seed-Schlüsselpaarerzeugungsverfahren gemäß den Prinzipien der vorliegenden Offenbarung zeigt;
  • 7 ein erstes beispielhaftes Seed-Schlüsselpaarverifikationsverfahren gemäß den Prinzipien der vorliegenden Offenbarung zeigt; und
  • 8 ein zweites beispielhaftes Seed-Schlüsselpaarverifikationsverfahren gemäß den Prinzipien der vorliegenden Offenbarung zeigt.
  • In den Zeichnungen können Bezugszeichen wiederverwendet werden, um ähnliche und/oder identische Elemente zu identifizieren.
  • DETAILLIERTE BESCHREIBUNG
  • Ein Fahrzeug kann einen oder mehrere dedizierte sekundäre Mikroprozessoren umfassen, die jeweilige Hauptmikroprozessoren überwachen. Beispielsweise kann eine elektronische Steuereinheit (ECU von electronic control unit) oder ein Modul einen Hauptmikroprozessor und einen sekundären Mikroprozessor zum Verifizieren der Integrität des Hauptmikroprozessors umfassen. Der sekundäre Mikroprozessor kann die Integrität des Hauptmikroprozessors beispielsweise durch Austauschen von Seeds und Schlüsseln mit dem Hauptprozessor (lediglich beispielhaft über einen Vollduplex-Serial Peripheral Interface-Bus) verifizieren. Das Fahrzeug kann eine Diagnose realisieren, um die Integrität des Hauptmikroprozessors zu verifizieren, wie beispielsweise Verifizieren der Integrität einer Arithmetik-Logik-Einheit (ALU von arithmetic logic unit) des Hauptprozessors gemäß einem Automotive Safety Integrity Level (ASIL) D-Standard.
  • Einige Fahrzeugsteuermerkmale, wie beispielsweise ein Electronic Transmission Range Shifter (ETRS), können ein dediziertes Eingangsmodul (z. B. ein Sensoreingangsmodul oder SIM) mit einem zugehörigen Mikroprozessor zum Verarbeiten von Sensorhardwareeingängen mit einer hohen Abtastrate erfordern. Dann werden die verarbeiteten Sensoreingangsdaten über den Controller Area Network-Bus (CAN-Bus) an einen Hauptmikroprozessor übertragen, der einer ECU, wie beispielsweise einem Maschinensteuermodul (ECM von Engine Control Module) oder einem Getriebesteuermodul (TCM von transmission control module), zugehörig ist. Das ECM (oder das TCM oder ein anderer Hauptmikroprozessor) kann den Mikroprozessor des SIM über den CAN-Bus überwachen. Ein sekundärer Mikroprozessor des ECM kann wiederum die Integrität des Hauptmikroprozessors verifizieren.
  • Einige Systeme können versuchen, den dedizierten sekundären Mikroprozessor zu beseitigen und stattdessen die Integrität des Hauptmikroprozessors (z. B. einer ersten ECU) über den CAN-Bus unter Verwendung eines anderen Hauptmikroprozessors (z. B. einer zweiten ECU) zu verifizieren. Ein Fahrzeugsystem, das ASIL-D-Level-Standards entspricht, kann jedoch ein Diagnosezeitfenster von 200 Millisekunden zum Detektieren bestimmter Ausfallzustände erfordern. Dementsprechend kann das Verifizieren der Integrität eines Hauptmikroprozessors unter Verwendung eines anderen Hauptmikroprozessors anstatt eines dedizierten sekundären Mikroprozessors, der sich in dem gleichen Modul befindet, mehr Zeit als das 200 Millisekunden-Diagnosezeitfenster erfordern.
  • Die Mikroprozessorverifikationssysteme und -verfahren der vorliegenden Offenbarung führen eine Mikroprozessorimplementierungs-ALU-Integritätsverifikation über zwei oder mehr ECUs (z. B. zwischen zwei Hauptprozessoren in verschiedenen ECUs) durch. Beispielsweise überträgt die überwachte ECU ein ”Seed-Schlüsselpaar bzw. Seed-Key Pair” (SKP) in eindirektionalen CAN-Busnachrichten zusammen mit den verarbeiteten Sensoreingangsdaten an eine Überwachungs-ECU. Dementsprechend kann ein Schritt des Übertragens einer Anforderung hinsichtlich des SKP von einer ECU zu einer anderen beseitigt werden. Ferner wenden diese Systeme und Verfahren weiterhin eine Strategie zum Schützen von sicherheitskritischen Signalen über den CAN-Bus an, was Realisierungen eines aktiven rollierenden Zählwerts bzw. Active Rolling Count (ARC), eines Schutzwerts bzw. Protection Value (PV) und eines Nachrichten-Timeout-Ereignisses bzw. Message Timeout Event (Failsoft) umfasst.
  • Nun auf 1 Bezug nehmend ist ein Funktionsblockdiagramm eines beispielhaften Maschinensystems 100 dargestellt. Das Maschinensystem 100 umfasst eine Maschine 102, die ein Luft/Kraftstoff-Gemisch verbrennt, um ein Antriebsdrehmoment für ein Fahrzeug auf der Grundlage einer Fahrereingabe/von Fahrereingaben von einem Fahrereingabemodul 104 zu erzeugen. Die Fahrereingaben können beispielsweise eine oder mehrere Gaspedalstellungen (APPs von accelerator pedal positions), gemessen durch APP-Sensoren (nicht gezeigt), eine oder mehrere Bremspedalstellungen (BPPs von brake pedal positions), gemessen durch BPP-Sensoren (nicht gezeigt) und eine Fahrdrehmomentanforderung, die durch einen Tempomaten (nicht gezeigt) bereitgestellt wird, umfassen. Bei verschiedenen Realisierungen kann der Tempomat einen adaptiven Tempomaten umfassen, der einen vorbestimmten Abstand aufrechterhält.
  • Durch eine Drosselklappe 112 wird Luft in einen Einlasskrümmer 110 gesaugt. Lediglich beispielhaft kann die Drosselklappe 112 ein Drosselventil mit einem drehbaren Flügel umfassen. Ein Maschinensteuermodul (ECM) 114 steuert ein Drosselklappenaktormodul 116, das das Öffnen der Drosselklappe 112 reguliert, um die Menge an Luft, die in den Einlasskrümmer 110 gesaugt wird, zu steuern.
  • Die Luft von dem Einlasskrümmer 110 wird in einen oder mehrere Zylinder der Maschine 102 gesaugt. Während die Maschine 102 mehr als einen Zylinder umfassen kann, ist zu Erläuterungszwecken ein einzelner repräsentativer Zylinder 118 gezeigt. Lediglich beispielhaft kann die Maschine 102 2, 3, 4, 5, 6, 8, 10 und/oder 12 Zylinder umfassen. Das ECM 114 kann ein Zylinderaktormodul 120 anweisen, einige der Zylinder selektiv abzuschalten, was unter bestimmten Umständen die Kraftstoffwirtschaftlichkeit verbessern kann.
  • Die Maschine 102 kann unter Verwendung eines Viertakt-Maschinenzyklus arbeiten. Die nachstehend beschriebenen vier Takte können als Ansaughub, Kompressionshub, Arbeitshub und Auslasshub bezeichnet werden. Während jeder Umdrehung einer Kurbelwelle (nicht gezeigt) finden zwei der vier Hübe in dem Zylinder 118 statt. Daher können zwei Kurbelwellenumdrehungen notwendig sein, damit der Zylinder 118 alle vier Hübe eines Maschinenzyklus erfährt.
  • Während des Ansaughubs wird Luft von dem Einlasskrümmer 110 über ein Einlassventil 122 in den Zylinder 118 gesaugt. Das ECM 114 steuert ein Kraftstoffaktormodul 124, das eine Kraftstoffeinspritzung reguliert, um ein Soll-Luft/Kraftstoff-Verhältnis zu erreichen. An einem zentralen Ort oder an mehreren Orten, wie beispielsweise in der Nähe des Einlassventils/der Einlassventile jedes der Zylinder, kann Kraftstoff in den Einlasskrümmer 110 eingespritzt werden. Bei verschiedenen Realisierungen (nicht gezeigt) kann der Kraftstoff direkt in die Zylinder oder in den Zylindern zugehörige Mischkammern eingespritzt werden. Das Kraftstoffaktormodul 124 kann eine Einspritzung von Kraftstoff in Zylinder, die abgeschaltet sind, stoppen.
  • Der eingespritzte Kraftstoff mischt sich mit der Luft und erzeugt ein Luft/Kraftstoff-Gemisch. Während des Kompressionshubs komprimiert ein Kolben (nicht gezeigt) in dem Zylinder 118 das Luft/Kraftstoff-Gemisch. Auf der Grundlage eines Signals von dem ECM 114 versorgt ein Zündfunkenaktormodul 126 eine Zündkerze 128 in dem Zylinder 118 mit Energie, welche das Luft/Kraftstoff-Gemisch zündet. Das Timing des Zündfunkens kann relativ zu dem Zeitpunkt, zu dem sich der Kolben an seiner obersten Stellung befindet, bezeichnet als oberer Totpunkt (OT), spezifiziert werden.
  • Das Zündfunkenaktormodul 126 kann durch ein Timing-Signal gesteuert werden, das angibt, wie weit vor oder nach dem OT der Zündfunke erzeugt werden sollte. Da die Kolbenstellung direkt mit der Kurbelwellendrehung in Verbindung steht, kann der Betrieb des Zündfunkenaktormoduls 126 mit einem Kurbelwellenwinkel synchronisiert werden. Bei verschiedenen Realisierungen kann das Zündfunkenaktormodul 126 die Bereitstellung eines Zündfunkens für abgeschaltete Zylinder stoppen.
  • Die Verbrennung des Luft/Kraftstoff-Gemischs in einem Zylinder kann als Zündereignis bezeichnet werden. Das Zündfunkenaktormodul 126 kann das Vermögen besitzen, das Timing des Zündfunkens für jedes Zündereignis zu ändern. Ferner kann das Zündfunkenaktormodul 126 das Vermögen besitzen, das Zündfunken-Timing für ein gegebenes Zündereignis zu ändern, auch wenn eine Änderung des Timing-Signals nach einem Zündereignis eines Zylinders unmittelbar vor einem gegebenen Zündereignis empfangen wird.
  • Während des Arbeitshubs treibt die Verbrennung des Luft/Kraftstoff-Gemischs den Kolben von der OT-Stellung weg, wodurch die Rotation der Kurbelwelle angetrieben wird. Der Arbeitshub kann als Zeit zwischen dem Erreichen des OT durch den Kolben und dem Zeitpunkt, zu dem der Kolben die unterste Stellung erreicht, welche als unterer Totpunkt (UT) bezeichnet werden kann, definiert werden.
  • Während des Auslasshubs beginnt der Kolben, sich wieder in Richtung der OT-Stellung zu bewegen, und drängt er die Nebenprodukte der Verbrennung durch ein Auslassventil 130 hinaus. Die Nebenprodukte der Verbrennung entweichen über ein Abgassystem 134 aus dem Fahrzeug.
  • Das Einlassventil 122 kann durch eine Einlassnockenwelle 140 gesteuert werden, während das Auslassventil 130 durch eine Auslassnockenwelle 142 gesteuert werden kann. Bei verschiedenen Realisierungen können mehrere Einlassnockenwellen (die die Einlassnockenwelle 140 umfassen) mehrere Einlassventile (die das Einlassventil 122 umfassen) für den Zylinder 118 steuern und/oder können sie die Einlassventile (die das Einlassventil 122 umfassen) mehrerer Reihen von Zylindern (die den Zylinder 118 umfassen) steuern. Auf ähnliche Weise können mehrere Auslassnockenwellen (die die Auslassnockenwelle 142 umfassen) mehrere Auslassventile für den Zylinder 118 steuern und/oder können sie Auslassventile (die das Auslassventil 130 umfassen) für mehrere Reihen von Zylindern (die den Zylinder 118 umfassen) steuern.
  • Das Zylinderaktormodul 120 kann den Zylinder 118 durch Deaktivieren des Öffnens des Einlassventils 122 und/oder des Auslassventils 130 abschalten. Bei verschiedenen anderen Realisierungen können das Einlassventil 122 und/oder das Auslassventil 130 durch andere Einrichtungen als Nockenwellen, wie beispielsweise elektromagnetische Aktoren, gesteuert werden.
  • Der Zeitpunkt, zu dem das Einlassventil 122 geöffnet wird, kann in Bezug auf die OT-Stellung durch einen Einlassnockenphasensteller 148 geändert werden. Der Zeitpunkt, zu dem das Auslassventil 130 geöffnet wird, kann in Bezug auf die OT-Stellung durch einen Auslassnockenphasensteller 150 geändert werden. Ein Phasenstelleraktormodul 158 kann den Einlassnockenphasensteller 148 und den Auslassnockenphasensteller 150 auf der Grundlage von Signalen von dem ECM 114 steuern. Bei einer Realisierung können auch Technologien einer variablen Ventilbetätigung (VVA von variable valve actuation) (nicht gezeigt) durch das Phasenstelleraktormodul 158 gesteuert werden.
  • Das Maschinensystem 100 kann eine Ladedruckeinrichtung umfassen, die Druckluft für den Einlasskrümmer 110 bereitstellt. Beispielsweise zeigt 1 einen Turbolader, der eine Heißturbine 160-1 umfasst, die durch heiße Abgase mit Leistung versorgt wird, welche durch das Abgassystem 134 strömen. Der Turbolader umfasst auch einen Kaltluftkompressor 160-2, der durch die Turbine 160-1 angetrieben wird und Luft verdichtet, die in die Drosselklappe 112 führt. Bei verschiedenen Realisierungen kann ein durch die Kurbelwelle angetriebener Superlader (nicht gezeigt) Luft von der Drosselklappe 112 komprimieren und die komprimierte Luft an den Einlasskrümmer 110 liefern.
  • Ein Ladedruckregelventil 162 (z. B. ein Turbo-Bypassventil) kann ermöglichen, dass Abgas die Turbine 160-1 umgeht, wodurch der Ladedruck, der durch den Turbolader bereitgestellt wird, reduziert wird. Der Ladedruck kann beispielsweise die Differenz zwischen einem Druck in dem Einlasskrümmer 110 und einem Druck in einem Einlasskrümmer einer selbstansaugenden Maschine unter den gleichen Betriebsbedingungen umfassen.
  • Das ECM 114 kann den Turbolader über ein Ladedruckaktormodul 164 steuern. Das Ladedruckaktormodul 164 kann den Ladedruck des Turboladers durch Steuern der Stellung des Ladedruckregelventils 162 abwandeln. Bei verschiedenen Realisierungen können mehrere Turbolader durch das Ladedruckaktormodul 164 gesteuert werden. Der Turbolader kann eine variable Geometrie aufweisen, die durch das Ladedruckaktormodul 164 gesteuert werden kann.
  • Ein Zwischenkühler (nicht gezeigt) kann einen Teil der Wärme, die in der Ladung der komprimierten Luft enthalten ist, welche erzeugt wird, wenn die Luft komprimiert wird, ableiten. Außerdem kann die Ladung der komprimierten Luft Wärme von Komponenten des Abgassystems 134 aufgenommen haben. Obwohl die Turbine 160-1 und der Kompressor 160-2 zu Veranschaulichungszwecken getrennt gezeigt sind, können sie aneinander in der Nähe des Orts der Turbine 160-1 angebracht sein, wobei sie Einlassluft in nächster Nähe zum heißen Abgas anordnen.
  • Das Maschinensystem 100 kann ein Abgasrückführungsventil (AGR-Ventil) 170 umfassen, das selektiv Abgas zurück zu dem Einlasskrümmer 110 leitet. Das AGR-Ventil 170 kann sich stromaufwärts der Turbine 160-1 befinden. Das AGR-Ventil 170 kann durch ein AGR-Aktormodul 172 gesteuert werden.
  • Das Maschinensystem 100 kann die Drehzahl der Kurbelwelle unter Verwendung eines Drehzahlsensors 178 in Umdrehungen pro Minute (U/min) messen. Das Maschinensystem 100 kann die Geschwindigkeit des Fahrzeugs unter Verwendung eines Fahrzeuggeschwindigkeitssensors 180 messen. Die Fahrzeuggeschwindigkeit kann beispielsweise auf der Grundlage einer Getriebeabtriebswellendrehzahl (TOSS von transmission output shaft speed), einer oder mehrerer Raddrehzahlen oder eines anderen geeigneten Maßes der Fahrzeuggeschwindigkeit ermittelt werden. Die Temperatur des Maschinenkühlmittels kann unter Verwendung eines Maschinenkühlmitteltemperatursensors (ECT-Sensors von engine coolant temperature sensor) 182 gemessen werden. Der ECT-Sensor 182 kann sich in der Maschine 102 oder an anderen Orten, an denen das Kühlmittel zirkuliert, wie beispielsweise bei einem Kühler (nicht gezeigt), befinden.
  • Der Druck in dem Einlasskrümmer 110 kann unter Verwendung eines Krümmerabsolutdrucksensors (MAP-Sensors von manifold absolute pressure sensor) 184 gemessen werden. Bei verschiedenen Realisierungen kann ein Maschinenunterdruck gemessen werden, wobei der Maschinenunterdruck eine Differenz zwischen dem Umgebungsluftdruck und dem Druck in dem Einlasskrümmer 110 umfasst. Die Luftmassenrate in den Einlasskrümmer 110 kann unter Verwendung eines Luftmassenmessersensors (MAF-Sensors von mass air flow sensor) 186 gemessen werden. Bei verschiedenen Realisierungen kann sich der MAF-Sensor 186 in einem Gehäuse befinden, das außerdem die Drosselklappe 112 enthält.
  • Das Drosselklappenaktormodul 116 kann unter Verwendung eines oder mehrerer Drosselklappenstellungssensoren (TPS von throttle position sensors) 190 die Stellung der Drosselklappe 112 überwachen. Die Umgebungstemperatur der in die Maschine 102 gesaugten Luft kann unter Verwendung eines Einlasslufttemperatursensors (IAT-Sensors von intake air temperature sensor) 192 gemessen werden. Das ECM 114 kann Signale von den Sensoren verwenden, um Steuerentscheidungen für das Maschinensystem 100 zu treffen.
  • Das ECM 114 kann mit einem Getriebesteuermodul 194 kommunizieren, um den Betrieb der Maschine 102 mit einem Getriebe (nicht gezeigt) zu koordinieren. Beispielsweise kann das ECM 114 während eines Gangschaltvorgangs das Maschinenausgangsdrehmoment reduzieren. Die Maschine 102 kann über eine Drehmomentübertragungseinrichtung (nicht gezeigt), wie beispielsweise einen Drehmomentwandler und/oder eine oder mehrere Kupplungen, ein Drehmoment an das Getriebe abgeben. Das Getriebesteuermodul 194 kann auch Daten mit dem ECM 114 teilen, wie beispielsweise ein aktueller Gang, der an dem Getriebe eingelegt ist, wie es durch einen oder mehrere Gangsensoren (nicht gezeigt) angegeben wird, und einen Zustand der Drehmomentübertragungseinrichtung. Beispielsweise kann der Zustand im Falle des Drehmomentwandlers einen verriegelten Zustand oder einen nicht verriegelten Zustand einer Drehmomentwandler-Überbrückungskupplung (TCC von torque converter clutch) (nicht gezeigt) umfassen.
  • Das ECM 114 kann mit einem Hybridsteuermodul 196 kommunizieren, um den Betrieb der Maschine 102 und eines Elektromotors 198 zu koordinieren. Der Elektromotor 198 kann auch als Generator fungieren und kann verwendet werden, um elektrische Energie zur Verwendung durch elektrische Fahrzeugsysteme und/oder zur Speicherung in einer Batterie zu erzeugen. Bei verschiedenen Realisierungen können verschiedene Funktionen des ECM 114, des Getriebesteuermoduls 194 und des Hybridsteuermoduls 196 in einem oder mehreren Modulen integriert sein.
  • Ein Maschinenaktor ändert einen oder mehrere Maschinenparameter durch Steuern eines zugehörigen Aktorwerts. Lediglich beispielhaft kann das Drosselklappenaktormodul 116 als Maschinenaktor bezeichnet werden und kann die Drosselklappenöffnungsfläche als der zugehörige Aktorwert bezeichnet werden. Bei dem Beispiel von 1 erreicht das Drosselklappenaktormodul 116 die Drosselklappenöffnungsfläche durch Anpassen eines Winkels des Flügels der Drosselklappe 112.
  • Ähnlich kann das Zündfunkenaktormodul 126 als Maschinenaktor bezeichnet werden, während der zugehörige Aktorwert den Umfang an Zündfunkenvorrückung relativ zu dem OT des Zylinders bezeichnen kann. Andere Maschinenaktoren können das Zylinderaktormodul 120, das Kraftstoffaktormodul 124, das Phasenstelleraktormodul 158, das Ladedruckaktormodul 164 und das AGR-Aktormodul 172 umfassen. Für diese Maschinenaktoren können die zugehörigen Aktorwerte eine Anzahl von aktivierten Zylindern, eine Kraftstoffbeaufschlagungsrate, Einlass- und Auslassnockenphasenstellerwinkel, einen Ladedruck bzw. eine AGR-Ventilöffnungsfläche umfassen. Das ECM 114 kann die Aktorwerte steuern, um zu bewirken, dass die Maschine 102 ein Soll-Maschinenausgangsdrehmoment erzeugt und Soll-Maschinenparameter erreicht.
  • Verschiedene Steuermodule des Maschinensystems 100 (die das Maschinensteuermodul 114 umfassen, jedoch nicht darauf beschränkt sind) können einen oder mehrere Hauptmikroprozessoren (die beispielsweise über einen Fahrzeugbus kommunizieren) umfassen. Beispielsweise kann ein verteiltes Kommunikationsnetz, wie beispielsweise ein Controller Area Network (CAN), eine Kommunikation zwischen den Mikroprozessoren über den Fahrzeugbus ermöglichen. Ein Mikroprozessor (d. h. ein Überwachungsmikroprozessor) eines der Module (z. B. des Maschinensteuermoduls 114) kann Sensoreingänge überwachen, die von einem Mikroprozessor (d. h. einem überwachten Mikroprozessor) eines anderen Moduls (z. B. eines SIM) empfangen werden.
  • Nun auf 2 Bezug nehmend ist ein beispielhaftes Mikroprozessorverifikationssystem 200 gezeigt. Obwohl das verteilte System 200 als ein Steuermodul 204 und ein Sensoreingangsmodul 208 umfassend gezeigt ist, werden Fachleute erkennen, dass das System 200 eine beliebige geeignete Anzahl von Modulen umfassen kann, die Steuermodulen des Fahrzeugs entspricht. Lediglich beispielhaft kann das Sensoreingangsmodul 220 einem Sensoreingangsmodul entsprechen, das dem ETRS zugehörig ist. Im Gegensatz dazu kann das Steuermodul 204 dem Maschinensteuermodul 114 entsprechen und umfasst es einen Hauptmikroprozessor 212 und einen optionalen sekundären Mikroprozessor 216. Obwohl der Hauptmikroprozessor 212 (z. B. ein Überwachungsprozessor) in dem Steuermodul 204 gezeigt ist, kann er ein Mikroprozessor mit hoher Integrität außerhalb des Steuermoduls 204 sein, der Hauptmikroprozessoren (wie beispielsweise einen Hauptmikroprozessor 220 des Sensoreingangsmoduls 208) und andere Fahrzeugmikroprozessoren über ein verteiltes Netz (z. B. über einen CAN-Bus 224 überwacht. Der Überwachungsmikroprozessor 212 kann selbst (z. B. durch eine fahrzeugeigene Überwachungshardware) überwacht werden, um seine eigene Integrität sicherzustellen. Lediglich beispielhaft kann der Überwachungsmikroprozessor 212 mit dem optionalen sekundären Mikroprozessor 216 über einen Serial Peripheral Interface-Bus 228 kommunizieren.
  • Typischerweise kann ein Überwachungsmikroprozessor 212 periodisch und/oder konditional die Integrität des überwachten Mikroprozessors 220 hinterfragen. Beispielsweise kann der Überwachungsmikroprozessor 212 den überwachten Mikroprozessor 220 abfragen und eine Reaktion verifizieren, die von dem überwachten Mikroprozessor 220 empfangen wird (z. B. unter Verwendung eines Austauschs, der das SKP umfasst). Der Überwachungsmikroprozessor 212 ermittelt auf der Grundlage der Reaktion, ob der überwachte Mikroprozessor 220 korrekt funktioniert. Der Überwachungsmikroprozessor 212 kann Abhilfemaßnahmen initiieren, wenn der überwachte Mikroprozessor 220 nicht korrekt funktioniert. Beispielsweise kann der Überwachungsmikroprozessor 212 angeben, dass sich der überwachte Mikroprozessor 220 in einem Ausfallmodus befindet, der ein Versagen des Ausführens, eine unvollständige Ausführung, ein inkorrektes Timing und/oder eine fehlerhafte Ausführung umfasst, jedoch nicht darauf beschränkt ist.
  • Beispielsweise kann der Überwachungsmikroprozessor 212 eine Anfrage (z. B. eine Seed) für eine Übertragung an den überwachten Mikroprozessor 220 erzeugen. Lediglich beispielhaft kann die Anfrage eine 4 Bit-Zahl zwischen 0 und 15 (d. h. 0000 und 1111) umfassen, die über den CAN-Bus 224 an den überwachten Mikroprozessor 220 übertragen wird. Der Überwachungsmikroprozessor 212 kann mehrere (z. B. 16) Anfragen sequentiell von 0000 bis 1111 an den überwachten Mikroprozessor 220 übertragen.
  • Der Überwachungsmikroprozessor 212 empfängt Antworten (z. B. Schlüssel) auf die Anfragen, die an den überwachten Mikroprozessor 220 übertragen werden, und ermittelt, ob die Antworten auf die Anfragen korrekt sind. Beispielsweise kann jede Anfrage eine entsprechende erwartete Antwort aufweisen. Der Überwachungsmikroprozessor 212 vergleicht jede empfangene Antwort mit der entsprechenden erwarteten Antwort basierend auf der Anfrage, welche von dem überwachten Mikroprozessor 220 empfangen wird. Wenn die empfangene Antwort mit der erwarteten Antwort übereinstimmt, wird die empfangene Antwort validiert. Dementsprechend ist keine Abhilfemaßnahme erforderlich, da der überwachte Mikroprozessor 220 als korrekt funktionierend betrachtet wird. Jede der Anfragen 0000 bis 1111 kann eine eindeutige entsprechende Antwort aufweisen. Beispielsweise kann jede Antwort auch eine 4 Bit-Zahl zwischen 0 und 15 sein.
  • Wenn die empfangene Antwort nicht mit der erwarteten Antwort übereinstimmt, kann der Überwachungsmikroprozessor 212 eine oder mehrere Abhilfemaßnahmen treffen, die umfassen können, dass die Verarbeitungsfunktionen des überwachten Mikroprozessors 220 angenommen werden, Eingänge ignoriert werden, die von dem überwachten Mikroprozessor 220 empfangen werden, andere Module hinsichtlich des Fehlerstatus des überwachten Mikroprozessors 220 informiert werden, Ausgänge des überwachten Mikroprozessors 220 deaktiviert werden, andere Module angewiesen werden, Eingänge zu ignorieren, die von dem überwachten Mikroprozessor 220 empfangen werden, jedoch nicht darauf beschränkt sind.
  • Der Überwachungsmikroprozessor 212 kann andere Fehler detektieren, die eine Antwortvalidierung beeinflussen. Beispielsweise kann der Überwachungsmikroprozessor 212 eine Angabe eines Verlusts der Kommunikation an dem Bus 224 (d. h. ein Kommunikationsverlustfehler), von Kommunikationsdatenfehlern (z. B. ein Fehler eines rollierenden Zählwerts basierend auf einem aktiven rollierenden Zählwert) und/oder einen Fehler einer ”hängengebliebenen” Anfrage empfangen. Ein Fehler einer hängengebliebenen Anfrage bezieht sich auf einen Anfragewert, der sich in aufeinanderfolgenden Anfragen über eine vorbestimmte Zeitdauer nicht ändert. Beispielsweise kann die übertragene Anfrage bei 0000 hängengeblieben sein, anstatt sich zwischen 0000 und 1111 sequentiell zu inkrementieren. Wenn keine anderen Fehler detektiert werden oder nur eine hängengebliebene Anfrage detektiert wird, gibt eine ungültige Antwort an, dass der überwachte Mikroprozessor 220 nicht korrekt funktioniert. Umgekehrt kann der Überwachungsmikroprozessor 212, wenn der einzige Fehler ein Fehler einer hängengebliebenen Anfrage ist, nicht dazu in der Lage sein, eine Quelle des Fehlers zu diagnostizieren. Fehler eines Kommunikationsverlusts oder Kommunikationsdatenfehler geben an, dass der Überwachungsmikroprozessor 212 nicht mehr dazu in der Lage ist, den überwachten Mikroprozessor 220 zu überwachen.
  • Umgekehrt empfängt der überwachte Mikroprozessor 220 typischerweise die Anfrage (d. h. die Seed) von dem Überwachungsmikroprozessor 212, erzeugt er eine Antwort (d. h. einen Schlüssel) basierend auf der Seed und überträgt er die Seed und den Schlüssel (d. h. das SKP) an den Überwachungsmikroprozessor 212. Wenn der überwachte Mikroprozessor 212 nicht korrekt funktioniert, stimmt die Antwort, die dem SKP entspricht, das an den Überwachungsmikroprozessor 212 übertragen wird, nicht mit der erwarteten Antwort überein. Dementsprechend validiert das SKP die Integrität des überwachten Mikroprozessors 220.
  • Der überwachte Mikroprozessor 220 überträgt das SKP gemäß der vorliegenden Offenbarung ungeachtet dessen, ob eine Anfrage von dem Überwachungsmikroprozessor 212 empfangen wird. Beispielsweise überträgt der überwachte Mikroprozessor 220 das SKP zusammen mit verarbeiteten Sensoreingangsdaten an den Überwachungsmikroprozessor 212. Beispielsweise bezieht der überwachte Mikroprozessor 220 das SKP jedes Mal mit ein, wenn verarbeitete Sensoreingangsdaten an den Überwachungsmikroprozessor 212 übertragen werden. Auf diese Weise muss der Überwachungsmikroprozessor 212 keine Anforderung hinsichtlich des SKP an den überwachten Mikroprozessor 220 übertragen. Beispielsweise kann das SKP in die gleiche Nachricht wie die verarbeiteten Sensoreingangsdaten gepackt werden. Der überwachte Mikroprozessor 220 kann auch einen aktiven rollierenden Zählwert und/oder einen Schutzwert in die Nachricht einbeziehen. Lediglich beispielhaft kann eine einzelne CAN-Nachricht 8 Bytes an Daten umfassen. Das SKP kann 4–7 Bits umfassen. Dementsprechend kann die einzelne CAN-Nachricht sowohl die Sensoreingangsdaten als auch das SKP umfassen.
  • Nun auf 3 Bezug nehmend kann der überwachte Mikroprozessor 220 mit einem oder mehreren 16-Bit-Schlüsseln beginnen, die aus einem 8-elementigen 16-Bit-Seed-Array 300 ausgewählt werden. Beispielsweise kann das Sensoreingangsmodul 208 das Seed-Array 300 (in einem Nur-Lese-Speicher) speichern oder erzeugen. Lediglich beispielhaft umfasst das Seed-Array 300 8 eindeutige 16-Bit-Konstanten (d. h. Seeds), die als Array mit einem Index von 0 bis 7 definiert sind. Ein Seed-Index kann beim Einschalten des Fahrzeugs mit 0 initialisiert werden. Dementsprechend kann ein SKP, das Index 0 entspricht, zuerst übertragen werden, gefolgt von Index 1, 2, ... und 7. Der überwachte Mikroprozessor 220 kann eine ALU-Testroutine ausführen, die entworfen ist, um alle relevanten ALU-Operationen des überwachten Mikroprozessors 220 auszuführen, welche die Seeds von dem Seed-Array 300 als Eingänge verwendet, um 8 entsprechende Schlüssel zu berechnen. Die 8 berechneten Schlüssel werden auch in einem 8-elementigen 16-Bit-Schlüssel-Array 304 mit dem Index von 0 bis 7 angeordnet. Das Schlüssel-Array 304 kann ferner auf ein 8-elementiges 8-Bit-Schlüssel-Array 308 abgebildet werden, in dem nur ein unteres Halbbyte der 8 Bits signifikant ist. Der 3-Bit-Seed-Array-Index (0 bis 7) und sein entsprechender 4-Bit-Schlüssel werden als 7-Bit-SKP in ein SKP-Array 312 gepackt. Die 7-Bit-SKPs können dann jeweils zusammen mit den verarbeiteten Sensoreingangsdaten, dem aktiven rollierenden Zählwert und dem Schutzwert in eine einzelne CAN-Nachricht eingesetzt werden.
  • Der überwachte Mikroprozessor 220 kann das eine oder die mehreren SKPs beispielsweise jedes Mal erzeugen, wenn Sensoreingangsdaten abgetastet werden. Der Überwachungsmikroprozessor 212 empfängt die SKPs und vergleicht die von dem überwachten Mikroprozessor 220 empfangenen SKPs mit einem vorbestimmten Satz von korrekten (z. B. vorbestimmten) SKPs, die in dem Steuermodul 204 (z. B. in einem Nur-Lese-Speicher) gespeichert sind. Beispielsweise prüft der Überwachungsmikroprozessor 212 die empfangenen SKPs, um zu verifizieren, dass sowohl die Abfolge (d. h. die Abfolge des Seed-Index, wie er empfangen wird) des Arrays 312 als auch die Inhalte der 7-Bit-SKPs korrekt sind. Mit anderen Worten entsprechen die ersten 4 Bits dem berechneten Schlüssel, während die nächsten 3 Bits dem Index von 0 bis 7 entsprechen. Wenn entweder die Abfolge des Seed-Index (z. B. das empfangene SKP weist einen Index auf, der nicht korrekt mit der erwarteten Abfolge übereinstimmt) oder der Inhalt der Schlüssel inkorrekt ist (z. B. durch Vergleichen jedes der Schlüssel mit den entsprechenden vorbestimmten Schlüsseln, die durch das Steuermodul 204 gespeichert sind), wird ein Diagnosezähler (z. B. ein Wiederholungszähler) inkrementiert und werden die entsprechenden empfangenen Sensordaten verworfen. Wenn der Diagnosezähler einen kalibrierten Schwellenwert erreicht, speichert der Überwachungsmikroprozessor 212 einen Indikator eines Fehlers in der ALU-Integrität des überwachten Mikroprozessors 220 (z. B. setzt er einen Diagnosefehlercode), und es können eine oder mehrere andere Abhilfemaßnahmen getroffen werden, wie oben beschrieben.
  • Nun auf 4 Bezug nehmend ist eine andere beispielhafte Berechnung von SKPs von einem 8-elementigen 16-Bit-Seed-Array 400 gezeigt. Der überwachte Mikroprozessor 220 führt die ALU-Testroutine an dem Seed-Array 400 aus, um 8 entsprechende Schlüssel zu berechnen. Die 8 berechneten Schlüssel werden auch in einem 8-elementigen 16-Bit-Schlüssel-Array 404 mit einem Index von 0 bis 7 angeordnet. Anstatt des Abbildens des Schlüssel-Arrays 404 auf ein 8-elementiges 8-Bit-Schlüssel-Array, wie es in 3 gezeigt ist, berechnet das Steuermodul 204 ein Bool'sches 1-Bit-Validitäts-Flag (z. B. eine 1 oder 0, die WAHR bzw. FALSCH angibt) und packt es den 3-Bit-Seed-Array-Index (0 bis 7) mit dem Validitäts-Flag in ein 4-Bit-SKP, wie es in entweder dem SKP-Array 412 (in dem das Validitäts-Flag = 1 ist) oder dem SKP-Array 416 (in dem das Validitäts-Flag = 0 ist) gezeigt ist.
  • Das Validitäts-Flag entspricht der Frage, ob die berechneten Schlüssel in dem Schlüssel-Array 404 korrekt sind. Beispielsweise kann anstatt des Speicherns des vorbestimmten Satzes von korrekten Schlüsseln durch den Überwachungsmikroprozessor 212 das Sensoreingangsmodul 208 den vorbestimmten Satz von korrekten Schlüsseln in einem Nur-Lese-Speicher speichern. Dementsprechend werden die Schlüssel in dem Schlüssel-Array 404, die durch den überwachten Mikroprozessor 220 berechnet werden, lediglich mit dem vorbestimmten Satz von korrekten Schlüsseln in dem Sensoreingangsmodul 208 verglichen. Wenn ein Schlüssel korrekt ist, ist ein entsprechendes Validitäts-Flag für diesen Schlüssel 1. Umgekehrt ist, wenn ein Schlüssel nicht korrekt ist, ein entsprechendes Validitäts-Flag für diesen Schlüssel 0. Bei einigen Realisierungen können eine oder mehrere Wiederholungen zum Berechnen des korrekten Schlüssels für eine gegebene Seed für den überwachten Mikroprozessor 220 zugelassen werden.
  • Wie es in 3 gezeigt ist, erfordert das 7-Bit-SKP 3 Bit von einer Gesamtmenge (einer 64-Bit-Datenbandbreite einer CAN-Nachricht) mehr als das 4-Bit-SKP von 4. Das 7-Bit-SKP maximiert jedoch die Unabhängigkeit zwischen dem überwachten Mikroprozessor 220 und dem Überwachungsmikroprozessor 212, da das Seed-Array 300, das in dem Sensoreingangsmodul 208 gespeichert ist, separat von einem entsprechenden vordefinierten Array ist, das in dem Steuermodul 204 gespeichert ist. Umgekehrt reduziert das 4-Bit-SKP eine Zeitdauer zum Identifizieren und/oder Bestätigen eines Ausfalls eines berechneten Schlüssels, da das Sensoreingangsmodul 208 selbst die Validität des berechneten Schlüssels prüft. Dementsprechend wird jede Zeitverzögerung aufgrund einer Kommunikation über den CAN-Bus 224 beseitigt.
  • Bei einigen Realisierungen kann der überwachte Mikroprozessor 220 von 2 zwei der CAN-Nachrichten, die das SKP umfassen, mit verschiedenen periodischen Raten an zwei verschiedenen CAN-Bussen übertragen. Beispielsweise kann der überwachte Mikroprozessor 220 CAN-Nachrichten, die die 7-Bit-SKPs von 3 umfassen, mit einer Rate von 25 Millisekunden an einem ersten CAN-Bus übertragen und kann er CAN-Nachrichten, die die 4-Bit-SKPs von 4 umfassen, mit einer Rate von 100 Millisekunden übertragen.
  • Nun auf 5 Bezug nehmend beginnt ein beispielhaftes SKP-Erzeugungsverfahren 500, das durch den überwachten Mikroprozessor 220 ausgeführt wird (wie in 3 beschrieben) in 504. In 508 ermittelt das Verfahren 500, ob der Seed-Index kleiner als sieben ist. Wenn dies der Fall ist, fährt das Verfahren 500 mit 512 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 500 mit 516 fort. In 516 setzt das Verfahren 500 den Seed-Index auf Null zurück. In 512 berechnet das Verfahren 500 einen 16-Bit-Schlüssel aus einer 16-Bit-Seed bei einem aktuellen Seed-Index. In 520 bildet das Verfahren 500 den 16-Bit-Schlüssel auf einen 8-Bit-Schlüssel ab und speichert es den 8-Bit-Schlüssel in einem 8-elementigen 8-Bit-Array. In 524 packt das Verfahren 500 den 3-Bit-Seed-Index und den 4-Bit-Schlüssel in ein 7-Bit-SKP. In 528 inkrementiert das Verfahren 500 den Seed-Index. Das Verfahren 500 endet in 532.
  • Nun auf 6 Bezug nehmend beginnt ein beispielhaftes SKP-Erzeugungsverfahren 600, das durch den überwachten Mikroprozessor 220 ausgeführt wird (wie in 4 beschrieben) in 604. In 608 ermittelt das Verfahren 600, ob der Seed-Index kleiner als Sieben ist. Wenn dies der Fall ist, fährt das Verfahren 600 mit 612 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 600 mit 616 fort. In 616 setzt das Verfahren 600 den Seed-Index auf Null zurück. In 612 berechnet das Verfahren 600 einen 16-Bit-Schlüssel aus einer 16-Bit-Seed bei einem aktuellen Seed-Index. In 620 ermittelt das Verfahren 600, ob der berechnete Schlüssel mit einem entsprechenden Schlüssel von einem vorbestimmten Satz von korrekten Schlüsseln übereinstimmt. Wenn dies der Fall ist, fährt das Verfahren 600 mit 624 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 600 mit 628 fort. In 628 ermittelt das Verfahren 600, ob die Berechnung des Schlüssels wiederholt werden soll. Wenn dies der Fall ist, fährt das Verfahren 600 mit 612 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 600 mit 632 fort. In 632 setzt das Verfahren 600 ein Validitäts-Flag auf Null (FALSCH). In 624 setzt das Verfahren 600 das Validitäts-Flag auf 1 (WAHR). In 636 packt das Verfahren 600 den Seed-Index und das Validitäts-Flag in ein 4-Bit-SKP. In 640 inkrementiert das Verfahren 600 den Seed-Index. Das Verfahren 600 endet in 644.
  • Nun auf 7 Bezug nehmend beginnt ein beispielhaftes SKP-Verifikationsverfahren 700, das durch den Überwachungsprozessor 212 ausgeführt wird (wie in 3 beschrieben) in 704. In 708 empfängt das Verfahren 700 die CAN-Nachricht, die die Sensoreingangsdaten, das SKP und andere Daten umfasst (z. B. den aktiven rollierenden Zellwert und/oder den Schutzwert). In 712 ermittelt das Verfahren 700, ob die CAN-Nachricht einen Nicht-SKP-Fehler angibt (z. B. einen Fehler eines aktiven rollierenden Zellwerts, einen Schutzwertfehler etc.). Wenn dies der Fall ist, endet das Verfahren 700 in 716. Wenn dies nicht der Fall ist, fährt das Verfahren 700 mit 720 fort. In 720 entpackt das Verfahren 700 das 7-Bit-SKP von der CAN-Nachricht in einen Seed-Index und einen Schlüssel. In 724 ermittelt das Verfahren 700, ob der Seed-Index mit einem erwarteten Seed-Index übereinstimmt. Wenn dies der Fall ist, fährt das Verfahren 700 mit 728 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 700 mit 732 fort.
  • In 732 inkrementiert das Verfahren 700 den erwarteten Seed-Index. In 736 erhöht das Verfahren 700 einen Wiederholungszählwert. In 740 ermittelt das Verfahren 700, ob der Wiederholungszählwert kleiner als ein Schwellenwert ist. Wenn dies der Fall ist, endet das Verfahren 700 bei 716. Wenn dies nicht der Fall ist, fährt das Verfahren 700 mit 744 fort. In 744 gibt das Verfahren 700 einen SKP-Ausfall an und endet es in 716.
  • In 728 inkrementiert das Verfahren 700 den erwarteten Seed-Index. In 748 ermittelt das Verfahren 700, ob der erwartete Seed-Index größer als sieben ist. Wenn dies der Fall ist, fährt das Verfahren 700 mit 752 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 700 mit 756 fort. In 752 setzt das Verfahren 700 den erwarteten Seed-Index auf 0 zurück. In 756 ermittelt das Verfahren 700, ob der Schlüssel mit einem erwarteten Schlüssel übereinstimmt, der dem Seed-Index entspricht. Wenn dies der Fall ist, fährt das Verfahren 700 mit 760 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 700 mit 736 fort. In 760 verwendet das Verfahren 700 die verarbeiteten Sensordaten, die in der CAN-Nachricht umfasst sind, setzt es den Wiederholungszählwert auf 0 zurück und endet es in 716.
  • Nun auf 8 Bezug nehmend beginnt ein beispielhaftes SKP-Verifikationsverfahren 800, das durch den Überwachungsprozessor 212 ausgeführt wird (wie in 4 beschrieben) in 804. In 808 empfängt das Verfahren 800 die CAN-Nachricht, die die Sensoreingangsdaten, das SKP und andere Daten umfasst (z. B. den aktiven rollierenden Zählwert und/oder den Schutzwert). In 812 ermittelt das Verfahren 800, ob die CAN-Nachricht einen Nicht-SKP-Fehler angibt (z. B. einen Fehler eines aktiven rollierenden Zählwerts, einen Schutzwertfehler etc.). Wenn dies der Fall ist, endet das Verfahren 800 in 816. Wenn dies nicht der Fall ist, fährt das Verfahren 800 mit 820 fort. In 820 entpackt das Verfahren 800 das 4-Bit-SKP von der CAN-Nachricht in einen Seed-Index und einen Schlüssel. In 824 ermittelt das Verfahren 800, ob der Seed-Index mit einem erwarteten Seed-Index übereinstimmt. Wenn dies der Fall ist, fährt das Verfahren 800 mit 828 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 800 mit 832 fort.
  • In 832 inkrementiert das Verfahren 700 den erwarteten Seed-Index. In 836 erhöht das Verfahren 800 einen Wiederholungszählwert. In 840 ermittelt das Verfahren 800, ob der Wiederholungszählwert kleiner als ein Schwellenwert ist. Wenn dies der Fall ist, endet das Verfahren 800 in 816. Wenn dies nicht der Fall ist, fährt das Verfahren 800 mit 844 fort. In 844 gibt das Verfahren 800 einen SKP-Ausfall an und endet es in 816.
  • In 828 inkrementiert das Verfahren 800 den erwarteten Seed-Index. In 848 ermittelt das Verfahren 800, ob der erwartete Seed-Index größer als sieben ist. Wenn dies der Fall ist, fährt das Verfahren 800 mit 852 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 800 mit 856 fort. In 852 setzt das Verfahren 800 den erwarteten Seed-Index auf 0 zurück. In 856 ermittelt das Verfahren 800, ob das Validitäts-Flag 1 ist (WAHR). Wenn dies der Fall ist, fährt das Verfahren 800 mit 860 fort. Wenn dies nicht der Fall ist, fährt das Verfahren 800 mit 844 fort. In 860 verwendet das Verfahren 800 die verarbeiteten Sensordaten, die in der CAN-Nachricht umfasst sind, setzt es den Wiederholungszählwert auf Null zurück und endet es in 816.
  • Auf die oben in 28 beschriebene Weise wird die Notwendigkeit von bidirektionalen Seed- und Schlüsselnachrichtenaustauschen zwischen dem Überwachungs- und dem überwachten Mikroprozessor (und entsprechenden ECUs) beseitigt, was die Mikroprozessor-ALU-Integritätstestalgorithmusstabilität hinsichtlich einer potentiellen Kommunikationsprotokoll-Timing- oder Rauschstörung über seriellen Kommunikationsbussen erhöht. Ferner können Synchronisationsanforderungen zwischen entsprechenden Echtzeit-Betriebssystem-Tasks, die unabhängig in dem Überwachungs- und dem überwachten Mikroprozessor ausgeführt werden, beseitigt werden. Bei einigen Realisierungen können Mikroprozessor-ALU-Integritätstestalgorithmen über ECUs (d. h. die Algorithmen sind aufgrund des Serial Peripheral Interface-Busses nicht auf eine Ausführung in einer einzelnen ECU beschränkt) mit einer unterschiedlichen Topologie einer seriellen Kommunikation (z. B. unterschiedliche Anzahlen von ECUs, seriellen Kommunikationsbussen, CAN/LIN-Kombinationen etc.) angewandt werden.
  • Bei dieser Anmeldung, die die nachstehenden Definitionen umfasst, kann der Ausdruck Modul durch den Ausdruck Schaltkreis ersetzt werden. Der Ausdruck Modul kann sich auf einen anwendungsspezifischen Schaltkreis (ASIC von Application Specific Integrated Circuit); einen digitalen, analogen oder gemischt analog/digital diskreten Schaltkreis; einen digitalen, analogen oder gemischt analog/digital integrierten Schaltkreis; einen Schaltkreis mit kombinatorischer Logik; einen Universalschaltkreis (FPGA von field programmable gate array); einen Prozessor (gemeinsam genutzt, zugeordnet oder Gruppe), der einen Code ausführt; einen Speicher (gemeinsam genutzt, zugeordnet oder Gruppe), der durch einen Prozessor ausgeführten Code speichert; andere geeignete Hardwarekomponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination von einem Teil oder allen der obigen, wie beispielsweise bei einem System-on-Chip, beziehen, Teil hiervon sein oder diese umfassen.
  • Der Ausdruck Code kann, wie er oben verwendet wird, Software, Firmware und/oder Mikrocode umfassen und kann sich auf Programme, Routinen, Funktionen, Klassen und/oder Objekte beziehen. Der Ausdruck gemeinsam genutzter Prozessor umfasst einen einzelnen Prozessor, der einen Teil des oder den gesamten Code von mehreren Modulen ausführt. Der Ausdruck Gruppenprozessor umfasst einen Prozessor, der in Kombination mit zusätzlichen Prozessoren einen Teil des oder den gesamten Code von einem oder mehreren Modulen ausführt. Der Ausdruck gemeinsam genutzter Speicher umfasst einen einzelnen Speicher, der einen Teil des oder den gesamten Code von mehreren Modulen speichert. Der Ausdruck Gruppenspeicher umfasst einen Speicher, der in Kombination mit weiteren Speichern einen Teil des oder den gesamten Code von einem oder mehreren Modulen speichert. Der Ausdruck Speicher kann eine Teilmenge des Ausdrucks von einem Computer lesbares Medium sein. Der Ausdruck von einem Computer lesbares Medium umfasst keine transitorischen elektrischen und elektromagnetischen Signale, die sich über ein Medium ausbreiten, und kann daher als konkret und nicht transitorisch betrachtet werden. Nicht einschränkende Beispiele eines nicht transitorischen konkreten von einem Computer lesbaren Mediums umfassen einen nichtflüchtigen Speicher, einen flüchtigen Speicher, einen Magnetspeicher und einen optischen Speicher.
  • Die in dieser Anmeldung beschriebenen Vorrichtungen und Verfahren können teilweise oder vollständig durch ein oder mehrere Computerprogramme realisiert sein, die durch einen oder mehrere Prozessoren ausgeführt werden. Die Computerprogramme umfassen von einem Prozessor ausführbare Anweisungen, die an zumindest einem nicht transitorischen konkreten von einem Computer lesbaren Medium gespeichert sind. Die Computerprogramme können auch gespeicherte Daten umfassen und/oder auf diesen beruhen.

Claims (4)

  1. System, umfassend: ein erstes Modul eines Fahrzeugs, wobei das erste Modul zumindest einen Seed-Wert speichert, einen Schlüssel auf der Grundlage des zumindest einen Seed-Werts berechnet, ermittelt, ob der berechnete Schlüssel mit einem erwarteten Schlüssel, der in dem ersten Modul gespeichert ist, übereinstimmt, ein Seed-Schlüsselpaar auf der Grundlage der Ermittlung und des zumindest einen Seed-Werts bildet, eine Datenbusnachricht erzeugt, die das Seed-Schlüsselpaar und Daten, die dem Betrieb des ersten Moduls entsprechen, umfasst, und die Datenbusnachricht über ein verteiltes Fahrzeugnetz überträgt; und ein zweites Modul des Fahrzeugs, wobei das zweite Modul die Datenbusnachricht über das verteilte Fahrzeugnetz empfängt, das Seed-Schlüsselpaar von der Datenbusnachricht abruft, ermittelt, ob das Seed-Schlüsselpaar eine Angabe, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, umfasst, und selektiv die Integrität des ersten Moduls auf der Grundlage der Ermittlung, ob das Seed-Schlüsselpaar die Angabe umfasste, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, verifiziert.
  2. System nach Anspruch 1, wobei das erste Modul einen ersten Mikroprozessor umfasst, der den Schlüssel auf der Grundlage des zumindest einen Seed-Werts berechnet, und wobei das zweite Modul einen zweiten Mikroprozessor umfasst, der die Integrität des ersten Mikroprozessors auf der Grundlage der Ermittlung, ob das Seed-Schlüsselpaar die Angabe umfasste, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, selektiv verifiziert.
  3. System nach Anspruch 1, wobei das Seed-Schlüsselpaar einen Seed-Indexwert umfasst, das zweite Modul ermittelt, ob der Seed-Indexwert mit einem erwarteten Seed-Indexwert übereinstimmt, und das zweite Modul die Integrität des ersten Moduls ferner auf der Grundlage der Ermittlung, ob der Seed-Indexwert mit dem erwarteten Seed-Indexwert übereinstimmt, verifiziert.
  4. Verfahren zum Verifizieren der Integrität eines ersten Mikroprozessors in einem Fahrzeug unter Verwendung eines zweiten Mikroprozessors in dem Fahrzeug, wobei das Verfahren umfasst, dass: in einem ersten Modul, das den ersten Mikroprozessor umfasst, zumindest ein Seed-Wert gespeichert wird, ein Schlüssel auf der Grundlage des zumindest einen Seed-Werts berechnet wird, ermittelt wird, ob der berechnete Schlüssel mit einem erwarteten Schlüssel, der in dem ersten Modul gespeichert ist, übereinstimmt, ein Seed-Schlüsselpaar auf der Grundlage der Ermittlung und des zumindest einen Seed-Werts gebildet wird, eine Datenbusnachricht erzeugt wird, die das Seed-Schlüsselpaar und Daten umfasst, die dem Betrieb des ersten Moduls entsprechen, und über ein verteiltes Fahrzeugnetz die Datenbusnachricht übertragen wird; und in einem zweiten Modul, das den zweiten Mikroprozessor umfasst, die Datenbusnachricht über das verteilte Fahrzeugnetz empfangen wird, das Seed-Schlüsselpaar von der Datenbusnachricht abgerufen wird, ermittelt wird, ob das Seed-Schlüsselpaar eine Angabe, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, umfasst, und die Integrität des ersten Mikroprozessors auf der Grundlage der Ermittlung, ob das Seed-Schlüsselpaar die Angabe umfasste, dass der berechnete Schlüssel mit dem erwarteten Schlüssel übereinstimmte, selektiv verifiziert wird.
DE102015100746.0A 2014-01-24 2015-01-20 System und verfahren zum verifizieren der integrität eines ersten moduls in einem fahrzeug unter verwendung eines zweiten moduls in dem fahrzeug Active DE102015100746B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461931251P 2014-01-24 2014-01-24
US61/931,251 2014-01-24
US14/268,180 US9268953B2 (en) 2014-01-24 2014-05-02 Method of performing microprocessor ALU integrity test over a distributed asynchronous serial communication network for ASIL-D level safety critical applications
US14/268,180 2014-05-02

Publications (2)

Publication Number Publication Date
DE102015100746A1 DE102015100746A1 (de) 2015-07-30
DE102015100746B4 true DE102015100746B4 (de) 2017-10-05

Family

ID=53523063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015100746.0A Active DE102015100746B4 (de) 2014-01-24 2015-01-20 System und verfahren zum verifizieren der integrität eines ersten moduls in einem fahrzeug unter verwendung eines zweiten moduls in dem fahrzeug

Country Status (1)

Country Link
DE (1) DE102015100746B4 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004022624A1 (de) * 2004-05-07 2005-12-08 Robert Bosch Gmbh Verfahren zur Überwachung eines Systems
DE102008055924A1 (de) * 2007-11-08 2009-06-18 GM Global Technology Operations, Inc., Detroit Prozessorsicherheitsdiagnose für Hybridfahrzeug-Elektromotor-Steuersystem
DE102008055805A1 (de) * 2007-11-07 2009-06-25 GM Global Technology Operations, Inc., Detroit Detektieren eines Programmablauffehlers in einer Drehmomentsicherheitssoftware für ein elektrisches Antriebssystem eines Hybridfahrzeugs
DE102011016514A1 (de) * 2010-04-19 2012-01-12 Gm Global Technology Operations Llc (N.D.Ges.D. Staates Delaware) Verfahren zum Sicherstellen der Sicherheitsintegrität eines Mikroprozessors über ein verteiltes Netz für Kraftfahrzeuganwendungen
US20120310467A1 (en) * 2011-06-01 2012-12-06 GM Global Technology Operations LLC Processor safety test control systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004022624A1 (de) * 2004-05-07 2005-12-08 Robert Bosch Gmbh Verfahren zur Überwachung eines Systems
DE102008055805A1 (de) * 2007-11-07 2009-06-25 GM Global Technology Operations, Inc., Detroit Detektieren eines Programmablauffehlers in einer Drehmomentsicherheitssoftware für ein elektrisches Antriebssystem eines Hybridfahrzeugs
DE102008055924A1 (de) * 2007-11-08 2009-06-18 GM Global Technology Operations, Inc., Detroit Prozessorsicherheitsdiagnose für Hybridfahrzeug-Elektromotor-Steuersystem
DE102011016514A1 (de) * 2010-04-19 2012-01-12 Gm Global Technology Operations Llc (N.D.Ges.D. Staates Delaware) Verfahren zum Sicherstellen der Sicherheitsintegrität eines Mikroprozessors über ein verteiltes Netz für Kraftfahrzeuganwendungen
US20120310467A1 (en) * 2011-06-01 2012-12-06 GM Global Technology Operations LLC Processor safety test control systems and methods

Also Published As

Publication number Publication date
DE102015100746A1 (de) 2015-07-30

Similar Documents

Publication Publication Date Title
DE102011016514A1 (de) Verfahren zum Sicherstellen der Sicherheitsintegrität eines Mikroprozessors über ein verteiltes Netz für Kraftfahrzeuganwendungen
DE102011012239B4 (de) Ereignisdatenaufzeichnungssystem
DE102015107603B4 (de) Verfahren zum Steuern einer Fahrzeugbeschleunigung
DE60116166T2 (de) Fahrzeugsteuerungseinrichtung mit mehreren ECUs und entsprechenden Steuerprogrammen
DE102010048354B4 (de) Adaptive Tempomat-Herunterschaltanforderungssysteme für Fahrzeuge mit Handschaltgetriebe
DE102013209341B4 (de) Verfahren zum betreiben eines elektromechanischen getriebes
DE102011114109B4 (de) Verfahren zum Ermitteln eines indizierten mittleren effektiven Drucks (IMEP) basierend auf einer Kurbelwellenposition
DE102012209763B4 (de) Verfahren zum Steuern eines Elektromotors eines Nockenwellenphasenstellers
DE102013208262B4 (de) OBD-kompatibles Plausibilitätsprüfungssystem für eine adaptive Geschwindigkeitsregelung
DE102009020537A1 (de) Sicherheit für Luft-Pro-Zylinder-Berechnungen als Motordrehmomenteingabe
DE102011109996A1 (de) Aussenlufttemperatursensor-Diagnosesysteme für ein Fahrzeug
DE102013222492B4 (de) Adaptive Motordrehzahlsteuerung zum Verhindern des Schlingerns und Abwürgen eines Motors
DE102015114058B4 (de) Verfahren zum Diagnostizieren eines Fehlers in einem Nockenwellenpositionssensor und/oder einem Kurbelwellenpositionssensor
DE102011101646A1 (de) Antriebsstrangsteuersystem und -verfahren mit ECM-zu-TCM-Parameterübertragungsprotokollen für TCM-basierte Steuerung
DE102017222268A1 (de) Verfahren und vorrichtung zum diagnostizieren eines motorsystems
DE102010008314B4 (de) Motorsteuersystem und Verfahren zum Überwachen eines von einem Fahrer angeforderten Drehmoments
US9268953B2 (en) Method of performing microprocessor ALU integrity test over a distributed asynchronous serial communication network for ASIL-D level safety critical applications
EP2331378B1 (de) Verfahren zum diagnostizieren eines fehlerstatus einer antriebsvorrichtung sowie diagnosevorrichtung und antriebssystem
DE102015102526B4 (de) Verfahren zum Steuern eines Motors basierend auf einer gewünschten Turbinenleistung unter Berücksichtigung von Verlusten in einem Drehmomentwandler
DE102014109584A1 (de) System und Verfahren zum Verwenden von flexiblen ECU-Eingängen, um speziell den Typ eines elektrischen Fehlers an einem Eingang zu bestimmen
DE102016219180A1 (de) Vorrichtung und Verfahren zum Steuern einer elektronischen kontinuierlich variablen Ventilzeiteinstellung
DE102015100746B4 (de) System und verfahren zum verifizieren der integrität eines ersten moduls in einem fahrzeug unter verwendung eines zweiten moduls in dem fahrzeug
DE102014110595B4 (de) Verfahren zum Steuern des Betrags eines den Rädern eines Fahrzeug zugeführten Drehmoments zum Verbessern der Fahrbarkeit
DE102009011157B4 (de) Vorrichtung zur Steuerung und Regelung eines Antriebssystems
DE102013222974B4 (de) Verfahren zur ermittlung eines fehlers in einer pedalbaugruppe

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final