DE102014222860A1 - Elektronische Fahrzeugregelungseinheit - Google Patents

Elektronische Fahrzeugregelungseinheit Download PDF

Info

Publication number
DE102014222860A1
DE102014222860A1 DE102014222860.3A DE102014222860A DE102014222860A1 DE 102014222860 A1 DE102014222860 A1 DE 102014222860A1 DE 102014222860 A DE102014222860 A DE 102014222860A DE 102014222860 A1 DE102014222860 A1 DE 102014222860A1
Authority
DE
Germany
Prior art keywords
program
interrupt signal
value
microcomputer
test
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.)
Granted
Application number
DE102014222860.3A
Other languages
English (en)
Inventor
c/o DENSO CORPORATION Kunibe Hirotaka
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE102014222860A1 publication Critical patent/DE102014222860A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D11/00Arrangements for, or adaptations to, non-automatic engine control initiation means, e.g. operator initiated
    • F02D11/06Arrangements for, or adaptations to, non-automatic engine control initiation means, e.g. operator initiated characterised by non-mechanical control linkages, e.g. fluid control linkages or by control linkages with power drive or assistance
    • F02D11/10Arrangements for, or adaptations to, non-automatic engine control initiation means, e.g. operator initiated characterised by non-mechanical control linkages, e.g. fluid control linkages or by control linkages with power drive or assistance of the electric type
    • F02D11/107Safety-related aspects
    • 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/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0292Fail-safe or redundant systems, e.g. limp-home or backup systems
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/10Accelerator pedal position
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0605Throttle position
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D11/00Arrangements for, or adaptations to, non-automatic engine control initiation means, e.g. operator initiated
    • F02D11/06Arrangements for, or adaptations to, non-automatic engine control initiation means, e.g. operator initiated characterised by non-mechanical control linkages, e.g. fluid control linkages or by control linkages with power drive or assistance
    • F02D11/10Arrangements for, or adaptations to, non-automatic engine control initiation means, e.g. operator initiated characterised by non-mechanical control linkages, e.g. fluid control linkages or by control linkages with power drive or assistance of the electric type
    • F02D11/106Detection of demand or actuation

Abstract

Ein Fahrzeug-ECU umfasst einen Mikrocomputer (21) mit einer CPU (25) und ein Überwachungsmodul (23) des Mikrocomputers. Die CPU führt ein erstes Programm zum Regeln eines Regelungsobjekts (15), ein zweites Programm zum Überwachen einer Regelungsfunktion des ersten Programms und zum Ausgeben eines ersten Unterbrechungssignal, das die Regelungsfunktion deaktiviert, wenn die Regelungsfunktion fehlerhaft ist, und ein drittes Programm mit einem Testprogramm, das einen Programmausführtest des zweiten Programms ausführt und ein Testergebnis ausgibt. Das Überwachungsmodul gibt ein zweites Unterbrechungssignal aus, wenn das Testergebnis kein Erwartungswert ist. Der Mikrocomputer umfasst eine Hardwareschaltung (29, 61) zum Ausgeben eines dritten Unterbrechungssignals. Eine Operation, die das dritte Unterbrechungssignal ausgibt, wird nicht durch einen Bug in dem ersten Programm verhindert. Das dritte Programm umfasst ein Fehlererfassungsprogramm, das das dritte Unterbrechungssignal ausgibt, wenn das Testergebnis nicht der Erwartungswert ist.

