-
Die
vorliegende Erfindung betrifft eine elektronische Steuerungseinheit
mit zwei Computern, von denen einer den Betrieb des anderen Computers überwacht.
-
Eine
elektronische Steuerungseinheit gemäß den Vorschlägen in der
Druckschrift JP-A-11-294252 umfasst einen Maschinensteuerungsmikrocomputer
(Maschinen-MC bzw. Maschinenmikrocomputer) und einen Drosselsteuerungsmikrocomputer
(Drossel-MC bzw. Drosselmikrocomputers). Der Maschinenmikrocomputer
umfasst ein Überwachungsprogramm
für einen Überwachungsvorgang
des Drosselmikrocomputers. Das Überwachungsprogramm
ist unabhängig
von einem Grundprogramm, das für
verschiedene Maschinensteuerungen programmiert ist, und wird periodisch
entsprechend eines Interrupts verarbeitet bzw. durchgeführt.
-
Das Überwachungsprogramm
vergleicht einen Wert, der aus in dem Maschinenmikrocomputer (beispielsweise
eine Brennstoffeinspritzmenge) gespeicherten Daten berechnet wurde,
mit einem Wert, der aus übertragenen
Daten des Drosselmikrocomputers berechnet wurde. Die Werte werden
unter Verwendung desselben Ablaufs (Verarbeitung) berechnet. Stimmen die
Werte überein,
dann bestimmt der Maschinenmikrocomputer, dass der Drosselmikrocomputer
in normaler Weise arbeitet.
-
Zwei
Watchdog-Zeitgeber sind bei dem Maschinenmikrocomputer vorgesehen.
Ein Watchdog-Zeitgeber wird zur Überwachung
des Maschinenmikrocomputers bezüglich
einer ordnungsgemäßen Verarbeitung
des Grundprogramms verwendet. Der andere Watchdog-Zeitgeber wird zur Überwachung
des Maschinenmikrocomputers für
eine ordnungsgemäße Verarbeitung
des Überwachungsprogramms
verwendet.
-
Wird
das Überwachungsprogramm
durchgeführt,
dann wird bestimmt, ob in dem Überwachungsprogramm
enthaltene Unterroutinen in einer vorbestimmten Sequenz verarbeitet
werden. Ist dies nicht der Fall, dann wird die Ausgabe eines Watchdog-Pulses
zu dem Watchdog-Timer (Watchdog-Zeitgeber) beendet. In diesem Fall
ist der Maschinenmikrocomputer nicht in der Lage, den Drosselmikrocomputer zu überwachen.
Somit beendet der die ordnungsgemäße Verarbeitung des Überwachungsprogramms überwachende
Watchdog-Zeitgeber die Leistungszufuhr zu einem Motor, der eine
Drosselklappe bzw. ein Drosselventil antreibt.
-
Bei
der vorliegenden Einrichtung wird die Verarbeitung des Überwachungsprogramms
als ordnungsgemäß bestimmt,
solange die Watchdog-Pulse zu dem Watchdog-Timer ausgegeben werden.
Der Maschinenmikrocomputer kann nicht die Verarbeitung des Überwachungsprogramms
direkt überwachen,
insbesondere kann der Maschinenmikrocomputer nicht direkt die Verarbeitung
der erforderlichen Diagnose überwachen.
Somit kann ein Fehler dann nicht erfasst werden, falls der Fehler
während
der Verarbeitung des Überwachungsprogramms
unter der Bedingung auftritt, dass die Watchdog-Pulse ausgegeben
werden, obwohl die Diagnose nicht durchgeführt wird.
-
Eine
elektronische Steuerungseinheit zur Steuerung eines Fahrzeugmaschinendrosselventils führt unterschiedliche
Diagnosen durch, einschließlich
der Verifikation von Parametern, Daten und in einem Speicher ROM
gespeicherten Programmen. Somit ist die Überwachung der Diagnoseverarbeitung sehr
wichtig für
eine korrekte Durchführung
der Steuerung.
-
Der
vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine elektronische
Steuerungseinrichtung mit zwei Computern bereitzustellen, von denen
ein Computer direkt den anderen Computer hinsichtlich einer ordnungsgemäßen Verarbeitung der
Diagnosen überwacht.
-
Gemäß der vorliegenden
Erfindung wird diese Aufgabe durch eine elektronische Steuerungseinheit
gemäß den Angaben
in den zugehörigen
Patentansprüchen
gelöst.
-
Die
elektronische Steuerungseinheit gemäß der vorliegenden Erfindung
umfasst einen ersten Computer und einen zweiten Computer. Der erste Computer
umfasst eine erste Diagnoseeinrichtung und eine Datenübertragungseinrichtung.
-
Die
Diagnoseeinrichtung führt
eine erste und zweite Diagnose durch. Dabei werden Werte unter Verwendung
von zumindest zwei Arten von Berechnungen berechnet. In der ersten
Diagnose wird ein Vergleich durchgeführt zwischen dem ersten Wert und
einem zuvor abgespeicherten ersten Bezugswert, und es wird bestimmt,
ob eine Beziehung zwischen diesen normal ist. In der zweiten Diagnose wird
ein Vergleich durchgeführt
zwischen dem zweiten Wert und einem zuvor gespeicherten zweiten
Bezugswert, und es wird bestimmt, ob eine Beziehung zwischen diesen
normal ist. Die Datenübertragungseinrichtung
sendet Daten bezüglich
der ersten und zweiten Diagnose zu dem zweiten Computer.
-
Der
zweite Computer umfasst eine Datenempfangseinrichtung und eine zweite
Diagnoseeinrichtung. Die Datenempfangseinrichtung empfängt die
Daten bezüglich
der ersten und der zweiten Diagnose. Die zweite Diagnoseeinrichtung
führt eine
Diagnose der ersten Diagnoseeinrichtung durch. In der Diagnose wird
auf der Basis der mittels der Empfangseinrichtung empfangenen Daten
bestimmt, ob die erste Diagnoseeinrichtung normal arbeitet.
-
Der
erste Computer gemäß den Vorschlägen in der
Druckschrift JP-A-11-294252 sendet lediglich Watchdog-Pulse zu dem
zweiten Computer. Der erste Computer der vorliegenden Erfindung
sendet jedoch Daten bezüglich
der Diagnosen zu dem zweiten Computer, und der zweite Computer diagnostiziert die
Verarbeitung der Diagnosen auf der Basis der empfangenen Daten.
Daher kann der zweite Computer direkt die Durchführung der mehrfachen Diagnosen überwachen,
die von dem ersten Computer verarbeitet werden.
-
Die
vorstehenden und weiteren Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden aus der nachfolgenden detaillierten Beschreibung
unter Bezugnahme auf die zugehörigen Figuren
verständlich.
Es zeigen:
-
1 ein
Blockschaltbild zur Veranschaulichung einer elektronischen Steuerungseinheit
gemäß den Ausführungsbeispielen
der vorliegenden Erfindung,
-
2 ein
Ablaufdiagramm zur Veranschaulichung einer ROM-Prüfroutine
zur Durchführung
mittels eines Maschinensteuerungscomputers gemäß dem Ausführungsbeispiel der vorliegenden
Erfindung,
-
3 ein
Ablaufdiagramm zur Veranschaulichung einer Anweisungsprüfroutine
zur Durchführung
mittels des Maschinensteuerungsmikrocomputers gemäß dem Ausführungsbeispiel,
-
4 ein
Ablaufdiagramm zur Veranschaulichung einer Datenübertragungsroutine zur Durchführung mittels
des Maschinensteuerungsmikrocomputers gemäß dem Ausführungsbeispiel,
-
5 eine
veranschaulichende Darstellung eines Aufbaus der mittels der Datenübertragungsroutine
gemäß diesem
Ausführungsbeispiel übertragenen
Daten,
-
6 ein
Ablaufdiagramm zur Veranschaulichung der durch einen Drosselsteuerungsmikrocomputer
verarbeiteten ersten Überwachungsroutine,
-
7 ein
Ablaufdiagramm zur Veranschaulichung einer mittels des Drosselsteuerungsmikrocomputers
verarbeiteten zweiten Überwachungsroutine,
-
8 ein
Ablaufdiagramm zur Veranschaulichung einer mittels des Drosselsteuerungsmikrocomputers
verarbeiteten Ausfallsicherungsroutine (failsafe routine),
-
9A ein
Ablaufdiagramm zur Veranschaulichung einer Solldrosselwinkelberechnungsroutine
gemäß dem Ausführungsbeispiel,
-
9B ein
Ablaufdiagramm zur Veranschaulichung einer Beschleunigungseinrichtungswinkel-Berechungsroutine
gemäß dem Ausführungsbeispiel,
-
9C ein
Ablaufdiagramm zur Veranschaulichung einer RAM-Prüfroutine
gemäß dem Ausführungsbeispiel,
-
10A ein Ablaufdiagramm zur Veranschaulichung einer
Solldrosselwinkelberechnungsroutine gemäß dem Ausführungsbeispiel,
-
10B ein Ablaufdiagramm zur Veranschaulichung einer
Unterroutine A, die in der Solldrosselwinkelberechnungsroutine gemäß dem dritten Ausführungsbeispiel
aufgerufen wird,
-
10C ein Ablaufdiagramm zur Veranschaulichung einer
Unterroutine B, die in der Solldrosselwinkelberechnungsroutine gemäß dem dritten Ausführungsbeispiel
aufgerufen wird, und
-
10D ein Ablaufdiagramm zur Veranschaulichung einer
Ablaufprüfroutine,
die in der Solldrosselwinkelberechnungsroutine gemäß dem dritten
Ausführungsbeispiel
aufgerufen wird.
-
Die
bevorzugten Ausführungsbeispiele
der vorliegenden Erfindung werden nachstehend im Einzelnen unter
Bezugnahme auf die zugehörigen
Figuren beschrieben.
-
Gemäß 1 umfasst
eine elektronische Steuerungseinheit (ECU) 2 einen Maschinensteuerungsmikrocomputer
(Maschinenmikrocomputer, Maschinen-MC) 4 und einen Drosselsteuerungsmikrocomputer
(Drosselmikrocomputer, Drossel-MC) 6. Der
Maschinenmikrocomputer 4 empfängt Signale bezüglich der
Bedingungen einer Maschine wie die Maschinengeschwindigkeit bzw.
Maschinendrehzahl und eine Kühlmitteltemperatur,
einen Beschleunigungseinrichtungswinkel und einen Drosselwinkel
eines Drosselventils (Drosselklappe) 26. Der Maschinenmikrocomputer 4 führt für die Maschinensteuerung
notwendige Berechnungen durch und berechnet Steuerungssignale für einen
Injektor und eine Zündanlage
zur Anpassung der Brennstoffeinspritzmenge und der Zündzeiten.
Ferner berechnet der Maschinenmikrocomputer 4 den Solldrosselwinkel der
Drosselklappe 26 auf der Basis der empfangenen Signale
und sendet den berechneten Solldrosselwinkel zu dem Drosselmikrocomputer 6.
-
Der
Maschinenmikrocomputer 4 gibt Watchdog-Pulse WDC an einen
Watchdog-Zeitgeber (WDT) 8 zum Überwachen seines Betriebs mittels des
Watchdog-Zeitgebers 8 aus. Hat der Watchdog-Zeitgeber 8 einen
Fehler erfasst, dann gibt er ein Rücksetzsignal zu dem Maschinenmikrocomputer 4 aus
zum Rücksetzen
des Maschinenmikrocomputers 4.
-
Ferner
weist der Maschinenmikrocomputer 4 einen weiteren (nicht
gezeigten) Watchdog-Zeitgeber zur Überwachung des Betriebs des
Drosselmikrocomputers 6 auf. Der Drosselmikrocomputer 6 gibt
in periodischer Weise Watchdog-Pulse WDC zu dem Maschinenmikrocomputer 4 während seines
normalen Betriebs gemäß einem
vorbestimmten Programm aus. Überschreitet
eine Zeitdauer, während
der der Maschinenmikrocomputer 4 nicht die Watchdog-Pulse WDC empfängt, eine
vorbestimmte Zeitdauer, dann gibt der Maschinenmikrocomputer 4 ein
Rücksetzsignal
zu dem Drosselmikrocomputer 6 zum Rücksetzen des Drosselmikrocomputers 6 aus.
-
Der
Maschinenmikrocomputer 4 beinhaltet ein Diagnoseprogramm
(erste Diagnoseeinrichtung) und ein Datenübertragungsprogramm (Datenübertragungseinrichtung),
die beide unabhängig
von einem Grundprogramm sind, das für verschiedene Maschinensteuerungen
verarbeitet wird. Das Diagnoseprogramm wird zum Diagnostizieren
seines Betriebs bzw. Ablaufs durchgeführt. Das Datenübertragungsprogramm
wird durchgeführt
zum Senden von Daten bezüglich
der Diagnose und des Solldrosselwinkels zu dem Drosselmikrocomputer 6.
Das Diagnose- und das Datenübertragungsprogramm
werden periodisch entsprechend einem Interrupt verarbeitet.
-
Der
Drosselmikrocomputer 6 beinhaltet ein Überwachungsprogramm (zweites
Diagnoseprogramm) und ein Ausfallsicherungsprogramm zusätzlich zu
einem Grundprogramm. Das Grundprogramm wird zur Steuerung der Drosselklappe 26 auf
der Basis der Steuerungsdaten, eines Beschleunigungseinrichtungswinkels
und eines Drosselwinkels verarbeitet, die alle von dem Maschinenmikrocomputer 4 gesendet
werden. Das Überwachungsprogramm
wird zur Überwachung
des Maschinenmikrocomputers 4 hinsichtlich einer korrekten
Verarbeitung des Fehlerdiagnoseprogramms durchgeführt. Das Ausfallsicherungsprogramm
wird zur Bereitstellung eines Ausfallsicherungsablaufs verarbeitet,
wenn während
der Überwachung
des Maschinenmikrocomputers 4 ein Fehler erfasst wurde.
Das Ausfallsicherungsprogramm führt
einen Ausfallsicherungsablauf in angemessener Weise entsprechend
der Art des Fehlers durch. Das Überwachungsprogramm
und das Ausfallsicherungsprogramm werden ebenfalls periodisch entsprechend
eines Interrupts verarbeitet.
-
Wird
ein kritischer Fehler während
der Durchführung
des Fehlerdiagnoseprogramms erfasst, dann wird ein LOW-Signal von
dem Maschinenmikrocomputer 4 zu einer AND-Schaltung 12 ausgegeben.
Wird ein kritischer Fehler während
der Verarbeitung des Überwachungsprogramms
erfasst, dann wird ein LOW-Signal zur Angabe des Fehlers von dem
Drosselmikrocomputer 6 zu der AND-Schaltung 12 ausgegeben.
-
Die
AND-Schaltung 12 schaltet eine Relaisschaltung 24 ein
und aus, die die Leistungszufuhr von einer (nicht gezeigten) Batterie
zu einer Motoransteuerungsschaltung 22 steuert. Die Motoransteuerungsschaltung 22 steuert
einen Drosselmotor 20 der Drosselklappe 26 an.
Die AND-Schaltung 12 gibt ein HIGH-Signal aus, wenn beide
Eingaben von dem Maschinenmikrocomputer 4 und dem Drosselmikrocomputer 6 HIGH-Signale
zur Angabe einer normalen Verarbeitung sind. Die AND-Schaltung 12 gibt
ein LOW-Signal aus,
wenn eine der Eingaben ein LOW-Signal ist, mittels dessen ein fehlerhafter
Betrieb angegeben wird.
-
Die
Ausgabe der AND-Schaltung wird an eine Basis eines Transistors 14 angelegt,
der in Reihe mit einer Relaisspule der Relaisschaltung 24 liegt. Wird
von einem der Mikrocomputer 4 oder 6 zu der AND-Schaltung
ein LOW-Signal eingegeben, dann wird der Transistor 14 ausgeschaltet
und die Leistungszufuhr zu der Relaisspule wird beendet. In diesem
Falle wird die Drosselklappe 26 bei einer vollständig geschlossenen
Position mittels einer (nicht gezeigten) Feder festgehalten, und
es wird eine Ansaugluftsteuerung mittels der Drosselklappe ausgesetzt
bzw. gesperrt.
-
Der
Drosselmikrocomputer 6 führt zur Drosselsteuerung notwendige
Berechnungen auf der Basis der Steuerungsdaten, des Beschleunigungseinrichtungswinkels
und des Drosselwinkels durch, die alle von dem Maschinenmikrocomputer 4 gesendet wurden.
Sodann werden die Ergebnisse der Berechnung einer Motoransteuerungsschaltung
(H-Brückenschaltung) 22 zugeführt. Die
Motoransteuerungsschaltung 22 ist mit dem Drosselmotor 20 verbunden
und steuert die Drosselklappe 26 mittels des Drosselmotors 20 zur
Anpassung der Ansaugluftmenge.
-
Der
Maschinenmikrocomputer 4 verarbeitet ein Grundprogramm
zur Steuerung der Datenerzeugung einschließlich der Berechnungen der
Brennstoffeinspritzmenge und der Zündzeiten. Der Maschinenmikrocomputer 4 verarbeitet
das Diagnoseprogramm einschließlich
einer ROM-Prüfroutine
(erste Diagnose) und einer Anweisungsprüfroutine (zweite Diagnose),
und das Datenübertragungsprogramm zum
Senden der Diagnosedaten zu dem Drosselmikrocomputer 6 unabhängig von
dem Grundprogramm.
-
Die
ROM-Prüfroutine
gemäß der Darstellung in 2 wird
in regulärer
Weise entsprechend eines Interrupts von beispielsweise alle 8 ms
verarbeitet. Eine Prüfsumme
wird für
einen vorbestimmten Bereich eines Speicherbereichs in einem Speicher ROM
berechnet, und es wird die Prüfsumme
in einem Speicher RAM unter der Bezeichnung ROMCHKSUM gespeichert
(S100). Der Bereich der Prüfsummenberechnung
wird jedes Mal dann geändert,
wenn die ROM-Prüfroutine
verarbeitet wird.
-
Ein
zuvor gespeicherter ROM-Prüfbezugswert
für jeden
Berechnungsbereich wird gelesen und mit der in dem Speicher RAM
gespeicherten Prüfsumme
ROMCHKSUM verglichen (S110). Stimmt die Prüfsumme nicht mit dem ROM-Prüfbezugswert überein,
dann wird bestimmt, dass der Speicher ROM fehlerhaft ist, und es
wird ein ROM-Fehlererholungsablauf verarbeitet (Schritt S120). In
dem ROM-Fehlererholungsablauf wird ein LOW-Signal zur Angabe des
Fehlers von dem Maschinenmikrocomputer 4 zu der AND-Schaltung 12 zum
Ausschalten der Relaisschaltung 24 ausgegeben. Stimmt die Prüfsumme mit
dem ROM-Prüfbezugswert überein (S110)
oder ist der ROM-Fehlererholungsablauf abgeschlossen (S120), dann
wird eine Marke XROMJDG zur Angabe einer Durchführung der ROM-Prüfroutine
auf 1 gesetzt (S130).
-
Die
Anweisungsprüfroutine
gemäß der Darstellung
in 3 wird entsprechend eines Interrupts in regulärer Weise
beispielsweise alle 16 ms verarbeitet. Es wird eine Funktion aufgerufen,
ein vorbestimmter Wert (fester Wert) in der Berechnungsfunktion
ersetzt, und es wird das Berechnungsergebnis in einem Speicher RAM
unter CALDATA gespeichert (S140).
-
Ein
zuvor gespeicherter Anweisungsprüfbezugswert
für jede
Funktion und jeden Ersatzwert wird gelesen und mit dem in dem Speicher
RAM unter CALDATA gespeicherten Berechnungsergebnis verglichen (S150).
Ist das Berechnungsergebnis gleich oder größer als der Anweisungsprüfbezugswert, dann
wird bestimmt, dass das Ergebnis der Anweisungsprüfung normal
ist. Ist das Berechnungsergebnis größer als der Anweisungsprüfbezugswert,
dann wird bestimmt, dass das Ergebnis der Anweisungsprüfung fehlerhaft
ist, und insbesondere die Anweisung fehlerhaft ist. In diesem Fall
wird ein Anweisungsfehlererholungsablauf durchgeführt (S160).
Bei dem Anweisungsfehlererholungsablauf wird ein LOW-Signal zur
Angabe des Fehlers von dem Maschinenmikrocomputer 4 zu
der AND-Schaltung 12 zum Ausschalten der Relaisschaltung 24 ausgegeben.
-
Die
vorstehende Funktion wird zur Durchführung der Maschinensteuerung
und der Drosselwinkelsteuerung verwendet. Ist das Berechnungsergebnis
gleich einem vorbestimmten Wert oder in einem vorbestimmten Bereich,
dann wird angenommen, dass die Berechnung der Funktion in korrekter
Weise durchgeführt
wurde. Der vorbestimmte Wert oder der vorbestimmte Bereich werden
als ein Anweisungsprüfbezugswert
gespeichert und werden zur Bestimmung verwendet, ob die Berechnung
unter Verwendung der Funktion korrekt durchgeführt wurde. Es wird eine Marke
XINSTJDG auf 1 gesetzt zur Angabe der Verarbeitung der Anweisungsprüfroutine
(S170).
-
Der
Maschinenmikrocomputer 4 führt mehrere Diagnoseroutinen
zur regulären
Bestimmung durch, ob die Maschinensteuerung oder die Drosselsteuerung
ausführbar
ist. Wird ein Fehler erfasst und wird die Steuerung als nicht durchführbar bestimmt, dann
beendet der Maschinenmikrocomputer 4 die Leistungszufuhr
zu der Motoransteuerungsschaltung 22.
-
Die
in 4 gezeigte Datenübertragungsroutine wird unabhängig von
den Diagnoseprogrammen entsprechend einem Interrupt etwa alle 8
ms durchgeführt.
Die Datenübertragung
mittels dieser Datenübertragungsroutine
weist einen Aufbau auf, wie er in 5 gezeigt
ist. Die Daten umfassen n Datenteile (DATA1, DATA2, ..., DATAn)
einschließlich der
Prüfsumme
der Übertragungszahl,
die Steuerungsdaten zur Angabe des Solldrosselwinkels, ein Satz
von Diagnosedaten, und Übertragungsdaten (TRANSMISSION
DATA).
-
Der
erste Satz von Diagnosedaten umfasst Übertragungsdaten ID, Übertragungsdaten
1 und Übertragungsdaten
2 bezüglich
der ersten Diagnose. Der zweite Satz von Diagnosedaten umfasst Übertragungs-ID, Übertragungsdaten
1 und Übertragungsdaten
2 bezüglich
der zweiten Diagnose. Die Übertragungs-ID
bezeichnet die Art der Diagnose (ROM-Prüfung, Anweisungsprüfung), die Übertragungsdaten
1 umfassen das Berechnungsergebnis einer beliebigen Prüfroutine,
und die Übertragungsdaten
2 umfassen den Bezugswert, mit dem das Berechnungsergebnis verglichen
wird.
-
Die
Art der zuvor übertragenen
Diagnosedaten wird bestimmt (S200). Es wird insbesondere bestimmt,
ob die Übertragungs-ID
der Diagnosedaten gleich 1 ist zur Angabe, dass die mittels der ROM-Prüfroutine
erzeugten Diagnosedaten gesendet wurden. Dieser Schritt wird durchgeführt zur
Verhinderung, dass dieselbe Art der Diagnosedaten infolge der Verarbeitungszeit
des Diagnoseprogramms oder des Datenübertragungsprogramms immer
gesendet werden. Beispielsweise werden der erste Satz von Diagnosedaten
und der zweite Satz von Diagnosedaten alternierend gesendet. Die
zu den zuvor gesendeten Diagnosedaten unterschiedlichen Diagnosedaten
genießen
einen Vorrang bei der Übertragung.
Sind die unterschiedlichen Arten von Daten nicht zur Übertragung
bereit, dann wird bestimmt, ob dieselbe Art der Diagnosedaten für eine Übertragung bereit
sind. Trifft dies zu, dann wird dieselbe Art der Diagnosedaten übertragen.
-
Ist
die Übertragungs-ID
gleich 1, dann wird bestimmt, ob die Prüfsumme auf der Basis des Werts der
Marke SINDTJDG verarbeitet wurde (S210). Ist der Wert gleich 1,
dann wurde die Anweisungsprüfung
bereits durchgeführt
und die Diagnosedaten bezüglich
der Anweisungsprüfung
wurden erzeugt. Daher werden die Übertragungs-ID, die Übertragungsdaten
1 und die Übertragungsdaten
2 jeweils zu 2, dem Wert CALDATA und dem Anweisungsprüfbezugswert
(S220). Die Marke XINSTJDG wird auf 0 gesetzt zur Verhinderung einer Übertragung
derselben Diagnosedaten (S230).
-
Ist
die Marke XINSTJDG nicht gleich 1, dann wurden die Diagnosedaten
noch nicht erzeugt. Daher werden die Übertragungs-ID, die Übertragungsdaten 1
und die Übertragungsdaten
2 jeweils auf 1, auf ROMCHKSUM und auf den ROM-Prüfbezugswert gesetzt
(S250). Die Marke XROMJDG wird auf 0 gesetzt zur Verhinderung einer Übertragung
derselben Diagnosedaten (S260).
-
Wird
der Wert der Marke XROMJDG nicht auf 1 gesetzt, dann wurden die
ROM-Prüfung
und die Anweisungsprüfung
seit der vorherigen Datenübertragung
noch nicht durchgeführt.
In diesem Fall werden die Übertragungs-ID,
die Übertragungsdaten
1 und die Übertragungsdaten
2 alle auf 0 gesetzt (S310), da keine Daten für die Übertragung vorbereitet sind.
-
Ist
die Übertragungs-ID
der zuvor übertragenen
Diagnosedaten nicht gleich 1 (S200), dann wird bestimmt, ob die
Marke XROMJDG gleich 1 ist (S270). Trifft dies zu, dann wird bestimmt,
dass die Diagnosedaten bezüglich
der ROM-Prüfung
erzeugt wurden, und es wird Schritt S250 durchgeführt.
-
Ist
der Wert der Marke XROMJDG nicht gleich 1, dann wird bestimmt, ob
der Wert der Marke XINSTJDG gleich 1 ist (S280). Trifft dies zu,
dann wird bestimmt, dass die Diagnosedaten bezüglich der Anweisungsprüfung erzeugt
wurden, und es wird Schritt S290 durchgeführt. Die Schritte S290 und S300
werden in der gleichen Weise wie die Schritte S220 und S230 durchgeführt. Ist
der Wert der Marke XINSTJDG nicht gleich 1, dann wurden die Diagnosedaten
bezüglich
der ROM-Prüfung
und der Anweisungsprüfung
noch nicht erzeugt, und es wird Schritt S310 durchgeführt.
-
Die Übertragungsdaten
gemäß der Darstellung
in 5 werden durch Einstellen der Diagnosedaten und
der Steuerungsdaten, die mittels des Grundprogramms erzeugt werden,
vorbereitet (Schritt S320). In diesem Fall bilden die Diagnosedaten
einen Satz des ersten Satzes von Diagnosedaten und des zweiten Satzes
von Diagnosedaten, je nachdem, welcher der Sätze jüngst erzeugt wurde oder falls
die Daten angeben, dass keine Daten für die Übertragung vorbereitet sind.
Eine Prüfsumme
der Übertragungszahl,
der Steuerungsdaten und der Diagnosedaten wird nach ihrer Bestimmung
berechnet, und zu den Übertragungsdaten
addiert. Ist die Übertragungsdatenerzeugung
abgeschlossen, dann werden die Übertragungsdaten
von dem Maschinenmikrocomputer 4 zu dem Drosselmikrocomputer 6 gesendet.
Die Übertragungsdaten
werden zeitweilig in dem Speicher RAM zur Bestimmung der Art der Übertragungs-ID
der zuvor übertragenen
Diagnosedaten in Schritt S200 gespeichert.
-
Der
Drosselmikrocomputer 6 beinhaltet ein Grundprogramm, ein Überwachungsprogramm (zweite
Diagnoseeinrichtung), und ein Ausfallsicherheitsprogramm (Fehlererholungseinrichtung).
Das Grundprogramm dient zur Steuerung des Drosselwinkels der Drosselklappe 26.
Das Überwachungsprogramm
dient zur Überwachung
des Maschinenmikrocomputers 4 und der Bestimmung auf der
Basis der empfangenen Daten, ob das Diagnoseprogramm in normaler
Weise verarbeitet wird. Das Ausfallsicherheitsprogramm dient zur
Durchführung
eines Ausfallsicherheitsablaufs, wenn die Diagnose des Maschinenmikrocomputers 4 als
fehlerhaft bestimmt wird.
-
Die
erste und zweite Überwachungsroutine des
Drosselmikrocomputers 6 werden nachstehend unter Bezugnahme
auf die 6 und 7 beschrieben.
Die erste Überwachungsroutine
gemäß der Darstellung
in 6 wird durchgeführt, wenn der Drosselmikrocomputer 6 Übertragungsdaten
empfangen hat. Die erste Übertragungsroutine
umfasst Schritte zum Überwachen
der ROM-Prüfroutine
(dritte Diagnose) und Schritte zum Überwachen der Anweisungsprüfroutine
(vierte Diagnose).
-
Der
erste Satz oder der zweite Satz von Diagnosedaten wird von dem Maschinenmikrocomputer 4 empfangen
(S400). Die empfangenen Daten werden ebenfalls dem (nicht gezeigten)
Grundprogramm zur Verfügung
gestellt. In dem Grundprogramm wird ein Steuerungssignal für die Motoransteuerungsschaltung 22 auf
der Basis von Steuerungsdaten, eines Beschleunigungseinrichtungswinkels
und eines Drosselwinkels erzeugt, die in den empfangenen Daten enthalten
sind.
-
Eine
Prüfsumme
der empfangenen Daten wird berechnet und mit einer in den empfangenen Daten
enthaltenen Prüfsumme
verglichen (S410). Sind die beiden Prüfsummen nicht übereinstimmend, dann
wird bestimmt, dass die empfangenen Daten fehlerhaft sind, und es
wird daher die erste Überwachungsroutine
beendet.
-
Es
wird bestimmt, ob die Übertragungs-ID der
in den empfangenen Daten enthaltenen Diagnosedaten gleich 1 ist
(S420). Trifft dies zu, dann wird ein ROM-Bestimmungsleerlaufzeitzähler CROMF durch
eine Einstellung auf 0 in dem Zähler
CROMF gelöscht
(S430). Die Übertragungsdaten
1 werden mit den Übertragungsdaten
2 verglichen, und es wird bestimmt, ob sie übereinstimmen (S440). Stimmen sie
nicht überein,
dann wird eine ROM-Fehlerbestimmung durchgeführt (S450). Stimmen sie hingegen überein,
dann ist das Ergebnis der ROM-Prüfung
normal, und es wird daher die erste Überwachungsroutine beendet.
-
Ist
die Übertragungs-ID
nicht gleich 1, dann wird bestimmt, ob die Übertragungs-ID gleich 2 ist (S460).
Trifft dies zu, dann wird ein Anweisungsbestimmungsleerlaufzeitzähler CINSTF
gelöscht (S470).
Die Übertragungsdaten
1 werden mit den Übertragungsdaten
2 verglichen, und es wird bestimmt, ob die Übertragungsdaten 1 größer als
die Übertragungsdaten
2 sind (S480). Sind die Übertragungsdaten
1 größer als
die Übertragungsdaten
2, dann wird eine Fehlerbestimmung der Anweisungsprüfung durchgeführt (S490).
-
Ist
die Übertragungs-ID
nicht gleich 2, dann wird angenommen, dass die Übertragungs-ID gleich 0 ist.
In diesem Fall enthalten die empfangenen Daten keine Diagnosedaten,
und es wird daher die erste Überwachungsroutine
beendet. Sind die Übertragungsdaten
1 gleich oder kleiner als die Übertragungsdaten
2, dann ist das Ergebnis der Anweisungsprüfung normal und es wird daher
die erste Überwachungsroutine
beendet.
-
Der
Drosselmikrocomputer 6 empfängt die Daten bezüglich jeder
Diagnose, die mittels des Maschinenmikrocomputers 4 durchgeführt wird.
Daher kann der Drosselmikrocomputer 6 direkt verifizieren, dass
jeder Diagnosevorgang in korrekter Weise mittels des Maschinenmikrocomputers 4 durchgeführt wird.
Ferner empfängt
der Drosselmikrocomputer 6 berechnete Werte (Übertragungsdaten
1 und 2) zur Verwendung bei einem mittels des Maschinenmikrocomputers 4 durchgeführten Vergleich
als Diagnosedaten, und führt
einen Vergleich zwischen dem berechneten Wert und dem Bezugswert
durch. Es wird daher verifiziert, dass der Vergleich durch den Maschinenmikrocomputer 4 in
korrekter Weise durchgeführt
wurde.
-
Die
zweite Überwachungsroutine
gemäß der Darstellung
in 7 wird entsprechend eines Interrupts etwa alle.
16 ms verarbeitet bzw. durchgeführt. Der
ROM-Bestimmungsleerlaufzähler
CROMF wird hoch gezählt
(S500). Es wird bestimmt, ob der Zähler CROMF auf einen vorbestimmten
Wert hoch gezählt wurde
(S510). Der Zähler
CROMF wird jedes Mal dann zurückgesetzt,
wenn Diagnosedaten bezüglich der
ROM-Prüfung
in der ersten Überwachungsroutine
empfangen werden. Der Drosselmikrocomputer 6 befindet sich
daher unter der Bedingung, dass er nicht in der Lage ist, Daten
für mehr
als eine vorbestimmte Zeitdauer zu empfangen, falls der Zähler CROMF
den vorbestimmten Wert erreicht hat. Wird der Zähler CROMF zu dem vorbestimmten
Wert hoch gezählt,
dann wird bestimmt, dass die ROM-Bestimmung. fehlerhaft ist (S520).
-
Der
Anweisungsbestimmungsleerlaufzeitzähler CINSTF wird hoch gezählt (S530).
Es wird bestimmt, ob der Zähler
CINSTF auf einen vorbestimmten Wert hoch gezählt wurde (S540). Der Zähler CINSTF
wird jedes Mal dann zurückgesetzt,
wenn Diagnosedaten bezüglich
der Anweisungsprüfung
in der ersten Überwachungsroutine
empfangen werden. Somit befindet sich der Drosselmikrocomputer 6 unter
der Bedingung, dass er nicht in der Lage ist, Daten für mehr als
eine vorbestimmte Zeitdauer zu empfangen, falls der Zähler CINSTF
den vorbestimmten Wert erreicht hat. Wird der Zähler CINSTF auf den vorbestimmten
Wert hoch gezählt,
dann wird bestimmt, dass die Anweisungsbestimmung fehlerhaft ist
(S550).
-
Die
Ausfallsicherheitsroutine gemäß der Darstellung
in 8 wird alle 16 ms entsprechend eines Interrupts
verarbeitet. Diese Routine stellt unterschiedliche Ausfallsicherheitsabläufe (Fehlererholungsabläufe) für unterschiedliche
Fehlerbedingungen bereit. Es wird bestimmt, ob die ROM-Fehlerbestimmung
in der ersten Überwachungsroutine
als fehlerhaft bestimmt ist (S600). Es wird sodann bestimmt, ob
die Anweisungsfehlerbestimmung in der ersten Überwachungsroutine fehlerhaft
bestimmt ist (S610). Wird bestimmt, dass eine der ROM-Fehlerbestimmung
und der Anweisungsfehlerbestimmung in der ersten Überwachungsroutine
fehlerhaft bestimmt ist, dann wird ein angemessener Ausfallsicherheitsablauf
durchgeführt
(S620). In diesem Fall wird das Antreiben der Drosselklappe (Drosselventil) 26 beendet,
da eine korrekte Maschinesteuerung und eine Drosselsteuerung nicht
durchgeführt
werden, wenn Funktionen zur Verwendung für den Speicher ROM und die
Maschinensteuerungen fehlerhaft sind. Insbesondere wird ein LOW-Signal
zur Angabe des Fehlers von dem Drosselmikrocomputer 6 zu
der AND-Schaltung 12 zum Ausschalten der Relaisschaltung 24 ausgegeben.
Eine in einer Instrumententafel angeordnete Fehleranzeigelampe wird
eingeschaltet.
-
Falls
bestimmt wird, dass die ROM-Fehlerbestimmung und die Anweisungsfehlerbestimmung normal
bestimmt sind, dann wird bestimmt, ob bestimmt wurde, dass die ROM-Bestimmung
in der zweiten Überwachungsroutine
fehlerhaft ist (S630). Es wird bestimmt, ob bestimmt wurde, dass
die Anweisungsbestimmung in der zweiten Überwachungsroutine fehlerhaft
ist (S640). Wird bestimmt, dass eine der Bestimmungen fehlerhaft
ist, dann wird ein angemessener Ausfallsicherungsablauf durchgeführt (S650).
In diesem Ausfallsicherungsablauf wird der Drosselwinkel der Drosselklappe 26 gesteuert
und es wird die Fehlerlampe eingeschaltet.
-
Falls
die ROM-Bestimmung und die Anweisungsbestimmung fehlerhaft bestimmt
sind, dann kann der Maschinenmikrocomputer 4 die ROM-Prüfroutine
oder die Anweisungsprüfroutine nicht
korrekt abgeschlossen haben. Daher wird die Drosselklappe 26 mit
einem vorbestimmten Drosselwinkel zur Verwendung als eine obere
Grenze anstelle eines voll geöffneten
Drosselwinkels gesteuert. Ist der berechnete Solldrosselwinkel größer als
der obere Grenzdrosselwinkel, dann wird der obere Grenzdrosselwinkel
als der Soll-Drosselwinkel verwendet.
-
Der
Maschinenmikrocomputer 4 kann in angemessener Weise arbeiten,
obwohl der Drosselmikrocomputer 6 den korrekten Betrieb
des Maschinenmikrocomputers 4 nicht verifizieren kann,
da die Fehlerdiagnose unterbrochen ist. Auch in einer derartigen
Bedingung kann die Drosselklappe 26 in einem Bereich gesteuert
werden, dass das Fahrzeug zumindest betreibbar ist.
-
Wird
bestimmt, dass die ROM-Fehlerbestimmung und die Anweisungsfehlerbestimmung
gemäß den Schritten
S630 und S640 normal ist, dann wird angenommen, dass eine normale
Diagnose durch den Maschinenmikrocomputer 4 durchgeführt wird. Daher
wird eine reguläre
Drosselsteuerung durchgeführt
und es wird die Fehlerlampe ausgeschaltet (S660).
-
In
der elektronischen Steuerungseinheit ECU 2, sendet der
Maschinenmikrocomputer 4 die Diagnosedaten (Übertragungs-ID,
berechneter Wert und Bezugswert) anstelle der Watchdog-Pulse. Der Drosselmikrocomputer 6 überwacht
direkt die Vollendung der mittels des Maschinenmikrocomputers 3 durchgeführten Diagnose
auf der Basis der Diagnosedaten.
-
In
einem RAM-Prüfablauf,
der mittels des Maschinenmikrocomputers 4 durchgeführt wird,
werden zur Maschinensteuerung erforderliche Parameter und invertierte
Werte dieser Parameter berechnet. Die Parameter und ihre invertierten
Werte werden in einem Speicher RAM zur selben Zeit gespeichert.
Invertierte Werte der invertierten Werte werden berechnet und mit
den Parametern zur Verifikation verglichen, dass Zellen des Speichers
RAM nicht beschädigt
sind. Soll-Drosselwinkel
und Beschleunigungseinrichtungswinkel werden als Parameter berechnet und
addierte Werte werden in einem Vergleichsvorgang verglichen. Im
Ergebnis wird lediglich ein Vergleich benötigt. Es können jedoch auch mehr als zwei Parameter
berechnet und es kann der Vergleich in der gleichartigen Weise durchgeführt werden.
-
In
einer in 9A gezeigten Soll-Drosselwinkelberechnungsroutine
wird entsprechend einer vorbestimmten Berechnung unter Verwendung
eines Kennfelds oder eines Operationsausdrucks ein Soll-Drosselwinkel
DSLOT bestimmt (S700). Ein invertierter Wert DSLOTINV des Soll-Drosselwinkels DSLOT
wird berechnet (S710). Der Soll-Drosselwinkel DSLOT und sein invertierter
Wert DSLOTINV werden in den Speicher RAM zur gleichen Zeit eingeschrieben
(S720).
-
In
einer in 9B gezeigten Beschleunigungseinrichtungswinkelberechnungsroutine
wird auf der Basis des Beschleunigungseinrichtungswinkelsignals
ein Beschleunigungseinrichtungswinkel ACC bestimmt. Ein invertierter
Wert (ACCINV) des Beschleunigungseinrichtungswinkels ACC wird berechnet
(S740). Der Beschleunigungseinrichtungswinkel ACC und sein invertierter
Wert (ACCINV) werden zur gleichen Zeit in dem Speicher RAM gespeichert
(S750).
-
Die
Soll-Drosselwinkelberechnungsroutine und die Beschleunigungseinrichtungswinkelberechnungsroutine
werden alle 8 ms verarbeitet. Eine in 9C gezeigte
RAM-Prüfroutine
wird alle 16 ms zu einer Zeit verarbeitet, die unterschiedlich ist
zu der Durchführung
der vorstehend angegebenen Routine zur Bestimmung, ob die geschriebenen
Werte gültig sind.
-
In
der RAM-Prüfroutine
wird der Beschleunigungseinrichtungswinkel ACC zu dem Soll-Drosselwinkel
DSLOT addiert, und es wird das Ergebnis als ein Bezugswert 1 gespeichert
(S760). Der invertierte Wert ACCINV wird zu dem invertierten Soll-Wert
DSLOTINV addiert, und als ein Bezugswert 2 gespeichert
(S770). Es wird bestimmt, ob der Bezugswert 1 mit dem Bezugswert 2 übereinstimmt
(S780). Liegt keine Übereinstimmung
vor, dann kann bei dem Speicher RAM ein Fehler aufgetreten sein,
und es wird daher die Relaisschaltung 24 als ein RAM-Fehlererholungsablauf
(S790) ausgeschaltet. Die Marke XRAMJDG wird zur Angabe des Abschlusses
der RAM-Bestimmung auf 1 gesetzt (S800).
-
In
dem Datenübertragungsschritt
wird bestimmt, ob die Marke XRAMJDG auf 1 gesetzt ist. Ist die Marke
XRAMJDG auf 1 gesetzt, dann wird bestimmt, dass die Diagnosedaten
bezüglich
der RAM-Prüfung vorbereitet
wurden. Sodann werden die Diagnosedaten einschließlich einer Übertragungs-ID
der RAM-Prüfung,
des Bezugswerts 1 und des Bezugswerts 2 zu dem
Drosselmikrocomputer 6 gesendet. Es ist dabei bevorzugt,
dass der Maschinenmikrocomputer 4 die Daten in der Reihenfolge
einer bisherigen Übertragungsgeschichte
sendet.
-
In
einer in 10A gezeigten Soll-Drosselwinkelberechnungsroutine
wird ein Ablaufprüfzähler CFLOW
in einem alle 8 ms durchgeführten
Soll-Drosselwinkelberechnungsablauf
auf 0 gesetzt (S900). Nach der Durchführung von Unterroutinen (S910, S920)
wird eine Ablaufprüfroutine
durchgeführt
bzw. verarbeitet (S930). In dieser Soll-Drosselwinkelberechnungsroutine
ist die Sequenz der Verarbeitung der Unterroutine kritisch. Werden
die Unterroutinen nicht in der Sequenz verarbeitet, dann wird das
Ergebnis der Soll-Drosselwertberechnung fehlerhaft. Daher wird der
Ablauf der Durchführung
der Unterroutinen überwacht.
-
Wird
der Zähler
CFLOW normal in Schritt S900 aufgerufen, dann wird der Zähler CFLOW
auf 0 gesetzt. In einer Unterroutine A gemäß der Darstellung in 10B wird bestimmt, ob der Zähler CFLOW auf 0 gesetzt ist
(S911). Ist der Zähler CFLOW
auf 0 gesetzt, dann wird bestimmt, dass die Unterroutinen in der
korrekten Sequenz (Abfolge) verarbeitet wurden. In diesem Fall wird
der Zähler CFLOW
auf 1 gesetzt (S911) zur Angabe, dass die Unterroutine in der korrekten
Abfolge verarbeitet wurden. Ist der Zähler CFLOW nicht auf 0 gesetzt,
dann wird er auf $FF gesetzt (S915) zur Angabe, dass die Unterroutinen
nicht in der korrekten Abfolge (Sequenz) verarbeitet wurden. Eine vorbestimmte
Steuerung wird durchgeführt
(S917) und es wird diese Routine abgeschlossen.
-
In
einer Unterroutine B gemäß der Darstellung
in 10C wird bestimmt, ob der Zähler CFLOW auf 1 gesetzt ist
(S921). Wird der Zähler CFLOW
auf 1 gesetzt, dann wird er auf 2 gesetzt (S923) zur Angabe, dass
die Unterroutine B verarbeitet wird. Ist der Zähler CFLOW nicht auf 1 gesetzt, dann
wird er auf $FF gesetzt (S925) zur Angabe, dass die Unterroutinen
nicht in der korrekten Abfolge verarbeitet wurden. Eine vorbestimmte
Steuerung wird durchgeführt
(S927), und es wird diese Routine abgeschlossen.
-
Werden
die Unterroutinen in der korrekten Abfolge verarbeitet, dann wird
der Zähler
CFLOW auf 2 gesetzt. In einer in 10D gezeigten
Ablaufprüfroutine
wird bestimmt, ob der Zähler
CFLOW auf 2 gesetzt ist (S931). Ist der Zähler CFLOW auf 2 gesetzt, dann
wird die Marke XFLOWJDG auf 1 gesetzt (S935) zur Angabe, dass die
Ablaufprüfung
durchgeführt
wird. In diesem Fall wird ein Ablauffehlererholungsablauf nicht
durchgeführt
(S933).
-
Falls
der Zähler
CFLOW nicht auf 2 gesetzt ist, wird die Relaisschaltung 24 als
eine Durchführung
eines Fehlerverarbeitungsablaufs ausgeschaltet. In dem Übertragungsablauf
des Maschinenmikrocomputers 4 wird bestimmt, ob die Marke
XFLOWJDG auf 1 gesetzt ist. Ist die Marke XFLOWJDG auf 1 gesetzt,
dann wird bestimmt, dass die Diagnosedaten bezüglich der Ablaufprüfung vorbereitet
sind. Daher werden Diagnosedaten einschließlich der Übertragungs-ID der Ablaufprüfung, der
in dem Zähler CFLOW
eingestellte Wert und der Bezugswert (2) zu dem Drosselmikrocomputer 6 gesendet.
-
Die
vorliegende Erfindung sollte nicht auf die vorstehend beschriebenen
und in den Figuren veranschaulichten Ausführungsbeispiele beschränkt sein, sondern
kann auf verschiedene Arten ohne Abweichen von dem Geist der vorliegenden
Erfindung implementiert werden. Beispielsweise sind die Diagnosen
nicht auf die ROM-Prüfroutine
und die Anweisungsprüfroutine
beschränkt.
Andere Prüfroutinen können anstelle
dessen oder zusätzlich
zu den ROM-Prüfroutine
und der Anweisungsprüfroutine durchgeführt werden.
Der Maschinenmikrocomputer 4 kann zumindest eine der Arten
der Diagnose durchführen,
und sendet Daten bezüglich
der Diagnose zu dem Drosselmikrocomputer 6.
-
In
einer elektronischen Steuerungseinheit (2) mit zwei Computern
(4, 6) führt
der erste Computer (4), der ein Maschinensteuerungsmikrocomputer
ist, mehrfache Diagnosen (S100 bis S130, S140 bis S170) durch und
sendet Daten bezüglich
der Diagnosen (S100 bis S130, S140 bis S170) zu dem zweiten Mikrocomputer
(6), der ein Drosselsteuerungsmikrocomputer ist. Die Daten
umfassen eine Übertragungs-ID,
einen berechneten Wert und einen Bezugswert. Der Drosselsteuerungsmikrocomputer
(6) überwacht
direkt den Abschluss der Diagnosen (S100 bis S130, S140 bis S170)
auf der Basis der Daten.