-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich auf eins elektronisches Steuergerät und ein elektronisches Steuerverfahren.
-
Stand der Technik
-
In einigen elektronischen Steuergeräten ist ein Mikrocomputer mit einem BIST (Built In Self Test) zum Diagnostizieren von Hardware-Ressourcen wie einem Zeitgeber, einer I/O-Schaltung und einem A/D-Wandler versehen, wie es in
JP 2012-181564 A (Patentdokument 1) offenbart ist. Der BIST wird durch Integrieren einiger LSI-Diagnosefunktionen in einen LSI-Chip (Large Scale Integration) ausgeführt und umfasst eine Testmuster-Generatorschaltung und eine Schaltung zum Vergleichen von Testergebnissen mit erwarteten Werten. Der BIST gibt ein Testmuster in eine Ziel-Hardware-Ressource ein und vergleicht Testergebnisse, die von der Hardware-Ressource ausgegeben werden, mit erwarteten Werten, um zu bestimmen, ob die Hardware-Ressource fehlerhaft ist.
-
LITERATURVERZEICHNIS
-
PATENTDOKUMENT
-
Patentdokument 1:
JP 2012-181564 A
-
ÜBERSICHT ÜBER DIE ERFINDUNG
-
DURCH DIE ERFINDUNG ZU LÖSENDES PROBLEM
-
Wenn der BIST feststellt, dass eine Hardware-Ressource fehlerhaft ist, ist es wünschenswert, die Verwendung der Hardware-Ressource zu verbieten, die unter dem Standard für funktionale Sicherheit ISO26262 zu einem außer Kontrolle geratenen Status führen kann. Wenn jedoch die Verwendung einer wichtigen Hardware-Ressource verboten ist, kann ein zu steuerndes System nicht kontinuierlich gesteuert werden.
-
Im Hinblick auf das Vorhergehende ist es eine Aufgabe der vorliegenden Erfindung, ein elektronisches Steuergerät und ein Verfahren bereitzustellen, die eine kontinuierliche Steuerung eines zu steuernden Systems ermöglichen, selbst wenn eine Hardware-Ressource versagt hat.
-
MITTEL ZUR LÖSUNG DES PROBLEMS
-
Ein elektronisches Steuergerät weist einen Mikrocomputer mit einer Diagnoseschaltung für eine Hardware-Ressource und einen Prozessor auf. Der Prozessor des elektronischen Steuergerätes ist dazu eingerichtet, wenn die Diagnoseschaltung feststellt, dass die Hardware-Ressource fehlerhaft ist, eine von der fehlerhaften Hardware-Ressource bereitgestellte Funktion durch eine von einer anderen Hardware-Ressource bereitgestellte Funktion zu ersetzen.
-
Ein elektronisches Steuerverfahren umfasst das Verwenden eines Mikrocomputers, der eine Diagnoseschaltung für eine Hardware-Ressource umfasst, um, wenn die Diagnoseschaltung feststellt, dass die Hardware-Ressource fehlerhaft ist, eine von der fehlerhaften Hardware-Ressource bereitgestellte Funktion durch eine von einer anderen Hardware-Ressource bereitgestellte Funktion zu ersetzen.
-
EFFEKTE DER ERFINDUNG
-
Gemäß der vorliegenden Erfindung kann, selbst wenn eine Hardware-Ressource versagt hat, ein zu steuerndes System kontinuierlich gesteuert werden.
-
Figurenliste
-
- 1 ist ein Systemdiagramm, das ein Beispiel einer Brennkraftmaschine zeigt, die in einem Fahrzeug montiert ist.
- 2 ist ein Blockschaltbild, das ein Beispiel einer elektronischen Schaltungsplatine zeigt.
- 3 ist ein Blockschaltbild, das ein Beispiel eines BIST darstellt.
- 4 ist ein Blockschaltbild, das ein Beispiel eines Zeitgebers darstellt.
- 5 ist ein Flussdiagramm, das ein Beispiel einer Initialisierungsverarbeitung darstellt.
- 6 ist ein erläuterndes Diagramm, das ein Verfahren zum Identifizieren eines fehlerhaften Abschnitts eines Zeitgebers veranschaulicht.
- 7 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts eines Zeitgebers darstellt.
- 8 ist ein erläuterndes Diagramm, das ein Verfahren zum Identifizieren eines fehlerhaften Abschnitts einer I/O-Schaltung darstellt.
- 9 ist ein erläuterndes Diagramm, das ein anderes Verfahren zum Identifizieren eines fehlerhaften Abschnitts einer I/O-Schaltung darstellt.
- 10 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts einer I/O-Schaltung darstellt.
- 11 ist ein erläuterndes Diagramm, das ein Verfahren zum Identifizieren eines fehlerhaften Abschnitts eines nichtflüchtigen Speichers veranschaulicht.
- 12 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts eines nichtflüchtigen Speichers darstellt.
- 13 ist ein erläuterndes Diagramm, das ein Verfahren zum Identifizieren eines fehlerhaften Abschnitts eines flüchtigen Speichers veranschaulicht.
- 14 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts eines flüchtigen Speichers darstellt.
- 15 ist ein erläuterndes Diagramm einer Zeitgeberfunktion.
- 16 ist ein erläuterndes Diagramm, das ein Verfahren zum Ersetzen eines Zeitgebers darstellt.
- 17 ist ein erläuterndes Diagramm, das den Überblick über die Verarbeitung zum Einsetzen eines Zeitgebers darstellt.
- 18 ist ein erläuterndes Diagramm, das ein Verfahren zum Ersetzen eines flüchtigen Speichers darstellt.
- 19 ist ein erläuterndes Diagramm, das ein Verfahren zum Ersetzen einer arithmetischen Einheit darstellt.
-
AUSFÜHRUNGSART DER ERFINDUNG
-
Ausführungsformen zur Ausführung der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen detailliert beschrieben.
-
1 veranschaulicht ein Beispiel einer Brennkraftmaschine, die in einem Fahrzeug montiert ist.
-
Entlang eines Einlasskanals 110 einer Brennkraftmaschine 100 sind ein Luftreiniger 120 zum Filtern von Staub usw. in der Luft, eine elektrische Drosselkammer 130 und ein Einlassventil 140, das sich unter der Steuerung eines Ventiltriebs (nicht dargestellt) öffnet und schließt, in dieser Reihenfolge in Strömungsrichtung der Ansaugluft vorgesehen. An einem Punkt des Einlasskanals 110 zwischen der elektrischen Drosselkammer 130 und dem Einlassventil 140 ist ein elektrisches Kraftstoffeinspritzventil 150 zum Einspritzen eines Kraftstoffs zu einer Scheibe des Einlassventils 140 angebracht.
-
Die elektrische Drosselkammer 130 umfasst ein Drosselventil 132 zum Einstellen einer Ansaugströmungsrate, ein Stellglied 134, wie etwa einen Schrittmotor zum Drehen der Drosselklappe 132, und einen Drosselklappenstellungssensor 136, wie zum Beispiel ein Potentiometer zum Erfassen des Öffnungsgrads (Drosselklappenöffnung) der Drosselklappe 132. Die elektrische Drosselkammer 130 öffnet und schließt das Drosselventil 132 unter Verwendung des Stellglieds 134 als Reaktion auf ein externes Öffnungssignal.
-
Andererseits sind entlang eines Abgaskanals 160 der Brennkraftmaschine 100 Abgasventile 170, ein Drei-Wege-Katalysatorkonverter 180, der gleichzeitig CO (Kohlenmonoxid), HC (Kohlenwasserstoff) und NOx (Stickstoffoxide) in dem Abgas reduziert und reinigt, und ein Schalldämpfer 190 zum Dämpfen von Abgasgeräuschen in dieser Reihenfolge in der Strömungsrichtung des Abgases vorgesehen.
-
Außerdem ist eine Zündkerze 210 an einem Zylinderkopf 102 der Brennkraftmaschine 100 gegenüber einer Brennkammer 104 angebracht. Die Zündkerze 210 soll das Kraftstoff/Luft-Gemisch durch einen elektrischen Funken in Reaktion auf einen Funkenstrom von einem Verteiler 200 zünden. Hier verteilt der Verteiler 200 auf Zündkerzen 210, die in jedem Zylinder der Brennkraftmaschine 100 vorgesehen sind, Zündfunkenstrom zu einem geeigneten Zeitpunkt entsprechend einem Betriebszustand.
-
An vorbestimmten Positionen der Brennkraftmaschine 100 sind ein Drehzahlsensor 220 zum Erfassen der Drehzahl der Brennkraftmaschine 100 und ein Lastsensor 230 zum Erfassen einer Last der Brennkraftmaschine 100 vorgesehen. Hier kann die Last der Brennkraftmaschine 100 durch eine Zustandsvariable repräsentiert sein, die eng mit einem Abtriebsdrehmoment der Brennkraftmaschine 100 in Beziehung steht, wie zum Beispiel einer Einlassströmungsrate, einem Einlassdruck oder einem Ladedruck.
-
Das Gaspedal 240, das von einem Fahrer eines Fahrzeugs betätigt wird, ist mit einem Gaspedalsensor 250 zum Erfassen eines Betätigungsbetrags des Gaspedals 240 (Gaspedalbetätigungsumfang) versehen. Hier kann der Gaspedalsensor 250 beispielsweise ein Potentiometer sein.
-
Ausgangssignale aus dem Drosselklappenstellungssensor 136, dem Drehzahlsensor 220, dem Lastsensor 230 und dem Gaspedalsensor 250 werden in ein elektronisches Steuergerät 300 eingegeben.
-
Das elektronische Steuergerät 300 umfasst eine elektronische Schaltungsplatine 320, auf der verschiedene elektronische Bauteile montiert sind. Wie in 2 gezeigt, ist ein Mikrocomputer 340 auf der elektronischen Schaltungsplatine 320 angebracht. Der Mikrocomputer 340 umfasst integral eine CPU (zentrale Verarbeitungseinheit) 342 als ein Beispiel eines Prozessors, einen RAM (Random Access Memory) 344 als ein Beispiel eines flüchtigen Speichers, einen ROM (Read Only Memory) 346 als ein Beispiel eines nichtflüchtigen Speichers, einen Zeitgeber 348 zum Messen der Zeit, eine I/O-Schaltung 350, einen A/D-Wandler 352 und einen Bus 354, der die obigen Bauteile miteinander verbindet. Das heißt, der Mikrocomputer 340 wird durch Integrieren der CPU 342, des RAM 344, des ROM 346, des Zeitgebers 348, der I/O-Schaltung 350, des A/D-Wandlers 352 und des Busses 354 in einen Chip hergestellt.
-
Das elektronische Steuergerät 300 führt in dem ROM 346 gespeicherte Steuerprogramme aus, um dadurch die elektrische Drosselkammer 130, das Kraftstoffeinspritzventil 150 und den Verteiler 200 individuell in Übereinstimmung mit der Drosselklappenöffnung, der Drehzahl, der Last, dem Gaspedalbetätigungsumfang usw. elektronisch zu steuern.
-
Mit anderen Worten bestimmt das elektronische Steuergerät 300 die Kraftstoffeinspritzmenge und -zeitgabe gemäß der Drehzahl und der Last der Brennkraftmaschine 100 und gibt, wenn der Kurbelwinkel den Kraftstoffeinspritzzeitpunkt erreicht, ein Betätigungssignal, das der Kraftstoffeinspritzmenge entspricht, an das Kraftstoffeinspritzventil 150 aus. Außerdem bestimmt das elektronische Steuergerät 300 einen Zündzeitpunkt gemäß der Drehzahl und der Last der Brennkraftmaschine 100 und gibt, wenn der Kurbelwinkel den Zündzeitpunkt erreicht, ein Betätigungssignal an den Verteiler 200 aus. Ferner bestimmt das elektronische Steuergerät 300 eine Solldrosselöffnung gemäß einem Gaspedalbetätigungsumfang und seiner Änderung und führt dann eine Rückkopplungssteuerung an dem Stellglied 134 der elektrischen Drosselkammer 130 gemäß einer Differenz zwischen der Solldrosselöffnung und einer tatsächlichen Drosselöffnung durch.
-
Außerdem umfasst der Mikrocomputer 340 einen BIST 360 als ein Beispiel einer Diagnoseschaltung zum Diagnostizieren von Hardware-Ressourcen desselben, wie etwa der CPU 342, dem RAM 344, dem ROM 346, dem Zeitgeber 348, der I/O-Schaltung 350 und dem A/D-Wandler 352. Wie in 3 gezeigt, umfasst der BIST 360 eine Generatorschaltung 362 zum Erzeugen eines Testmusters zur Eingabe in eine zu diagnostizierende Schaltung (Hardware-Ressource) HW und eine Komparatorschaltung 364 zum Vergleichen einer Ausgabe der zu diagnostizierenden Schaltung HW mit einem erwarteten Wert, um festzustellen, ob ein Fehler aufgetreten ist.
-
Der BIST 360 prüft in jeder Gruppe, die eine vorbestimmte Funktion bereitstellt, ob eine Hardware-Ressource fehlerhaft ist. Wie in 4 gezeigt ist, umfasst der Zeitgeber 348 zum Messen der Zeit mehrere Zeitgeber A bis C, die jeweils die Funktionen „Erfassen“, „Vergleichen“ und „PWM- (Impulsbreitenmodulation-) Ausgabe“ aufweisen. Der BIST 360 kann jedoch nur prüfen, ob eine Hardware-Ressource in einer breit definierten Gruppe von Zeitgebern zum Messen der Zeit versagt hat, kann jedoch das Vorhandensein oder Nichtvorhandensein eines Fehlers in einzelnen Zeitgebern A bis C nicht feststellen.
-
In dieser Ausführungsform ist die CPU 342 des Mikrocomputers 340 dazu eingerichtet, wenn die BIST 360 feststellt, dass eine Hardware-Ressource fehlerhaft ist, die von der fehlerhaften Hardware-Ressource bereitgestellte Funktion durch die von einer anderen Hardware-Ressource bereitgestellte Funktion zu ersetzen.
-
5 veranschaulicht ein Beispiel einer Initialisierungsverarbeitung, die die CPU 342 des Mikrocomputers 340 gemäß den im ROM 346 gespeicherten Steuerprogrammen als Reaktion auf das Einschalten des elektronischen Steuergerätes 300 ausführt.
-
In Schritt 1 (in den Zeichnungen einfach als „S1“ bezeichnet, und für nachfolgende Schritte ebenfalls) führt die CPU 342 des Mikrocomputers 340 den in den Mikrocomputer 340 eingebauten BIST 360 aus. Genauer gesagt prüft die CPU 342 des Mikrocomputers 340, ob eine Hardware-Ressource vorhanden ist, basierend auf einem Ausgangssignal der Komparatorschaltung 364 in dem BIST 360. Hier prüft der BIST 360, ob ein Fehler in jeder Gruppe aufgetreten ist, die eine vorbestimmte Funktion bereitstellt, genauer gesagt in der CPU 342, dem RAM 344, dem ROM 346, dem Zeitgeber 348, der I/O-Schaltung 350 und dem A/D-Wandler 352, wie oben beschrieben.
-
In Schritt 2 bestimmt die CPU 342 des Mikrocomputers 340 basierend auf dem Ergebnis der Ausführung des BIST 360, ob ein Fehler in irgendeiner Hardware-Ressource im Mikrocomputer 340 aufgetreten ist. Wenn dann festgestellt wird, dass sämtliche Hardware-Ressourcen normal sind (Ja), schreitet der Vorgang der CPU 342 des Mikrocomputers zu Schritt 5 fort. Wenn andererseits festgestellt wird, dass irgendeine Hardware-Ressource fehlerhaft ist (Nein), schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 3 fort.
-
In Schritt 3 führt die CPU 342 des Mikrocomputers 340 Diagnosefunktionen der Software an allen fehlerhaften Hardware-Ressourcen durch, um einen fehlerhaften Abschnitt jeder Hardware-Ressource zu identifizieren (wie beispielsweise des Zeitgebers C in dem Zeitgeber 348). Die Diagnosefunktionen sind nachstehend detailliert aufgeführt.
-
In Schritt 4 nimmt die CPU 342 des Mikrocomputers 340 auf Steuerkonfigurationsinformationen, die in dem ROM 346 gespeichert sind, Bezug, um beispielsweise zu bestimmen, ob ein fehlerhafter Abschnitt einer Hardware-Ressource unbenutzt ist. Wenn bestimmt wird, dass der fehlerhafte Abschnitt unbenutzt ist (Ja), geht der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 5 über. Wenn andererseits bestimmt wird, dass der fehlerhafte Abschnitt verwendet wird (Nein), schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 6 fort.
-
In Schritt 5 führt die CPU 342 des Mikrocomputers 340 eine Normalbetriebsart-Initialisierungsverarbeitung aus, die zu einer normalen Zeit durchzuführen ist, wenn kein Fehler in Hardware-Ressourcen des Mikrocomputers 340 gefunden wird. Vorstellbare Beispiele der Normalbetriebsart-Initialisierungsverarbeitung umfassen hier „Zurücksetzen einer Steuervariablen“, „Lesen verschiedener Lernwerte etc. aus dem ROM 346“ und dergleichen.
-
In Schritt 6 führt die CPU 342 des Mikrocomputers 340 eine Fehlermodus-Initialisierungsverarbeitung aus, die auszuführen ist, wenn ein Fehler in irgendeiner Hardware-Ressource des Mikrocomputers 340 gefunden wird. Hier kann die Fehlermodus-Initialisierungsverarbeitung Vorbereitungen für eine Ersatzverarbeitung sein, die die Funktion, die von einer fehlerhaften Hardware-Ressource bereitgestellt wird, durch eine Funktion ersetzt, die von einer anderen Hardware-Ressource bereitgestellt wird, wie später beschrieben wird.
-
Gemäß einem derartigen elektronischen Steuergerät 300 führt die CPU 342 des Mikrocomputers 340 den BIST 360 als Reaktion auf das Einschalten aus um zu bestimmen, ob eine Hardware-Ressource fehlerhaft ist. Wenn dann bestimmt wird, dass die Hardware-Ressource nicht fehlerhaft ist, führt die CPU 342 des Mikrocomputers 340 eine Normalmodus-Initialisierungsverarbeitung aus. Wenn andererseits festgestellt wird, dass die Hardware-Ressource fehlerhaft ist, identifiziert die CPU 342 des Mikrocomputers 340 einen fehlerhaften Abschnitt durch Verwenden einer Diagnosefunktion der Software. Wenn ein fehlerhafter Abschnitt nicht verwendet wird, wird ein zu steuerndes System dadurch nicht beeinflusst. In diesem Fall führt die CPU 342 des Mikrocomputers 340 eine Normalmodus-Initialisierungsverarbeitung aus. Wenn der fehlerhafte Abschnitt verwendet wird, führt die CPU 342 des Mikrocomputers 340 eine Fehlermodus-Initialisierungsverarbeitung aus, um einen nachteiligen Einfluss auf das zu steuernde System zu minimieren.
-
Wenn mit anderen Worten ein fehlerhafter Abschnitt einer Hardware-Ressource identifiziert wird, führt die CPU 342 des Mikrocomputers 340 eine Fehlermodus-Initialisierungsverarbeitung nur für die Funktion aus, die von dem fehlerhaften Abschnitt bereitgestellt wird. Wenn ein fehlerhafter Abschnitt einer Hardware-Ressource unbenutzt ist, verbietet die CPU 342 des Mikrocomputers 340 auch das Ersetzen der von dem fehlerhaften Abschnitt bereitgestellten Funktion.
-
Als nächstes werden die Diagnosefunktion und die Ersatzverarbeitung im Detail beschrieben.
-
[Diagnosefunktion]
-
Identifizieren des fehlerhaften Abschnitts des Zeitgebers
-
Der BIST 360 kann prüfen, ob ein Fehler in dem Zeitgeber 348 aufgetreten ist, der eine Zeitgeberfunktion bereitstellt, aber nicht identifizieren kann, welcher der mehreren Zeitgeber fehlerhaft ist. Wie in 6 gezeigt, werden drei oder mehr (in 6, drei) Zeitgeber A, C und E verwendet, die in unterschiedlichen Zeitintervallen Impulse ausgeben, und die CPU 342 des Mikrocomputers 340 zählt die Anzahl der Impulse, die von jedem der Zeitgeber A, C und E über eine vorbestimmte Zeit ausgegeben werden. Die CPU 342 des Mikrocomputers 340 leitet dann Zeiten von den Ausgangszählwerten der Zeitgeber A, C und E ab und vergleicht diese Zeiten, wodurch ein fehlerhafter Zeitgeber identifiziert werden kann.
-
7 veranschaulicht ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts eines Zeitgebers.
-
In Schritt 11 zählt die CPU 342 des Mikrocomputers 340 die Anzahl der von jedem der Zeitgeber A, C und E über eine vorbestimmte Zeit ausgegebenen Impulse und multipliziert den Zählwert mit einem jedem Impuls zugeordneten Zeitintervall, um die gemessene Zeit jedes der Zeitgeber A, C und E zu erhalten.
-
In Schritt 12 vergleicht die CPU 342 des Mikrocomputers 340 die durch den Zeitgeber A gemessene Zeit mit der durch den Zeitgeber C gemessenen Zeit, um zu bestimmen, ob ihre Differenz in einen vorbestimmten Wert fällt. Hier ist der vorbestimmte Wert ein Schwellenwert zum Bestimmen, ob einer der beiden Zeitgeber fehlerhaft ist. Dieser Wert kann zum Beispiel gemäß der Zeitgebergenauigkeit, einer rechnerischen Toleranz, etc. geeignet eingestellt werden. Wenn die Differenz der gemessenen Zeit größer als der vorbestimmte Wert ist, bestimmt die CPU 342 des Mikrocomputers 340, dass entweder der Zeitgeber A oder der Zeitgeber C fehlerhaft ist (NG), worauf ihr Betrieb zu Schritt 13 fortfährt. Wenn andererseits die Differenz der gemessenen Zeit innerhalb des vorbestimmten Wertes liegt, bestimmt die CPU 342 des Mikrocomputers 340, dass die Zeitgeber A und C normal arbeiten (OK), und ihr Betrieb schreitet zu Schritt 16 fort.
-
In Schritt 13 vergleicht die CPU 342 des Mikrocomputers 340 die durch den Zeitgeber A gemessene und die durch den Zeitgeber E gemessene Zeit um zu bestimmen, ob ihre Differenz in einen vorbestimmten Wert fällt. Wenn bestimmt wird, dass die Differenz in der gemessenen Zeit größer als der vorbestimmte Wert ist (NG), schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 14 voran. Wenn andererseits bestimmt wird, dass die Differenz der gemessenen Zeit der vorbestimmten Wert oder weniger (OK) ist, schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 15 fort.
-
In Schritt 14 identifiziert die CPU 342 des Mikrocomputers 340 den Zeitgeber A als fehlerhaft.
-
In Schritt 15 identifiziert die CPU 342 des Mikrocomputers 340 den Zeitgeber C als fehlerhaft.
-
In Schritt 16 vergleicht die CPU 342 des Mikrocomputers 340 die durch den Zeitgeber A gemessene und die durch den Zeitgeber E gemessene Zeit um zu bestimmen, ob ihre Differenz in einen vorbestimmten Wert fällt. Wenn bestimmt wird, dass die Differenz der gemessenen Zeit größer als der vorbestimmte Wert (NG) ist, schreitet der Vorgang der CPU 342 des Mikrocomputers 340 zu Schritt 17 voran. Wenn andererseits bestimmt wird, dass die Differenz der gemessenen Zeit der vorbestimmten Wert oder weniger (OK) ist, schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 18 fort.
-
In Schritt 17 identifiziert die CPU 342 des Mikrocomputers 340 den Zeitgeber E als fehlerhaft.
-
In Schritt 18 identifiziert die CPU 342 des Mikrocomputers 340 die Zeitgeber A, C und E als normale Zeitgeber. Das heißt, die CPU 342 des Mikrocomputers 340 bestimmt zum Beispiel, dass der BIST 360 fälschlicherweise aufgrund von überlagertem Rauschen usw. diagnostiziert wurde.
-
Ermitteln des fehlerhaften Abschnitts der I/O-Schaltung
-
Der Mikrocomputer 340 umfasst mehrere Anschlüsse für Eingabe-/Ausgabesignale. Der BIST 360 kann jedoch prüfen, ob ein Fehler in der I/O-Schaltung 350 aufgetreten ist, der eine Eingabe-/Ausgabefunktion bereitstellt, kann jedoch nicht bestimmen, welcher der mehreren Anschlüsse eine fehlerhafte Eingabe-/Ausgabefunktion bereitstellt. Um dieses Problem zu lösen, kann, wie in 8 gezeigt, die CPU 342 des Mikrocomputers 340 einen fehlerhaften Anschluss durch Vergleichen eines Anweisungswerts eines EIN/AUS-Befehlsregisters 350A und eines Ausgangswerts eines Pegelüberwachungsregisters 350B zum Überwachen der Ausgabe des EIN/AUS-Befehlsregisters 350A identifizieren, die in der I/O-Schaltung 350 enthalten sind.
-
Es wird darauf hingewiesen, dass die CPU 342 des Mikrocomputers 340 auch das Pegelüberwachungsregister 350B verwenden kann, das den Eingangsanschluss der elektronischen Schaltungsplatine 320 verwendet, um die Ausgabe zu überwachen, wie in 3 dargestellt. Auch kann ein fehlerhafter Abschnitt einer Eingabe-/Ausgabefunktion nicht für alle Anschlüsse des Mikrocomputers 340 identifiziert werden, sondern nur für Anschlüsse, die einen ernsthaften Einfluss auf ein zu steuerndes System haben könnten.
-
10 veranschaulicht ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts der I/O-Schaltung.
-
In Schritt 21 vergleicht die CPU 342 des Mikrocomputers 340 einen Befehlswert des EIN/AUS-Befehlsregisters 350A mit einem Ausgangswert des Pegelüberwachungsregisters 350B, um zu bestimmen, ob man eine angewiesene Ausgabe erhält. Wenn bestimmt wird, dass man die angewiesene Ausgabe nicht erhält (NG), schreitet der Vorgang der CPU 342 des Mikrocomputers 340 zu Schritt 22 fort. Wenn andererseits bestimmt wird, dass man die angewiesene Ausgabe erhält (OK), schreitet der Vorgang der CPU 342 des Mikrocomputers 340 mit Schritt 23 fort.
-
In Schritt 22 bestimmt die CPU 342 des Mikrocomputers 340, dass ein zu diagnostizierendes Endgerät fehlerhaft ist.
-
In Schritt 23 bestimmt die CPU 342 des Mikrocomputers 340, dass das zu diagnostizierende Endgerät nicht fehlerhaft ist.
-
Identifizieren des fehlerhaften Abschnitts des nichtflüchtigen Speichers
-
In dem ROM 346 des Mikrocomputers 340 sind Aufgabenprogramme zum Steuern eines zu steuernden Systems zugeordnet, wie etwa Aufgabenspeicherbereiche 1 und 2, die dazu eingerichtet sind, jeweils die Aufgaben 1 und 2 zu speichern, wie es in 3 dargestellt ist. In dem ROM 346 befinden sich zudem Prüfsummenspeicherbereiche 1 und 2, die dazu eingerichtet sind, entsprechende Prüfsummen (Referenzwerte) in Verbindung mit Aufgaben 1 und 2 zu speichern, die in den Aufgabenspeicherbereichen 1 bzw. 2 gespeichert sind. In den Prüfsummenspeicherbereichen 1 und 2 sind Prüfsummen der Aufgaben 1 und 2 gespeichert. Dann berechnet die CPU 342 des Mikrocomputers 340 die Prüfsummen der Aufgaben 1 und 2, die in den Aufgabenspeicherbereichen 1 bzw. 2 gespeichert sind, und vergleicht die berechneten Prüfsummen mit den in den Prüfsummenspeicherbereichen 1 und 2 gespeicherten, um einen fehlerhaften Bereich eines Speicherbereiches ROM 346 zu identifizieren, der nicht in der Lage ist, Daten korrekt zu speichern. Man beachte, dass der fehlerhafte Abschnitt des ROM 346 unter Verwendung von beispielsweise Paritätsbits usw. anstelle von Prüfsummen identifiziert werden kann.
-
12 veranschaulicht ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts eines nichtflüchtigen Speichers.
-
In Schritt 31 berechnet die CPU 342 des Mikrocomputers 340 eine Prüfsumme von Daten, die in einem zu diagnostizierenden Aufgabenspeicherbereich gespeichert sind.
-
In Schritt 32 vergleicht die CPU 342 des Mikrocomputers 340 eine Prüfsumme (berechneten Wert) eines Aufgabenspeicherbereichs mit einer Prüfsumme (Referenzwert) in einem Prüfsummenspeicherbereich um zu bestimmen, ob sie übereinstimmen. Wenn bestimmt wird, dass der berechnete Wert und der Referenzwert nicht übereinstimmen (NG), schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 33 voran. Wenn andererseits bestimmt wird, dass der berechnete Wert und der Referenzwert übereinstimmen (OK), schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 34 fort.
-
In Schritt 33 bestimmt die CPU 342 des Mikrocomputers 340, dass der zu diagnostizierende Aufgabenspeicherbereich fehlerhaft ist.
-
In Schritt 34 bestimmt die CPU 342 des Mikrocomputers 340, dass der zu diagnostizierende Aufgabenspeicherbereich nicht fehlerhaft ist.
-
Identifizieren des fehlerhaften Abschnitts des flüchtigen Speichers
-
Um einen fehlerhaften Abschnitt des RAM 344 des Mikrocomputers 340 zu identifizieren, ist ein Verweis vorbereitet, der eine Adresse des RAM 344 anzeigt. Wie in 13 gezeigt, schreibt die CPU 342 des Mikrocomputers 340 Testdaten an die durch den Verweis angezeigte Adresse (Prozedur 1) und liest Testdaten daraus (Prozedur 2). Darüber hinaus vergleicht die CPU 342 des Mikrocomputers 340 Testdaten, die in den RAM 344 geschrieben sind, mit aus dem RAM 344 gelesenen Testdaten, um zu bestimmen, ob ein Fehler in dem RAM 344 aufgetreten ist, basierend darauf, ob diese Daten übereinstimmen (Prozedur 3). Danach aktualisiert die CPU 342 des Mikrocomputers 340 den Verweis (Prozedur 4). Auf diese Weise führt die CPU 342 des Mikrocomputers 340 wiederholt die obige Verarbeitung von der Anfangsadresse zur Endadresse des RAM 344 aus, wodurch eine fehlerhafte Adresse identifiziert werden kann.
-
14 veranschaulicht ein Beispiel einer Verarbeitung zum Identifizieren eines fehlerhaften Abschnitts eines flüchtigen Speichers.
-
In Schritt 41 setzt die CPU 342 des Mikrocomputers 340 die Anfangsadresse des RAM 344 auf den Verweis.
-
In Schritt 42 schreibt die CPU 342 des Mikrocomputers 340 Testdaten an die durch den Verweis angezeigte Adresse.
-
In Schritt 43 liest die CPU 342 des Mikrocomputers 340 Testdaten von der durch den Verweis angegebenen Adresse.
-
In Schritt 44 vergleicht die CPU 342 des Mikrocomputers 340 Testdaten, die in den RAM 34 geschrieben sind (Schreibwert), mit aus dem RAM 344 gelesenen Testdaten (Lesewert) um festzustellen, ob sie übereinstimmen. Wenn dann bestimmt wird, dass der Schreibwert und der Lesewert übereinstimmen (OK), schreitet der Vorgang der CPU 342 des Mikrocomputers 340 zu Schritt 46 voran. Wenn andererseits bestimmt wird, dass der Schreibwert und der Lesewert nicht übereinstimmen (NG), schreitet der Vorgang der CPU 342 des Mikrocomputers 340 zu Schritt 45 fort.
-
In Schritt 45 bestimmt die CPU 342 des Mikrocomputers 340, dass ein Fehler an der Adresse, die durch den Verweis angezeigt wird, zum Beispiel aufgrund eines inkorrekten Verbindens eines beliebigen Elementes aufgetreten ist. Danach schreitet der Betrieb der CPU 342 des Mikrocomputers 340 zu Schritt 46 fort.
-
In Schritt 46 bestimmt die CPU 342 des Mikrocomputers 340, ob der Verweis die letzte Adresse des RAM 344 anzeigt, d.h. ob sämtliche Bereiche des RAM 344 geprüft worden sind. Wenn bestimmt wird, dass der Verweis die endgültige Adresse des RAM 344 anzeigt (Ja), beendet die CPU 342 des Mikrocomputers 340 ihre Tätigkeit. Wenn andererseits bestimmt wird, dass der Verweis nicht die Endadresse des RAM 344 anzeigt (Nein), schreitet der Vorgang der CPU 342 des Mikrocomputers 340 zu Schritt 47 fort.
-
In Schritt 47 aktualisiert die CPU 342 des Mikrocomputers 340 den Verweis, d.h. setzt den Verweis, um die nächste den Testdaten entsprechende Adresse des RAM 344 anzuzeigen. Danach kehrt der Vorgang der CPU 342 des Mikrocomputers 340 zu Schritt 42 zurück.
-
Hinsichtlich der anderen Hardware-Ressourcen, d.h. der CPU 342 und des A/D-Wandlers 352, kann zum Beispiel durch Vergleichen von Ausgabedaten, die man erhält, wenn vorbestimmte Daten eingegeben werden, und einem entsprechenden erwarteten Wert bestimmt werden, ob ein Fehler aufgetreten ist. Außerdem können die Hardware-Ressourcen des Mikrocomputers 340 solche zum Bereitstellen von anderen Funktionen als der CPU 342, des RAM 344, des ROM 346, des Zeitgeber 348, der I/O-Schaltung 350 und des A/D-Wandlers 352 umfassen.
-
[Ersatzverarbeitung]
-
Zeitgeber
-
Hinsichtlich der Zündsteuerung für den Verbrennungsmotor 100 verwendet der Zeitgeber 348 eine Vergleichsanpassungsfunktion, um ein EIN-Signal auszugeben, wenn ein vorbestimmter Zeitpunkt erreicht ist, wie in 3 dargestellt. Um diese Zeitgeberfunktion zu ersetzen, schreibt die CPU 342 des Mikrocomputers 340 0 oder 1 in das EIN-/AUS-Befehlsregister 350A der I/O-Schaltung 350 zu einem Zeitpunkt entsprechend einem Betriebszustand der Brennkraftmaschine 100, wie in 10 dargestellt . Wenn 1 in das EIN-/ AUS-Befehlsregister 350A der I/O-Schaltung 350 geschrieben wird, wird von dieser ein EIN-Signal ausgegeben. Dies liefert im wesentlichen dieselbe Funktion wie der Zeitgeber 348. Wenn hier 0 oder 1 in das EIN-/AUS-Befehlsregister 350A der I/O-Schaltung 350 geschrieben werden, braucht es eine gewisse Zeit, bis sich seine Ausgabe ändert, wobei die erforderliche Zeit ist nicht so lang ist, dass sie die Ersatzverarbeitung für die Zeitgeberfunktion behindert.
-
Wenn bei der obigen Konfiguration, wie in 17 gezeigt, in dem Zeitgeber C des Zeitgebers 348 ein Fehler gefunden wird, wird die Funktion des Zeitgebers C gestoppt, und ein Ersatzausgangssignal C‘ wird von der I/O-Schaltung 350 ausgegeben. Daher ist es möglich, eine Situation zu vermeiden, bei der sämtliche Zeitgeberfunktionen des Zeitgebers 348 gestoppt werden, um beispielsweise die Zündsteuerung für den Verbrennungsmotor 100 zu deaktivieren. Gleichzeitig wird die Zündungssteuerung etwas verzögert, jedoch kann eine Steuerbarkeit sichergestellt werden, die zumindest für die Notlaufsteuerung ausreichend ist. Man beachte, dass, wenn ein vorbestimmter Anschluss des Mikrocomputers 340 ein multifunktionaler ist, der mehrere auswählbare Funktionen bereitstellen kann, die Funktion des Anschlusses auf eine gewünschte Funktion umgeschaltet werden kann.
-
Flüchtiger Speicher
-
Wie in 18 gezeigt, ist der RAM 344 des Mikrocomputers 340 logisch in Bereiche A, B, ..., und einen reservierten Bereich unterteilt. Wenn beispielsweise in dem Bereich B ein Fehler gefunden wird, verbietet die CPU 342 des Mikrocomputers 340 die Verwendung des Bereiches B ebenso wie die Verschiebung der Adresse zu dem Bereich B, um beispielsweise den reservierten Bereich als Ersatz (Ersatzbereich B‘) für den Bereich B zu verwenden.
-
Wenn bei dieser Konfiguration ein Fehler in einer bestimmten Bereich des RAM 344 gefunden wird, wird die Verwendung dieses Bereiches verhindert, und außerdem wird ein reservierter Bereich anstelle des fehlerhaften Bereiches verwendet. Dementsprechend ist es möglich, funktionale Sicherheit zu gewährleisten, indem die Verwendung eines fehlerhaften Bereichs verhindert wird und im Wesentlichen die gleiche Steuerung wie in einer normalen Zeit ausgeführt wird.
-
Arithmetische Einheit (CPU)
-
Der hier betrachtete Fall ist, dass die CPU 342 des Mikrocomputers 340 ein Mehrkernprozessor mit den CPUs 1 und 2 ist, wie es in 19 gezeigt ist. Die CPUs 1 und 2 enthalten eine ALU (Arithmetic Logic Unit) für die logische Operation, Addition und Subtraktion und eine FPU (Floating Point Unit), die der Fließkommaoperation zugewiesen ist. Wenn in der CPU 1 ein Fehler in einer FPU gefunden wird, die eine Aufgabe 1-B ausführt, wird die von der FPU der CPU 1 ausgeführte Aufgabe 1-B zu einer FPU der CPU 2 übertragen und dort ausgeführt.
-
Mit dieser Konfiguration kann die CPU 342 selbst dann, wenn ein Fehler in einem bestimmten Abschnitt der CPU 342, genauer gesagt, der ALU oder FPU, gefunden wird, die gleiche Steuerbarkeit sicherstellen, ohne wie herkömmlich zu einer ausfallsicheren Verarbeitung zu wechseln.
-
Selbst wenn in einer Hardware-Ressource des elektronischen Steuergerätes 300 ein Fehler aufgetreten ist, wird dementsprechend die von der fehlerhaften Hardware-Ressource bereitgestellte Funktion durch eine andere Hardware-Ressource ersetzt, wodurch ein zu steuerndes System kontinuierlich gesteuert werden kann.
-
Bezugszeichenliste
-
- 300
- elektronisches Steuergrät
- 340
- Mikrocomputer
- 342
- CPU (Prozessor, Hardware-Ressource)
- 344
- RAM (Hardware-Ressource)
- 346
- ROM (Hardware-Ressource)
- 348
- Zeitgeber (Hardware-Ressource)
- 350
- I/O-Schaltung (Hardware-Ressource)
- 352
- A/D-Wandler (Hardware-Ressource)
- 360
- BIST (Diagnoseschaltung)
-
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 2012181564 A [0002, 0003]
-
Zitierte Nicht-Patentliteratur
-