Description

  • Die vorliegende Erfindung betrifft eine elektronische Fahrzeugregelungseinheit.
  • Eine elektronische Fahrzeugregelungseinheit mit einem Mikrocomputer zum Regeln eines Regelungsobjekts und einem Überwachungsmodul zum Überwachen einer Operation des Mikrocomputers ist zum Beispiel in dem japanischen Patent Nr. 3955328 offenbart.
  • Entsprechend der in der genannten Druckschrift offenbarten Einheit ist ein auf dem Mikrocomputer ausgeführtes Programm in ein erstes bis ein drittes Level unterteilt.
  • Ein Programm in dem ersten Level (nachfolgend als Erst-Level-Programm bezeichnet) ist ein Programm zum Regeln eines Regelungsobjekts.
  • Ein Programm in dem zweiten Level (nachfolgend als Zweit-Level-Programm bezeichnet) ist ein Programm nicht nur zum Überwachen, ob eine Regelungsfunktion durch das Erst-Level-Programm fehlerfrei ist oder nicht, sondern auch zum Ausgeben eines Signals, das eine Ausgangsstufe für das Regelungsobjekt einstellt, wenn bestimmt wird, dass die Regelungsfunktion fehlerhaft ist.
  • Ein Programm in dem dritten Level (nachfolgend als Dritt-Level-Programm bezeichnet) ist ein Programm zum Durchführen eines Programmausführtests des Zweit-Level-Programms und zum Ausgeben eines Testergebnisses an das Überwachungsmodul.
  • Das Überwachungsmodul vergleicht das von dem Mikrocomputer durch das Dritt-Level-Programm ausgegebene Testergebnis mit einem Erwartungswert des Testergebnisses und gibt ein Signal aus, das die Ausgangsstufe betätigt, wenn das Testergebnis und der Erwartungswert verschieden sind.
  • Mit anderen Worten, diese Einheit ist so ausgelegt, dass selbst dann, wenn durch das Erst-Level-Programm eine fehlerhafte Regelung durchgeführt wird, eine aus der fehlerhaften Regelung resultierende Unannehmlichkeit durch das Zweit-Level-Programm verhindert wird. Ferner ist, um einen Fehler gemeinsamer Ursache anzusprechen, der gleichzeitig das Erst- und das Zweit-Level-Programm fehlerhaft werden lässt, oder ein Ereignis, das die korrekte Ausführung des Zweit-Level-Programms durch das Erst-Level-Programm, das einen Bug aufweist, die Einheit so ausgelegt, dass die Ausgangsstufe durch das Dritt-Level-Programm und das Überwachungsmodul unterbrochen wird.
  • Nachfolgend ist ein für das Überwachungsmodul erforderlicher Verlässlichkeitsgrad, der von dem Mikrocomputer unabhängig und in Übereinstimmung mit der ISO(International Organization for Standardization)-Norm 26262 für sicherheitsrelevante elektrische/elektronische Systeme in Kraftfahrzeugen ist, beschrieben.
  • Zunächst kann ein Fehler im Mikrocomputer sofort eine unregelmäßige Regelung verursachen. Es ist daher normal für eine Fahrzeugregelungseinheit, in Zeitintervallen von der Kürze von einigen zehn Millisekunden, eine Diagnose durchzuführen, so dass zum Beispiel eine Beschleunigung verhindert werden kann, bevor eine unbeabsichtigte Fahrzeugbeschleunigung 0,3 g erreicht.
  • Andererseits verursacht ein Fahler des Überwachungsmoduls allein nicht sofort eine unregelmäßige Regelung, so dass eine in Zeitintervallen von der Kürze von einigen zehn Millisekunden durchgeführte Diagnose nicht notwendig ist. Es ist daher ausreichend, wenn eine Fahrzeugregelungseinheit eine Diagnose zum Beispiel einmal pro Fahrzyklus durchführt.
  • Eine Wahrscheinlichkeit, dass der Mikrocomputer und das Überwachungsmodul, die unabhängig voneinander arbeiten, in demselben Fahrzyklus einen Fehler aufweisen, ist im Vergleich zu einer Fehlerwahrscheinlichkeit des Mikrocomputers allein vernachlässigbar klein, so dass eine besondere Gegenmaßnahme nicht unbedingt notwendig ist.
  • Wie es oben beschrieben ist, ist es ausreichend, wenn die Fahrzeugregelungseinheit eine Zuverlässigkeit gewährleistet, indem sie zum Beispiel einmal pro Fahrzyklus eine Diagnose an dem Überwachungsmodul durchführt.
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine elektronische Fahrzeugregelungseinheit bereitzustellen, in der die Zuverlässigkeit der elektronischen Fahrzeugregelungseinheit erhöht ist.
  • Eine elektronische Fahrzeugregelungseinheit gemäß der vorliegenden Erfindung umfasst einen Mikrocomputer mit einer CPU und ein Überwachungsmodul, das eine Operation des Mikrocomputers überwacht. Die CPU des Mikrocomputers führ ein Programm aus, das ein Erst-Level-Programm zum Regeln eines Regelungsobjekts, ein Zweit-Level-Programm zum Überwachen, ob eine durch das Erst-Level-Programm an dem Regelungsobjekt ausgeführte Regelungsfunktion fehlerfrei ist und zum Ausgeben eines ersten Unterbrechungssignale, das die Regelungsfunktion deaktiviert, wenn bestimmt wird, dass die Regelungsfunktion fehlerhaft ist, und ein Dritt-Level-Programm mit einem Testprogramm, das einen Programmausführtest des Zweit-Level-Programms ausführt und ein Testergebnis an das Überwachungsmodul ausgibt, umfasst. Das Überwachungsmodul gibt ein zweites Unterbrechungssignal aus, das die Regelungsfunktion deaktiviert, wenn das Testergebnis nicht mit einem Erwartungswert des Testergebnisses übereinstimmt. Der Mikrocomputer umfasst ferner eine Hardwareschaltung zum Ausgeben eines dritten Unterbrechungssignals, das die Regelungsfunktion deaktiviert. Eine Operation zum Ausgeben des dritten Unterbrechungssignals wird durch einen Bug in dem Erst-Level-Programm nicht verhindert. Das Dritt-Level-Programm umfasst ferner ein Fehlererfassungsprogramm zum Regeln der Hardwareschaltung, so dass dieses das dritte Unterbrechungssignal ausgibt, wenn das Testergebnis des Testprogramms nicht mit dem Erwartungswert des Testergebnisses übereinstimmt.
  • Das Überwachungsmodul gibt ein zweites Unterbrechungssignal aus, das die Regelungsfunktion deaktiviert, wenn das Testergebnis von dem Mikrocomputer nicht mit einem Erwartungswert des Testergebnisses übereinstimmt.
  • Daher kann zum Beispiel, im Falle eines Fehlers der Regelungsfunktion durch das Erst-Level-Programm, die fehlerhafte Regelungsfunktion durch das von dem Zweit-Level-Programm ausgegebenen erste Unterbrechungssignal deaktiviert werden. Im Falle eines Ausfalls infolge gemeinsamer Ursache, die zur Folge hat, dass das Erst- und das Zwei-Level-Programm gleichzeitig fehlerhaft sind, oder wenn das Zweit-Level-Programm durch das Erst-Level-Programm, das einen Programmfehler oder Bug aufweist, gestört wird, arbeiten das Testprogramm in dem Dritt-Level-Programm und das Überwachungsmodul zusammen und gewährleisten so die Zuverlässigkeit. Mit anderen Worten, in solchen Fällen stimmt das von dem Mikrocomputer ausgegebene Testergebnis des Testprogramms (das Ergebnis, wenn der Programmausführtest des Zweit-Level-Programms ausgeführt wurde) nicht länger mit dem Erwartungswert überein, so dass das Überwachungsmodul das zweite Unterbrechungssignal ausgibt. Das zweite Unterbrechungssignal deaktiviert die Regelungsfunktion durch das Erst-Level-Programm. Die fehlerhafte Regelung kann somit verhindert werden.
  • Gemäß der wie oben beschrieben konfigurierten elektronischen Fahrzeugregelungseinheit kann die Zuverlässigkeit selbst dann gewährleistet werden, wenn ein Ereignis, wonach das Zweit-Level-Programm durch das Erst-Level-Programm, das einen Bug aufweist, gestört wird, und ein Hardwarefehler in dem Überwachungsmodul in demselben Fahrzyklus auftreten. Mit anderen Worten, in diesem Fall kann nicht davon ausgegangen werden, dass auch in der Hardwareschaltung in dem Mikrocomputer ein Fehler auftritt. Daher fällt in dem Mikrocomputer in diesem Fall das Testergebnis des Testprogramms (das Ergebnis, wenn der Programmausführtest des Zweit-Level-Programms ausgeführt wird) nicht länger mit dem Erwartungswert zusammen, und das dritte Unterbrechungssignal wird durch das Fehlererfassungsprogramm und die Hardwareschaltung ausgegeben. Daher kann die fehlerhafte Regelung durch das dritte Unterbrechungssignal verhindert werden.
  • Wie es oben beschrieben ist, kann die elektronische Fahrzeugregelungseinheit gemäß der vorliegenden Erfindung die Regelungszuverlässigkeit erhöhen, indem sie in dem Mikrocomputer eine zu einer Funktion des Überwachungsmoduls äquivalente Funktion mit Hilfe des Fehlererfassungsprogramms und der Hardwareschaltung realisiert.
  • Die Funktion, die derjenigen des in dem Mikrocomputer integrierten Überwachungsmoduls äquivalent ist, stellt eine Beziehung zwischen dem Überwachungsmodul und einer Auflösung her. Daher kann das ASIL (Automotive Safety Integrity Level), dem das Überwachungsmodul genügen muss, herabgesetzt werden. Demzufolge kann zum Beispiel in einem Fall, in dem das Überwachungsmodul ein von dem Mikrocomputer, der die Regelung durchführt, verschiedener Sub-Mikrocomputer ist, da das ASIL herabgesetzt ist, eine Laufzeitüberprüfung (eine während des Betriebs der Einheit periodisch durchgeführte Überprüfung) unter hoher Last für das ROM, das RAM, Anweisungen und eine Ablaufüberprüfung in dem Sub-Mikrocomputer weggelassen werden.
  • Die oben genannten und weitere Ziele, Merkmale und Vorteile der vorliegenden Erfindung werden ersichtlich aus der nachfolgenden ausführlichen Beschreibung mit Bezug auf die beigefügten Zeichnungen. In den Zeichnungen ist:
  • 1 ein Diagramm, das eine Konfiguration einer elektronischen Fahrzeugregelungseinheit (ECU) gemäß einer ersten Ausführungsform zeigt;
  • 2 ein Diagramm, das zur Beschreibung eines Mikrocomputer-Überwachungsprogramms und einer Überwachungs-IC verwendet wird;
  • 3 ein Diagramm, das zur Beschreibung von Benachrichtigungsdaten, Erwartete Summenwerten und Einstellwerten verwendet wird;
  • 4 ein Flussdiagramm, das eine Unterbrechungssignal-Diagnoseverarbeitung zeigt;
  • 5 ein Diagramm, das eine Konfiguration einer Compare-Match-Timer-Schaltung gemäß einer zweiten Ausführungsform zeigt; und
  • 6 ein Flussdiagramm, das eine Verarbeitung durch ein Fehlererfassungsprogramm gemäß der zweiten Ausführungsform zeigt.
  • Oben ist der ASIL bezüglich eines Hardwarefehlers in dem Mikrocomputer und des Überwachungsmoduls beschrieben worden, wobei ein Ereignis unbeachtet geblieben ist, wonach das Zweit-Level-Programm durch das Erst-Level-Programm, das einen Bug aufweist, gestört wird.
  • Die genannte Störung bezieht sich auf ein Phänomen, wonach Daten in einem RAM, auf die das Zweit-Level-Programm zugreift, neu geschrieben werden, was kein Hardwarefehler ist. Daher kann nicht gesagt werden, dass in dem Mikrocomputer ein Fehler durch einen Bug in dem Erst-Level-Programm und ein Fehler in dem Überwachungsmodul in demselben Fahrzyklus überhaupt nicht auftreten.
  • Der Erfinder hat somit gefunden, dass die Zuverlässigkeit weiter verbessert werden kann, indem eine elektronische Regelungseinheit für den schlimmsten Fall entwickelt wird, der darin besteht, dass in demselben Fahrzyklus in dem Erst-Level-Programm ein Programmfehler und in dem Überwachungsmodul ein Hardwarefehler auftritt, da es nicht bekannt ist, wann ein Bug in dem Erst-Level-Programm vorhanden ist.
  • Nachfolgend sind elektronische Fahrzeugregelungseinheiten (nachfolgend als ECU(s) abgekürzt) gemäß den hierin offenbarten Ausführungsform beschrieben.
  • (Erste Ausführungsform)
  • Wie es in 1 gezeigt ist, ist eine ECU 11 einer ersten Ausführungsform eine Einheit, die wenigstens eine elektronische Drossel 13 regelt bzw. steuert.
  • Das elektronische Drossel 13 umfasst ein Drosselventil 15 zum Einstellen einer in einen Verbrennungsmotor eines Fahrzeugs anzusaugenden Luftmenge und einen Motor 17, der als Aktor zum Bewegen des Drosselventils 15 dient, wobei das Drosselventil 15 und der Motor 17 in einer Einheit kombiniert sind. Die ECU 11 stellt eine Position (Öffnung) des Drosselventils 15 durch Steuern des Motors 17 ein. Die elektronische Drossel 13 ist so ausgelegt, dass, wenn die Steuerung des Motors 17 gestoppt wird, eine Position des Drosselventils 15 zu einer bestimmten Position zurückkehrt. Die bestimmte Position ist zum Beispiel eine Position, bei der das Fahrzeug bei einer vorbestimmten Antriebsleistung (zum Beispiel Leerlauf) fahren kann.
  • Die ECU 11 umfasst einen Mikrocomputer 21 zum Steuern des Drosselventils 15 (der elektronischen Drossel 13) und eine Überwachungs-IC 23, die als Überwachungsmodul zum Überwachen einer Operation des Mikrocomputers 21 dient. Der Ausdruck ”zum Überwachen einer Operation des Mikrocomputers 21” bedeutet hier eine Überwachung (ein Beobachten) von normalen Funktionen von Komponenten des Mikrocomputers 21.
  • Der Mikrocomputer 21 umfasst eine CPU 25, die ein Programm ausführt, einen ROM 26, der den Programmlauf auf der CPU 25 speichert, einen RAM 27, der Berechnungsergebnisse der CPU 25 speichert, Eingangs- und Ausgangs(EIA)-Anschlüsse 28 und weitere intern Peripherieschaltungen (zum Beispiel einen A/D-Wandler, eine Schaltung, die ein pulsweitenmoduliertes Signal ausgibt und eine oben beschriebene Laufzeitüberwachungsschaltung 29).
  • Der ECU 11 zugeführte Signale umfassen wenigstens Signale von zwei Drosselpositionssensoren (TPS1 und TPS2) 31 und 32, die eine Position des Drosselventils 15 als eine Drosselöffnung erfassen, und Signale von zwei Beschleunigerpositionssensoren (APS1 und APS2) 33 und 34, die eine Betätigungsposition eines Gaspedal durch einen Fahrer des Fahrzeugs als einen Beschleunigerbetätigungsbetrag erfassen.
  • Ein Drosselpositionssensor (TPS1) 31 ist ein Hauptsensor, der eine Drosselöffnung erfasst, und der weitere Drosselpositionssensor (TPS2) 32 ist ein Subsensor, der zur Diagnose der Drosselpositionssensoren 31 und 32 verwendet wird. Ebenso ist der Beschleuniger-Positionssensor (APS1) 33 ein Hauptsensor, der einen Betrag einer Beschleunigerbetätigung erfasst, und der weitere Beschleuniger-Positionssensor (APS2) 34 ist ein Subsensor, der zur Diagnose der Beschleunigerpositionssensoren 33 und 34 verwendet wird.
  • Signale von den jeweiligen Sensoren 31 bis 34 werden über eine Eingangsschaltung (nicht gezeigt) der ECU 11 dem Mikrocomputer 21 zugeführt.
  • Das Programm, das auf dem Mikrocomputer 21 ausgeführt wird, insbesondere das in dem ROM 26 gespeicherte und auf der CPU 25 ausgeführte Programm, ist, wie es durch gepunktete Rahmen in 1 gezeigt ist, in ein Erst-Level-Programm 41, ein Zwei-Level-Programm 42 und einem Dritt-Level-Programm 43 unterteilt. Die Zweit-Level- und Dritt-Level-Programme 42 bzw. 43 sind zuverlässiger ausgelegte Programme als das Erst-Level-Programm 41.
  • Das Erst-Level-Programm 41 ist ein Programm zum Regeln eines Regelungsobjekts (nachfolgend das Drosselventil 15) und umfasst ein Regelungsbetrag-Berechnungsprogramm 41a zum Berechnen eines Regelungsbetrags des Drosselventils 15.
  • Das Regelungsbetrag-Berechnungsprogramm 41a berechnet eine Soll-Öffnung (Soll-Position) des Drosselventils aus einem durch den Beschleuniger-Positionssensor 33 erfassten Beschleunigerbetätigungsbetrag und gibt ein Steuersignal zum Steuern des Motors 17 aus, so dass eine durch den Drosselpositionssensor 31 erfasste Ist-Drosselöffnung mit der Soll-Öffnung übereinstimmt. Hier ist eine Operation, die unter Verwendung des Programms als Objekt beschrieben ist, eine durch den Mikrocomputer 21 durchgeführte Operation, die durch Ausführen des Programms auf der CPU 25 realisiert wird. Ferner wird das von dem Mikrocomputer 21 ausgegebene Steuersignal über eine nicht gezeigte Steuerschaltung, die als Ausgangsstufe dient, dem Motor 17 zugeführt.
  • Das Zweit-Level-Programm 42 ist ein Programm nicht nur zum Überwachen, ob eine Regelungsfunktion durch das Erst-Level-Programm 41 der Drosselventil 15 normal ist oder nicht, sondern auch zum Ausgeben eines ersten Interrupt- oder Unterbrechungssignals (nachfolgend als Unterbrechungssignal 1 bezeichnet), das die Regelungsfunktion deaktiviert, wenn bestimmt wird, dass die Regelungsfunktion fehlerhaft ist.
  • Das Zweit-Level-Programm 42 umfasst zum Beispiel, ein Programm 42a zum Berechnen eines erlaubten Drehmoments, ein Programm 42b zum Berechnen eines geschätzten Drehmoments, Diagnoseprogramme 42c und 42d und ein Fehlerbewältigungsprogramm 42e.
  • Das Programm 42a zum Berechnen eines erlaubten Drehmoments berechnet ein erlaubtes Drehmoment des Verbrennungsmotors aus einem durch den Beschleuniger-Positionssensor 33 erfassten Beschleuniger-Betätigungsbetrag. Das erlaubte Drehmoment ist äquivalent zu einem Höchstwert eines Ausgangsmoments des Verbrennungsmotors, der bei einem Beschleuniger-Betätigungsbetrag angenommen werden kann.
  • Das Programm 42b zum Berechnen eines geschätzten Drehmoments berechnet ein geschätztes Drehmoment, das ein Schätzwert eines momentan durch den Verbrennungsmotor erzeugten Drehmoments ist, aus einer durch den Drosselpositionssensor 31 erfassten Drosselöffnung.
  • Das Diagnoseprogramm 42c vergleicht das durch das Programm 42a zum Berechnen eines erlaubten Drehmoments berechnete erlaubte Drehmoment mit dem durch das Programm 42b zum Berechnen eines geschätzten Drehmoments berechnete geschätzte Drehmoment und bestimmt einen Fehler (die Regelungsfunktion ist fehlerhaft), wenn das geschätzte Drehmoment um mindestens einen vorbestimmten Wert höher als das erlaubte Drehmoment ist. Kurz, ein Diagnoseergebnis der Regelungsfunktion wird als ”fehlerhaft” bezeichnet.
  • Das Diagnoseprogramm 42d ist ein Programm zum Erstellen einer Diagnose von in der Regelung verwendeten Eingangssignalen wie etwa Signalen von den Drosselpositionssensoren 31 und 32 und den Beschleunigerpositionssensoren 33 und 34.
  • Zum Beispiel vergleicht die Diagnoseprogramm 42d Erfassungswerte der zwei Drosselpositionssensoren 31 und 32 und bestimmt einen Fehler, wenn eine Differenz zwischen den zwei Erfassungswerten gleich groß wie oder größer als ein vorbestimmter Wert ist. Ebenso vergleicht das Diagnoseprogramm 42d Erfassungswerte der zwei Beschleunigerpositionssensoren 33 und 34 und bestimmt einen Fehler, wenn eine Differenz zwischen den zwei Erfassungswerten gleich groß wie oder größer als ein vorbestimmter Wert ist.
  • Diagnoseergebnisse der Diagnoseprogramme 42c und 42d werden an das Fehlerbewältigungsprogramm 42e gegeben. Das Fehlerbewältigungsprogramm 42e gibt das Unterbrechungssignal 1 aus, wenn eines der Diagnoseergebnisse der Diagnoseprogramme 42c und 42d ”fehlerhaft” angibt.
  • Das Unterbrechungssignal 1 von dem Mikrocomputer 21 wird der elektronischen Drossel 13 zugeführt. Die elektronische Drossel 13 ist so ausgelegt, dass das Steuern des Motors 17 bei einer Zuführung des Unterbrechungssignals 1 zwangsweise gestoppt wird.
  • Wenn das Unterbrechungssignal 1 von dem Mikrocomputer 21 ausgegeben wird, wird die Regelungsfunktion durch das Erst-Level-Programm 41 deaktiviert. Eine Position des Drosselventils 15 kehrt somit zu der oben beschriebenen bestimmten Position zurück und eine Antriebsleistung ist begrenzt. Alternativ kann die Steuerung des Motors 17 zwangsweise gestoppt werden, wenn das Unterbrechungssignal 1 von dem Mikrocomputer 21 zum Beispiel der oben genannten Steuerschaltung (Ausgangsstufe) in der ECU 11 zugeführt wird. Ferner kann vorgesehen sein, die Stromversorgung des Motors 17 zu unterbrechen, wenn das Unterbrechungssignal 1 von dem Mikrocomputer 21 ausgegeben wird.
  • Das Dritt-Level-Programm 43 umfasst ein Mikrocomputer-Überwachungsprogramm 43a als ein Testprogramm zum Durchführen eines Programmausführtests (nachfolgend auch einfach als „Test” bezeichnet) des Zweit-Level-Programms 42 und Ausgeben eines Testergebnisses an die Überwachungs-IC 23.
  • Ein Inhalt des Mikrocomputer-Überwachungsprogramms 43a ist nachfolgend mit Bezug auf 2 beschrieben. Die Beschreibung erfolgt unter der Annahme, dass ein einem Programmausführtest unterzogenes Programm ein Drehmoment-Überwachungsprogramm 51 ist, das aus dem Programm 42a zum Berechnen eines erlaubten Drehmoments, dem Programm 42b zum Berechnen eines geschätzten Drehmoments und dem Diagnoseprogramm 42c von den in dem Zwei-Level-Programm 42 enthaltenen Programmen besteht.
  • Wie es in 2 gezeigt ist, werden durch die Sensoren erfasste Steuerdaten (hier ein durch den Beschleuniger-Positionssensor 33 erfasster Beschleuniger-Betätigungsbetrag und eine durch den Drosselpositionssensor 31 erfasste Drosselöffnung) normalerweise dem Drehmoment-Überwachungsprogramm 51 als Eingangsdaten, die zur Berechnung des erlaubten Drehmoments und des geschätzten Drehmoments verwendet werden, eingegeben.
  • In dieser Ausführungsform werden Programmausführtests in Abständen von einer bestimmten Zeit T (z. B. 32 ms), jeweils zu einem so genannten Testzeitpunkt, durchgeführt. Daher werden zu den Testzeitpunkten jeweils Testdaten, so genannte Programmausführtestdaten, dem Drehmoment-Überwachungsprogramm 51 als die Eingangsdaten statt der Steuerdaten zugeführt. Ein Wechseln der Eingangsdaten wie oben beschrieben wird durch das Mikrocomputer-Überwachungsprogramm 43a durchgeführt. Eine Zeitspanne, während der ein Programmausführtest jeweils nach der bestimmten Zeit T durchgeführt wird, ist als die Testzeitspanne bezeichnet.
  • Das Mikrocomputer-Überwachungsprogramm 43a vergleicht in einem Vergleichabschnitt 53 ein Berechnungsergebnis des Drehmoment-Überwachungsprogramms 51, nachdem die Testdaten in das Drehmoment-Überwachungsprogramm 51 eingegeben worden sind (hier ein Diagnoseergebnis des Diagnoseprogramms 42c) mit einem Erwartungswert des Berechnungsergebnisses. Die Testdaten und korrespondierende Erwartungswerte werden zuvor im ROM 26 gespeichert und ausgewählt.
  • Der Vergleichabschnitt 53 gibt ”1” aus, was ”korrekt” als das Testergebnis bedeutet, wenn das Berechnungsergebnis des Drehmoment-Überwachungsprogramms 51 und der Erwartungswert miteinander übereinstimmen. Umgekehrt gibt der Vergleichabschnitt 53 ”0” aus, was einen ”Fehler” bedeutet, als das Testergebnis aus, wenn das Berechnungsergebnis und der Erwartungswert verschieden sind.
  • Das Mikrocomputer-Überwachungsprogramm 43a umfasst einen Zyklenzähler 55, der bei jeder der oben beschriebenen bestimmten Zeitspannen T hochzählt, und einen Testdatenwechselabschnitt 57.
  • Ein Wert des Zyklenzählers 55 (nachfolgend als Zyklenzählerwert bezeichnet) kehrt von drei nach eins zurück. Der Zyklenzählerwert ändert sich daher wie folgt: 1 → 2 → 3 → 1 → 2 → 3 ..., und so weiter.
  • Wenn der Zyklenzählerwert ”1” oder ”2” beträgt, gibt der Testdatenwechselabschnitt 57 T-Testdaten als die Testdaten in das Drehmoment-Überwachungsprogramm 51 ein. Wenn der Zyklenzählerwert ”3” beträgt, gibt der Testdatenwechselabschnitt 57 F-Testdaten als die Testdaten in das Drehmoment-Überwachungsprogramm 51 ein.
  • Die T-Testdaten sind Testdaten für einen Programmausführtest (nachfolgend als der Richtig-Erwartungs-Programmausführtest bezeichnet), bei dem ”1” als Testergebnis von dem Vergleichabschnitt 53 erwartet wird, und sind Testdaten, von denen erwartet wird, ein Berechnungsergebnis zu erhalten, das gleich dem Erwartungswert ist, der als Berechnungsergebnis des Drehmoment-Überwachungsprogramms 51 in dem Vergleichabschnitt 53 verglichen wird. Daher gibt, wenn die T-Testdaten dem Drehmoment-Überwachungsprogramm 51 eingegeben werden, der Vergleichabschnitt 53 normalerweise ”1” aus. Hier steht ”T” in den T-Testdaten für ”wahr” (englisch „true”).
  • Demgegenüber sind die F-Testdaten Testdaten für einen Programmausführtest (nachfolgend als Fehler-Erwartungs-Programmausführtest bezeichnet), bei dem ”0” als Testergebnis von dem Vergleichabschnitt 53 erwartet wird, und sind Testdaten, von denen erwartet wird, das von dem Erwartungswert abweicht, der als Berechnungsergebnis des Drehmoment-Überwachungsprogramms 51 in dem Vergleichabschnitt 53 verglichen wird. Daher gibt, wenn der Zyklenzählerwert drei ist und die F-Testdaten in das Drehmoment-Überwachungsprogramm 51 eingegeben werden, der Vergleichabschnitt 53 normalerweise ”0” aus. Hier steht ”F” in den F-Testdaten für ”falsch” (englisch „false”). Ein Fehler-Erwartungs-Programmausführtest, der die F-Testdaten wie oben beschrieben verwendet, wird mit der Absicht durchgeführt, einen Fehler zu erfassen, wenn ein Testergebnis von dem Vergleichabschnitt 53 auf ”1” festgelegt ist.
  • In dieser Ausführungsform werden Programmausführtests mehrerer Typen unter Verwendung von unterschiedlichen Typen von Testdaten für ein Programm durchgeführt, dass in jeder Testzeitspanne einem Programmausführtest unterzogen wird. Zu diesem Zweck werden unterschiedliche Typen von Testdaten für jeweilige Typen von Programmausführtests erzeugt. Typen von Programmausführtests werden durch Test-IDs als Identifizierungsinformation der Programmausführtests identifiziert. Die nachfolgende Beschreibung erfolgt unter der Annahme, dass zum Beispiel zwei Typen von Programmausführtests, identifiziert durch ”Test-ID = 0” und ”Test-ID = 1”, durchgeführt werden.
  • Zum Beispiel werden in dem Programmausführtest mit der ”Test-ID = 0” von den Richtig-Erwartungs-Programmausführtests, die die T-Testdaten verwenden (das heißt, Programmausführtests, bei denen der Zyklenzählerwert eins oder zwei ist), Testdaten A dem Drehmoment-Überwachungsprogramm 51 als die T-Testdaten zugeführt. Ein Berechnungsergebnis des Drehmoment-Überwachungsprogramms 51 und ein zu den Testdaten A korrespondierender Erwartungswert werden in dem Vergleichabschnitt 53 verglichen. In dem Programmausführtest mit der ”Test-ID = 1” werden Testdaten B dem Drehmoment-Überwachungsprogramm 51 als die T-Testdaten zugeführt und ein Berechnungsergebnis des Drehmoment-Überwachungsprogramms 51 und ein Erwartungswert, der zu den Testdaten B korrespondiert, werden in dem Vergleichabschnitt 53 verglichen. Ebenso werden in den Fehler-Erwartungs-Programmausführtests, die die F-Testdaten verwenden, unterschiedliche Typen der F-Testdaten dem Drehmoment-Überwachungsprogramm 51 für die jeweiligen Test-Ids zugeführt.
  • Das Mikrocomputer-Überwachungsprogramm 43a umfasst ferner einen Übertragungsdaten-Syntheseabschnitt 59.
  • Der Übertragungsdaten-Syntheseabschnitt 59 erzeugt Daten, die sowohl die Test-ID des durchgeführten Programmausführtests als auch ein von dem Vergleichabschnitt 53 für diesen Programmausführtest ausgegebenes Testergebnis enthalten, als Benachrichtigungsdaten, und gibt die erzeugten Benachrichtigungsdaten an die Überwachungs-IC 23 aus. In dem Mikrocomputer 21 sind die Benachrichtigungsdaten die Daten zur Information der Überwachungs-IC 23 über die Testergebnisse und sind ferner eine Testantwort von dem Mikrocomputer 21 an die Überwachungs-IC 23. Die Benachrichtigungsdaten werden, zum Beispiel durch serielle Kommunikation über eine Kommunikationsleitung, von dem Mikrocomputer 21 zu der Überwachungs-IC 23 übertragen.
  • Zum Beispiel sind in dieser Ausführungsform sowohl die Test-ID als auch das Testergebnis 4-Bit-Daten. Daher erzeugt der Übertragungsdaten-Syntheseabschnitt 59 8-Bit-Daten, die aus dem Test-Id als vier Bits höherer Ordnung und dem Testergebnis als vier Bits niedrigerer Ordnung als die Benachrichtigungsdaten aufgebaut sind.
  • Wenn die Benachrichtigungsdaten durch den Programmausführtest mit der ”Test-ID = 0” von den weiteren besonders hervorgehoben werden soll, werden die Benachrichtigungsdaten als die Benachrichtigungsdaten 0 bezeichnet. Ferner werden, wenn die Benachrichtigungsdaten durch den Programmausführtest mit der ”Test-ID = 1” von den weiteren besonders verschieden sind, die Benachrichtigungsdaten als die Benachrichtigungsdaten 1 bezeichnet. Die Benachrichtigungsdaten 0 und die Benachrichtigungsdaten 1 sind normal so, wie es in 3 gezeigt ist. In 3 und der nachfolgenden Beschreibung bedeutet ”0x”, dass das folgende 2-stellige alphanumerische Zeichen (0 und 1 im Fall von 3) hexadezimal ist. Insbesondere, wie es in der ersten bis dritten Reihe in 3 erläutert ist, ist, wenn der Zyklenzählerwert eins oder zwei ist, ein Testergebnis von dem Vergleichabschnitt 53 normalerweise ”1”. Daher sind die Benachrichtigungsdaten 0 [0x01] und die Benachrichtigungsdaten 1 sind [0x11]. Ferner ist, wenn der Zyklenzählerwert drei ist, ein Testergebnis von dem Vergleichabschnitt 53 normalerweise ”0”. Daher sind die Benachrichtigungsdaten 0 [0x00] und die Benachrichtigungsdaten 1 [0x10].
  • Der Übertragungsdaten-Syntheseabschnitt 59 gibt kontinuierlich die Benachrichtigungsdaten 0 und die Benachrichtigungsdaten 1, die er erzeugt hat, an die Überwachungs-IC 23 aus. Es sollte beachtet werden, dass jeder von dem Vergleichabschnitt 53, dem Testdatenwechselabschnitt 57 und dem Übertragungsdaten-Syntheseabschnitt 59 ein Teil des Mikrocomputer-Überwachungsprogramms 43a ist.
  • Die Überwachungs-IC 23 umfasst eine Fehlererfassungsschaltung 23a, die bestimmt, ob das in den Benachrichtigungsdaten von dem Mikrocomputer 21 enthaltene Testergebnis und ein Erwartungswert des Testergebnisses übereinstimmen, und eine Ausgangsschaltung 23b, die ein zweites Unterbrechungssignal (nachfolgend als das Unterbrechungssignal 2 bezeichnet) ausgibt, das die Regelungsfunktion durch das Erst-Level-Programm 41 des Drosselventils 15 deaktiviert, wenn durch die Fehlererfassungsschaltung 23a erfasst wird, dass das Testergebnis und der Erwartungswert nicht übereinstimmen.
  • Die Fehlererfassungsschaltung 23a bestimmt, ob die zu diesem Zeitpunkt empfangenen Benachrichtigungsdaten durch den Richtig-Erwartungs-Programmausführtest oder den Fehler-Erwartungs-Programmausführtest erzeugt werden, zum Beispiel durch Zählen der Häufigkeit, mit der die Benachrichtigungsdaten (die Benachrichtigungsdaten 0 und die Benachrichtigungsdaten 1) von dem Mikrocomputer 21 empfangen werden, seit eine Operation gestartet worden ist.
  • Bei der Bestimmung, dass die empfangenen Benachrichtigungsdaten durch den Richtig-Erwartungs-Programmausführtest erzeugt werden, bestimmt die Fehlererfassungsschaltung 23a, ob die empfangenen Benachrichtigungsdaten 0 [0x01] sind und die empfangenen Benachrichtigungsdaten 1 [0x11] sind. Wenn die empfangenen Benachrichtigungsdaten 0 nicht [0x01] sind oder die empfangenen Benachrichtigungsdaten 1 nicht [0x11] sind, bestimmt die Fehlererfassungsschaltung 23a, dass das Testergebnis von dem Mikrocomputer 21 vom Erwartungswert abweicht. Ferner bestimmt die Fehlererfassungsschaltung 23a bei der Bestimmung, dass die empfangenen Benachrichtigungsdaten durch den Fehler-Erwartungs-Programmausführtest erzeugt werden, ob die empfangenen Benachrichtigungsdaten 0 [0x00] sind und die empfangenen Benachrichtigungsdaten 1 [0x10] sind. Wenn die empfangenen Benachrichtigungsdaten 0 nicht [0x00] sind oder die empfangenen Benachrichtigungsdaten 1 nicht [0x10] sind, bestimmt die Fehlererfassungsschaltung 23a, dass das Testergebnis von dem Mikrocomputer 21 von dem Erwartungswert abweicht.
  • Hier vergleicht die Fehlererfassungsschaltung 23a die Benachrichtigungsdaten in Einheiten der Benachrichtigungsdaten 0 oder 1 mit dem Erwartungswert (mit anderen Worten, die Test-IDs werden ebenfalls mit den entsprechenden Erwartungswerten verglichen). Es ist jedoch klar, dass ein Abschnitt des Testergebnisses (die vier Bits niedrigerer Ordnung) von den Benachrichtigungsdaten 0 oder 1 extrahiert und mit dem entsprechenden Erwartungswert verglichen wird.
  • Wenn die Fehlererfassungsschaltung 23a auf diese Weise einen Unterschied zwischen dem Testergebnis von dem Mikrocomputer 21 und dem Erwartungswert erfasst, gibt die Ausgangsschaltung 23b das Unterbrechungssignal 2 aus. Wenn der Mikrocomputer 21 die Benachrichtigungsdaten nicht innerhalb einer vorbestimmten Zeitspanne, die länger als die Testzeitspanne ist, überträgt, veranlasst die Fehlererfassungsschaltung 23a zudem, dass die Ausgangsschaltung 23b das Unterbrechungssignal 2 ausgibt.
  • Alternativ kann die Fehlererfassungsschaltung 23a zum Beispiel Erwartete Summenwerte speichern, welches Normalwerte von Summenwerten (8-Bit-Additionswerte) der Benachrichtigungsdaten 0 und der Benachrichtigungsdaten 1 sind, wie es in der vierten Zeile von 3 dargestellt ist. In diesem Fall bestimmt die Fehlererfassungsschaltung 23a bei der Bestimmung, dass die empfangenen Benachrichtigungsdaten durch den Richtig-Erwartungs-Programmausführtest erzeugt werden, ob ein Summenwert aus den empfangenen Benachrichtigungsdaten 0 und den Benachrichtigungsdaten 1 und der Erwartete Summenwert [0x00] übereinstimmen. Wenn die zwei Werte verschieden sind, kann die Fehlererfassungsschaltung 23a bestimmen, dass das Testergebnis und der Erwartungswert verschieden sind. Ferner bestimmt die Fehlererfassungsschaltung 23a bei der Bestimmung, dass die empfangenen Benachrichtigungsdaten durch den Fehler-Erwartungs-Programmausführtest erzeugt werden, ob ein Summenwert aus den empfangenen Benachrichtigungsdaten 0 und den Benachrichtigungsdaten 1 und der Erwartete Summenwert [0x10] übereinstimmen. Wenn die zwei Werte verschieden sind, kann die Fehlererfassungsschaltung 23a bestimmen, dass das Testergebnis und der Erwartungswert verschieden sind.
  • Ferner kann die Fehlererfassungsschaltung 23a bestimmen, ob das Testergebnis und der Erwartungswert übereinstimmen oder nicht, und zwar zum Beispiel durch Bestimmen, ob die Benachrichtigungsdaten 0 und die Benachrichtigungsdaten 1, die von dem Mikrocomputer 21 in jeder Testzeitspanne gesendet werden, in einem sich periodisch wiederholenden Muster: ”[0x01] und [0x11]” → ”[0x01] und [0x11]” → ”[0x00] und [0x10]” → ..., und so weiter ändern. Es ist klar, dass, wenn sich die Benachrichtigungsdaten 0 und die Benachrichtigungsdaten 1 nicht entsprechend dem sich periodisch wiederholenden Muster ändern, das Testergebnis und der Erwartungswert verschieden sind.
  • Kurz, eine durch die Fehlererfassungsschaltung 23a durchgeführte Verarbeitung kann auf jede beliebige Weise durchgeführt werden, solange ein Unterschied zwischen dem Testergebnis von dem Mikrocomputer 21 und dem entsprechenden Erwartungswert erfasst werden kann.
  • Wie es in 1 gezeigt ist, wird das von der Ausgangsschaltung 23b in der Überwachungs-IC 23 ausgegebene Unterbrechungssignal 2 ebenso wie das Unterbrechungssignal 1 der elektronischen Drossel 13 zugeführt. Die elektronische Drossel 13 ist so ausgelegt, dass das Steuern des Motors 17 auch bei der Zuführung des Unterbrechungssignals 2 zwangsweise gestoppt wird. Daher kehrt auch eine Position des Drosselventils 15 zu der oben beschriebenen bestimmten Position zurück und ist eine Motorleistung begrenzt, wenn das Unterbrechungssignal 2 von der Überwachungs-IC 23 ausgegeben wird. Alternativ kann vorgesehen sein, das Steuern des Motors 17 zwangsweise zu stoppen, wenn das Unterbrechungssignal 2 von der Überwachungs-IC 23 zum Beispiel der oben beschriebenen Steuerschaltung (Ausgangsstufe) in der ECU 11 zugeführt wird. Ferner kann vorgesehen sein, die Stromversorgung zu dem Motor 17 zu unterbrechen, wenn das Unterbrechungssignal 2 von der Überwachungs-IC 23 ausgegeben wird.
  • Der Mikrocomputer 21 umfasst ferner eine Vorrichtung zum Durchführen einer gleichen Funktion wie eine Funktion der Überwachungs-ICs 23. Die Vorrichtung in dem Mikrocomputer 21 ist, wie es in 1 gezeigt ist, das Fehlererfassungsprogramm 43b, das einen Teil des Dritt-Level-Programms 43 bildet, und die Laufzeitüberwachungsschaltung 29.
  • Das Fehlererfassungsprogramm 43b ist ein Programm, das die Laufzeitüberwachungsschaltung 29 veranlasst, ein drittes Unterbrechungssignal (nachfolgend als das Unterbrechungssignal 3 bezeichnet) auszugeben, wenn ein Testergebnis des Mikrocomputer-Überwachungsprogramms 43a von einem Erwartungswert des Testergebnisses abweicht. Das Fehlererfassungsprogramm 43b ist weiter unten ausführlicher beschrieben.
  • Wie es gezeigt ist in 1, ist das Unterbrechungssignal 3 auch ein Signal, das die Regelungsfunktion durch das Erst-Level-Programm 41 deaktiviert und ebenso wie das Unterbrechungssignal 1 und das Unterbrechungssignal 2 der elektronischen Drossel 13 zugeführt wird. Das elektronische Drossel 13 ist so ausgelegt, dass das Steuern des Motors 17 auch bei der Zuführung des Unterbrechungssignals 3 zwangsweise gestoppt wird. Daher kehrt eine Position des Drosselventils 15 ebenfalls zu der oben beschriebenen bestimmten Position zurück und ist eine Motorleistung ist begrenzt, wenn das Unterbrechungssignal 3 von dem Mikrocomputer 21 ausgegebene wird. Alternativ kann vorgesehen sein, dass das Steuern des Motors 17 zwangsweise gestoppt wird, wenn das Unterbrechungssignal 3 von dem Mikrocomputer 21 zum Beispiel der oben beschriebenen Steuerschaltung (Ausgangsstufe) in der ECU 11 zugeführt wird. Ferner kann vorgesehen sein, dass eine Zuführung der Stromversorgung zu dem Motor 17 unterbrochen wird, wenn das Unterbrechungssignal 3 von dem Mikrocomputer 21 ausgegeben wird.
  • Die Laufzeitüberwachungsschaltung 29 umfasst einen Zähler 29a, der in Abständen von einer bestimmten Zeit entsprechend einem inneren Takt- oder Zeitgeber des Mikrocomputers 21 hochzählt. Wenn ein Wert des Zählers 29a einen bestimmten Wert N (zum Beispiel einen Höchstwert oder 0, welches ein auf den Höchstwert folgender Wert ist) als Ergebnis der Hochzähloperation erreicht, gibt die Laufzeitüberwachungsschaltung 29 das Unterbrechungssignal 3 von einem vorbestimmten Ausgangsanschluss oder Ausgangsport (irgendeiner von den Eingangs- und Ausgangsanschlüssen 28) des Mikrocomputer 21 aus. Ferner kann die Laufzeitüberwachungsschaltung 29 einen Wert in den Zähler 29a schreiben, wenn ein regulärer Schlüsselcode vorliegt. Mit anderen Worten, die Laufzeitüberwachungsschaltung 29 ist so ausgelegt, dass kein Schreibzugriff auf den Zähler 29a besteht, solange nicht ein regulärer Schlüsselcode (in dieser Ausführungsform zum Beispiel 8-Bit [0x5A]) vorliegt.
  • Nachfolgend ist das Fehlererfassungsprogramm 43b beschrieben.
  • Das Fehlererfassungsprogramm 43b erzeugt einen Schlüsselcode, der es der Laufzeitüberwachungsschaltung 29 erlaubt, einen Schreibzugriff auf den Zähler 29a zu haben, indem es jedes Mal, wenn die Benachrichtigungsdaten 0 und die Benachrichtigungsdaten 1, die oben beschrieben sind, durch den Übertragungsdaten-Syntheseabschnitt 59 des Mikrocomputer-Überwachungsprogramms 43a erzeugt werden, eine durch die unten stehende Gleichung (1) ausgedrückte Berechnung durchführt. Schlüsselcode = ”Summenwert” + ”Zyklenzählerwert” + ”Einstellwert [Zyklenzählerwert]” (1)
  • Der ”Summenwert” in Gleichung (1) ist ein Summenwert der Benachrichtigungsdaten 0 und der Benachrichtigungsdaten 1, der zu diesem Zeitpunkt durch den Übertragungsdaten-Syntheseabschnitt 59 erzeugt wird.
  • Ferner ist der ”Zyklenzählerwert” in Gleichung (1) ein Zyklenzählerwert zum momentanen Zeitpunkt.
  • Ferner ist der ”Einstellwert [Zyklenzählerwert]” in Gleichung (1) ein Wert, der dem Zyklenzählerwert entspricht, der im Voraus in Übereinstimmung mit der nachstehenden Gleichung (2) berechnet und in dem ROM 26 gespeichert wird. Einstellwert [Zyklenzählerwert] = ”regulärer Schlüsselcode” – ”Erwartete Summenwert (vgl. die vierte Zeile von Fig. 3) als Normalwert eines Summenwerts der Benachrichtigungsdaten 0 und der Benachrichtigungsdaten 1 zum Testzeitpunkt entsprechend dem Zyklenzählerwert” – ”Zyklenzählerwert” (2)
  • Mit anderen Worten, der Einstellwert [Zyklenzählerwert] ist ein Wert, der durch Subtraktion des Erwartete Summenwerts zum Testzeitpunkt entsprechend dem Zyklenzählerwert von dem regulären Schlüsselcode [0x5A] und ferner durch Subtrahieren des Zyklenzählerwerts von der Differenz gefunden wird. In diesem Fall ist der Einstellwert [Zyklenzählerwert] durch die Werte der fünften Zeile von 3 gegeben.
  • Die obige Gleichung (1) ist eine Formel, deren Berechnungsergebnis als der reguläre Schlüsselcode nur dann verwendet wird, wenn ein Summenwert der Benachrichtigungsdaten 0 und der Benachrichtigungsdaten 1, erzeugt durch den Übertragungsdaten-Syntheseabschnitt 59, mit dem Erwartete Summenwert identisch ist, welcher ein Erwartungswert des Summenwerts ist. Demzufolge ist die obige Gleichung (1) eine Formel, deren Berechnungsergebnis nur dann als der reguläre Schlüsselcode verwendet wird, wenn ein Testergebnis (ein von dem Vergleichabschnitt 53 ausgegebenes Testergebnis) des Mikrocomputer-Überwachungsprogramms 43a mit einem Erwartungswert dieses Testergebnisses übereinstimmt. Der Erwartungswert des Testergebnisses ist ”1”, wenn der Zyklenzählerwert eins oder zwei ist, und ”0”, wenn der Zyklenzählerwert drei ist. Daher wird der reguläre Schlüsselcode in Übereinstimmung mit der obigen Gleichung (1) nur dann erzeugt, wenn das Testergebnis korrekt ist.
  • Anschließend gibt das Fehlererfassungsprogramm 43b den durch die obige Gleichung (1) berechneten Schlüsselcode an die Laufzeitüberwachungsschaltung 29, so dass ein Voreinstellungswert, der von dem Höchstwert verschieden ist, in den Zähler 29a geschrieben wird. Der Voreinstellungswert ist ein Wert, mit dem eine Zeit, die erforderlich ist, damit ein Wert des Zählers 29a ausgehend von dem Voreinstellungswert einen bestimmten Wert N erreicht, ausreichend länger als die Testzeitspanne wird (dies ist ebenso eine Zeitspanne, während der das Fehlererfassungsprogramm 43b versucht, den Voreinstellungswert in den Zähler 29a zu schreiben).
  • Daher wird, wenn das Testergebnis des Mikrocomputer-Überwachungsprogramm 43a mit dem Erwartungswert dieses Testergebnisses übereinstimmt, der reguläre Schlüsselcode an die Laufzeitüberwachungsschaltung 29 gegeben und der Voreinstellungswert in den Zähler 29a geschrieben. Demzufolge wird eine Ausgabe des Unterbrechungssignals 3 unterdrückt. Umgekehrt wird, wenn das Testergebnis und der Erwartungswert verschieden sind oder das Testergebnis nicht aktualisiert ist, der reguläre Schlüsselcode nicht an die Laufzeitüberwachungsschaltung 29 gegeben, so dass der Voreinstellungswert nicht in den Zähler 29a geschrieben wird. Daher wird das Unterbrechungssignal 3 schließlich durch die Laufzeitüberwachungsschaltung 29 ausgegeben.
  • Wie es oben beschrieben ist, ist das Fehlererfassungsprogramm 43b ein Programm zum Verhindern einer Ausgabe des Unterbrechungssignals 3, wenn das Testergebnis und der Erwartungswert übereinstimmen, indem der reguläre Schlüsselcode an die Laufzeitüberwachungsschaltung 29 gegeben wird und dadurch ein von dem bestimmten Wert N verschiedener Voreinstellungswert in den Zähler 29a geschrieben wird, und zum Erlauben einer Ausgabe des Unterbrechungssignals 3, wenn das Testergebnis und der Erwartungswert nicht übereinstimmen, indem der reguläre Schlüsselcode von der Laufzeitüberwachungsschaltung 29 zurückgehalten wird.
  • Gemäß der oben beschriebenen ECU 11 wird zum Beispiel im Falle eines Fehlers der Regelungsfunktion durch das Erst-Level-Programm 41 das Unterbrechungssignal 1 durch das Zweit-Level-Programm 42 ausgegeben, so dass die fehlerhafte Regelungsfunktion deaktiviert werden kann.
  • Bei einem Ausfall infolge gemeinsamer Ursache, zum Beispiel, die das Erst-Level-Programm 41 und das Zweit-Level-Programm 42 gleichzeitig fehlerhaft werden lässt, oder wenn das Zweit-Level-Programm 42 durch das Erst-Level-Programme 41, das einen Bug aufweist, gestört wird, arbeiten das Mikrocomputer-Überwachungsprogramm 43a in dem Dritt-Level-Programm 43 und die Überwachungs-IC 23 zusammen und gewährleisten die Zuverlässigkeit.
  • Mit anderen Worten, in solchen Fällen stimmt das in Form der Benachrichtigungsdaten von dem Mikrocomputer 21 zu der Überwachungs-IC 23 durch das Mikrocomputer-Überwachungsprogramm 43a ausgegebene Testergebnis (das Ergebnis wenn ein Programmausführtest des Zweit-Level-Programms 42 durchgeführt wird) nicht länger mit dem Erwartungswert überein und die Überwachungs-IC 23 gibt das Unterbrechungssignal 2 aus. Das Unterbrechungssignal 2 deaktiviert die Regelungsfunktion durch das Erst-Level-Programm 41. Die fehlerhafte Regelung kann somit verhindert werden.
  • Ferner umfasst gemäß der ECU 11 der Mikrocomputer 21 die Laufzeitüberwachungsschaltung 29, die eine Hardwareschaltung zum Ausgeben des Unterbrechungssignals 3 ist und so ausgelegt ist, dass verhindert wird, eine Operation zum Ausgeben des Unterbrechungssignals 3 durch einen Bug in dem Erst-Level-Programm 41 verhindert wird. Wie es oben beschrieben ist, darf die Laufzeitüberwachungsschaltung 29 keinen Schreibzugriff auf den Zähler 29a haben, sofern nicht der reguläre Schlüsselcode vorliegt. Es wird daher davon ausgegangen, dass das Erst-Level-Programm 41, das einen Bug aufweist, den Wert des Zählers 29a nicht überschreibt, indem es den regulären Schlüsselcode an die Laufzeitüberwachungsschaltung 29 gibt (das heißt eine Ausgabe des Unterbrechungssignals 3 unterdrückt).
  • Das Dritt-Level-Programm 43 in dem Mikrocomputer 21 umfasst das Fehlererfassungsprogramm 43b, um das Laufzeitüberwachungsschaltung 29 zu veranlassen, das Unterbrechungssignal 3 auszugeben, wenn das Testergebnis des Mikrocomputer-Überwachungsprogramms 43a und ein Erwartungswert dieses Testergebnisses verschieden sind.
  • Daher kann die Zuverlässigkeit selbst dann gewährleistet werden, wenn ein Ereignis, wonach das Zweit-Level-Programm 42 durch das Erst-Level-Programm 41, das einen Bug aufweist, gestört wird (ein Ereignis, wonach das Zweit-Level-Programm 42 nicht fehlerfrei ausgeführt wird) und ein Hardwarefehler (ein Fehler, wonach das Unterbrechungssignal 2 nicht ausgegeben werden kann) in der Überwachungs-IC 23 in demselben Fahrzyklus auftritt.
  • Mit anderen Worten, es kann in diesem Fall nicht davon ausgegangen werden, dass auch in der Laufzeitüberwachungsschaltung 29, die eine interne Hardwareschaltung des Mikrocomputers 21 ist, ein Fahler auftritt. Daher stimmt in dem Mikrocomputer 21 in diesem Fall das Testergebnis des Mikrocomputer-Überwachungsprogramms 43a nicht länger mit dem Erwartungswert überein, und das Unterbrechungssignal 3 wird durch das Fehlererfassungsprogramm 43b und die Laufzeitüberwachungsschaltung 29 ausgegeben. Daher kann die fehlerhafte Regelung durch das Unterbrechungssignal 3 verhindert werden.
  • Der Fahrzyklus ist die Zeitspanne einer Fahrt des Fahrzeugs, und die ECU erkennt im Allgemeinen den Fahrzyklus als eine Zeitspanne von einem Zeitpunkt, zu dem das Fahrzeug in den Zündung-AN-Zustand geschaltet wird, bis zu einem Zeitpunkt, zu dem das Fahrzeug in einen Zündung-AUS-Zustand geschaltet wird, erstreckt. Der Zündung-AN-Zustand ist ein Zustand, in dem eine Batteriespannung einer Leitung einer Zündstromversorgung in dem Fahrzeug zugeführt wird, und ist allgemein ein Zustand, in dem ein Zündschalter des Fahrzeugs AN ist.
  • Wie es oben beschrieben ist, kann die ECU 11 dieser Ausführungsform mit Hilfe des Fehlererfassungsprogramms 43b und der Laufzeitüberwachungsschaltung 29 in dem Mikrocomputer 21 die Regelungszuverlässigkeit (und somit die Zuverlässigkeit des Regelungssystems) durch Verwirklichung einer Funktion erhöhen, die zu einer Funktion des Überwachungs-IC 23 äquivalent ist. Diese Ausführungsform berücksichtigt den Punkt, dass man davon ausgehen kann, dass Fehler in voneinander unabhängigen Hardwarekomponenten nicht in demselben Fahrzyklus auftreten, so dass in dem Mikrocomputer 21, statt die Laufzeitüberprüfung der Überwachungs-IC 23 durchzuführen, eine Funktion, die zu der einen der Überwachungs-IC 23 äquivalent ist, unter Verwendung einer Software und der Laufzeitüberwachungsschaltung 29 gebildet ist. Ferner wird, wenn ein korrektes Testergebnis in dem Mikrocomputer 21 nicht gewonnen werden kann oder das Testergebnis innerhalb einer bestimmten Zeitspanne nicht aktualisiert wird, das Unterbrechungssignal 3 durch die Hardwareschaltung (in diesem Fall die Laufzeitüberwachungsschaltung 29) in dem Mikrocomputer 21 ausgegeben.
  • Die Laufzeitüberwachungsschaltung 29, die einen Schlüsselcode zum Überschreiben des Zählerwerts erfordert, wird als die Hardwareschaltung zum Ausgeben des Unterbrechungssignals 3 verwendet. Daher ist, da ein kompliziertes Verfahren notwendig ist, um eine Ausgabe des Unterbrechungssignals 3 zu verhindern, eine Stabilität gegen einen Bug in dem Programm hoch.
  • Die zu der einen der in dem Mikrocomputer 21 eingebauten Überwachungs-IC 23 äquivalente Funktion stellt eine Beziehung zwischen der Überwachungs-IC 23 und der Dekomposition her. Daher kann der der Überwachungs-IC 23 auferlegte A-SIL herabgesetzt werden. Demzufolge kann, da der ASIL herabgesetzt ist, wenn zum Beispiel ein von dem Mikrocomputer 21 verschiedener Sub-Mikrocomputer statt der Überwachungs-IC verwendet wird, auf eine Laufzeitüberprüfung unter hoher Last für das ROM, das RAM, Anweisungen und eine Ablaufüberprüfung des Sub-Mikrocomputer verzichtet werden. Zum Beispiel wird es ausreichend sein, jeweilige Überprüfungen in dem Sub-Mikrocomputer nur unmittelbar, nachdem der Sub-Mikrocomputer gestartet worden ist oder unmittelbar, bevor eine Operation des Sub-Mikrocomputers gestoppt wird, durchzuführen.
  • Nachfolgend ist eine weitere Funktion des Mikrocomputers 21 in der ECU 11 beschrieben.
  • Die CPU 25 in dem Mikrocomputer 21 führt in vorbestimmten Zeitabständen zum Beispiel eine in 4 gezeigte Unterbrechungssignal-Diagnoseverarbeitung durch. Die Unterbrechungssignal-Diagnoseverarbeitung von 4 ist eine Verarbeitung zur Diagnose, ob eine Funktion des Mikrocomputers 21 zum Ausgeben des Unterbrechungssignals 3 fehlerfrei ist oder nicht. Ein Programm der Unterbrechungssignal-Diagnoseverarbeitung ist zum Beispiel in dem Dritt-Level-Programm 43 enthalten.
  • In einem mit der ECU 11 ausgestatteten Fahrzeug wird, wenn der Zündschalter (nachfolgend abgekürzt IGSW) durch einen Nutzer (allgemein ein Fahrer) EIN-geschaltet wird, das Fahrzeug in einen Zündung-AN-Zustand geschaltet, während das Fahrzeug in einen Zündung-AUS-Zustand geschaltet wird (das heißt einen Zustand, in dem keine Batteriespannung an die Leitung der Zündstromversorgung angelegt wird), wenn der IGSW AUS-geschaltet wird. Eine Operation zum Ausschalten des IGSW ist äquivalent zu einer Zündung-AUS-Operation. Ferner ist vorgesehen, dass selbst dann, wenn der IGSW AUS-geschaltet wird, eine Stromversorgung der ECU 11 aufrechterhalten wird, bis die gesamte Verarbeitung in dem Mikrocomputer 21 beendet ist. Wenn der IGSW durch den Nutzer des Fahrzeugs AUS-geschaltet wird, wird in dem Mikrocomputer 21 kein Programmausführtest durch das Mikrocomputer-Überwachungsprogramm 43a ausgeführt. Demzufolge wird in dem Mikrocomputer 21 das Unterbrechungssignal 3 durch die Laufzeitüberwachungsschaltung 29 ausgegeben. Da die Kraftstoffeinspritzung in den Verbrennungsmotor gestoppt wird, wenn der IGSW AUS-geschaltet wird, treten selbst dann keine Probleme auf, wenn das Unterbrechungssignal 3 ausgegeben wird.
  • Wie es in 4 gezeigt ist, bestimmt die CPU 25 in S110, wenn sie die Unterbrechungssignal-Diagnoseverarbeitung startet, ob der IGSW AUS-geschaltet ist. Wenn der IGSW nicht AUS-geschaltet ist (der IGSW ist AN), beendet die CPU 25 direkt die Unterbrechungssignal-Diagnoseverarbeitung. Ein AN- oder AUS-Zustand des IGSW wird in Abhängigkeit von einem Eingangssignal bestimmt, das ein Maß für einen AN- oder AUS-Zustand des IGSW ist.
  • Wenn in S110 bestimmt wird, dass der IGSW AUS-geschaltet ist, fährt die CPU 25 mit S120 fort und wartet, bis eine geschätzte Zeit für eine Ausgabe des Unterbrechungssignals 3 von der Laufzeitüberwachungsschaltung 29 verstrichen ist. Zum Beispiel wartet die CPU 25 eine vorbestimmte Zeit länger als die Zeit, die erforderlich ist, damit der Wert des Zählers, ausgehend von dem oben beschriebenen Voreinstellungswert, den bestimmten Wert N erreicht.
  • Anschließend fährt die CPU 25 mit S130 fort und bestimmt entsprechend einem Signal von dem Drosselpositionssensor (TPS1) 31, ob die Position des Drosselventils 15 die oben beschriebene bestimmte Position ist. Wenn bestimmt wird, dass die Position des Drosselventils 15 die bestimmte Position ist, fährt die CPU 25 mit S140 fort und stellt ein Diagnoseergebnis über das Unterbrechungssignal 3 auf ”fehlerfrei” ein. Anschließend beendet die CPU 25 die Unterbrechungssignal-Diagnoseverarbeitung.
  • Wenn in S130 bestimmt wird, dass die Position des Drosselventils 15 nicht die bestimmte Position ist, bestimmt die CPU 25, dass die Funktion zum Ausgeben des Unterbrechungssignals 3 fehlerhaft ist. Die CPU 25 fährt somit mit S150 fort und stellt ein Diagnoseergebnis über das Unterbrechungssignal 3 auf ”fehlerhaft” ein. Anschließend beendet die CPU 25 die Unterbrechungssignal-Diagnoseverarbeitung.
  • Gemäß der obigen Unterbrechungssignal-Diagnoseverarbeitung wird eine Diagnose der Funktion zum Ausgeben des Unterbrechungssignals 3 einmal pro Fahrzyklus durchgeführt. Daher kann ein mit der geringsten Anzahl an Überprüfungen erfasst werden.
  • In dem Mikrocomputer 21 führt das Mikrocomputer-Überwachungsprogramm 43a den gleichen Programmausführtest wie den des Zweit-Level-Programms 42 auch an dem Fehlererfassungsprogramm 43b durch und sendet das Testergebnis ebenfalls zu der Überwachungs-IC 23. Die Überwachungs-IC 23 bestimmt, ob auch bei dem Fehlererfassungsprogramm 43b das Testergebnis von dem Mikrocomputer 21 und der entsprechenden Erwartungswert übereinstimmen. Wenn das erstere und das letztere verschieden sind, wird zum Beispiel durch Ausgeben des Unterbrechungssignals 2 eine Störungssicherung durchgeführt. Daher kann die Zuverlässigkeit auch gegenüber einem fehlerhaften Ausführen des Fehlererfassungsprogramms 43b erhöht werden.
  • (Zweite Ausführungsform)
  • Nachfolgend ist eine ECU einer zweiten Ausführungsform beschrieben. Die ECU ist ebenso wie in der oben beschriebenen ersten Ausführungsform mit dem Bezugszeichen 11 bezeichnet. Ferner sind die gleichen Komponenten und die gleiche Verarbeitung wie jene in der oben beschriebenen ersten Ausführungsform mit den gleichen Bezugszeichen bezeichnet. Das Gleiche gilt für die weiteren Ausführungsformen.
  • Im Vergleich mit der oben beschriebenen ECU 11 der ersten Ausführungsform unterscheidet sich die ECU 11 der zweiten Ausführungsform in dem Mikrocomputer 21 dahingehend, dass die Hardwareschaltung zum Ausgeben eines Unterbrechungssignals 3 eine in 5 gezeigte Compare-Match-Timer-Schaltung 61 ist und ein Fehlererfassungsprogramm 43b ein Programm zum Durchführen der in 6 gezeigten Verarbeitung ist.
  • Wie es gezeigt ist in 5, umfasst die Compare-Match-Timer-Schaltung 61 einen Compare-Match-Zähler 63, der in Abständen von einer bestimmten Zeit entsprechend einem Taktgeber des Mikrocomputers 21 hochzählt, ein Compare-Match-Register 65 und einen Komparator 67, der einen Wert des Compare-Match-Zählers 63 mit einem Wert des Compare-Match-Registers 65 vergleicht und den Mikrocomputer 21 veranlasst, das Unterbrechungssignal 3 von einem vorbestimmten Ausgabeanschluss oder Ausgabeport 28a (irgendeiner von den Eingabe- und Ausgabeanschlüssen 28) auszugeben, wenn die zwei Werte übereinstimmen.
  • Das Compare-Match-Register 65 ist so ausgelegt, dass es einem Erst-Level-Programm 41 keinen Schreibzugriff gewährt. Aufgrund dieser Konfiguration wird verhindert, dass eine Operation der Compare-Match-Timer-Schaltung 61 zum Ausgeben des Unterbrechungssignals 3 durch einen Bug in dem Erst-Level-Programm 41 unterdrückt wird. Zum Beispiel wurde bei der Entwicklung des Programms keine Anweisung für einen Schreibzugriff auf das Compare-Match-Register 65 in dem Erst-Level-Programm 41 berücksichtigt.
  • Das Fehlererfassungsprogramm 43b der zweiten Ausführungsform ist ein Programm, das die Compare-Match-Timer-Schaltung 61 veranlasst, das Unterbrechungssignal 3 auszugeben, wenn ein Testergebnis durch ein Mikrocomputer-Überwachungsprogramm 43a und ein Erwartungswert dieses Testergebnisses verschieden sind.
  • Das Fehlererfassungsprogramm 43b wird jedes Mal gestartet, wenn die oben beschriebenen Benachrichtigungsdaten 0 und Benachrichtigungsdaten 1 durch einen Übertragungsdaten-Syntheseabschnitt 59 des Mikrocomputer-Überwachungsprogramms 43a erzeugt werden. Diese Operation ist die gleiche wie die in der oben beschriebenen ersten Ausführungsform beschriebene.
  • Die CPU 25 führt die in 6 gezeigte Verarbeitung durch, indem sie das Fehlererfassungsprogramm 43b ausführt.
  • Wie es in 6 gezeigt ist, bestimmt die CPU 25, wenn die CPU 25 das Fehlererfassungsprogramm 43b startet, in S210 das Vorhandensein oder Fehlen eines Fehlers.
  • Insbesondere vergleicht die CPU 25 die durch den Übertragungsdaten-Syntheseabschnitt 59 erzeugten Benachrichtigungsdaten 0 und 1 mit den entsprechenden Erwartungswerten. Wenn die Benachrichtigungsdaten 0 und 1 und die entsprechenden Erwartungswerte übereinstimmen, bestimmt die CPU 25, dass eine Regelungsfunktion fehlerfrei ist. Wenn die Benachrichtigungsdaten 0 und 1 und die entsprechenden Erwartungswerte verschieden sind, bestimmt die CPU 25 das Vorhandensein eines Fehlers. Alternativ kann die gleiche Auslegung wie zum Beispiel in der oben beschriebenen ersten Ausführungsform vorgesehen sein, so dass durch Berechnen der oben genannten Gleichung (1) ein Schlüsselcode berechnet wird, und wenn das Berechnungsergebnis und ein regulärer Schlüsselcode [0x5A] übereinstimmen, bestimmt die CPU 25, dass die Regelungsfunktion fehlerfrei ist. Andernfalls bestimmt die CPU 25 das Vorhandensein eines Fehlers. Kurz, die Verarbeitung in S210 kann auf jede beliebige Art durchgeführt werden, solange bestimmt werden kann, ob das Testergebnis des Mikrocomputer-Überwachungsprogramms 43a mit dem entsprechenden Erwartungswert übereinstimmt.
  • Wenn in S210 bestimmt wird, dass die Regelungsfunktion fehlerfrei ist (kein Fehler vorhanden ist), fährt die CPU 25 mit S220 fort und schreibt einen Wert, der durch Addition eines mit einer Fehlerbestimmungszeit vergleichbaren Werts zu einem Wert (Momentanwert) des Compare-Match-Zählers 63 gewonnen wird, in das Compare-Match-Register 65. Die Verarbeitung in S220 ist die Verarbeitung zum Verhindern einer Ausgabe des Unterbrechungssignals 3 ab dem momentanen Zeitpunkt bis zum Ablauf der Fehlerbestimmungszeit. Die Fehlerbestimmungszeit wird auf eine Zeit eingestellt, die länger als die Testzeitspanne (auch eine Laufzeit des Fehlererfassungsprogramms 43b) ist. Nach der Verarbeitung in S220, beendet die CPU 25 das Fehlererfassungsprogramm 43b.
  • Wenn in S210 bestimmt wird, dass ein Fehler vorhanden ist, beendet die CPU 25 direkt das Fehlererfassungsprogramm 43b, ohne eine Verarbeitung durchzuführen (das heißt, ohne einen Wert in das Compare-Match-Register 65 zu schreiben). In diesem Fall stimmt der Wert des Compare-Match-Zählers 63 schließlich mit dem Wert des Compare-Match-Registers 65 überein und das Unterbrechungssignal 3 wird von dem Mikrocomputer 21 ausgegeben.
  • Auch in der oben beschriebenen ECU 11 der zweiten Ausführungsform wird in dem Mikrocomputer 21 eine zu einer Funktion einer Überwachungs-IC 23 äquivalente Funktion mit Hilfe des Fehlererfassungsprogramms 43b und der Compare-Match-Timer-Schaltung 61 realisiert. Daher können die gleichen Vorteile wie die durch die ECU 11 der ersten Ausführungsform gewonnenen erreicht werden.
  • In der zweiten Ausführungsform genügt es, wenn die CPU 25 wartet, bis eine geschätzte Zeit für eine Ausgabe des Unterbrechungssignals 3 von der Compare-Match-Timer-Schaltung 61 in S120 in der in 4 gezeigten Unterbrechungssignal-Diagnoseverarbeitung verstrichen ist. Genauer gesagt, die CPU 25 muss lediglich eine vorbestimmte Zeit länger als die oben beschriebene Fehlerbestimmungszeit warten.
  • (Dritte Ausführungsform)
  • Wenn ein Mikrocomputer 21 ein Ausgaberegister mit einer Speicherschutzfunktion umfasst, die nur einem bestimmten Programm als einem Ausgaberegister, in das ein Ausgabewert (ein auszugebender Wert) an einem Ausgabeport geschrieben werden soll, Schreibzugriff gewährt, kann dieses Ausgaberegister als eine Hardwareschaltung zum Ausgeben eines Unterbrechungssignals 3 verwendet werden. Das bestimmte Programm und die weiteren Programme werden zum Beispiel in Abhängigkeit davon, in welchem Abschnitt des ROM 26 das Programm gespeichert ist, unterschieden.
  • In diesem Fall wird das Ausgaberegister mit der Speicherschutzfunktion vorübergehend so eingestellt, dass das Erst-Level-Programm 41 vorübergehend keinen Zugriff darauf hat, jedoch ein Fehlererfassungsprogramm 43b Zugriff darauf hat.
  • Das Fehlererfassungsprogramm 43b ist so gebildet, dass eine CPU 25 eine Verarbeitung durchführt, die gegenüber der in 6 dargestellten Verarbeitung wie folgt geändert ist.
  • Das heißt, wenn in S210 bestimmt wird, dass die die Regelungsfunktion fehlerfrei ist (kein Fehler vorhanden ist), beendet die CPU 25 direkt das Fehlererfassungsprogramm 43b. Wenn in S210 bestimmt wird, dass ein Fehler vorhanden ist, schreibt die CPU 25 einen Wert (zum Beispiel 1), der eine Ausgabe des Unterbrechungssignals 3 angibt, in das Ausgaberegister mit der Speicherschutzfunktion und steuert das Ausgaberegister so, dass es das Unterbrechungssignal 3 von dem entsprechenden Ausgabeport ausgibt. Anschließend beendet die CPU 25 das Fehlererfassungsprogramm 43b.
  • Selbst wenn die oben beschriebene Konfiguration vorgesehen ist, werden die Vorteile wie die durch die ECUs 11 der ersten und zweiten Ausführungsform gewonnen ebenfalls erreicht.
  • Während lediglich Ausführungsformen der vorliegenden Erfindung beschrieben worden sind, sollte klar sein, dass die vorliegende Erfindung nicht auf diese Ausführungsformen beschränkt ist, sondern auf verschiedene andere Weisen implementiert sein kann. Ferner sind die oben genannten numerischen Werte lediglich Beispiele, und andere numerische Werte können ebenfalls verwendet werden.
  • Zum Beispiel ist das Regelungsobjekt nicht auf das Drosselventil 15 beschränkt, sondern kann zum Beispiel ein Einspritzventil oder eine Zündungsvorrichtung sein. Ferner kann das Überwachungsmodul ein von dem Mikrocomputer 21 verschiedener Mikrocomputer sein.
  • Eine Funktion einer Komponente in den jeweiligen, oben beschriebenen Ausführungsformen kann auf mehr als eine Komponente verteilt sein, oder Funktionen von mehr als einer Komponente können kombiniert und nur einer Komponente zugeordnet sein. Wenigstens ein Teil der Konfigurationen der jeweiligen, oben beschriebenen Ausführungsformen können durch eine bekannte Konfiguration mit der gleichen Funktion ersetzt sein. Ferner kann auf einen Teil der Konfigurationen der jeweiligen Ausführungsformen verzichtet werden, solange die Probleme gelöst werden können. Es sollte klar sein, dass jeder Aspekt, der in den technischen Ideen enthalten ist, die in den beigefügten Ansprüchen durch wörtliche Beschreibung definiert sind, eine Ausführungsform der vorliegenden Erfindung ist. Ferner kann die vorliegende Erfindung, zusätzlich zu den oben beschriebenen ECUs, auf verschiedene Weise realisiert sein, wie etwa als ein System mit einer ECU als eine Komponente, ein Programm, das es einem Computer ermöglicht, als die ECU zu fungieren, ein Medium, das das Programm speichert, und ein Regelungsverfahren des Regelungsobjekts.
  • Es ist zu beachten, dass ein Flussdiagramm oder die Verarbeitung des Flussdiagramms in der vorliegenden Erfindung Abschnitte (auch als Schritte bezeichnet) umfasst, von denen jeder zum Beispiel als Schritt S110 repräsentiert ist. Ferner kann jeder Abschnitt in einige Unterabschnitte unterteilt sein, während einige Abschnitte zu einem einzigen Abschnitt kombiniert sein können. Ferner kann jeder der so konfigurierten Abschnitte als eine Vorrichtung, ein Modul oder ein Mittel bezeichnet werden.
  • Während die vorliegende Erfindung oben mit Bezug auf die Ausführungsformen beschrieben ist, ist klar, dass die Erfindung nicht auf die Ausführungsformen beschränkt ist. Die vorliegende Erfindung deckt verschiedene Modifikationen und äquivalente Anordnungen ab. Ferner liegen weitere Kombinationen und Konfigurationen, die mehrere oder weniger Elemente oder nur ein einziges Element enthalten, innerhalb des Geistes und Schutzbereichs der vorliegenden Erfindung.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 3955328 [0002]
  • Zitierte Nicht-Patentliteratur
    • ISO(International Organization for Standardization)-Norm 26262 [0009]

Claims (4)

  1. Elektronische Fahrzeugregelungseinheit mit: einem Mikrocomputer (21) mit einer CPU (25); und einem Überwachungsmodul (23), das eine Operation des Mikrocomputers (21) überwacht, wobei die CPU (25) des Mikrocomputers (21) ein Programm ausführt, das umfasst: ein Erst-Level-Programm zum Steuern eines Regelungsobjekts (15); ein Zweit-Level-Programm zum Überwachen, ob eine durch das Erst-Level-Programm ausgeführte Regelungsfunktion an dem Regelungsobjekt fehlerfrei ist, und zum Ausgeben eines ersten Unterbrechungssignals, das die Regelungsfunktion deaktiviert, wenn bestimmt wird, dass die Regelungsfunktion fehlerhaft ist; und ein Dritt-Level-Programm mit einem Testprogramm, das einen Programmausführtest des Zweit-Level-Programms ausführt und ein Testergebnis an das Überwachungsmodul (23) ausgibt, wobei das Überwachungsmodul (23) ein zweites Unterbrechungssignal ausgibt, das die Regelungsfunktion deaktiviert, wenn das Testergebnis nicht mit einem Erwartungswert des Testergebnisses übereinstimmt, wobei der Mikrocomputer (21) ferner eine Hardwareschaltung (29, 61) zum Ausgeben eines dritten Unterbrechungssignals umfasst, das die Regelungsfunktion deaktiviert, wobei eine Operation zum Ausgeben des dritten Unterbrechungssignals nicht von einem Bug in dem Erst-Level-Programm verhindert wird, und wobei das Dritt-Level-Programm ferner ein Fehlererfassungsprogramm zum Regeln der Hardwareschaltung (29, 61) umfasst, so dass das dritte Unterbrechungssignal ausgegeben wird, wenn das Testergebnis des Testprogramms nicht mit dem Erwartungswert des Testergebnisses übereinstimmt.
  2. Elektronische Fahrzeugregelungseinheit nach Anspruch 1, wobei die Hardwareschaltung (29, 61) eine Laufzeitüberwachungsschaltung (29) umfasst, die das dritte Unterbrechungssignal ausgibt, wenn ein Wert eines Zählers (29a), der in vorbestimmten Zeitintervallen hochzählt, einen bestimmten Wert erreicht und einen Wert in den Zähler (29a) schreibt, wenn ein vorbestimmter Schlüsselcode eingegeben wird, und wobei das Fehlererfassungsprogramm ein Programm ist, um durch Eingabe des Schlüsselcodes in die Laufzeitüberwachungsschaltung (29) zu verhindern, dass die Hardwareschaltung (29, 61) das dritte Unterbrechungssignal ausgibt, um so den von dem bestimmten Wert abweichenden Wert in den Zähler (29a) zu schreiben, wenn das Testergebnis mit dem Erwartungswert des Testergebnisses übereinstimmt, und die Hardwareschaltung (29, 61) so zu steuern, dass das dritte Unterbrechungssignal ausgegeben wird, indem verhindert wird, dass der Schlüsselcode in die Laufzeitüberwachungsschaltung (29) eingegeben wird, wenn das Testergebnis nicht mit dem Erwartungswert des Testergebnisses übereinstimmt.
  3. Elektronische Fahrzeugregelungseinheit nach Anspruch 1, wobei die Hardwareschaltung (29, 61) eine Compare-Match-Timer-Schaltung (61) umfasst, die umfasst: einen Compare-Match-Zähler (63), der in vorbestimmten Zeitintervallen hochzählt; und ein Compare-Match-Register (65), auf das das Erst-Level-Programm nicht zugreift, wobei die Compare-Match-Timer-Schaltung (61) das dritte Unterbrechungssignal ausgibt, wenn ein Wert des Compare-Match-Zählers (63) mit einem Wert des Compare-Match-Registers (65) übereinstimmt, und wobei das Fehlererfassungsprogramm ein Programm ist, um durch Schreiben eines Werts, der durch Addition eines vorbestimmten Werts zu dem Wert des Compare-Match-Zählers (63) erzeugt wird, in das Compare-Match-Register (65), wenn das Testergebnis mit dem Erwartungswert des Testergebnisses übereinstimmt, zu verhindern, dass die Hardwareschaltung (29, 61) das dritte Unterbrechungssignal ausgibt, und die Hardwareschaltung (29, 61) so zu steuern, dass das dritte Unterbrechungssignal ausgegeben wird, indem verhindert wird, dass der Wert in das Compare-Match-Register (65) geschrieben wird, wenn das Testergebnis nicht mit dem Erwartungswert des Testergebnisses übereinstimmt.
  4. Fahrzeugregelungseinheit nach einem der Ansprüche 1–3, wobei das Regelungsobjekt (15) ein Drosselventil eines Verbrennungsmotors eines Fahrzeugs ist, in dem die elektronische Fahrzeugregelungseinheit eingebaut ist, wobei das erste bis dritte Unterbrechungssignal Signale sind, um durch Stoppen einer Operation eines Aktors (17) zum Bewegen des Drosselventils eine Position des Drosselventils zu einer bestimmten Position zurückzubringen, wobei, wenn ein Nutzer des Fahrzeugs eine Zündung-AUS-Operation durchführt, die einen Zustand des Fahrzeugs von einem Zündung-AN-Zustand in einen Zündung-AUS-Zustand ändert, die CPU (25) den Programmausführtest durch das Testprogramm nicht ausführt und die Hardwareschaltung (29, 61) in dem Mikrocomputer (21) das dritte Unterbrechungssignal ausgibt, wobei die CPU (25) in dem Mikrocomputer (21) einen Prozess zur Diagnose einer Funktion zum Ausgeben des dritten Unterbrechungssignals ausführt, wenn die CPU (25) erfasst, dass der Nutzer des Fahrzeugs die Zündung-AUS-Operation durchführt, und wobei der Prozess zur Diagnose der Funktion zum Ausgeben des dritten Unterbrechungssignals umfasst: Warten, bis eine geschätzte Zeit zum Ausgeben des dritten Unterbrechungssignals von der Hardwareschaltung (29, 61) verstrichen ist; Bestimmen, in Abhängigkeit von einem Signal von einem Drosselpositionssensor (31), der die Position des Drosselventils erfasst, ob eine Position des Drosselventils die bestimmte Position ist; und Bestimmen, dass die Funktion zum Ausgeben des dritten Unterbrechungssignals fehlerhaft ist, wenn die Position des Drosselventils nicht die bestimmte Position ist.
DE102014222860.3A 2013-12-04 2014-11-10 Elektronische Fahrzeugregelungseinheit Granted DE102014222860A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-251114 2013-12-04
JP2013251114A JP5967059B2 (ja) 2013-12-04 2013-12-04 車両用電子制御装置

Publications (1)

Publication Number Publication Date
DE102014222860A1 true DE102014222860A1 (de) 2015-06-11

Family

ID=53185534

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014222860.3A Granted DE102014222860A1 (de) 2013-12-04 2014-11-10 Elektronische Fahrzeugregelungseinheit

Country Status (2)

Country Link
JP (1) JP5967059B2 (de)
DE (1) DE102014222860A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225106A1 (de) * 2015-12-14 2017-06-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überwachen einer Ausgangsgröße eines Flugmotors
CN110032108A (zh) * 2019-04-17 2019-07-19 众泰新能源汽车有限公司 汽车零部件硬件功能测试方法及采用该方法的测试系统
US20210309239A1 (en) * 2020-04-07 2021-10-07 Elektrobit Automotive Gmbh Monitoring a component of a control system for a means of transport

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6465003B2 (ja) * 2015-11-30 2019-02-06 株式会社デンソー 電子制御装置
JP6620688B2 (ja) * 2016-06-29 2019-12-18 株式会社デンソー 電子制御装置
JP6929081B2 (ja) 2017-02-15 2021-09-01 株式会社デンソーテン 制御装置、監視システムおよび通信成否確認方法
JP6692763B2 (ja) 2017-02-15 2020-05-13 株式会社デンソーテン 制御装置および制御プログラム更新方法
US10572326B2 (en) * 2017-07-31 2020-02-25 Lg Chem, Ltd. Self-diagnosing watchdog monitoring system
JP7000172B2 (ja) * 2018-01-18 2022-01-19 株式会社デンソーテン 電源管理装置および電源管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62151901A (ja) * 1985-12-25 1987-07-06 Nec Corp 機構及び駆動回路の保護方式
JPH11294252A (ja) * 1998-04-13 1999-10-26 Denso Corp 電子制御装置
JP2008140010A (ja) * 2006-11-30 2008-06-19 Fujitsu Ltd 電子・機構複合装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO(International Organization for Standardization)-Norm 26262

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225106A1 (de) * 2015-12-14 2017-06-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überwachen einer Ausgangsgröße eines Flugmotors
CN110032108A (zh) * 2019-04-17 2019-07-19 众泰新能源汽车有限公司 汽车零部件硬件功能测试方法及采用该方法的测试系统
US20210309239A1 (en) * 2020-04-07 2021-10-07 Elektrobit Automotive Gmbh Monitoring a component of a control system for a means of transport
EP3893113A1 (de) * 2020-04-07 2021-10-13 Elektrobit Automotive GmbH Überwachung einer komponente eines steuerungssystems für ein fortbewegungsmittel
US11613266B2 (en) 2020-04-07 2023-03-28 Elektrobit Automotive Gmbh Monitoring a component of a control system for a means of transport

Also Published As

Publication number Publication date
JP2015108944A (ja) 2015-06-11
JP5967059B2 (ja) 2016-08-10

Similar Documents

Publication Publication Date Title
DE102014222860A1 (de) Elektronische Fahrzeugregelungseinheit
DE102009028345B4 (de) Steuervorrichtung für ein Fahrzeug
DE10056408C1 (de) Vorrichtung zur Überwachung eines Prozessors
DE102017113435A1 (de) Fahrzeug-Gateway-Netzwerkschutz
DE112018002176T5 (de) Anormalitätsbestimmungsvorrichtung, Anormalitätsbestimmungsverfahren und Anormalitätsbestimmungsprogramm
DE102018002156A1 (de) Ein verbessertes Steuerungssystem und ein verbessertes Steuerungsverfahren für das autonome Steuern eines Kraftfahrzeugs
DE112018006702T5 (de) Bestimmung der zuverlässigkeit von fahrzeugsteuerbefehlen unter verwendung eines abstimmungsmechanismus
DE10230834A1 (de) Verfahren zum Betreiben einer Brennkraftmaschine
DE3820534C2 (de)
DE102018112812A1 (de) Spieldetektionsdiagnose beim starten
EP0100313A1 (de) Verfahren und vorrichtung zur selbstüberprüfung von mikrorechnergesteuerten schaltgeräten, insbesondere in kraftfahrzeugen.
DE10345424A1 (de) Motorluftansaugsteuervorrichtung und Motorluftansaugsteuerverfahren
DE102013221098B4 (de) Fahrzeugsteuereinheit
DE102016216434B4 (de) Elektronische Steuereinheit und Computerprogramm
DE102020205416A1 (de) Vorrichtung und Verfahren zum Diagnostizieren eines Ruhemodus eines CANs für ein Fahrzeug
EP1733284B1 (de) Ablaufsteuerung von funktionen auf miteinander wechselwirkenden geräten
DE102012221277A1 (de) Fahrzeugsteuervorrichtung
DE102013221343A1 (de) Steuervorrichtung und fahrzeugsteuersystem
DE102011083655A1 (de) Überwachungsvorrichtung zur Überwachung eines Betriebs einer Steuerverarbeitungsvorrichtung
DE102020132160A1 (de) Elektronische Steuereinheit
DE102017210538A1 (de) Elektronische Steuereinheit
DE102004060333A1 (de) Erkennung und Anzeige von Modifikationen an Softwareständen für Motorsteuergerätesoftware
DE4237198A1 (de) Verfahren und Vorrichtung zur Überprüfung einer Überwachungseinheit
DE4004413A1 (de) Fehlerfeststellsystem fuer elektrische schaltungen
DE112016005806B4 (de) Leerlaufstoppsteuerungsvorrichtung und fehlerdiagnosesystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R018 Grant decision by examination section/examining division