-
HINTERGRUND DER ERFINDUNG
-
Querverweis auf verwandte Anmeldung
-
Diese
Anmeldung basiert auf der am 1. Februar 2006 eingereichten japanischen
Patentanmeldung Nr. 2006-024668, für welche Priorität beansprucht
und auf deren Offenbarung hiermit vollinhaltlich Bezug genommen
wird.
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft Vorrichtungen zur Steuerung eines
Motors mit Hilfe eines Nockensignals.
-
Stand der Technik
-
Motorsteuergeräte für Fahrzeuge
verwenden ein Kurbelsignal mit einem Signalpegel, der sich zu regelmäßigen Drehwinkeln
(zu regelmäßigen Kurbelwinkeln)
einer Motorkurbelwelle in einer vorbestimmten gleichen Richtung ändert. Das
Kurbelsignal wird insbesondere von einem mit einem Motorsteuergerät verbundenen
Kurbelwellensensor gemessen und anschließend an das in einem Hauptsteuermodus
arbeitende Motorsteuergerät
gegeben.
-
Das
Motorsteuergerät
arbeitet insbesondere derart, dass es in dem Hauptsteuermodus eine
Drehposition (Kurbelposition) der Kurbelwelle auf der Grundlage
des Kurbelsignals bestimmt.
-
Jedes
Mal, wenn bestimmt wird, dass die bestimmte Drehposition der Kurbelwellen
mit einer gewünschten
Drehposition übereinstimmt,
arbeitet das Motorsteuergerät
derart, dass es, während
es sich in dem Hauptsteuermodus befindet, mit der Motorsteuerung
wie beispielsweise der Kraftstoffeinspritzung oder der Zündung verknüpfte Ereignisse
bzw. Vorgänge
erzeugt.
-
Die
ungeprüften
japanischen Patentveröffentlichung
Nr. 2001-200747 und die US-Patentveröffentlichung Nr. 6,445,998
B1, welche der ungeprüften
japanischen Patentveröffentlichung
Nr. 2001-214790 entspricht, offenbaren beispielsweise ein solches
Motorsteuergerät.
-
Bei
einem solchen das Kurbelsignal zur Motorsteuerung verwendenden Motorsteuergerät kann das Motorsteuergerät die Drehposition
der Kurbelwelle nicht bestimmen, wenn das Kurbelsignal bedingt durch
beispielsweise eine Trennung der den Kurbelwellensensor mit dem
Motorsteuergerät
verbindenden Leitungen nicht wie üblich an das Motorsteuergerät gegeben
werden kann. Folglich kann das Motorsteuergerät die Steuerung des Motors
gegebenenfalls nicht fortlaufend angemessen ausführen.
-
Bezüglich dieses
Problems ist das Motorsteuergerät
dann, wenn das Kurbelsignal nicht wie üblich an das Motorsteuergerät gegeben
werden kann, dazu ausgelegt, in einem Untersteuermodus zu arbeiten,
wobei es ein mit einem Nockensensor gemessenes Nockensignal verwendet.
Das Nockensignal weist einen Pegel auf, der sich zu regelmäßigen Drehwinkeln
einer Motornockenwelle in einer vorbestimmten gleichen Richtung ändert.
-
Folglich
kann das Motorsteuergerät
in dem Untersteuermodus fortlaufend mit der Motorsteuerung verknüpfte Ereignisse
auf der Grundlage des Nockensignals erzeugen.
-
Das
Motorsteuergerät
ist insbesondere dann, wenn ein Fehler in dem Kurbelsignal erfasst
wird, dazu ausgelegt, seinen Betriebmodus von dem das Kurbelsignal
verwendenden Hauptsteuermodus in den das Nockensignal verwendenden
Untersteuermodus zu wechseln, um die Motorsteuerung fortsetzen zu
können. Über die
Motorsteuerung des Motorsteuergeräts in dem Untersteuermodus
kann das Fahrzeug in einem Notlaufmodus, wie beispielsweise langsam
zu einem sicheren Ort gefahren werden.
-
Es
sollte beachtet werden, dass sich der regelmäßige Drehwinkel der Kurbelwelle,
der einem Zeitintervall zwischen zeitlich benachbarten Signalpegeln
des Kurbelsignals entspricht, die sich in der vorbestimmten gleichen
Richtung ändern,
von dem der Nockenwelle unterscheidet, der einem Zeitintervall zwischen
zeitlich benachbarten Signalpegeln des Nockensignals entspricht,
die sich in der vorbestimmten gleichen Richtung ändern.
-
Zum
Arbeiten in dem Hauptsteuermodus benötigt das Motorsteuergerät insbesondere
die regelmäßigen Drehwinkel
der Kurbelwelle, zum Arbeiten in dem Untersteuermodus jedoch insbesondere
die regelmäßigen Drehwinkel
der Nockenwelle.
-
Es
ist folglich möglich,
ein auf der Grundlage der regelmäßigen Drehwinkel
der Kurbelwelle arbeitendes Hauptsteuersystem und ein auf der Grundlage
der regelmäßigen Drehwinkel
der Nockenwelle arbeitendes Untersteuersystem unabhängig voneinander
durch Hardware- und/oder Software-Komponenten in dem Motorsteuergerät aufzubauen.
-
Dies
würde jedoch
den Anteil an Hardware- bzw. Software-Komponenten in dem Motorsteuergerät erhöhen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
ist folglich Aufgabe der vorliegenden Erfindung, eine Vorrichtung
zur Steuerung eines Fahrzeugmotors bereitzustellen, mit der das
Fahrzeug selbst dann, wenn das Kurbelsignal fehlerhaft ist, in einem
Notlaufmodus gefahren werden kann, ohne dass der Anteil an Hardware-
und/oder Software-Komponenten in der Vorrichtung erhöht werden
muss.
-
Gemäß einer
Ausgestaltung der vorliegenden Erfindung wird einen Vorrichtung
zur Steuerung eines Motors mit einer Kurbelwelle und einer Nockenwelle
bereitgestellt. Die Vorrichtung weist eine Intervallmesseinheit
auf, die dazu ausgelegt ist, ein an sie gegebenes Eingangssignal
zu empfangen. Das Eingangssignal weist einen sich zeitlich wiederholend
in einer vorbestimmten Richtung ändernden
Pegel auf. Die Intervallmesseinheit ist dazu ausgelegt, ein Zeitintervall
zwischen einem Zeitpunkt, an dem eine Pegeländerung vorbestimmter Richtung
in dem Eingangssignal erscheint, und einem Zeitpunkt, an dem eine
zeitlich nächste
Pegeländerung
vorbestimmter Richtung in dem Eingangssignal erscheint, zu messen.
Die Vorrichtung weist eine Eingangseinheit auf, die dazu ausgelegt
ist, ein Kurbelsignal als das Eingangssignal an die Intrvallmesseinheit zu
geben. Das Kurbelsignal weist einen Pegel auf, der sich jedes Mal
wiederholend in einer vorbestimmten Richtung ändert, wenn sich die Kurbelwelle
um einen ersten Winkel dreht. Die Vorrichtung weist eine Multiplikationstakterzeugungseinheit
auf, die dazu ausgelegt ist, einen ersten Multiplikationstakt zu
erzeugen, der eine Reihe von Takten umfasst, deren Taktzeit bestimmt
wird, indem das von der Intervallmesseinheit gemessene Intervall
durch eine erste Multiplikationszahl geteilt wird. Die Vorrichtung
weist eine Zähleinheit
auf, die dazu ausgelegt ist, synchron zum von der Multiplikationstakterzeugungseinheit
erzeugten ersten Multiplikationstakt zu zählen. Ein Zählwert der Zähleinheit
entspricht einer Drehposition der Kurbelwelle in einem Zyklus des
Motors, wenn die Drehposition der Kurbelwelle mit einer vorbestimmten
Auflösung
dargestellt wird. Die vorbestimmte Auflösung wird erhalten, indem der
erste Winkel durch die erste Multiplikationszahl geteilt wird. Die Vorrichtung
weist eine Ereigniserzeugungseinheit, die dazu ausgelegt ist, wenigstens
ein mit der Steuerung des Motors verknüpftes Ereignis in Übereinstimmung
mit einer durch einen Zählwert
der Zähleinheit
bestimmten Drehposition der Kurbelwelle zu erzeugen. Die Vorrichtung
weist eine Fehlerbestimmungseinheit auf, die dazu ausgelegt ist,
auf der Grundlage eines Zustands des Eingangssignals zu bestimmen,
ob das Kurbelsignal fehlerhaft ist. Die Eingangseinheit dient dazu,
das Eingangssignal für
die Intervallmesseinheit von dem Kurbelsignal zu einem Nockensignal
zu wechseln, wenn bestimmt wird, dass das Kurbelsignal fehlerhaft
ist. Das Nockensignal weist einen Pegel auf, der sich jedes Mal
zeitlich wiederholend ändert,
wenn sich die Nockenwelle wenigstens um einen von dem ersten Winkel
verschiedenen zweiten Winkel dreht. Die Multiplikationstakterzeugungseinheit
dient dazu, einen zweiten Multiplikationstakt zu erzeugen, der anstelle
des ersten Multiplikationstakts verwendet wird, wenn bestimmt wird,
dass das Kurbelsignal fehlerhaft ist. Der zweite Multiplikationstakt
eine Reihe von Takten umfasst, deren Taktzeit derart festgelegt
wird, dass sie im Wesentlichen der Taktzeit des ersten Multiplikationstakts
entspricht.
-
Gemäß der obigen
Ausgestaltung der vorliegenden Erfindung wird dann, wenn bestimmt
wird, dass das Kurbelsignal fehlerhaft ist, das Nockensignal, dessen
Pegel sich jedes Mal zeitlich wiederholend in der vorbestimmten
Richtung ändert,
wenn sich die Nockenwellen um wenigstens den von dem ersten Winkel
verschiedenen zweiten Winkel dreht, anstelle des Kurbelsignals an
die Intervallmesseinheit gegeben.
-
Hierdurch
kann die Taktzeit des ersten Multiplikationstakts vor und nach einer Änderung
des Eingangssignals vom Kurbelsignal zum Nockensignal auf die des
zweiten Multiplikationstakts abgestimmt werden. D. h., die Taktzeit
des von der Multiplikationstakterzeugungseinheit zu erzeugenden
Multiplikationstakts ist vor und nach einer Änderung des Eingangssignals
vom Kurbelsignal zum Nockensignal im Wesentlichen konstant.
-
Folglich
ist es für
die Zähleinheit
und die Ereigniserzeugungseinheit nicht erforderlich, bestimmte Funktionen
zum Wechseln ihrer Arbeitsabläufe
vor und nach einer Änderung
des Eingangssignals auszuführen.
-
Gemäß der obigen
Ausgestaltung der vorliegenden Erfindung ist die Vorrichtung, wie
vorstehend beschrieben, dazu ausgelegt, bei einem fehlerhaften Kurbelsignal
einzig das Eingangssignal vom Kurbelsignal zum Nockensignal zu wechseln,
dessen Pegel sich jedes Mal zeitlich wiederholend in der vorbestimmten
Richtung ändert,
wenn sich die Nockenwelle wenigstens um den von dem ersten Winkel
verschiedenen zweiten Winkel dreht. Hierdurch kann die Taktzeit
des ersten Multiplikationstakts vor und nach einer Änderung
des Eingangssignals vom Kurbelsignal zum Nockensignal an die des
zweiten Multiplikationstakts angepasst werden. Auf diese Weise ist
es möglich,
die Motorsteuerung selbst dann, wenn ein Fehler in dem Kurbelsignal
auftritt, auf der Grundlage des Nockensignals fortzusetzen, so dass
es für
die Multiplikationstakterzeugungseinheit, die Zähleinheit und die Ereigniserzeugungseinheit überflüssig ist,
bestimmten Funktionen zum Wechseln ihrer Arbeitsabläufe vor
und nach einer Änderung
des Eingangssignals auszuführen.
-
Folglich
kann ein Fahrzeug, in welchem der Motor und die Vorrichtung im Voraus
installiert werden, selbst dann, wenn ein Fehler in dem Kurbelsignal
auftritt, auf der Grundlage einer Steuerung des Motors durch die
das Nockensignal verwendende Vorrichtung in einem Notlaufmodus gefahren
werden, ohne die Anzahl an Hardware- und/oder Software-Komponenten
in der Vorrichtung zu erhöhen.
-
KURZE BESCHREIBUNG DER ZEICHNUNG
-
Weitere
Aufgaben und Ausgestaltungen der Erfindung werden aus der nachfolgenden
Beschreibung der Ausführungsformen,
die unter Bezugnahme auf die beigefügte Zeichnung gemacht wurde,
näher ersichtlich
sein. In der Zeichnung zeigt:
-
1 ein
schematisches Blockdiagramm mit einem beispielhaften Aufbau eines
in einem Fahrzeug installierten elektronischen Steuergeräts gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
2 ein
schematisches Signalwellenformdiagramm eines Kurbelsignals, eines
ersten und eines zweiten Nockensignals und eines Nockenflankensignals
gemäß der Ausführungsform
der vorliegenden Erfindung;
-
3 ein
schematisches Blockdiagramm eines beispielhaften Aufbaus einer in
der 1 gezeigten Winkeltakterzeugungseinheit;
-
4 ein
schematisches Zeitdiagramm mit Änderungen
der Parameter der Winkeltakterzeugungseinheit gegenübereiner Änderung
eines Eingangssignals gemäß der Ausführungsform
der Erfindung;
-
5 ein
schematisches Ablaufdiagramm einer von einer in der 1 gezeigten
CPU auszuführenden
Eingangssignaldiagnosefunktion;
-
6 ein
schematisches Ablaufdiagramm einer von der in der 1 gezeigten
CPU auszuführenden Zeitsynchronisierungsfunktion;
-
7 ein
schematisches Ablaufdiagramm einer von der in der 1 gezeigten
CPU auszuführenden Kurbelflankenunterbrechungsfunktion;
-
8 ein
schematisches Zeitdiagramm mit Änderungen
von Parametern der Winkeltakterzeugungseinheit gegenüber einer Änderung
des Eingangssignals gemäß der Ausführungsform
der Erfindung;
-
9 ein
schematisches Zeitdiagramm mit Änderungen
von Parametern der Winkeltakterzeugungseinheit gegenüber einer Änderung
des Eingangssignals während
der in der 7 gezeigten Kurbelflankenunterbrechungsfunktion;
-
10 ein
schematisches Zeitdiagramm mit Änderungen
von Parametern der Winkeltakterzeugungseinheit gegenüber einer Änderung
des Eingangssignals während
der in der 7 gezeigten Kurbelflankenunterbrechungsfunktion;
-
11 ein
schematisches Ablaufdiagramm einer von der in der 1 gezeigten
CPU auszuführenden Nockenflankenunterbrechungsfunktion;
-
12 eine
Tabelle mit Übereinstimmungen
zwischen einzelnen Anfangswerten jeweiliger Zähler des in der 3 gezeigten
Winkeltaktmoduls und einzelnen aktiven Flanken des Nockenflankensignals
gemäß der Ausführungsform;
-
13 ein
schematisches Zeitdiagramm mit Änderungen
von Parametern der Winkeltakterzeugungseinheit gegenüber einer Änderung
des Eingangssignals während
der in der 11 gezeigten Nockenflankenunterbrechungsfunktion;
-
14 ein
schematisches Ablaufdiagramm einer von der in der 1 gezeigten
CPU auszuführenden
Passierungswinkelunterbrechungsfunktion;
-
15 ein
schematisches Zeitdiagramm mit Änderungen
von Parametern der Winkeltakterzeugungseinheit gegenüber einer Änderung
des Eingangssignals während
der in der 11 gezeigten Nockenflankenunterbrechungsfunktion;
und
-
16 ein
schematisches Zeitdiagramm mit Änderungen
von Parametern der Winkeldiagrammerzeugungseinheit gegenüber einer Änderung
des Eingangsignals während
der in der 11 gezeigten Nockenflankenunterbrechungsfunktion.
-
DETAILLIERTE BESCHREIBUNG
EINER AUSFÜHRUNGSFORM
DER ERFINDUNG
-
Nachstehend
wird eine Ausführungsform
der vorliegenden Erfindung unter Bezugnahme auf die beigefügte Zeichnung
beschrieben. Bei der Ausführungsform
wird die Erfindung auf eine elektronische Steuereinheit (ECU) 1 angewandt,
die als Motorsteuergerät
zur Ansteuerung eines in einem Fahrzeug installierten Viertaktverbrennungsmotors
E mit beispielsweise sechs Zylindern (#1 bis #6) dient.
-
1 zeigt
ein Blockdiagramm mit einem beispielhaften Aufbau der im Voraus
in dem Fahrzeug installierten ECU 1 gemäß der Ausführungsform der vorliegenden
Erfindung.
-
Die
ECU 1 gemäß der Ausführungsform
weist, wie in 1 gezeigt, eine Eingangsschaltung 10,
eine Ausgangsschaltung 20 und einen Mikrocomputer 30 auf.
Die Eingangs- und die Ausgangsschaltung 10 und 20 sind
elektrisch mit dem Mikrocomputer 30 verbunden.
-
Die
Eingangsschaltung 10 ist elektrisch mit einem Kurbelwellensensor 11,
einem ersten Nockenwellensensor 12, einem zweiten Nockenwellensensor 13 und
weiteren Sensoren verbunden.
-
Der
Kurbelwellensensor 11 weist beispielsweise, wie in 1 gezeigt,
eine Reluktorscheibe 11a mit einer Mehrzahl von Zähnen 11b auf,
die im Wesentlichen zu Winkel-intervallen von beispielsweise 6 Grad
um den Umfang der Scheibe 11a herum beabstandet angeordnet
sind. Die Reluktorscheibe 11a ist gleichachsig an einer
Kurbelwelle CS befestigt, die als Hauptantriebswelle des Fahrzeugs
zum Liefern eines aus den sich hin- und herbewegenden Kolben und
den Kolbenstangen der Zylinder gewonnenen Drehmoments dient.
-
Die
Reluktorscheibe 11a weist beispielsweise einen zahnlosen
Abschnitt 11c auf, bei dem beispielsweise k benachbarte
Zähne fehlen.
-
Der
Kurbelwellensensor 11 weist beispielsweise einen Aufnehmer 11d auf,
der beispielsweise dazu dient, den Zahn 11b der Reluktorscheibe 11a auf
der Kurbelwelle CS bei einer Drehung dieser magnetisch zu erfassen,
um ein Kurbelsignal auf der Grundlage des Erfassungsergebnisses
zu erzeugen. Das Kurbelsignal wird an die Eingangsschaltung 10 gegeben.
-
Bei
der Ausführungsform
wird der Drehbereich der Kurbelwelle CS dann, wenn die Drehposition
der Kurbelwelle CS einen gegebenen Drehbereich derart erreicht,
dass sich der zahnlose Abschnitt 11c vor dem Aufnehmer 11d befindet,
um von diesem erfasst zu werden, nachstehend als "bestimmter Bereich" bezeichnet Da der
zahnlose Abschnitt 11c einmal pro Drehwinkel (Kurbelwinkel)
der Kurbelwelle CS von 360 Grad (360° CA) erscheint, erreicht die
Kurbelwelle CS den bestimmten Bereich jede volle Umdrehung (je Kurbelwinkel
von 360°).
D. h., die Kurbelwelle CS erreicht den bestimmten Bereich zweimal
pro Motorzyklus (Kurbelwinkel von 720 Grad).
-
Der
erste Nockenwellensensor 12 dient beispielsweise dazu,
die Drehpositionen einer ersten Nockenwelle CM1 bei einer Drehung
dieser bei beispielsweise halber Drehzahl der Kurbelwelle CS magnetisch
zu erfassen, um ein ersten Nockensignal auf der Grundlage des Erfassungsergebnisses
zu erzeugen. Das erste Nockensignal wird an die Eingangsschaltung 10 gegeben.
-
In
gleicher Weise dient der zweite Nockenwellensensor 13 beispielsweise
dazu, die Drehpositionen einer zweiten Nockenwelle CM2 bei einer
Drehung dieser bei beispielsweise halber Drehzahl der Kurbelwelle CS
magnetisch zu erfassen, um ein zweites Nockensignal auf der Grundlage
des Erfassungsergebnisses zu erzeugen. Das zweite Nockensignal wird
an die Eingangsschaltung 10 gegeben.
-
Die
erste und die zweite Nockenwelle CM1 und CM2 sind insbesondere dazu
ausgelegt, über
die Kurbelwelle CS durch Zahnrädern,
Riemen und/oder eine Kette angetrieben zu werden, und weisen eine
Reihe von Nocken zum Öffnen
und Schließen
der Einlass- bzw. Auslassventile auf.
-
Das
Kurbelsignal ist derart ausgelegt, dass es einen Pegel aufweist,
der sich zeitlich wiederholend impulsförmig mit einer Drehung der
Kurbelwelle CS ändert.
In gleicher Weise ist das erste Nockensignal derart ausgelegt, dass
es einen Pegel aufweist, der sich zeitlich wiederholend impulsförmig mit
einer Drehung der ersten Nockenwelle CM1 ändert, und ist das zweite Nockensignal
derart ausgelegt, dass es sich zeitlich wiederholend impulsförmig mit
einer Drehung der zweiten Nockenwelle CM2 ändert.
-
Nachstehend
werden die Strukturen des Kurbelsignals und des ersten und des zweiten
Nockensignals unter Bezugnahme auf die 2 beschrieben.
-
Der
Pegel des Kurbelsignals ändert
sich, wie in 2 gezeigt, jedes Mal impulsförmig in
einer vorbestimmten gleichen Richtung, wenn sich die Kurbelwelle
CS (Reluktorscheibe 11a) um einen Einheitswinkel von Δθ Grad des
Kurbelwinkels (CA) dreht, während
sich die Drehposition der Kurbelwelle CS nicht innerhalb des bestimmten
Bereichs befindet Bei der Ausführungsform
ist die vorbestimmte gleiche Richtung beispielsweise auf eine High-Lov-Richtung
(nachstehend als H-L-Richtung bezeichnet) und der Einheitswinkel
von Δθ Grad des
Kurbelwinkels auf einen Kurbelwinkel von 6 Grad festgelegt.
-
Wenn
sich die Drehposition der Kurbelwelle CS demgegenüber innerhalb
des bestimmten Bereichs befindet, ist ein Drehwinkel der Kurbelwelle
CS, der es dem Pegel des Kurbelsignals ermöglicht, sich impulsweise in
der gleichen Richtung (H-L-Richtung) zu ändern, um das k-fache größer als
der Einheitswinkel Δθ. Bei dieser
Ausführungsform
weist k den Wert 3 auf.
-
D.
h., wenn sich die Drehposition der Kurbelwelle CS innerhalb eines
Bereichs, jedoch nicht innerhalb des bestimmten Bereichs befindet,
erscheint jedes Mal eine aktive Flanke gleicher Richtung, wie beispielsweise
eine abfallende Flanke, der vorübergehenden
Pegeländerung
des Kurbelsignals in einem Impuls, wenn sich die Kurbelwelle CS
um den Einheitswinkel Δθ dreht.
-
Während sich
die Drehposition der Kurbelwelle CS demgegenüber innerhalb des bestimmten
Bereichs befindet, erscheinen selbst dann keine k-1 aktiven Flanken
gleicher Richtung der vorübergehenden
Pegeländerung
des Kurtbelsignals, wenn sich die Kurbelwelle CS kontinuierlich
um jeweils den Einheitswinkel Δθ dreht.
-
Es
sollte beachtet werden, dass die aktiven Flanken gleicher Richtung,
wie beispielsweise abfallende oder ansteigende Flanke, die in einem
Signal erscheinen, dessen Pegel sich, gleich einem Impulssignal,
zeitlich wiederholend vorübergehend
(periodisch) ändert,
nachstehend lediglich als "aktive
Flanken" bezeichnet werden.
-
Hierdurch
kann ein Zeitintervall zwischen zeitlich benachbarten aktiven Flanken
des Kurbelsignals während
eines Zeitraums, in dem sich die Drehposition der Kurbelwelle CS
innerhalb des bestimmten Bereichs befindet, um das k-fache größer als
ein normales Zeitintervall ausgelegt werden. Das normale Zeitintervall
entspricht einem Intervall zwischen zeitlich benachbarten aktiven
Flanken des Kurbelsignals, während
sich die Drehposition der Kurbelwelle CS innerhalb eines Bereichs
befindet, der sich von dem bestimmten Bereich unterscheidet.
-
Es
sollte beachtet werden, dass ein Abschnitt des dem bestimmten Bereich
entsprechenden Kurbelsignals, d. h. das k-fache Zeitintervall zwischen
zeitlich benachbarten aktiven Flanken des Kurbelsignals, im Gegensatz
zum normalen Zeitintervall nachstehend als impulsloser Abschnitt
M bezeichnet wird.
-
Da
der zahnlose Abschnitt 11c einmal pro Drehwinkel (Kurbelwinkel)
der Kurbelwelle CS von 360 Grad (360° CA) erscheint, erscheint der
impulslose Abschnitt M ebenso einmal pro Kurbelwinkel von 360 Grad
in dem Kurbelsignal.
-
Bei
dem Kurbelsignal gemäß der Ausführungsform
entspricht eine aktive Flanke, die jedes Mal erscheint, wenn sich
die Kurbelwelle CS um einen vorbestimmten Kurbelwinkel CA von beispielsweise
120 Grad dreht, dem TDC (oberer Totpunkt) von jedem der einzelnen
Zylinder#1, #5, #3, #6, #2 und #4 gemäß dieser Reihenfolge in der 2.
Der vorbestimmte Kurbelwinkel von 120 Grad kann bestimmt werden,
indem der einem Motorzyklus entsprechende Kurbelwinkel von 720 Grad
durch die Zylinderanzahl von beispielsweise sechs geteilt wird.
-
Eine
Referenzposition des Kurbelsignals ist derart festgelegt, dass sie
einer aktiven Flanke eines vorbestimmten Kurbelwinkels von beispielsweise
18 Grad vor der dem TDC des ersten Zylinders #1 entsprechenden aktiven
Flanke entspricht. Die Referenzposition des Kurbelsignals ist in
der 2 durch "0" gekennzeichnet.
-
Der
impulslose Abschnitt M erscheint, wie vorstehend beschrieben, einmal
pro Kurbeiwinkel von 360 Grad in dem Kurbelsignal. D. h., die impulslosen
Abschnitte M werden in erste impulslose Abschnitte M1 und in zweite
impulslose Abschnitte M2 geteilt.
-
Bei
dem Kurbelsignal beginnt der erste impulslose Abschnitt M1 pro Motorzyklus
an einer ersten aktiven Flanke des Kurbelwinkels von 108 Grad auf
ein Erscheinen der akti- ven Flanke an der Referenzposition folgend.
Der zweite impulslose Abschnitt M2 beginnt, ebenso pro Motorzyklus,
an einer zweiten aktiven Flanke des Kurbelwinkels von 360 Grad auf
die erste aktive Flanke folgend.
-
Insbesondere
entspricht das gegenüber
dem normalen Zeitintervall k-fache Zeitintervall nach der ersten
aktiven Flanke dem ersten impulslosen Abschnitt M1 und das gegenüber dem
normalen Zeitintervall k-fache Zeitintervall nach der zweiten aktiven
Flanke dem zweiten impulslosen Abschnitt M2.
-
Das
erste Nockensignal ist derart ausgelegt, dass es:
von einem
niedrigen (L) zu einem hohen (H) Pegel wechselt, wenn sich die erste
Nockenwelle CM1 an einer ersten Drehposition R1 des Kurbelwinkel
von 105 Grad vor der Referenzposition befindet;
den H-Pegel
während
einer ersten Periode hält,
welche dem Kurbelwinkel von 240 Grad ab dem Wechselzeitpunkt zum
H-Pegel entspricht;
an einer zweiten Drehposition R2 unmittelbar
nach Verstreichen der ersten Periode vom H- zum L-Pegel wechselt;
den
L-Pegel während
einer zweiten Periode hält,
welche dem Kurbelwinkel von 240 Grad ab dem Wechselzeitpunkt zum
L-Pegel entspricht;
an einer dritten Drehposition R3 unmittelbar
nach Verstreichen derzweiten Periode vom L- zum H-Pegel wechselt;
den
H-Pegel während
einer dritten Periode hält,
welche dem Kurbelwinkel von 210 Grad ab dem Wechselzeitpunkt zum
H-Pegel entspricht;
an einer vierten Drehposition R4 unmittelbar
nach Verstreichen der dritten Periode vom H- zum L-Pegel wechselt;
den
L-Pegel während
einer vierten Periode hält,
welche dem Kurbelwinkel von 30 Grad ab dem Wechselzeitpunkt zum
L-Pegel entspricht, um zur ersten Drehposition R1 zurückzukehren,
um so die Reihe an Änderungen
pro Motorzyklus (Kurbelwinkel von 720 Grad) zu wiederholen.
-
Das
zweite Nockensignal ist derart ausgelegt, dass es
von einem
L- zu einem H-Pegel wechselt, wenn sich die zweite Nockenwelle CM2
an einer ersten Drehposition R11 des Kurbelwinkels von 15 Grad auf
die Referenzposition folgend befindet;
den H-Pegel während einer
ersten Periode hält,
welche dem Kurbelwinkel von 210 Grad ab dem Wechselzeitpunkt zum
H-Pegel entspricht;
an einer zweiten Drehposition R12 unmittelbar
nach Verstreichen der ersten Periode vom H- zum L-Pegel wechselt;
den
L-Pegel während
einer zweiten Periode hält,
welche dem Kurbelwinkel von 30 Grad ab dem Wechselzeitpunkt zum
L-Pegel entspricht;
an einer dritten Drehposition R13 unmittelbar
nach Verstreichen der zweiten Periode vom L- zum H-Pegel wechselt;
den
hohen Pegel während
einer dritten Periode hält,
welche dem Kurbelwinkel von 240 Grad ab dem Wechselzeitpunkt zum
H-Pegel entspricht;
an einer vierten Drehposition R14 unmittelbar
nach Verstreichen der dritten Periode vom H- zum L-Pegel wechselt;
den
L-Pegel während
einer vierten Periode hält,
welche dem Kurbelwinkel von 240 Grad ab dem Wechselzeitpunkt zum
L-Pegel entspricht, um zur ersten Drehposition R11 zurückzukehren,
um so die Reihe an Änderungen
pro Motorzyklus (Kurbelwinkel von 720 Grad) zu wiederholen.
-
Die
weiteren Sensoren werden im Voraus in dem Fahrzeug installiert und
dienen zum Messen verschiedenerphysikalischer Größen. Diese physikalischen Größen werden
von der ECU 1 benötigt,
um die einzelnen Steuerungsziele anzusteuern. Messgrößen anzeigende
Messsignale, die von den weiteren Sensoren ausgegeben werden, werden
periodisch an die Eingangsschaltung 10 gegeben.
-
Die
Eingangsschaltung 10 dient als Wellenformungsschaltung.
Die Eingangsschaltung 10 dient insbesondere dazu, die Wellenformung
des Kurbelsignals, des ersten und des zweiten Nockensignals und
der jeweils von dem Kurbelwellensensor 11, dem ersten und
dem zweiten Nockenwellensensor 12 und 13 und den weiteren
Sensoren ausgegebenen Messsignale zu formen. Die Eingangsschaltung 10 dient
ferner dazu, die wellengeformten Signale an den Mikrocomputer 30 auszugeben.
-
Die
Ausgangsschaltung 20 dient dazu, Aktivierungssignale, die
nachstehend noch beschrieben werden, auf der Grundlage von Zielsteuerbefehlen
des Mikrocomputers 30 an mit der Motorsteuerung verknüpfte Steuerungsziele,
wie beispielsweise Einspritzventile und/oder Zündvorrichtungen für die jeweiligen
Zylinder, zu geben.
-
Der
Mikrocomputer 30 ist im Wesentlichen aus einer CPU 31,
einer Winkeltaktsignalerzeugungseinheit 33, einer Zeitgeberausgangseinheit 35,
einem Flash-ROM 37 und einem RAM 39 aufgebaut
diese Einheiten 33, 35, 37 und 39 sind
elektrisch mit der CPU 31 verbunden.
-
Die
CPU 31 dient zur Steuerung des gesamten Mirkocomputers 30.
-
Die
Winkeltakterzeugungseinheit 33 dient dazu, das Kurbelsignal
und das erste und das zweite Nockensignal, die von der Eingangsschaltung 10 ausgegeben
werden, zu empfangen.
-
Die
Zeitgeberausgabeeinheit 35 weist beispielsweise einen ersten
und einen zweiten Zeitgeber auf und dient dazu, die Zielsteuerbefehle
auf der Grundlage von Zählwerten
des ersten und des zweiten Zeitgebers für jedes der einzelnen Steuerziele
an die Ausgangsschaltung 20 zu geben; diese Zielsteuerbefehle
bestimmen eine Stand-by- Dauer
und einer Aktivierugsdauer für
jedes der einzelnen Steuerziele.
-
Das
Flash-ROM 37 wird als Beispiel für verschiedene Arten nicht
flüchtiger
Speichern verwendet Das Flash-ROM 37 weist insbesondere
eine Mehrzahl von Programmen auf. Wenigstens eines der Pragramme
bewirkt, dass die CPU 31 verschiedene Funktionen ausführt, einschließlich: (1)
einer Eingangssignaldiagnosefunktion, (2) einer Zeitsynchronisierungsfunktion,
(3) einer Kurbelflankenunterbrechungsfunktion, (4) einer Nockenflankenunterbrechungsfunktion
und (5) einer Passierungswinkelunterbrechungsfunktion, die nachstehen noch
beschrieben werden.
-
Das
RAM 39 dient dazu, für
einen schnellen Zugriff durch die CPU 31 ausgefegt zu sein,
und dazu, die von der CPU 31 verarbeiteten Daten zu speichern.
-
Die
Winkeltakterzeugungseinheit 33 weist, wie in 3 gezeigt,
ein Eingangswahlmodul 41, ein Flankenintervallmessmodul 43,
ein Multiplikationstakterzeugungsmodul 45, ein Passierungswinkelunterbrechungsmodul 47 und
ein Winkeltaktmodul 49 auf. Jedes der Module 41, 43, 45, 47 und 49 ist
operativ mit der CPU 31 verbunden.
-
Das
Eingangswahlmodul 41 ist operativ mit dem Flankenintervallmessmodul 43,
dem Multiplikationstakterzeugungsmodul 45, dem Passierungswinkelunterbrechungsmodul 47 und
dem Winkeltaktmodul 49 verbunden.
-
Das
Eingangswahlmodul 41 weist eine Einheit 41a, die
dazu ausgelegt ist, das Kurbelsignal und das erste und das zweite
Nockensignal von der Eingangsschaltung 10 zu empfangen
und das empfangene Kurbelsignal oder ein Signal zu wählen; dieses
Signal wird von der Einheit 41a auf der Grundlage des empfangenen
ersten und des empfangenen zweiten Nockensignals erzeugt. Die Einheit 41a des
Eingangswahlmoduls 41 ist dazu ausgelegt, das gewählte Kurbelsignal
oder das gewählte
erzeugte Signal an die CPU 31 zu geben.
-
Das
mit Hilfe des ersten und zweiten Nockensignals von der Einheit 41a erzeugte
Signal ist insbesondere dazu ausgelegt, einen Pegel aufzuweisen,
der sich jedes Mal zeitlich vorübergehend
in einer vorbestimmten gleichen Richtung, wie beispielsweise einer
L-H-Richtung, ändert,
wenn eine Pegeländerung
in dem ersten und in dem zweiten Nockensignal erscheint. D. h.,
in dem von der Einheit 41a erzeugten Signal erscheint jedes Mal
ein aktive Flanke gleicher Richtung, wie beispielsweise eine ansteigende
Flanke, wenn eine Pegeländerung
bzw. eine Pegelunkehrung in dem ersten und in dem zweiten Nockensignal
erscheint. Das von der vorstehend beschriebenen Einheit 41a erzeugte
Signal wird nachstehend als "Nockenflankesignal" bezeichnet Die aktiven
Flanken gleicher Richtung des Nockenflankensignals werden nachstehen
lediglich als "aktive
Flanken" bezeichnet.
-
Der
Pegel des Nockenflankensignals ist, wie in 2 gezeigt,
insbesondere derart ausgelegt, dass er sich an einzelnen Änderungspunkten
P und Q, welche den einzelnen Pegeländerungszeitpunkten des ersten und
des zweiten Nockensignals entsprechen, zeitlichen vorübergehend
in der L-H-Richtung ändert.
-
Bei
der Ausführungsform ändert das
Nockenflankensignal seinen Pegel an den Änderungspunkten P, deren Winkelintervalle
dem Kurbelwinkel von 120 Grad entsprechen, abgesehen von den Änderungspunkten Q,
deren Winkelintervalle dem Kurbelwinkel von 360 Grad entsprechen.
-
Das
Eingangswahlmodul 41 kann beispielsweise dafür vorgesehen
sein, das erste und das zweite Nockensignal einer logischen ODER
Funktion zu unterziehen, um das Nockenflankensignal zu erzeugen.
-
Das
Eingangswahlmodul 41 weist ferner ein Register 41b auf,
das wenigstens ein Bit an von der CPU 31 überschreibbaren
Daten speichern kann. Bei dieser Ausführungsform wird das wenigstens
eine "1" anzeigende Datenbit
im Voraus als Standardwert in dem Register 41b gespeichert.
-
Über die "1" anzeigenden in dem Register 41b gespeicherte
Daten kann das Eingangswahlmodul 41 das Kurbelsignal oder
das Nockenflankensignal auf der Grundlage von Befehlen der CPU 31 als
Eingangssignal an wenigstens eines der Module 43, 45, 47 und 49 geben.
-
Wenn
das wenigstens eine Datenbit demgegenüber von der CPU 31 mit "0" überschrieben
wird, verhindert der Datenwert "0", dass das Eingangswahlmodul 41 das Kurbelsignal
und das Nockenflankensignal an die Module 43, 45, 47 und 49 gibt.
-
Das
Flankenintervallmessmodul 43 ist operativ mit dem Multiplikationstakterzeugungsmodul 45 verbunden
und weist einen Flankenintervallmesszähler 43a auf.
-
Jedes
Mal, wenn eine aktive Flanke in dem von dem Eingangswahlmodul 41 an
das Flankenintervallmessmodul 43 gegebenen Eingangssignal
erscheint, arbeitet der Flankenintervallmesszähler 43a derart, dass er
ein Zeitintervall zwischen der momentanen aktiven Flanke und der
folgenden aktiven Flanke, die zeitlich benachbart zu dieser liegt,
misst.
-
Jedes
Mal, wenn eine aktive Flanke in dem Eingangssignal erscheint, arbeitet
der Flankenintervallmesszähler 43a insbesondere
derart, dass er:
seinen Zählwert
zurücksetzt;
und
unmittelbar auf das Zurücksetzen
hin die Anzahl an aktiven Flanken (abfallende oder ansteigende Flanken) der
Takte eines von dem Mikrocomputer 30 erzeugten Systemtakts
zählt,
bis die nächste
zeitlich benachbarte aktive Flanke in dem Eingangssignal erscheint.
-
Es
sollte beachtet werden, dass der Systemtakt eine Synchronisierung
der Funktionen in dem Mikrocomputer 30 untereinander ermöglicht.
Der Systemtakt ist, wie vorstehend beschrieben, aus einer sich wiederholenden
Reihe von Takten konstanter Taktzeit und konstanter Taktfrequenz
aufgebaut diese Taktfrequenz liegt über einer Frequenz der aktiven
Flanken des Eingangssignals. Die Änderung des Zählwerts
des Flankenintervallmesszählers 43a ist
schematisch in der 4 gezeigt.
-
Dies
führt dazu,
dass einzelne Intervalle zwischen zeitlich benachbarten momentanen
und folgenden aktiven Flanken in dem von dem Eingangswahlmodul 41 an
das Flankenintervallmessmodul 43 gegebenen Eingangssignal
sequentiell als entsprechende einzelne Zählwerte des Flankenintervallmesszählers 43a des Flankenintervallmessmoduls 43 gemessen
werden.
-
Das
Flankenintervallmessmodul 43 dient ferner dazu, jedes Mal
einen Zählwert
(gemessenes Intervall) des Flankenintervallmesszählers 43a an das Multiplikationstakterzeugungsmodul 45 zu
geben, wenn eine nächste
aktive Flanke vor einem Zurücksetzen
des Zählwerts
in dem Eingangssignal erscheint.
-
Das
Multiplikationstakterzeugungsmodul 45 ist operativ mit
dem Passierungswinkelmessmodul 47 und dem Winkeltaktmodul 49 verbunden
und weist ein erstes und ein zweites Register 45a und 45b.
Das zweite Register 45b dient dazu, eine Multiplikationszahl
f zu speichern. Bei der Ausführungsform
ist ein Standardwert der Multiplikationszahl f für das Kurbelsignal auf 60 gesetzt
und wird die Multiplikationszahl f für das Kurbelsignal mit dem
Standardwert von "60" nachstehend insbesondere
mit "f1" bezeichnet Jedes
Mal, wenn ein Zählwert
des Flankenintervallmesszählers 43a an
das Multiplikationstakterzeugungsmodul 45 gegeben wird,
arbeitet das Multiplikationstakterzeugungsmodul 45 derart,
dass es:
den Zählwert
(gemessenes Intervall) empfängt;
den
empfangenen Zählwert
als Multiplikationstaktreferenzzeit in dem ersten Register 45a speichert
(siehe "Multiplikationstaktreferenzzeit" in der 4);
die
in dem ersten Register 45a gespeicherte Multiplikationstaktreferenzzeit
durch die in dem zweiten Register 45b gespeicherte Multiplikationszahl
f teilt, um einen Multiplikationstakt zu erzeugen, der aus einer
sich wiederholenden Reihe von Multiplikationstakten besteht, deren
Taktzeit einem Multiplikationszahlteiler (Submultiple) der Multiplikationstaktreferenzzeit
entspricht (siehe "Multiplikationstakt" in der 4);
und
den erzeugten Multiplikationstakt an das Passierungswinkelmessmodul 47 und
das Winkeltaktmodul 49 gibt.
-
Da
die Multiplikationstaktreferenzzeit von dem Zählwert des Flankenintervallmesszählers 43a abhängt, der
von einem entsprechenden Intervall der zeitlich benachbarten aktiven
Flanken in dem Eingangssignal abhängt, hängt die Taktzeit des Multiplikationstakts
von einer Änderung
der Multiplikationstaktreferenzzeit ab.
-
Wenn
ein Zählwert
T0 beispielsweise als Multiplikationstaktreferenzzeit in dem ersten
Register 45a gespeichert wird, wird die Periode des Multiplikationstakts,
wie in 4 gezeigt, auf T0/f gesetzt. Wenn der in dem ersten
Register 45a gespeicherte Zählwert T0 auf einen Zählwert T1
aktualisiert wird, wird die Periode des Multiplikationstaktsignals
von T0/f zu T1/f geändert.
-
Gleichermaßen wird
die Periode des Multiplikationstaktsignals dann, wenn der in dem
ersten Register 45a gespeicherte Zählwert T1 auf einen Zählwert T2
aktualisiert wird, von T1/f zu T2/f geändert. Selbiges gilt, wenn
die in dem ersten Register 45a gespeicherten Zählwerte
auf T3 bis T5 aktualisiert werden.
-
Das
Passierungswinkelmessmodul 47 weist einen Passierungswinkelmesszähler 47a auf,
um die Anzahl von Änderungen
in dem Multiplikationstakt in einer vorbestimmten gleichen Richtung,
wie beispielsweise einer L-H-Richtung der Ausführungsform, zu zählen.
-
Der
Passierungswinkelmesszähler 47a arbeitet
insbesondere derart, dass er:
den von dem Multiplikationstakterzeugungsmodul 45 ausgegebenen
Multiplikationstakt empfängt;
seinen
Zählwert
jedes Mal zurücksetzt,
wenn eine aktive Flanke des Eingangssignals über das Passierungswinkelmessmodul 47 an
ihn gegeben wird; und
die Anzahl von ansteigenden Flanken der
Multiplikationstaktimpulse des empfangenen Multiplikationstakts zählt, bis
die zeitlich nächste
benachbarte aktive Flanke des Eingangsignals an den Passierungswinkelmesszähler 47a gegeben
wird (siehe "Passierungswinkelmesszähler" in der 4).
-
Das
von dem Eingangswahlmodul 41 an das Passierungswinkelunterbrechungsmodul 47 zu
gebende Eingangsignal kann, wie vorstehend beschrieben, das Kurbelsignal
oder das Nockenflankensignal sein. Das Nockensignal ist derart ausgelegt,
dass es einen Pegel aufweist, der sich vorübergehend zeitlich wiederholend mit
einer Drehung der Kur belwelle CS ändert, und das Nockenflankensignal
ist derart ausgelegt, dass es sich vorübergehend zeitlich wiederholend
in einer vorbestimmten gleichen Richtung, wie beispielsweise der L-H-Richtung,
mit einer Drehung der ersten oder zweiten Nockenwelle CM1 und CM2 ändert.
-
Folglich
weist der Multiplikationstakt eine Taktzeit auf, die ein ganzzahliger
Teiler (Submultiple) eines entsprechenden Zeitintervalls zwischen
zeitlich benachbarten aktiven Flanken in dem Eingangssignal ist
(Kurbelsignal oder Nockenflankensignal).
-
Folglich
dient der Passierungswinkelmesszähler 47a dazu,
einen Drehwinkel der Kurbelwelle CS zwischen jeweils zeitlich benachbarten
aktiven Flanken des Eingangssignals mit einer Auflösung zu
messen, die verglichen mit der Auflösung bei einer Messung des
Drehwinkels in Synchronisierung mit einer aktiven Flanke des Eingangssignals
hoch ist.
-
D.
h., der Passierungswinkelmesszähler 47a dient
dazu, einen Drehwinkel der Kurbelwelle CS, der einen Kurbelwinkel
von 0 Grad bis Δθ Grad überstreicht,
zwischen jeweils zeitlich benachbarten aktiven Flanken des Eingangssignals
zu messen, wobei die Auflösung
um das f-fache größer als
bei einer Messung des Drehwinkels in Synchronisierung mit einer
aktiven Flanke des Eingangssignals ist.
-
Es
sollte beachtet werden, dass ein Messwert (Zählwert) des Passierungswinkelmesszählers 47a von einem
entsprechenden Zeitintervall zwischen zeitlich benachbarten aktiven
Flanken des Eingangssignals abhängt.
-
Das
Passierungswinkelmessmodul 47 weist ferner ein Schwellenwertregister 47b zum
Speichern eines Schwellenwerts für
den Zählwert
des Passierungswinkelmesszählers 47a auf.
Das Passierungswinkelmessmodul 47 dient dazu, eine Unterbrechung
zu erzeugen, wenn der Zählwert
des Passierungswinkelmesszählers 47a größer oder
gleich dem in dem Schwellenwertregister 47b gespeicherten
Schwellenwert ist, um dadurch die Unterbrechung an die CPU 31 zu
geben.
-
Gemäß der Ausführungsform
ist ein Standardwert des Schwellenwerts auf einen vorbestimmten
Wert gesetzt, der über
einem Referenzzählwert
liegt, welchen der Passie rungswinkelmesszähler 47a erreichen kann,
während
keine impulslosen Abschnitte M in dem Kurbelsignal erscheinen; dieser
Referenzzählwert
entspricht einem Kurbelwinkel von Δθ Grad der Kurbelwelle CS.
-
Der
Standardwert des Schwellenwerts ist ferner derart festgelegt, dass
er kleiner als ein bestimmter Zählwert
ist, welchen der Passierungswinkelmesszähler 47a erreichen
kann, während
einer der impulslosen Abschnitte M in dem Kurbelsignal erscheint.
-
Als
Standardwert des Schwellenwerts wird beispielsweise ein Wert, der
zweieinhalb mal so groß wie der
Referenzzählwert Δθ ist, in
dem Schwellenwertregister 47b gespeichert; dieser Standardwert
des Schwellenwert ist durch 2.5 × Δθ gegeben.
-
Das
Passierungswinkelmessmodul 47 weist ferner ein Freigabe-/Sperrregister 47c zum
Speichern von „Freigabe" oder "Sperren" anzeigender Information
unter der Steuerung der CPU 31 auf. Als Standardwert der Information
wird die ein "Sperren" anzeigende Information
im Voraus in dem Freigabe-/Sperrregister 47c gespeichert.
-
Das
Winkeltaktmodul 49 weist einen Referenzzähler 49a,
einen Schutzzähler 49b und
einen Winkelzähler 49c auf.
-
Der
Referenzzähler 49a dient
bei der Ausführungsform
dazu, die Anzahl von Änderungen
des Multiplikationstakts in der vorbestimmten gleichen Richtung,
wie beispielsweise der L-R-Richtung, zu zählen.
-
Der
Schutzzähler 49b dient
dazu, jedes Mal um die Multiplikationszahl f aufwärts zu zählen, wenn
sich der Pegel des von dem Eingangswahlmodul 41 an den
Zähler 49b gegebenen
Eingangssignals in der vorbestimmten Richtung, wie beispielsweise
der L-R-Richtung, ändert.
-
Der
Winkelzähler 49c dient
dazu, seinen Zählwert
automatisch in Synchronisation mit einer aktiven Flanke, wie beispielsweise
einer ansteigenden Flanke jedes Takts des Systemtakts, dem Zählwert des
Referenzzählers 49a folgen
zu lassen.
-
Das
Winkeltaktmodul 49 weist ferner ein erstes und ein zweites
Register (REG) 49d und 49e auf. Das erste Register 49d dient
dazu, einen oberen Grenzwert für
den Referenzzähler 49a und
den Winkelzähler 49c zu
speichern. Das zweite Register 49e dient dazu, einen Moduswert
zu speichern. Der Moduswert bestimmt den Betriebsmodus des Referenzzählers 49a.
-
Der
Referenzzähler 49a ist
derart ausgelegt, dass er:
die Anzahl an ansteigenden Flanken
des von dem Multiplikationstakterzeugungsmodul 45 an ihn
gegebenen Multiplikationstakts zählt;
und
seinen Zählwert
im Ansprechen auf die ansteigende Flanke, die in dem Multiplikationstakt
erscheint, nachdem der Zählwert
den in dem ersten Register 49d gespeicherten oberen Grenzwert
erreicht hat, auf Null (0) zurücksetzt.
-
Der
Referenzzähler 49a ist
ferner derart konfiguriert, dass er den Zählbetrieb in einem der Betriebsmodi
ausführt;
dieser ein Betriebsmodus wird durch den in dem zweiten Register 49e gespeicherten
Moduswert bestimmt.
-
Bei
der Ausführungsform
umfassen die Betriebmodi:
einen Sperrmodus, bei welchem der
Referenzzähler 49a das
Zählen
sperrt, nachdem der Zählwert
den Zählwert
des Schutzzählers 49b erreicht
hat; und
einen Freigabemodus, bei welchem der Referenzzähler 49a das
Zählen
selbst dann freigibt, wenn der Zählwert den
Zählwert
des Schutzzählers 49b erreicht
hat.
-
Bei
der Ausführungsform
ist der Winkelzähler 49c derart
konfiguriert, dass seine Zählwerte
den Drehpositionen der Kurbelwelle CS entsprechen, wenn dessen Drehposition
mit der Auflösung
dargestellt wird, die durch Teilen des Einheitswinkels von Δθ des Kurbelwinkel
(Kurbelwinkel von 6 Grad) durch den Wert 60 der Multiplikationszahl
f1 erhalten wird; diese Auflösung
wird gemäß der Gleichung "6°/60 = 0.1° Kurbelwinkel" bestimmt.
-
Der
Mikrocomputer 30 weist einen Zähler 30a mit einem
Anfangszählwert
von Null zum Messen einer flankenlosen Periode in dem Kurbelsignal
auf. Der Zähler 30a kann
als Hardware- oder Software-Komponente in dem Mikrocomputer 30 realisiert
werden.
-
Nachstehend
werden verschiedene von der CPU 31 des Mikrocomputers 30 in Übereinstimmung
mit wenigstens einem der beispielsweise in dem Flash-ROM 37 gespeicherten
Programme auszuführende
Funktionen unter Bezugnahme auf die 5 bis 16 beschrieben.
-
(1) EINGANGSSIGNALDIAGNOSEFUNKTION
-
Zunächst werden
die Befehle eines Eingangssignaldiagnosefunktionsprogramms, über welches
die CPU 31 die Eingangssignaldiagnosefunktion wiederholt
zu regelmäßigen Intervallen
von Tc ausführen
kann, nachdem der Mikrocomputer 30 hochgefahren wurde,
unter Bezugnahme auf die 5 beschrieben.
-
Beim
Starten des Eingangssignaldiagnosefunktionsprogramms bestimmt die
CPU 31, ob die Drehzahl des Fahrzeugs größer oder
gleich einem vorbestimmten Wert Na ist. Wenn bestimmt wird, dass
die Drehzahl kleiner als der vorbestimmte Wert Na ist (NEIN in Schritt
S110), verlässt
der Mikrocomputer 13 die Eingangssignaldiagnosefunktion.
-
In
Schritt S110 kann die Motordrehzahl durch vorbestimmte Drehzahlberechnungsoperationen
unter Verwendung des Kurbelsignals berechnet werden. Die CPU 31 misst
beispielsweise das Zeitintervall des Kurbelwinkels von 360 Grad,
was einem Erscheinungszyklus der impulslosen Abschnitte M entspricht,
und berechnet die Drehzahl auf der Grundlage des gemessen Zeitintervalls.
-
Die
impulslosen Abschnitte M können
gemäß nachstehender
Weise erfasst werden. Es werden insbesondere werden die Intervalle
zwischen zeitlich benachbarten aktiven Flanken des Kurbelsignals
gemessen, und wenn ein momentan gemessenes Messintervall größer oder
gleich dem Produkt aus einem zuvor gemessenen Intervall und einem
vorbestimmten Erfassungsverhältnis
fehlender Impulse von beispielsweise 2 ist, wird bestimmt, dass
das momentan gemessene Intervall einem der impulslosen Abschnitte
M entspricht.
-
Wenn
demgegenüber
bestimmt wird, dass die Drehzahl größer oder gleich dem vorbestimmten
Wert Na ist (JA in Schritt S110), schreitet die CPU 31 zu
Schritt S120 voran. In Schritt S120 bestimmt die CPU 31, ob
eine aktive Flanke, wie beispielsweise eine abfallende Flanke, während eines
regulären
Zeitintervalls Tc von der vorherigen Eingangssignaldiagnosefunktion
bis zu dieser momentanen Eingangssignaldiagnosefunktion in dem Kurbelsignal
erscheint.
-
Wenn
bestimmt wird, dass eine aktive Flanke (abfallende Flanke) während des
regulären
Zeitintervalls Tc in dem Kurbelsignal erscheint (JA in Schritt S120),
speichert die CPU 31 in Schritt S130 Information, die anzeigt,
dass das Kurbelsignal normal ist, als Diagnoseergebnis in beispielsweise
dem RAM 39.
-
Anschließend löscht die
CPU 31 den Zählwert
des Zählers 30a zur
Messung flankenloser Periode (nachstehend lediglich als Zähler 30a bezeichnet)
in Schritt S140 und verlässt
die Eingangssignaldiagnosefunktion. Der Zähler 30a ist derart
ausgelegt, dass er jedes Mal zurückgesetzt
wird, wenn der Mikrocomputer 30 hochgefahren wird.
-
Der
Zähler 30a dient
insbesondere als Zähler,
der dafür
vorgesehen ist, die Anzahl von Malen zu zählen, an denen bei den folgenden
Operationen der Eingangssignaldiagnosefunktion bestimmt wird, dass
keine ansteigenden Flanken in dem Kurbelsignal erscheinen.
-
Wenn
demgegenüber
bestimmt wird, dass während
des regulären
Zeitintervalls Tc keine aktiven Flanken in dem Kurbelsignal erscheinen
(NEIN in Schritt S120), überprüft die CPU 31 in
Schritt S150, ob der Zählwert
des Zählers 30a einen
vorbestimmten Wert Nb von beispielsweise 10 überschreitet.
-
Wenn
bestimmt wird, dass der Zählwert
des Zählers 30a den
vorbestimmten Wert Nb nicht überschreitet
(NEIN in Schritt S150), inkrementiert die CPU 31 den Zählwert des
Zählers 30a um
1 und verlässt
die Eingangssignaldiagnosefunktion.
-
Wenn
demgegenüber
bestimmt wird, dass der Zählwert
des Zählers 30a den
vorbestimmten Wert Nb überschreitet
(JA in Schritt S150), speichert die CPU 31 in Schritt S170
Information, die anzeigt, dass das Kurbelsignal fehlerhaft ist,
als Diagnoseergebnis in beispielsweise dem RAM 39 und verlässt die
Eingangssignaldiagnosefunktion.
-
Bei
der in der 5 gezeigten Eingangssignaldiagnoseschaltung
wird beispielsweise angenommen, dass die Drehzahl größerodergleich
dem vorbestimmten Wert Na ist (JA in Schritt S110).
-
In
diesem Fall wird das Kurbelsignal dann, wenn keine aktiven abfallenden
Flanken in dem Kurbelsignal erscheinen, nachdem eine vorbestimmte
Zeitspanne verstrichen ist (NEIN in Schritt S120 und JA in Schritt S150),
als fehlerhaft bestimmt (siehe Schritt S170). Es sollte beachtet
werden, dass die vorbestimmte Zeitspanne als Produkt des regulären Zeitintervalls
Tc und des vorbestimmten Werts Nb darstellt wird (Tc × Nb), und
dass angenommen wird, dass während
der vorbestimmten Zeitspanne eine aktive abfallende Flanke in dem
Kurbelsignal erscheint.
-
Die
CPU 31 führt
die in der 5 gezeigte Eingangssignaldiagnosefunktion
für das
erste und das zweite Nockensignal auf die gleiche Weise wie für das Kurbelsignal
aus (siehe 5), um so zu bestimmen, ob das
erste und das zweite Nockensignal normal sind. Da die Befehle der
Eingangssignaldiagnosefunktion für
das erste und das zweite Nockensignal im Wesentlichen denen für das Kurbelsignal
entsprechen, werden diese nachstehend nicht näher beschrieben.
-
(2) ZEITSYNCHRONISIERUNGSFUNKTION
-
Nachstehend
werden die Befehl eines Zeitsynchronisierungsfunktionsprogramms, über welches
die CPU 31 die Zeitsynchronisierungsfunktion wiederholt
zu regelmäßigen Intervallen
parallel zur Eingangssignaldiagnosefunktion ausführen kann, unter Bezugnahme
auf die 6 beschrieben.
-
Beim
Starten des Zeitsynchronisierungsfunktionsprogramms greift die CPU 31 auf
die in dem RAM 39 gespeicherte und das Diagnoseergebnis
für das
Kurbelsignal beschreibende Information zu (siehe Schritte S130 und
S170 in der 5), um dadurch in Schritt S210
auf der Grundlage des bezogenen Ergebnisses zu bestimmen, ob das
Kurbelsignal fehlerhaft ist.
-
Wenn
bestimmt wird, dass das Kurbelsignal normal ist (NEIN in Schritt
S210), schreitet die CPU 31 zu Schritt S220 voran. In Schritt
S220 sendet die CPU 31 ein Kurbelsignalwahlbefehl an das
Eingangswahlmodul 41, um das Kurbelsignal als das Eingangssignal
zu wählen.
Die CPU 31 sendet den Kurbelsignalwahlbefehl in Schritt
S220 ferner an jedes der Module 43, 45, 47 und 49.
Anschließend
verlässt
die CPU 31 die Zeitsynchronisierungsfunktion.
-
Über den
von dem Eingangswahlmodul 41 empfangenen Kurbelsignalwahlbefehl
kann das Modul 41 das Kurbelsignal als Eingangssignal wählen, um
so das gewählte
Kurbelsignal als Eingangssignal an jedes der Module 43, 45, 47 und 49 zu
geben.
-
Über den
von dem Multiplikationstakterzeugungsmodul 45 empfangenen
Kurbelsignalwahlbefehl kann das Modul 45 den Wert 60 als
Multiplikationszahl f1 für
das Kurbelsignal in dem zweiten Register 45b speichern.
-
Übenden von
dem Passierungswinkelmessmodul 47 empfangenen Kurbelsignalwahlbefehl
kann das Modul 47 einen dem durch die Gleichung Δθ × 2.5 gegebenen
Standartwert entsprechenden Wert als Schwellenwert in dem Schwellenwertregister 47b speichern.
-
Übenden von
dem Winkeltaktmodul 49 empfangenen Kurbelsignalwahlbefehl
kann das Modul 49 einen oberen Grenzwert von sowohl dem
Referenzzähler 49a als
auch dem Winkelzähler 49c in
dem ersten Register 49d speichern; dieser obere Grenzwert
wird für
das Kurbelsignal bestimmt. Es sollte beachtet werden, dass der obere
Grenzwert für
das Kurbelsignal bei dieser Ausführungsform
durch einen Wert gegeben ist, der bestimmt wird, indem ein einer
Drehung der Kurbelwelle CS entsprechender Kurbelwinkel von 360 Grad
durch eine Auflösung
von 0.1° CA
geteilt wird, und zwar auf der Grundlage des Winkelzählers 49c.
D. h., der obere Grenzwert für
das Kurbelsignal wird gemäß der Gleichung "360/0.1 = 3600" erhalten.
-
Wenn
demgegenüber
bestimmt wird, dass das Kurbelsignal fehlerhaft ist (JA in Schritt
S210), schreitet die CPU 31 zu Schritt S230 voran.
-
In
Schritt S230 greift die CPU 31 auf die in dem RAM 39 gespeicherte
und das Diagnoseergebnis für sowohl
des erste als auch das zweite Nockensignal beschreibende Information
zu, um auf der Grundlage des bezogenen Ergebnisses zu bestimmen,
ob das erste und/oder das zweite Nockensignal fehlerhaft ist.
-
Wenn
bestimmt wird, dass sowohl das erste als auch das zweite Nockensignal
normal sind (NEIN in Schritt S230), schreitet die CPU 31 zu
Schritt S240 voran. In Schritt S240 sendet die CPU 31 einen
Nockenflankensignalwahlbefehl an das Eingangswahlmodul 41,
um das Nockenflankesignal als Eingangssignal zu bestimmen. Die CPU 31 sendet
den Nockenflankensignalwahlbefehl in Schritt S240 ferner an jedes
der Module 43, 45, 47 und 49.
Anschließend
verlässt
die CPU 31 die Zeitsynchronisierungsfunktion.
-
Über den
von dem Eingangswahlmodul 41 empfangenen Nockenflankenwahlbefehl
kann das Modul 41 das Nockenflankensignal als Eingangssignal
bestimmen, um so das gewählte
Nockenflankensignal als Eingangssignal an jedes der Module 43, 45, 47 und 49 zu
geben.
-
Über den
von dem Multiplikationstakterzeugungsmodul 45 empfangenen
Nockenflankensignalwahlbefehl kann das Modul 45 einen Wert
für das
Nockenflankensignal als Multiplikationszahl f1 in dem zweiten Register 45b speichern.
Die Multiplikationszahl f für
das Nockenflankensignal wird bei der Ausführungsform nachstehend als "f2" bezeichnet Der in
dem zweiten Register 45b gespeicherte als Multiplikationszahl
f2 für das
Nockenflankensignal dienende Wert wird erhalten, indem:
das
Produkt aus einem Winkelintervall des Kurbelwinkel von 120 Grad
zwischen beliebigen zwei zeitlich benachbarten Punkten P in dem
Nockenflankensignal und der Multiplikationszahl 60 für das Kurbelsignal
berechnet wird; und
das erhaltene Produkt durch den Einheitswinkel
von 6 Grad des Kurbelwinkels geteilt wird.
-
D.
h., die Multiplikationszahl f2 für
das Nockenflankensignal wird gemäß der Gleichung "(120 × 60)/6 =
1200" erhalten.
-
Über den
von dem Winkeltaktmodul 49 empfangenen Nockenflankensignalwahlbefehl
kann das Modul 49 einen oberen Granzwert von sowohl dem
Referenzzähler 49a als
auch dem Winkelzähler 49c in
dem ersten Register 49d speichern. Es sollte beachtet werden,
dass der obere Grenzwert für
das Nockenflankensignal bei dieser Ausführungsform durch einen Wert
gegeben ist, der bestimmt wird, indem ein Kurbelwinkel von 720 Grad,
der einer Drehung von sowohl der ersten als auch der zweiten Nockenwelle
CM1 und CM2 entspricht, durch eine CA-Auflösung von 0.1° geteilt
wird, die auf dem Winkelzähler 49c basiert.
D. h., der obere Grenzwert für
das Nockensignal wird gemäß der Gleichung "720/0.1 = 7200" erhalten.
-
Es
sollte beachtet werden, dass ein Schwellenwert im Gegensatz zu Schritt
S220 in Schritt S240 nicht in dem Schwellenwertregister 47b gespeichert
wird.
-
Wenn
demgegenüber
bestimmt wird, dass wenigstens das erste oder zweite Nockensignal
fehlerhaft ist (JA in Schritt S230), verlässt die CPU 31 die
Zeitsynchronisierungsfunktion.
-
(3) Kurbelflankenunterbrechungsfunktion
-
Nachstehend
werden die Befehle eines Kurbelflankenunterbrechungsfunktionsprogramms
unter Bezugnahme auf die 7 beschrieben. Die Befehle ermöglichen
es der CPU 31, die Kurbelflankenunterbrechungsfunktion
jedes Mal ausführen,
wenn eine aktive Flanke in dem von dem Eingangswahlmodul 41 als
Eingangssignal ausgegebenen Kurbelsignal erscheint (siehe Schritt
S220 in der 6), nachdem der Mikrocomputer 30 hochgefahren
wurde.
-
Wenn
ein Erscheinen einer aktiven Flanke in dem Kurbelsignal (Eingangssignal)
das Starten des Kurbelflankenunterbrechungsfunktionsprogramms auslöst, bestimmt
die CPU 31 in Schritt S310, ob die aktive Triggerflanke
das Ende eines impulslosen Abschnitts M in dem Kurbelsignal beschreibt.
-
Es
sollte beachtet werden, dass die zeitlich benachbarten aktiven Flanken
E12 und E13 in dem Kurbelsignal, wie beispielsweise in der 8 gezeigt,
einen impulslosen Ab schnitt Ma zwischen sich aufweisen.
-
Unter
dieser Annahme entspricht das Zeitintervall des impulslosen Abschnitts
Ma zwischen den aktiven Flanken E12 und E13 einem gemessenen Zählwert T12
des Flankenintervallmesszählers 43a.
Intervalle zwischen zeitlich benachbarten aktiven Flanken anderer
Abschnitt, jedoch nicht der impulslosen Abschnitt M in dem Kurbelsignal,
entsprechen jeweils gemessenen Zählwerten
T10, T11, T13, T14 usw.
-
Das
Zeitintervall des impulslosen Abschnitts Ma in dem Kurbelsignal
ist, wie deutlich in der 8 gezeigt, länger als die Intervalle der
anderen Abschnitte, mit Ausnahme der impulslosen Abschnitte M des
Signals. Aus diesem Grund ist der dem Zeitintervall des impulslosen
Abschnits Ma in dem Kurbelsignal entsprechende Zählwert T12 größer als
die anderen Zählwerte,
von denen jeder einem der anderen Abschnitte zugeordnet ist.
-
Ein
Messwert (Zählwert)
des Passierungswinkelmesszählers 47a hängt, wie
vorstehend beschrieben, von einem entsprechenden Zeitintervall zwischen
zeitlich benachbarten Flanken gleicher Richtung in dem Kurbelsignal
ab. Aus diesem Grund ist ein dem Zeitintervall des impulslosen Abschnitts
Ma in dem Kurbelsignal entsprechender Zählwert des Passierungswinkelmesszählers 47a größer als
der einem anderen Zeitintervall von einem der anderen Abschnitte
in dem Kurbelsignal entsprechende Zählwert des Zählers 47a.
-
Ferner
ist der Standardwert (Δθ × 2.5) des
in dem Schwellenwertregister 47b gespeicherten Schellenwerts
größer als
der Referenzzählwert,
der von dem Passierungswinkelmesszähler 47a erreichen
werden kann, während
keine impulslosen Abschnitte M in dem Kurbelsignal erscheinen, und
kleiner als der bestimmte Zählwert,
der von dem Zähler 47a erreichen
kann, während
einer der impulslosen Abschnitte M in dem Kurbelsignal erscheint.
-
Aus
diesem Grund überschreitet
der dem Zeitintervall des impulslosen Abschnitts Ma in dem Kurbelsignal
entsprechende Zählwert
des Passierungswinkelmesszählers 47a den
bestimmten Zählwert,
der größer als
der Standardwert (Δθ × 2.5) des
in dem Schwellenwertregister 47b gespeicherten Schwellenwerts
ist. Der dem Zeitintervall des impulslosen Abschnitts Ma in dem
Kurbelsignal entsprechende Zählwert
des Passierungswinkel messzählers 47a ist
in der 8 beispielsweise durch "Δθ × 3" gekennzeichnet Dies
führt dazu, dass
das Passierungswinkelmessmodul 47 dann, wenn der dem Zeitintervall
des impulslosen Abschnitts Ma in dem Kurbelsignal entsprechende
Zählwert
des Passierungswinkelmesszählers 47a den
Standardwert des Schellenwerts erreicht, eine Unterbrechung erzeugt,
um diese an die CPU 31 zu geben.
-
Folglich
bestimmt die CPU 31 dann, wenn sie die von dem Passierungswinkelmessmodul 47 ausgegebene
Unterbrechung empfängt,
dass die aktive Triggerflanke das Ende des impulslosen Abschnitts
M in dem Kurbelsignal beschreibt (JA in Schritt S310).
-
9 zeigt
beispielsweise eine aktive Flanke E22, welche der das Ende eines
impulslosen Abschnitts M beschreibenden aktiven Triggerflanke entspricht.
-
Anschließend bestimmt
die CPU 31 in Schritt S320, ob ein Kurbelpositionsbestimmungsflag
F1 "AUS" anzeigende Information
hält. Es
sollte beachtet werden, dass das Kurbelpositionsbestimmungsflag
F1 bei jedem Hochfahren des Mikrocomputers 30 durch beispielsweise
Software in dem Mikrocomputer 30 gesetzt wird. Die "AUS" anzeigende Information
ist während
des Einschaltprozesses als Standardinformation des Kurbelpositionsbestimmungsflags
F1 gesetzt.
-
Wenn
bestimmt wird, dass das Kurbelpositionsbestimmungsflag F1 die die
Standardeinstellung, d. h. "AUS" anzeigende Information
hält (JA
in Schritt S320), bestimmt die CPU 31 einen Zeitpunkt unmittelbar
auf das Hochfahren des Mikrocomputers folgend und schreitet zu Schritt
S330 voran.
-
In
Schritt S330 setzt die CPU 31 das Produkt aus "59" und der bei der
Kurbelflankenunterbrechungsfunktion auf 60 gesetzten Multiplikationszahl
f1 auf den Zählwert
des Referenzzählers 49a.
Gleichermaßen setzt
die CPU 31 das Produkt aus "59" und
der bei der Kurbelflankenunterbrechungsfunktion auf 60 gesetzten Multiplikationszahl
f1 auf den Zählwert
des Winkelzählers 49c.
-
Über das
auf den Zählwert
des Referenzzählers 49a zu
setzende Produkt aus "59" und der Multiplikationszahl
f1 (60) kann der Zählwert
von diesem gelöscht
(auf Null ge setzt) werden, wenn die nächste aktive Flanke E23 in
dem Kurbelsignal erscheint. Gleichermaßen kann über das auf den Zählwert des
Winkelzählers 49c zu
setzende Produkt aus "59" und der Multiplikationszahl
f1 (60) der Zählwert
von diesem gelöscht
(auf Null gesetzt) werden, wenn die nächste aktive Flanke E23 in
dem Kurbelsignal erscheint.
-
Anschließend ändert die
CPU 31 die von dem Kurbelpositionsbestimmungsflag F1 gehaltene
Information in Schritt S350 von "AUS" zu "EIN".
-
Auf
die Ausführung
des Befehls in Schritt S350 oder eine negative Bestimmung in Schritt
S320, die anzeigt, dass das Kurbelpositionsbestimmungsflag F1 die "AUS" anzeigende Information
nicht hält,
folgend seht die CPU 31 den Zählwert des Schutzzählers 49b in
Schritt S360 auf "0".
-
Der
Zählwert
von Null (0), auf welchen der Schutzzähler 49b gesetzt wird,
beschreibt einen Zählwert, den
sowohl der Referenzzähler 49a als
auch der Winkelzähler 49c annehmen
sollte, wenn die nächste
aktive Flanke E23 in dem Kurbelsignal erscheint.
-
Es
wird insbesondere angenommen, dass der Motor dann, wenn die aktive
Flanke E22 in dem Kurbelsignal erscheint, plötzlich derart beschleunigt,
dass sich die Drehzahl, d. h. die Motordrehzahl plötzlich erhöht Unter
dieser Annahme kann ein Zeitintervall zwischen der aktiven Flanke
E22 und der nächsten
aktiven Flanke E23 in dem Kurbelsignal einen verglichen mit den
normalen Zeitintervallen der aktiven Flanken des Signals kurzen
Zeitraum annehmen. Dies kann bewirken, dass der Zählwert von
sowohl dem Referenzzähler 49a als auch
dem Winkelzähler 49c bei
Erscheinen der nächsten
aktiven Flanke E23 nicht auf Null (0) kommt; jeder der
Zähler 49a und 49b sollte
bei Erscheinen der nächsten
aktiven Flanke E23 den Wert Null (0) annehmen.
-
Unter
dieser Annahme ist es gemäß der Ausführungsform
möglich,
den Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c derart
gezielt zu erhöhen,
dass er an dann, wenn die nächste aktive
Flanke E23 in dem Kurbelsignal erscheint, mit dem Schutzwert des
Schutzzählers 49b übereinstimmt. Hierdurch
kann der Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c selbst
dann den Wert Null (0) annehmen, wenn ein Zeitintervall zwischen
der aktiven Flanke E22 und der nächsten
aktiven Flanke E23 in dem Kurbelsignal einen verglichen mit den normalen
Zeitintervallen der aktiven Flanken in dem Signal kurzen Zeitraum
annimmt.
-
Es
wird ferner angenommen, dass sich der Motor bei Erscheinen der aktiven
Flanke E22 in dem Kurbelsignal plötzlich derart verlangsamt,
dass ein Zeitintervall zwischen der aktiven Flanke E22 und der nächsten aktiven
Flanke E23 in dem Kurbelsignal einen verglichen mit den normalen
Zeitintervallen der aktiven Flanken des Signals langen Zeitraum
annimmt. Dies kann bewirken, dass der Zählwert von sowohl dem Referenz
zählen 49a als
auch dem Winkelzähler 49c an
der nächsten
aktiven Flanke E23 den Wert Null (0), den beide Zähler 49a und 49b an
der nächsten
aktiven Flanke E23 annehmen sollten, überschreitet.
-
Unter
dieser Annahme kann gemäß der Ausführungsform
eine Erhöhung
des Zählwerts
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c gezielt
gestoppt werden, wenn der Zählwert
den Schutzwert des Schutzzählers 49b erreicht.
Hierdurch kann der Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c selbst
dann den Wert Null (0) annehmen, wenn ein Zeitintervall zwischen
der aktiven Flanke E22 und der nächsten
aktiven Flanke E23 in dem Kurbelsignal einen verglichen mit den
normalen Zeitintervallen der aktiven Flanken des Signals langen
Zeitraum annimmt.
-
Der
Schutzzähler 49b ist
gemäß obiger
Beschreibung derart aufgebaut, dass sein Zählwert bei Erscheinen einer
aktiven Flanke in dem Kurbelsignal einen Wert beschreibt, den sowohl
der Referenzzähler 49a als
auch der Winkelzähler 49c bei
Erscheinen der nächsten
aktiven Flanke in dem Kurbelsignal annehmen sollten. Hierdurch kann
der Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c selbst dann
geschützt
werden, wenn der Motor plötzlich
beschleunigt oder sich verlangsamt.
-
Auf
den Schritt S360 folgend sendet die CPU 31 in Schritt S370
einen den Freigabemodus anzeigenden Befehl an das Winkeltaktmodul 49.
-
Über den
den Freigabemodus anzeigenden und von dem Winkeltaktmodul 49 empfangenen
Befehl kann das Modul 49 einen den Freigabemodus anzeigenden
Freigabemoduswert als Moduswert in dem zweiten Register 49e speichern. Über den
in dem zweiten Register 49e gespeicherten Freigabemoduswert
kann der Referenzzähler 49a selbst
dann in dem vorstehend beschriebenen Freigabemodus zählen, wenn
der Zählwert
des Schutzzählers 49b auf "0" gesetzt ist.
-
Anschließend sendet
die CPU 31 in Schritt S380 einen Befehlzum Korrigieren
einer in dem ersten Register 45a gespeicherten Multiplikationstaktreferenzzeit
an das Multiplikationstakterzeugungsmodul 45.
-
Der
Befehl dient insbesondere dazu, einen Wert, der berechnet wird,
indem der Zählwert
(Messintervall) des Flankenintervallmessmoduls 43 durch
einen vorbestimmten Wert geteilt wird, als in dem ersten Register 45a zu
speichernde Multiplikationstaktreferenzzeit festzulegen.
-
Wenn
der Befehl empfangen wird, arbeitet das Multiplikationstakterzeugungsmodul 45 derart,
dass es:
den an einem Zeitpunkt von dem Flankenintervallmessmodul 43 erhaltenen
Zählwert
durch den vorbestimmten Wert teilt; dieser Zeitpunkt ist mit einem
Erscheinen einer aktiven Flanke in dem Kurbelsignal unmittelbar
auf den Empfang des Befehls hin synchronisiert; und
einen durch
die Division berechneten Wert als korrigierte Multiplikationstaktreferenzzeit
in dem ersten Register 45a speichert.
-
Insbesondere
beträgt
der einem Zeitintervall, wie beispielsweise T22, eines impulslosen
Abschnitts M in dem Kurbelsignal entsprechende Zählwert, wie in 9 gezeigt,
das k-fache des einem Zeitintervall, wie beispielsweise T21, von
einem der anderen Abschnitte, jedoch nicht dem impulslosen Abschnitt
M des Signals, entsprechenden Zählwerts.
Es sollte beachtet werden, dass die Breite des Zeitintervalls "T1 ", die länger als die
des Zeitintervalls "T2" ist, wie durch "FLANKENINTERVALLZEIT" in der 9 gezeigt,
nicht von der Länge des
Zeitintervalls "T1" abhängt. Die
Länge des
Zeitintervalls "T2" ist in der 13 insbesondere
länger
als die des Zeitintervalls "T1 ".
-
Bei
der Ausführungsform
wird der vorbestimmte Wert folglich auf k gesetzt, der ein Verhältnis eines Zeitintervalls
zwischen aktiven Flanken eines impulslosen Abschnitts M in dem Kurbelsignal
zu dem zwischen aktiven Flanken eines weiteren Abschnitts des Signals
beschreibt; k ist bei dieser Ausführungsform auf 3 gesetzt.
-
Hierdurch
kann jede der Multiplikationstaktreferenzzeiten im Wesentlichen
konstant sein, so dass der Multiplikationstakt eine im Wesentlichen
konstante Taktzeit aufweist (siehe "Multiplikationstakt" in der 9).
-
Anschließend setzt
die CPU 31 einen Zählwert
eines Teilzählers
C1 in Schritt S390 auf "2" und schreitet zu
Schritt S430 voran. Die CPU 31 kann den Teilzähler C1
beispielsweise über
Software steuern (wenigstens eines der Programme). Ein Anfangswert
des Teilzählers
C1 wird auf "0" gesetzt.
-
Wenn
demgegenüber
bestimmt wird, dass sie aktive Triggerflanke nicht das Ende eines
impulslosen Abschnitts M in dem Kurbelsignal beschreibt (NEIN in
Schritt S310), bestimmt die CPU 31 in Schritt S400, ob die
aktive Triggerflanke das Kopfende eines impulslosen Abschnits M
beschreibt.
-
Bei
der ersten Ausführungsform
führt die
CPU 31 die Bestimmung in Schritt S400 aus, indem sie beispielsweise
bestimmt, ob der Zählwert
des Winkelzählers 49c eine
dem Kopfende eines zahnlosen Abschnitts 11c entsprechende
Drehposition der Kurbelwelle CS beschreibt. Wenn sie bestimmt, dass
der Zählwert
des Winkelzählers 49c die
dem Kopfende eines zahnlosen Abschnitts 11c entsprechende
Drehposition der Kurbelwelle CS beschreibt, bestimmt die CPU 31 in
Schritt S400, dass die aktive Triggerflanke das Kopfende eines impulslosen
Abschnitts M beschreibt.
-
Die
CPU 31 setzt das Produkt aus "59" und
der in der Kurbelflankenunterbrechungsfunktion auf 60 gesetzten
Multiplikationszahl f1 insbesondere dann, wenn bestimmt wird, dass
die aktive Triggerflanke das Kopfende eines impulslosen Abschnitts
M beschreibt (JA in Schritt S400), in Schritt S410 auf den Zählwert des Schutzzählers 49b.
-
Dies
erfolgt, da der Zählwert
des Referenzzählers 49a und
des Winkelzählers 49c das
Produkt aus "59" und der Multiplikationszahl
f1 (60) annehmen sollte, wenn die nächste aktive Flanke, welche
dem Ende eines impulslosen Abschnitts M entspricht, in dem Kurbelsignal
erscheint.
-
Auf
eine Ausführung
des Befehls in Schritt S410 oder eine negative Bestimmung in Schritt
S400 folgend sendet die CPU 31 in Schritt S420 einen den
Sperrmodus anzeigenden Befehl an das Winkeltaktmodul 49.
Anschließend
schreitet die CPU 31 zu Schritt S430 voran.
-
Über den
den Sperrmodus anzeigenden und von dem Winkeltaktmodul 49 empfangenen
Befehl kann das Modul 49 als Moduswert einen den Sperrmodus
anzeigenden Sperrmoduswert als Moduswert in dem zweiten Register 49e speichern.
-
Über den
in dem zweiten Register 49e gespeicherten Sperrmoduswert
kann der Referenzzähler 49a in
dem vorstehend beschriebenen Sperrmodus zählen.
-
In
Schritt S430 bestimmt die CPU 31, ob das Kurbelpositionsbestimmungsflag
F1 die "EIN" anzeigende Information
hält.
-
Wenn
bestimmt wird, dass das Kurbelpositionsbestimmungsflag F1 die "EIN" anzeigende Information hält (JA in
Schritt S430), verringert die CPU 31 den Zählwert des
Teilzählers
C1 in Schritt S440 um 1 und schreitet zu Schritt S450 voran.
-
In
Schritt S450 überprüft die CPU 31,
ob der Zählwert
des Teilzählers
C1 auf "0" gesetzt ist.
-
Wenn
bestimmt wird, dass der Zählwert
des Teilzählers
C1 auf "0" gesetzt ist (JA
in Schritt S450), schreitet die CPU 31 zu Schritt S460
voran. In Schritt S460 erzeugt die CPU 31 ein Ereignis,
das einen Aktivierungszeitpunkt für eines der einzelnen Steuerziele
bestimmt, die mit der Motorsteuerung verknüpft sind, wie beispielsweise
eine Einspritzvorrichtung und/oder eine Zündvorrichtung für einen
entsprechenden Zylinder.
-
Parallel
zur Kurbelwinkelunterbrechungsfunktion ist die CPU 31 der
Ausführungsform
derart programmiert, dass sie:
eine geeignete Stand-by-Periode
und eine geeignete Aktivierungsperiode für jedes der einzelnen Steuerziele auf
der Grundlage der Messsignale von der Eingangsschaltung 10 berechnet;
und
die berechnete Stand-by-Periode und die berechnete Aktivierungsperiode
für ein
entsprechendes der Steuerziele jedes Mal auf jeweilige Zählwerte
des ersten und des zweiten Zeitgebers der Zeitgeberausgabeeinheit 35 setzt,
wenn die Kurbelflankenunterbrechungsfunktion das Ereignis erzeugt.
-
Wenn
der erste und der zweite Zeitgeber auf die Zählwerte für ein entsprechendes der Steuerziele
gesetzt werden, arbeitet die Zeitgeberausgabeeinheit 35 derart,
dass sie:
auf der Grundlage des Zählwerts des ersten Zählers wartet,
um die Aktivierungszeit für
ein entsprechendes der Steuerziele auszugeben, bis ihre Stand-by-Periode
verstrichen ist; und
auf der Grundlage des Zählwerts
des zweiten Zeitgebers einen Befehl zum Aktivieren eines entsprechenden der
Steuerziele für
die Aktivierungsperiode an die Ausgangsschaltung 20 gibt.
-
Die
Ausgangsschaltung 20 arbeitet derart, dass sie:
den
Befehl für
ein entsprechendes der Steuerziele empfängt; und
ein entsprechendes
der Steuerziele für
dessen Aktivierungsperiode auf der Grundlage des empfangenen Befehls
aktiviert.
-
Auf
die Ausführung
des Befehl in Schritt S460 hin setzt die CPU 31 den Zählwert des
Teilzählers
C1 in Schritt S470 auf beispielsweise "5".
Ein Setzten des Zählwert
des Teilzählers
C1 auf "5" ermöglicht es
der CPU 31, ein Ereignis zu regelmäßigen Intervallen von 30 Grad
des Kurbelwinkels auszugeben. Die regelmäßigen Intervalle von 30 Grad
des Kurbelwinkels werden nachstehend als "Ereignisintervalle" bezeichnet Nach der Ausführung des
Befehls in Schritt S470, einer negative Bestimmung in Schritt S430,
die anzeigt, dass das Kurbelpositionsbestimmungsflag F1 auf EIN
gesetzt wird, oder einer negative Bestimmung in Schritt S450, die anzeigt,
dass der Zählwert
des Teilzählers
C1 von "0" verschieden ist,
und verlässt
die CPU 31 die Kur belflankenunterbrechungsfunktion.
-
Nachstehend
werden von der CPU 31 gesteuerte bestimmte Operationen
der jeweiligen Module 41, 43, 45, 47 und 49 und Änderungen
der Parameter, wie beispielsweise der Zählwerte der Zähler 43a, 49a, 49b und 49c unter
Bezugnahme auf die 7, 9 und 10 beschrieben.
-
Unmittelbar
auf ein Hochfahren des Mikrocomputers 30 hin (siehe Abschnitt
e20 in der 9) arbeitet das Passierungswinkelmessmodul 47 für gewöhnlich nicht
und führt
der Winkelzähler 49c keinen
Zählbetrieb aus.
Aus diesem Grund sind die Bestimmungen der Schritte S310 und S400
jeweils negativ, so dass die Ausführung der CPU 31 über den
Befehl in Schritt S420 zum Befehl in Schritt S430 verschoben wird.
-
Zu
diesem Zeitpunkt ist die Bestimmung in Schritt S430 negativ (NEIN),
da das Kurbelpositionsbestimmungsflag F1 die "AUS" anzeigende
Information als Standardinformation hält, so dass die Kurbelflankenunterbrechungsfunktion
verlassen wird.
-
Anschließend werden
die Befehle in den Schritten S310, S400, S420 und S430 jedes Mal
wiederholt in dieser Reihenfolge von der CPU 31 ausgeführt, wenn
eine aktive Flanke in dem Kurbelsignal erscheint (siehe Abschnitt
e21 in der 9).
-
Während der
wiederholten Ausführung
der Befehl in den Schritten S310, S400, S420 und S430 überschreitet
der Zählwert
des Passierungswinkelmesszählers 47a den
in dem Schwellenwertregister 47b gespeicherten Schwellenwert,
bevor eine in dem Kurbelsignal erscheinende aktive Flanke E22 das
Ende eines impulslosen Abschnitts M beschreibt (siehe 8).
Während
der wiederholten Ausführung
der Befehle in den Schritten S310, S400, S420 und S430 sollte beachtet
werden, dass die Bestimmung in Schritt S400 negativ (NEIN) ist,
da der Zählwert
des Winkelzählers 49c nicht
das Kopfende eines impulslosen Abschnitts M beschreibt.
-
In
der 8 kennzeichnet beispielsweise das Bezugszeichen
E13 eine in dem Kurbelsignal erscheinende aktive Flanke, die das
Ende eines impulslosen Abschnitts M beschreibt.
-
Hierdurch
kann das Passierungswinkelmessmodul 47 eine Unterbrechung
erzeugen und diese an die CPU 31 geben. Die Unterbrechung
wird von der CPU 31 empfangen, so dass folglich dann, wenn
die aktive Flanke E22 auf einen Empfang der Unterbrechung hin in
dem Kurbelsignal erscheint, bestimmt wird, dass die aktive Flanke
E22 das Ende eines impulslosen Abschnitts M in dem Kurbelsignal
beschreibt (JA in Schritt S310). Folglich wird die Ausführung der
CPU 31 zum Schritt S320 und den folgenden Schritten verschoben.
-
Zu
diesem Zeitpunkt ist die Bestimmung in Schritt S320 positiv, da
das Kurbelpositionsbestimmungsflag F1 auf die "AUS" anzeigende
Information gesetzt ist, so dass die Ausführung der CPU 31 zum
Schritt S330 verschoben wird.
-
In
Schritt S330 wird der Zählwert
des Referenzzählers 49a auf
das Produkt aus "59" und der Multiplikationszahl
f1 (60) gesetzt, und in Schritt S340 wird der Zählwert des Winkelzählers 49c auf
das Produkt aus "59" und der Multiplikationszahl
f1 (60) gesetzt. Anschließend
wird das Kurbelpositionsbestimmungsflag F1 in Schritt S350 auf die "EIN" anzeigende Information
gesetzt.
-
Anschließend wird
der Zählwert
des Schutzzählers 49b in
Schritt S360 auf "0" gesetzt und führt der Referenzzähler 49a in
Schritt S370 den Zählbetrieb
im Freigabemodus aus.
-
Selbst
wenn der Zählwert
des Schutzzählers 49b in
Schritt S360 auf "0" gesetzt wird, da
der Betriebsmodus des Referenzzählers 49a in
Schritt S370 auf den Freigabemodus gesetzt wird, zählt der
Referenzzähler 49a fortlaufend
hoch, bis der Zählwert
den in dem ersten Register 49d gespeicherten oberen Grenzwert
erreicht (siehe Abschnitt e23 in der 9).
-
Anschließend wird
die Multiplikationstaktreferenzzeit in Schritt S380 von T22 auf
T22/3 korrigiert (siehe "T22/3" in der 9)
und die Ausführung
der CPU 31 hierauf folgend zu Schritt S430 verschoben.
Da das Kurbelpositionsbestimmungsflag F1 an dem Verschiebungszeitpunkt
auf die "EIN" anzeigende Information
gesetzt wird, ist die Bestimmung in Schritt S430 positiv (JA), so
dass der Teilzähler
C1 in Schritt S440 um 1 verringert wird.
-
Durch
die Verringerung kann der Zählwert
des Teilzählers
C1 unmittelbar vor dem Schritt S430 von dem in Schritt S390 gesetzten
Wert "2" auf "1" gesetzt werden. Zu diesem Zeitpunkt
ist die Bestimmung in Schritt S450 negativ (NEIN), da der Zählwert des
Teilzählers
C1 nicht den Wert "0" annimmt, so dass
die Kurbelflankenunterbrechungsfunktion verlassen wird.
-
Wenn
die nächste
aktive Flanke E23 in Übereinstimmung
mit der Drehung der Kurbelwelle CS um Δθ Grad des Kurbelwinkels in
dem Kurbelsignal erscheint (siehe 9), wird
der Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c von
dem Produkt aus "59" und der Multiplikationszahl
f1 (60) zu dem Produkt aus "60" und der Multiplikationszahl
f1 (60) inkrementiert. Das Produkt aus "60" und
der Multiplikationszahl f1 (60) ist an den in dem ersten Register 49d gespeicherten
oberen Grenzwert von sowohl dem Referenzzähler 49a als auch
dem Winkelzähler 49c angepasst.
Aus diesem Grund wird der Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c in
synchron zur in dem Kurbelsignal erscheinenden aktiven Flanke E23
gelöscht
(siehe 9).
-
Ferner
sind die Bestimmungen in den Schritten S310 und S400 jeweils negativ
(NEIN), wenn die nächste
aktive Flanke E23 in Übereinstimmung
mit der Drehung der Kurbelwelle CS um Δθ Grad des Kurbelwinkels in
dem Kurbelsignal erscheint, so dass der Betriebmodus des Referenzzählers 49a in
Schritt S420 von dem Freigabemodus in den Sperrmodus zurückgesetzt
wird.
-
Hierauf
folgend ist die Bestimmung in Schritt S430 positiv (JA), da das
Kurbelpositionsbestimmungsflag F1 auf die "EIN" anzeigende
Information gesetzt ist, so dass der Teilungszähler C1 in Schritt S440 um
1 verringert wird.
-
Durch
die Verringerung kann der Zählwert
des Teilzählers
C1 von dem in Schritt S440 gesetzten Wert "1" auf "0" gesetzt werden. Da der Zählwert des
Teilzählers
C1 den Wert "0" annimmt, ist die
Bestimmung von Schritt S450 positiv (JA), so dass in Schritt S460
Ereignisse, die Aktivierungszeitpunkte für die einzelnen mit der Motorsteuerung
verknüpften
Steuerziele bestimmen, erzeugt werden. Anschließend wird der Zählwert des Teilzählers C1
in Schritt S470 auf "5" gesetzt und die
Kurbelflankenunterbrechungsfunk tion verlassen.
-
Auf
die positive Bestimmung in Schritt S310 folgend, bei der eine aktive
Flanke einem Einschalten des Mikrocomputers das Ende nach eines
impulslosen Abschnitts M in dem Kurbelsignal beschreibt, werden
die Befehle in den Schritten S310, S400 und S420 bis S470 gemäß obiger
Beschreibung jedes Mal wiederholt in dieser Reihenfolge von der
CPU 31 ausgeführt,
wenn eine aktive Flanke in dem Kurbelsignal erscheint. Die wiederholte
Ausführung
der Befehle in den Schritten S310, S400 und S420 bis S470 wird in
Schritt S400 gestoppt, wenn eine in dem Kurbelsignal erscheinende
aktive Flanke das Kopfende eines impulslosen Abschnitts M des Signals
beschreibt (siehe Abschnitt e24 in der 10).
-
Wenn
eine in dem Kurbelsignal erscheinende aktive Flanke (E25) (siehe 10)
das Kopfende eines impulslosen Abschnitts M des Signals beschriebt
(JA in Schritt 5400), wird der Zählwert des Schutzzählers 49b in
Schritt S410 auf das Produkt aus "59" und
der Multiplikationszahl f1 (60) gesetzt. Anschließend werden
die Befehle S420 bis S470 von der CPU 31 ausgeführt (siehe
Abschnitt e25 in der 10).
-
Anschließend wird
dann, wenn die nächste
aktive Flanke (E26) in dem Kurbelsignal erscheint, bestimmt, dass
die aktive Flanke (E26) das Ende des impulslosen Abschnitts beschreibt
(JA in Schritt S310). Zu diesem Zeitpunkt ist die Bestimmung in
Schritt S320 negativ (NEIN), da das Kurbelpositionsbestimmungsflag F1
auf die "EIN" anzeigende Information
gesetzt ist, so dass die Ausführung
der CPU 31 zu Schritt S360 verschoben wird.
-
Anschließend zählt der
Referenzzähler 49a,
wie vorstehend beschrieben, kontinuierlich hoch, wobei der Zählwert des
Schutzzählers 49b unverändert bleibt,
bis der Zählwert
des Referenzzählers 49a gelöscht (auf
Null gesetzt) wird (siehe Abschnitt e26 in der 10).
Anschließend
werden, wie vorstehend beschrieben, die Befehle in den Schritten
S310, S400 und S420 bis S470 wiederholt von der CPU 31 ausgeführt, bis
bestimmt wird, dass eine in dem Kurbelsignal erscheinende aktive
Flanke das Kopfende eines impulslosen Abschnitts M beschreibt (siehe
Abschnitt e27 in der 10).
-
(4) Nockenflankenunterbrechungsfunktion
-
Nachstehend
werden die Befehle eines Nockenflankeunterbrechungsfunktionsprogramms
unter Bezugnahme auf die 11 beschrieben.
Die Befehle ermöglichen
es der CPU 31, die Nockenflankenunterbrechungsfunktion
jedes Mal auszuführen,
wenn eine aktive Flanke nach einem Hochfahren des Mikrocomputers 30 in
dem von dem Eingangswahlmodul 41 als Eingangssignal ausgegebenen
Nockenflankensignal erscheint (siehe Schritt S240 in der 6).
-
Wenn
ein Erscheinen einer aktiven Flanke in dem Nockenflankensignal (Eingangssignal)
ein Starten des Nockenflankenunterbrechungsfunktionsprogramms auslöst, bestimmt
die CPU 31 in Schritt S510, ob ein Nockenpositionsbestimmungsflag
F2 "AUS" anzeigende Information
hält. Es
sollte beachtet werden, dass das Nockenpositionsbestimmungsflag
F2 beispielsweise bei jedem Hochfahren des Mikrocomputers 30 mit
Hilfe eines Computerprogramms gesetzt wird. Die "AUS" anzeigende
Information wird während
des Einschaltprozesses des Mikrocomputers als Standardinformation
des Nockenpositionsbestimmungsflags F2 festgelegt.
-
Wenn
bestimmt wird, dass das Nockenpositionsbestimmungsflag F2 die den
Standardwert von "AUS" anzeigende Information
hält (JA
in Schritt S510), bestimmt die CPU 31 einen Zeitpunkt unmittelbar
auf das Einschalten des Mikrocomputers folgend und schreitet zu
Schritt S520 voran.
-
In
Schritt S520 bestimmt die CPU 31, ob der Zählwert des
Schutzzählers 49b größer oder
gleich der doppelten Multiplikationszahl f2 ist, die bei der Nockenflankenunterbrechungsfunktion,
wie vorstehend beschrieben, in dem zweiten Register 45b auf
1200 gesetzt wird. D. h., die CPU 31 bestimmt, ob der Zählwert des
Schutzzählers 49b größer oder
gleich 2400 (2 × 1200)
ist. Als Standardwert ist der Zählwert
des Schutzzählers 49b auf "0" gesetzt.
-
Wenn
bestimmt wird, dass der Zählwert
des Schutzzählers 49b größerodergleich
derdoppelten Multiplikationszahl f2 ist (JA in Schritt S520), schreitet
die CPU 31 zu Schritt S530 voran.
-
In
Schritt S530 setzt die CPU 31 die jeweiligen Zählwerte
des Referenzzählers 49a, des
Schutzzählers 49b und
des Winkelzählers 49c auf
Anfangswerte.
-
Bei
dieser Ausführungsform
wird insbesondere im Voraus bestimmt, dass jede aktive Flanke in
dem Nockenflankensignal:
dem ersten oder dem zweiten Nockensignal
entspricht; und
einer ansteigenden oder einer abfallenden Flanke
in dem ersten oder dem zweiten Nockensignal entspricht; und
dem
H- oder dem L-Pegel des anderen der beiden Nockensignale entspricht.
-
Ferner
werden bei dieser Ausführungsform
in dem Referenzzähler 49a zu
speichernde Anfangswerte im Voraus für die jeweiligen aktiven Flanken
in dem Nockenflankensignal bestimmt. in gleicher Weise werden in
dem Schutzzähler 49b zu
speichernden Anfangswerte im Voraus für die jeweiligen aktiven Flanken
in dem Nockenflankensignal und in dem Winkelzähler 49c zu speichernde
Anfangswerte im Voraus für
die jeweiligen aktiven Flanken in dem Nockenflankensignal bestimmt.
-
12 zeigt
eine Tabelle, in welcher die Übereinstimmungen
zwischen den einzelnen Anfangswerten der jeweiligen Zähler 49a bis 49c und
den einzelnen aktiven Flanken in dem Nockenflankensignal schematisch dargestellt
sind.
-
Die
Anfangswerte der Zähler 49a, 49b und 49c werden
insbesondere dann, wenn eine in dem Nockenflankensignal erscheinende
aktive Flanke einer ansteigenden Flanke in dem ersten Nockensignal
entspricht, während
das zweite Nockensignal an einem der Änderungspunkte P den L-Pegel
aufweist, auf "6000", "0" bzw. "6000" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einer
ansteigenden Flanke in dem ersten Nockensignal entspricht, während das
zweite Nockensignal an einem der Änderungspunkte P den H-Pegel
aufweist, werden die Anfangswerte der Zähler 49a, 49b und 49c auf "3600", "4800" bzw. "3600" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einer
abfallen den Flanke in dem ersten Nockensignal entspricht, während das
zweite Nockensignal an einem der Änderungspunkte Q den L-Pegel
aufweist, werden die Anfangswerte der Zähler 49a, 49b und 49c auf "5700", "6900" bzw. "5700" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einer
abfallenden Flanke in dem ersten Nockensignal entspricht, während das
zweite Nockensignal an einem der Änderungspunkte P den H-Pegel
aufweist, werden die Anfangswerte der Zähler 49a, 49b und 49c auf "1200", "2400" bzw. "1200" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einer
ansteigenden Flanke in dem zweiten Nockensignal entspricht, während das
erste Nockensignal an einem der Änderungspunkte
P den L-Pegel aufweist, werden die Anfangswerte der Zähler 49a, 49b und 49c ferner
auf "2400", "3600" bzw. "2400" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einer
ansteigenden Flanke in dem zweiten Nockensignal entspricht, während das
erste Nockensignal an einem der Änderungspunkte
P den H-Pegel aufweist, werden die Anfangswerte der Zähler 49a, 49b und 49c auf "0", "1200" bzw. "0" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einer
abfallenden Flanke in dem zweiten Nockensignal entspricht, während das
erste Nockensignal an einem der Änderungspunkte
Q den L-Pegel aufweist, werden die Anfangswerte der Zähler 49a, 49b und 49c auf "2100", "3300" bzw. "2100" gesetzt.
-
Wenn
eine in dem Nockenflankensignal erscheinende aktive Flanke einerabfallenden
Flanke in dem zweiten Nockensignal entspricht, während das erste Nockensignal
an einem der Änderungspunkte
P den H-Pegel aufweist, werden die Anfangwerte der Zähler 49a, 49b und 49c auf "4800", "6000" bzw. "4800" gesetzt.
-
Es
sollte beachtet werden, dass die Begriffe "ansteigende Flanke" und "abfallende Flanke" in der 12 durch "↑" bzw. "↓" und die Begriffe "L-Pegel" und "H-Pegel" durch "L" bzw. "H" gekennzeichnet
sind.
-
Bei
dieser Ausführungsform
werden beispielsweise Daten, die Übereinstimmungen zwischen den
einzelnen Anfangswerten der jeweiligen Zähler 49a bis 49c und
den einzelnen aktiven Flanken in dem Nockenflankensignal anzeigen,
im Voraus in einer Tabelle T gespeichert. Ferner die Tabelle T beispielsweise
im Voraus in dem Flash-ROM 37 gespeichert.
-
Die
CPU 31 greift insbesondere in Schritt S530 auf die in der
Tabelle T gespeicherten Daten zu, um die Anfangswerte für die jeweiligen
Zähler 49a bis 49c aus
dieser Tabelle zu lesen; diese ausgelesenen Anfangswerte entsprechen
einer momentanen aktiven Flanke, die in dem Nockenflankensignal
erscheint. Anschließend
speichert die CPU 31 die ausgelesenen Anfangwerte in Schritt
S530 in den entsprechenden Zählern 49a, 49b bzw. 49c.
-
Anschließend ändert die
CPU 31 die von dem Nockenpositionsbestimmungsflag F2 gehaltene
Information in Schritt S540 von "AUS" zu "EIN" und schreitet zu
Schritt S570 voran.
-
Wenn
demgegenüber
bestimmt wird, dass der Zählwert
des Schutzzählers 49b kleiner
der doppelten Multiplikationszahl f2 ist (NEIN in Schritt S520),
schreitet die CPU 31 zu Schritt S570 voran, wobei sie die
Befehle in den Schritten S550 und S560 überspringt.
-
Wenn
demgegenüber
bestimmt wird, dass das Nockenpositionsbestimmungsflag f2 die "EIN" anzeigende Information
hält (NEIN
in Schritt S510), wechselt die CPU 31 zu Schritt S550.
-
In
Schritt S550 bestimmt die CPU 31, ob der Zählwert des
Schutzzählers 49b größer oder
gleich dem Produkt aus der Multiplikationszahl f2 (1200) und der
Anzahl an Zylindern ist, die bei dieser Ausführungsform 6 beträgt. D. h.,
die CPU 31 bestimmt, ob der Zählwert des Schutzzählers 49b größer oder
gleich 7200 (6 × 1200)
ist.
-
Wenn
bestimmt wird, dass der Zählwert
des Schutzzählers 49b größer oder
gleich dem Produkt aus der Multiplikationszahl f2 (1200) und der
Anzahl an Zylindern (6) ist (JA in Schritt S550), schreitet
die CPU 31 zu Schritt S560 voran. In Schritt S560 setzt
die CPU 31 den Zählwert
des Schutzzählers 49b auf "0" und schreitet zu Schritt S570 voran.
-
Wenn
demgegenüber
bestimmt wird, dass der Zählwert
des Schutzzählers 49b kleiner
dem Produkt aus der Multiplikationszahl f2 (1200) und der Anzahl
an Zylindern (6) ist (NEIN in Schritt S550), schreitet
die CPU 31 zu Schritt S570 voran, wobei sie den Befehl
in Schritt S560 überspringt.
-
In
Schritt S570 überprüft die CPU 31,
ob der Zählwert
des Schutzzählers 49b den
Wert "0" aufweist.
-
Wenn
bestimmt wird, dass der Zählwert
des Schutzzählers 49b auf "0" gesetzt ist (JA in Schritt S570), sendet
die CPU 31 in Schritt S580, gleich Schritt S370, einen
den Freigabemodus anzeigenden Befehl an das Winkeltaktmodul 49.
Hierdurch kann der Referenzzähler 49a selbst
dann in dem vorstehend beschriebenen Freigabemodus zählen, wenn
der Zählwert
des Schutzzählers 49b auf "0" gesetzt ist.
-
Wenn
demgegenüber
bestimmt wird, dass der Zählwert
des Schutzzählers 49b von "0" verschieden ist (NEIN in Schritt S570),
sendet die CPU 31 in Schritt S590, gleich Schritt S420,
einen den Sperrmodus anzeigenden Befehl an das Winkeltaktmodul 49.
Hierdurch kann der Referenzzähler 49a in
dem vorstehend beschriebenen Sperrmodus zählen.
-
Wenn
der Betriebsmodus des Referenzzählers 49a in
Schritt S580 oder S590 hergestellt ist, bestimmt die CPU 31 in
Schritt S600, ob die aktive Trigger Flanke einen Änderungspunkt
unmittelbar vor einem Änderungspunkt
Q beschreibt. D. h., die CPU 31 bestimmt in Schritt S600,
ob die aktive Triggerflanke eine aktive Flanke beschreibt, deren
nächste
aktive Flanke einem Änderungspunkt
Q entspricht.
-
Bei
dieser Ausführungsform
umfassen die Änderungspunkte
Q, wie in den 2, 12 und 13 gezeigt,
einen Änderungspunkt
Q1, an welchem der Pegel des ersten Nockensignals vorübergehend
in der N-L-Richtung wechselt, während
das zweite Nockensignal den L-Pegel
aufweist; und
einen Änderungspunkt
Q2, an welchem der Pegel des zweiten Nockensignals vorü bergehend
in der H-L-Richtung wechselt, während
das erste Nockensignal den L-Pegel aufweist.
-
Folglich
entspricht ein Änderungspunkt
P1, an welchem der Pegel des zweiten Nockensignals vorübergehend
in der N-L-Richtung wechselt, während
das erste Nockensignal den H-Pegel aufweist, einem Änderungspunkt
unmittelbar vor dem Änderungspunkt
Q1. Gleichermaßen
entspricht ein Änderungspunkt
P2, an welchem der Pegel des ersten Nockensignals vorübergehend
in der H-L-Richtung wechselt, während
das zweite Nockensignal den H-Pegel aufweist, einem Änderungspunkt
unmittelbar vor dem Änderungspunkt
Q2.
-
In
Schritt S600 greift die CPU 31 beispielsweise auf die in
der Tabelle T gespeicherten Daten zu, um auf der Grundlage des Referenzergebnisses
zu bestimmen, ob die aktive Triggerflanke einen Änderungspunk unmittelbar vor
einem Änderungspunkt
Q beschreibt.
-
Wenn
bestimmt wird, dass die aktive Triggerflanke einen Änderungspunkt
unmittelbar vor einem Änderungspunkt
Q beschreibt (JA in Schritt S600), schreitet die CPU 31 zu
Schritt S610 voran. In Schritt S610 sendet die CPU 31 einen
Befehl zum Überschreiben
des wenigstens einen in dem Register 41b gespeicherten Datenbits
vom Standardwert "1" auf "0" an das Eingangswahlmodul 41.
-
Die
den Wert "0" beschreibenden Daten
verhindern, dass das Eingangswahlmodul 41 das Kurbelsignal
und das Nockenflankensignal an die Module 43, 45, 47 und 49 gibt.
-
Wenn
demgegenüber
bestimmt wird, dass die aktive Triggerflanke keinen Änderungspunkt
unmittelbar vor einem Änderungspunkt
Q beschreibt (NEIN in Schritt S600), schreitet die CPU 31 zu
Schritt S620 voran. In Schritt S620 hält die CPU 31 unverändert den
Standardwert "1" des wenigstens einen
Datenbits, so dass das Eingangswahlmodul 41 das Kurbelsignal
und das Nockenflankensignal fortlaufend an die Module 43, 45, 47 und 49 geben
kann.
-
Wenn
der Betriebszustand des Eingangswahlmoduls 41 in Schritt
S610 oder S620 hergestellt ist, bestimmt die CPU 31 in
Schritt S630, ob das Nockenpositionsbestim mungsflag F2 die "EIN" anzeigende Information
hält und
die aktive Triggerflanke keinen Änderungspunkt
Q beschreibt.
-
Wenn
bestimmt wird, dass entweder das Nockenpositionsbestimmungsflag
F2 die "AUS" anzeigende Information
hält oder
die aktive Triggerflanke einen Änderungspunkt
Q beschreibt (NEIN in Schritt S630), verlässt die CPU 31 die
Nockenflankenunterbrechungsfunktion.
-
Wenn
demgegenüber
bestimmt wird, dass das Nockenpositionsbestimmungsflag F2 die "EIN" anzeigende Information
hält und
die aktive Triggerflanke keinen Änderungspunkt
Q beschreibt (JA in Schritt S630), schreitet die CPU 31 zu
Schritt S640 voran.
-
In
Schritt S640 überprüft die CPU 31,
ob ein Zählwert
eines Ereigniszählers
C2 größer als "0" ist. Die CPU 31 kann den Ereigniszähler C2
beispielsweise über
ein Computerprogramm steuern (wenigstens eines der Programme). Bei
dieser Ausführungsform
setzt die CPU 31 den Zählwert
des Ereigniszählers
C2 als Standardwert auf "0".
-
Wenn
bestimmt wird, dass der Zählwert
des Ereigniszählers
C2 größer "0" ist (JA in Schritt S640), schreitet
die CPU 31 zu Schritt S660 voran, wobei sie den Befehl
in Schritt S650 überspringt.
-
In
Schritt S660 speichert die CPU 31 einen Schwellenwert in
dem Schwellenwertregister 47b. Bei der Ausführungsform
wird der in dem Schellenwertregister 47b zu speichernde
Schwellenwert für
die Nockenflankenunterbrechungsfunktion auf der Grundlage:
eines
Drehwinkels von sowohl der ersten als auch der zweiten Nockenwelle
CM1 und CM2 von einem Änderungspunkt
P, der zum Erzeugen eines Ereignisses benötigt wird;
Winkelintervallen,
an denen die Drehposition von sowohl der ersten als auch der zweiten
Nockenwelle CM1 und CM2 einen der TDCs der einzelnen Zylindererreicht;
und
der Multiplikationszahl f2 (1200) erhalten.
-
Der
Drehwinkel von sowohl der ersten als auch der zweiten Nockenwelle
CM1 und CM2 von einem Änderungspunkt
P, der zum Erzeugen eines Ereignisses benötigt wird, ist bei der Ausführungsform
als "Kurbelwinkel
von 15 Grad" bestimmt;
dieser Drehwinkel wird nachstehend als "Ereigniserzeugungswinkel" bezeichnet.
-
Die
Winkelintervalle, an denen die Drehposition von sowohl der ersten
als auch der zweiten Nockenwelle CM1 und CM2 einen der TDCs dereinzelnen
Zylinder erreicht, sind bei der Ausführungsform als "Kurbelwinkel von
120 Grad" bestimmt;
diese Winkelintervalle werden nachstehend als "TDC-Winkel" bezeichnet.
-
Der
Schwellenwert für
die Nockenflankenunterbrechungsfunktion ist insbesondere als "15/(120/1200) = 15 × (1200/120)
= 150" bestimmt.
Der Schwellenwert von "150" wird in Schritt
S660 in dem Schwellenwertregister 47b gespeichert.
-
Es
sollte beachtet werden, dass der Zählwert des Passierungswinkelmesszählers 47a dann,
wenn der Befehl in Schritt S660 vollständig ausgeführt ist, die Anzahl an aktiven
Flanken, wie beispielsweise ansteigenden Flanken der Multiplikationstakte
des Multiplikationstaktes zwischen zwei zeitlich benachbarten aktiven Flanken
des Nockenflankensignals (Eingangssignal) an den jeweiligen Änderungspunkten
P, beschreibt. Die Anzahl an aktiven Flanken (ansteigende Flanken)
der Multiplikationstakte beschreibt einen Drehwinkel von sowohl
der ersten als auch der zweiten Nockenwelle CM1 und CM2 zwischen
zwei zeitlich benachbarten aktiven Flanken des Nockenflankensignals
(Eingangssignal) an den jeweiligen Änderungspunkten P.
-
Anschließend überschreibt
die CPU 31 in Schritt S670 die in dem Freigabe/Sperrregister 47c gespeicherte "Sperren" anzeigende Information
mit "Freigabe" anzeigender Information. Über die "Freigabe" anzeigende Information
kann die CPU 31 eine nachstehend beschriebene Passierungswinkelunterbrechungsfunktion
(Passierungswinkelunterbrechungsprogramm) im Ansprechen auf den
Empfang einer Unterbrechung von dem Passierungswinkelmessmodul 47 starten.
Die "Sperren" anzeigende Information
verhindert demgegenüber,
dass die CPU 31 die Passierungswinkelunterbrechungsfunktion
startet.
-
Anschließend setzt
die CPU 31 in Schritt S680 einen Ereigniswert in dem Ereigniszähler C2.
Der Ereigniswert wird bei der Ausführungsform erhalten, indem
der TDC-Winkel (120° CA)
durch das Ereignisintervall (30° CA)
geteilt wird, so dass er "120/30" = 4 ergibt. Der
Ereigniswert "4" wird in Schritt
S680 in dem Ereigniszähler
C2 gespeichert. Auf die Ausführung
des Befehl in Schritt S680 hin verlässt die CPU 31 die
Nockenflankenunterbrechungsfunktion.
-
Nachstehend
werden die bestimmten Operationen der jeweiligen Module 41, 43, 45, 47 und 49 unter der
Steuerung der CPU 31 und Änderungen der Parameter, wie
beispielsweise der Zählwerte
der Zähler 43a, 49a, 49b und 49c unter
Bezugnahme auf die 11 und 13 beschrieben.
-
Wenn
das Nockenflankenunterbrechungsprogramm das erste Mal im Ansprechen
auf eine aktive Triggerflanke in dem Nockenflankensignal gestartet
wird (siehe E41 in der 13), hält das Nockenpositionsbestimmungsflag
die den Standardwert von "AUS" anzeigende Information
und wird der Zählwert
des Schutzzählers 49b von
dem Standardwert von "0" um 1 × f inkrementiert
(siehe Abschnitte e40 und e41 in der 13). Aus
diesem Grund ist die Bestimmung in Schritt S510 positiv (JA) und
die Bestimmung in Schritt S520 negativ, so dass die Ausführung der
CPU 31 zum Befehl in Schritt S570 verschoben wird.
-
Da
der Zählwert
des Schutzzählers 49b auf "1 × f" gesetzt wird, was
von "0" verschieden ist,
ist die Bestimmung in Schritt S570 negativ (NEIN), so dass die Ausführung der
CPU 31 über
den Befehl in Schritt S590 zum Befehl in Schritt S600 schreitet.
-
Zu
diesem Zeitpunkt ist die Bestimmung in Schritt S600 negativ (NEIN),
da der Befehl in Schritt S530 nicht ausgeführt wird, so dass die jeweiligen
Zähler 49a, 49b und 49c nicht
auf die Anfangswerte gesetzt sind. Anschließend schreitet die Ausführung der
CPU 31 zu Schritt S620 voran. Hierdurch kann der Standardwert "1" des wenigstens einen in dem Register 41b gespeicherten
Datenbits gehalten werden, so dass das Eingangswahlmodul 41 das
Nockenflankensignal fortlaufend an die Module 43, 45, 47 und 49 geben
kann.
-
Da
das Nockenpositionsbestimmungsflag die den Standardwert von "AUS" anzei gende Information hält (NEIN
in Schritt S630), wird die Nockenflankenunterbrechungsfunktion verlassen.
-
Anschließend hält das Nockenpositionsbestimmungsflag
F2 dann, wenn die nächste
aktive Flanke in der Nockenflankensignal erscheint (siehe E42 in
der 13), die den Standardwert von "AUS" anzeigende Information
und wird der Zählwert
des Schutzzählers 49b von
dem Zählwert "1 × f" um 1 × f inkrementiert,
so dass er den Wert "2 × f annimmt
(siehe Abschnitte e42 in der 13). Hierdurch
wird eine positive Bestimmung (JA) in Schritt S520 möglich.
-
Auf
die positive Bestätigung
in Schritt S520 hin werden die Anfangswerte, die auf der Grundlage
der momentanen aktiven Flanke (E42) in dem Nockenflankensignal und
der Tabelle T bestimmt werden, in Schritt S530 in den entsprechenden
Zählern 49a, 49b bzw. 49c gespeichert.
Es werden insbesondere die Anfangswerte 3600 entsprechend "3 × f", 4800 entsprechend "4 × f" und 3600 entsprechend "3 × f" als Zählwerte
in dem Referenzzähler 49a,
dem Schutzzähler 49b bzw.
dem Winkelzähler 49c gespeichert
(siehe Tabelle T in der 12).
-
Auf
die Ausführung
des Befehls in Schritt S530 folgend wird das Nockenpositionsbestimmungsflag
F2 in Schritt S540 auf die "EIN" anzeigende Information
gesetzt.
-
Da
der Zählwert
des Schutzzählers 49b nicht
auf "0" gesetzt ist und
die nächste
in dem Nockenflankensignal erscheinende aktive Flanke E43 nicht
dem Änderungspunkt
Q1 entspricht, werden die Befehle in den Schritten S570, S590, S600
und S620 anschließend
der Reihe nach von der CPU 31 ausgeführt. Anschließend schreitet
die Ausführung
der CPU 31 zu Schritt S630 voran.
-
Da
die momentane aktive Flanke E42 in dem Nockenflankensignal nicht
dem Änderungspunkt
Q1 entspricht und das Nockenpositionsbestimmungsflag F2 auf die "EIN" anzeigende Information
gesetzt ist, ist die Bestimmung in Schritt S630 positiv (JA). Folglich
wird die Ausführung
der CPU 31 zu Schritt S640 verschoben.
-
In
Schritt S640 wird überprüft, ob der
Ereigniswert des Ereigniszählers
C2 größer "0" ist.
-
Da
der Zählwert
des Ereigniszählers
C2 bei dem Standardwert von "0" verbleibt, werden
die Befehle in den Schritten S660, S670 und S680 von der CPU 31 aufgeführt, wobei
der Befehl in Schritt S650 übersprungen
wird. Hierdurch können
die Parameter, einschließlich
des Schwellenwerts des Schwellenwertregisters 47b, der
in dem Freigabe/Sperrregister 47c gespeicherten Information
und des Zählwerts
des Ereigniszählers C2
bestimmt werden, woraufhin die Nockenflankenunterbrechungsfunktion
verlassen wird.
-
Bei
der Ausführungsform
wird insbesondere in Schritt S660 "150" als
Schwellenwert in dem Schwellenwertregister 47b gespeichert
und die "Sperren" anzeigende und in
dem Freigabe-/Sperrregister 47c gespeicherte Information
in Schritt S670 in "Freigabe" geändert. Ferner
wird in Schritt S680 "4" als Ereigniswert
in dem Ereigniszähler
C2 gespeichert.
-
Vor
einem Erscheinen der nächsten
aktiven Flanke E43 in dem Nockenflankensignal (siehe Abschnitt e42
in der 13) kann das Passierungswinkelmessmodul 47 über die "Freigabe" anzeigende Information synchron
zu einer ansteigenden Flanke jedes Multiplikationstakts in dem Multiplikationstaktsignal
eine Unterbrechung auszugeben.
-
Anschließend erscheint
die nächste
aktive Flanke E43, deren nächste
aktive Flanke dem Änderungspunkt
Q1 entspricht, in dem Nockenflankensignal (siehe 13).
-
Das
Erscheinen der aktiven Flanke E43 in dem Nockenflankensignal ermöglicht es,
die Anfangswerte von 4800 entsprechend "4 × f", 6000 entsprechend "6 × f" und 4800 entsprechend "4 × f" als Zählwerte
in dem Referenzzähler 49a,
dem Schutzzähler 49b bzw.
dem Winkelzähler 49c zu
speichern (siehe Schritt S530 und Tabelle T in der 12);
und
dass die Bestimmung in Schritt S600 positiv (JA) ist.
-
Über die
positive Bestimmung in Schritt S600 kann wenigstens ein in dem Register 41b gespeichertes Datenbit "1" zu "0" geändert werden.
Hierdurch kann das Eingangswahlmodul 41 das Nockenflankensignal
an die Module 43, 45, 47 und 49 geben
(siehe Schritt S610). Anschließend
schreitet die Ausführung
der CPU 31 zu Schritt S630 voran.
-
Zu
diesem Zeitpunkt entspricht die momentane aktive Flanke E43 in dem
Nockenflankensignal nicht dem Änderungspunkt
Q1 und ist das Nockenpositionsbestimmungsflag F2 auf die "EIN" anzeigende Information
gesetzt. Aus diesem Grund ist die Bestimmung in Schritt S630 positiv
(JA). Folglich wird die Ausführung der
CPU 31 zu Schritt S640 verschoben.
-
Da
der Zählwert
des Ereigniszählers
C2 durch die nachstehend beschriebene Passierungswinkelunterbrechungsfunktion
gelöscht
(auf Null gesetzt) wird, ist die Bestimmung in Schritt S640 negativ
(NEIN), so dass die folgenden Befehle S660 bis S680 von der CPU 31 ausgeführt werden
und die Nockenflankenunterbrechungsfunktion anschließend verlassen
wird.
-
Es
wird, wie vorstehend beschrieben, kein Nockenflankensignal von dem
Eingangswahlmodul 41 an die Module 43, 45, 47 und 49 gegeben,
während
die in dem Register 41b gespeicherten Daten den Wert "0" beschreiben. Aus diesem Grund wird
keine in dem Nockenflankensignal erscheinende aktive Flanke an die Module 43, 45, 47 und 49 gegeben.
Dies führt
dazu, dass die Zähler 43a und 47a kontinuierlich
hochzählen, bis
die nächste
aktive Flanke E44 auf die aktive Flanke Q1 folgend in dem Nockenflankensignal
erscheint (siehe Abschnitt e43 in der 13).
-
Wenn
die nächste
aktive Flanke E44 in dem Nockenflankensignal erscheint, ist der
Zählwert
des Schutzzählers 49b von
dem in Schritt S530 bei dem Erscheinen der aktiven Flanke E43 in
dem Nockenflankensignal gesetzten Wert "6000" entsprechend
(5 × f)
an derart erhöht
worden, dass er den Wert "7200" erreicht (siehe 13).
Da der Zählwert
von "7200" des Schutzzählers 49b gleich
dem Produkt aus der Multiplikationszahl f2 (1200) und der Anzahl
an Zylindern ist, die bei dieser Ausführungsform den Wert 6 entspricht, ist
die Bestimmung in Schritt S550 positiv (JA). Folglich wird der Zählwert des
Schutzzählers 49b in
Schritt S560 auf "0" gesetzt.
-
Folglich
ist die Bestimmung in Schritt S570 positiv (JA), so dass der Referenzzähler 49a in
Schritt S580 den Hochzählbetrieb
im Freigabemodus ausführt.
-
Selbst
wenn der Zählwert
des Schutzzählers 49b in
Schritt S560 auf "0" gesetzt wird, zählt der
Referenzzähler 49a fortlaufend
hoch, bis der Zählwert
den in dem ersten Register 49d gespeicherten oberen Grenzwert
erreicht (siehe Abschnitt e44 in der 13), da
der Betriebsmodus des Referenzzählers 49a in Schritt
S580 in den Freigabemodus gesetzt wird.
-
Vor
einem Erscheinen der nächsten
aktiven Flanke E45 in dem Nockenflankensignal (siehe Abschnitt e44
in der 13) kann das Passierungswinkelmessmodul 47 über die "Freigabe" anzeigende Information synchron
zu einer in dem Multiplikationstaktsignal erscheinenden ansteigenden
Flanke jedes Multiplikationstakts eine Unterbrechung ausgeben. Die
von dem Passierungswinkelmessmodul 47 ausgegebene Unterbrechung
wird derart an die CPU 31 gegeben, dass die CPU 31 die
nachstehend beschriebene Passierungswinkelunterbrechungsfunktion
ausführt.
-
Da
der Zählwert
des Ereigniszählers
C2, wie vorstehend beschrieben, durch die Passierungswinkelunterbrechungsfunktion
gelöscht
(auf Null gesetzt) wird, ist die Bestimmung in Schritt S640 folglich
negativ (NEIN), so dass die folgenden Befehle der Schritte S660
bis S680 von der CPU 31 ausgeführt werden. Anschließend wird
die Nockenflankenunterbrechungsfunktion verlassen.
-
Wenn
die nächste
aktive Flanke (E45) in dem Kurbelsignal erscheint (siehe 13)
erreicht der Zählwert
von sowohl dem Referenzzähler 49a als
auch dem Winkelzähler 49c den
in dem ersten Register 49d gespeicherten oberen Grenzwert
von "7200 (6 × f)", wobei der Zählwert des
Schutzzählers 49b bei "0" verbleibt. Hierdurch können die
Zählwerte
des Referenzzählers 49a und
des Schutzzählers 49b gelöscht (auf
Null gesetzt) werden (siehe Abschnitt e44 in der 13).
-
Anschließend werden
die Befehle in den Schritten S550, S570, S590, S600, S620 und S630
bis S680, wie vorstehend beschrieben, jedes Mall wiederholt von
der CPU 31 ausgeführt,
wenn eine aktive Flanke in dem Nockenflankensignal erscheint, bis
bestimmt wird, dass eine aktive Flanke unmittelbar vor einem Änderungspunkt
Q in dem Nockenflankensignal erscheint (siehe Abschnitte e45 und
e46 in der 13). Während der wiederholten Ausführungen
der Befehlen in den Schritten S550, S570, S590, S600, S620 und S630
bis S680 wird dann, wenn eine aktive Flanke unmittelbar vor einem Änderungspunkt
Q in dem Nockenflankensignal erscheint (JA in Schritt S600), der
Befehl in Schritt S610 anstelle des Befehls in Schritt S620 ausgeführt.
-
Ferner
werden die Befehle in den Schritten S550, S570, S590, S600, S620
und S630 bis S680 wiederholt von der CPU 31 ausgeführt (siehe
Abschnitte e47 und e48), während
der Zählwert
des Schutzzählers 49b jedes
Mal gelöscht
(auf Null gesetzt) wird, wenn er das Produkt aus der Multiplikationszahl
f2 (1200) und der Anzahl an Zylindern (6) erreicht.
-
(5) Passierungswinkelunterbrechungsfunktion
-
Nachstehend
werden die Befehle eines Passierungswinkelunterbrechungsfunktionsprogramms
unter Bezugnahme auf die 14 beschrieben.
Die Befehle ermöglichen
es der CPU 31, die Passierungswinkelunterbrechungsfunktion
auszuführen,
wenn eine von dem Passierungswinkelmessmodul 47 erzeugte
Unterbrechung an die CPU 31 gegeben wird, während die
in dem Freigabe-/Sperrregister 47c gespeicherte Information in
Schritt S670 auf die "Freigabe" anzeigende Information
gesetzt wird.
-
Wenn
eine von dem Passierungswinkelmessmodul 47 an die CPU 31 gegebene
Unterbrechung ein Starten des Passierungswinkelunterbrechungsfunktionsprogramms
auslöst,
erzeugt die CPU 31 in Schritt S710 der 14 die
Anzahl an Ereignissen auf der Grundlage des Zählwerts des Ereigniszählers C2.
Jedes dieser Ereignisse bestimmt einen Ereigniszeitpunkt für eines
einzelnen Steuerziele, die mit der Motorsteuerung verknüpft sind,
wie beispielsweise eine Einspritzvorrichtung und/oder eine Zündvorrichtung
für einen
entsprechenden der einzelnen Zylinder. Der Ereigniserzeugungsbefehl
in Schritt S710 gleicht dem Befehl in Schritt S460 der 7.
-
Anschließend verringert
die CPU 31 den Zählwert
des Ereigniszählers
C2 um 1 und überprüft in Schritt S730,
ob der Zählwert
des Ereigniszählers
C2 "0" überschreitet.
-
Wenn
bestimmt wird, dass der Zählwert "0" überschreitet
(JA in Schritt S730), aktualisiert die CPU 31 den in dem
Schwellenwertregister 47b gespeicherten Schwellenwert in
Schritt S740. Bei der Ausführungsform überschreibt
die CPU 31 den in dem Schwellenwertregister 47b gespeicherten
Schwellenwert mit einem neuen Schwellen wert, der bestimmt wird,
indem:
der TDC-Winkel (120° CA)
durch die Multiplikationszahl f2 (1200) geteilt wird, um "120/1200" zu erhalten;
das
Ereignisintervall (30° CA)
durch "120/1200" geteilt wird, um "30/(120/1200)" zu erhalten; und
der
erhaltene Wert "30/(120/1200)" von 300 zu dem zuvor
in dem Register 47b gespeicherten Schwellenwert addiert
wird.
-
In
Schritt S740 wird insbesondere die Summe des erhaltenen Werts "300" und des in dem Register 47b gespeicherten
Schwellenwerts als Schwellenwert in dem Register 47b gespeichert.
-
Wenn
demgegenüber
bestimmt wird, dass der Zählwert "0" entspricht (NEIN in Schritt S730), überschreibt
die CPU 31 die in dem Freigabe-/Sperrregister 47c gespeicherte "Freigabe" anzeigende Information in
Schritt S750 mit der "Sperren" anzeigenden Information.
Hierdurch wird selbst dann verhindert werden, dass das Passierungswinkelunterbrechungsprogramm
gestartet wird, wenn eine Unterbrechung an die CPU 31 gegeben
wird.
-
Anschließend verlässt die
CPU 31 die Passierungswinkelunterbrechungsfunktion.
-
Bei
der Nockenflankenunterbrechungsfunktion werden das Schwellenwertregister 47b,
das Freigabe-/Sperrregister 47c und den Ereigniszähler C2,
wie vorstehend beschrieben, auf den Schwellenwert von "150", die "Freigabe" anzeigende Information
bzw. den Ereigniswert von "4" gesetzt (siehe Schritte
S660, S670 und S680).
-
In
diesem Zustand gibt das Passierungswinkelmessmodul 47 dann,
wenn der Passierungswinkelmesszähler 47b synchron
zum Erscheinen einer aktiven Flanke (E50) in dem Nockenflankensignal
zurückgesetzt
wird, synchron zu einer ansteigenden Flanke jedes in dem Multiplikationstaktsignal
erscheinenden Multiplikationstakts eine Unterbrechung aus (siehe
Abschnitt e51 in der 15).
-
Anschließend wird
die Passierungswinkelunterbrechungsfunktion jedes Mal von der CPU 31 ausgeführt, wenn
eine Unterbrechung an die CPU 31 gegeben wird, bis die
Ausführung
des Befehl in Schritt S750 abgeschlossen ist.
-
Nachstehend
werden bestimmte Operationen der jeweiligen Module 41, 43, 45, 47 und 49 unter
der Steuerung der CPU 31 und Änderungen der Parameter, wie
beispielsweise der Zählwerte
der Zähler 47a und C2
und des in dem Schwellenwertregister 47b gespeicherten
Schwellenwerts, unter Bezugnahme auf die 14 bis 16 beschrieben.
-
Wenn
der Zählwert
des Passierungswinkelmesszählers 47b den
in dem Schwellenwertregister 47c gespeicherten Schwellwert
von "150" erreicht, mit einer
Drehung von sowohl der ersten als auch der zweiten Nockenwelle CM1
und CM2 um 15° CA
(siehe Abschnitt e52 in der 15), wird
von dem Passierungswinkelmessmodul 47 eine an die CPU 31 zu
gebende Unterbrechung erzeugt, so dass die Passierungswinkelunterbrechungsfunktion
aktiviert wird.
-
Auf
eine Aktivierung der Passierungswinkelunterbrechungsfunktion hin
wird der Zählwert
des Ereigniszählers
C2 in Schritt S720 auf eine Erzeugung der Ereignisse EV1 in Schritt
S710 hin von "4" auf "3" verringert (siehe "Teilungsereignis" in der 15). Da
der Zählwert
von "3" des Ereigniszählers C2
an diesem Zeitpunkt größer "0" ist, ist die Bestimmung in Schritt
S720 positiv (JA), so dass der Schwellenwert von "150" des Schwellenwertregisters 47c zu
einem Wert von "300" addiert und folglich
auf einen Wert von "450" aktualisiert wird.
-
Wenn
der Zählwert
des Passierungswinkelmesszählers 47b den
in dem Schwellenwertregister 47c gespeicherten Schwellenwert
von "450" erreicht, mit einer
Drehung von sowohl der ersten als auch der zweiten Nockenwelle CM1
und CM2 um 45° CA
(siehe Abschnitt e53 in der 15), wird
von dem Passierungswinkelmessmodul 47 eine an die CPU 31 zu
gebende Unterbrechung erzeugt, so dass die Passierungswinkelunterbrechungsfunktion
aktiviert wird.
-
Auf
eine Aktivierung der Passierungswinkelunterbrechungsfunktion hin
wird der Zählwert
des Ereigniszählers
C2 in Schritt S720 auf eine Erzeugung der Ereignisse EV2 in Schritt
S710 hin von "3" auf "2" verringert. Da der Zählwert von "2" des Ereigniszählers C2 an diesem Zeitpunkt
größer "0" ist, ist die Bestimmung in Schritt
S720 positiv (JA), so dass der Schwellenwert von "450" des Schwellenwertregisters 47c zu
einem Wert von "300" addiert und folglich
auf einen Wert von "750" aktualisiert wird.
-
Wenn
der Zählwert
des Passierungswinkelmesszählers 47b den
in dem Schwellenwertregister 47c gespeicherten Schwellenwert
von "750" erreicht, mit einer
Drehung von sowohl der ersten als auch der zweiten Nockenwelle CM1
und CM2 um 75° CA
(siehe Abschnitt e54 in der 15), wird
von dem Passierungswinkelmessmodul 47 eine an die CPU 31 zu
gebende Unterbrechung erzeugt, so dass die Passierungswinkelunterbrechungsfunktion
aktiviert wird.
-
Auf
eine Aktivierung der Passierungswinkelunterbrechungsfunktion hin
wird der Zählwert
des Ereigniszählers
C2 in Schritt S720 auf eine Erzeugung der Ereignisse EV3 in Schritt
S710 hin von "2" auf "1" verringert. Da der Zählwert "1" des Ereigniszählers C2 zu diesem Zeitpunkt
größer "0" ist, ist die Bestimmung in Schritt
S720 positiv (JA), so dass der Schwellenwert von "750" des Schwellenwertregisters 47c zu
einem Wert von "300" addiert und folglich
auf einen Wert von "1050" aktualisiert wird.
-
Wenn
der Zählwert
des Passierungswinkelmesszählers 47b den
in dem Schwellenwertregister 47c gespeicherten Schwellenwert
von "1050" erreicht, mit einer
Drehung von sowohl der ersten als auch der zweiten Nockenwelle CM1
und CM2 um 105° CA
(siehe Abschnitt e55 in der 15), wird
von dem Passierungswinkelmessmodul 47 eine an die CPU 31 zu
gebende Unterbrechung erzeugt, so dass die Passierungswinkelunterbrechungsfunktion
aktiviert wird.
-
Auf
eine Aktivierung der Passierungswinkelunterbrechungsfunktion hin
wird der Zählwert
des Ereigniszählers
C2 in Schritt S720 auf eine Erzeugung der Ereignisse EV4 in Schritt
S710 hin von "1" auf "0" verringert.
-
Wenn
der Zählwert "2" des Ereigniszählers C2 auf "0" verringert wird, ist die Bestimmung
in Schritt S720 negativ (NEIN), so dass die "Sperren" anzeigende Information in dem Freigabe-/Sperrregister 47c gespeichert
wird.
-
Hierdurch
kann verhindert werden, dass die Passierungswinkelunterbrechungsfunk
tion aktiviert wird, bis die "Freigabe" anzeigende Information
im Ansprechen auf ein Erscheinen der nächsten aktiven Flanke (E51)
in dem Nockenflankensignal 120° CA
auf die aktive Flanke E50 folgend (siehe Abschnitt e55 in der 15)
in dem Freigabe/Sperrregister 47c gespeichert wird.
-
Der
Passierungswinkelmesszähler 47b zählt ferner
fortlaufend hoch, bis der Zählwert
den einer Drehung von sowohl der ersten als auch der zweiten Nockenwelle
CM1 und CM2 um 120° CA
entsprechenden Wert von "1200" erreicht. Wenn der
Zählwert
des Passierungswinkelmesszählers 47b "1200" erreicht, löscht das
Erscheinen der aktiven Flanken E51 den Zählwert des Passierungswinkelmesszählers 47b (siehe 15).
-
Durch
die Passierungswinkelmessunterbrechungsfunktion wird, wie vorstehend
beschrieben und in der 15 gezeigt, wenigstens ein Ereignis
in einem Notlaufmodus erzeugt, und zwar aus einer Drehposition der
jeweiligen Nockenwellen von 15°CA
vor einem Änderungspunkt
P bei jeder Drehung der jeweiligen Nockenwelle um das Ereignisintervall
von 30°CA
(15°CA,
45°CA, 75°CA und 105°CA). Über diese
durch die Passierungswinkelmessunterbrechungsfunktionen erzeugten
Ereignisse kann das Fahrzeug in dem Notlaufmodus gefahren werden.
-
Es
sollte beachtet werden, dass die CPU 31 bei der Nockenflankenunterbrechungsfunktion
dann, wenn bestimmt wird, dass die Bestimmung in Schritt S640 positiv
(JA) ist, die Anzahl an Ereignissen auf der Grundlage des momentanen
Zählwerts
des Ereigniszählers
C2 in Schritt S650 der 11 erzeugt.
-
Bei
der von der CPU 31 synchron zu einer aktiven Flanke in
dem Nockenflankensignal auszuführenden
Passierungswinkelunterbrechungsfunktion wird, wie vorstehend beschrieben
und in den 11, 14 und 15 gezeigt,
angenommen, dass sich jede der Nockenwellen CM1 und CM2 mit zeitlich
benachbarten Änderungspunkten
P bei konstanten 120° CA
dreht. Unter dieser Annahme ist die Bestimmung in Schritt S640 folglich
konstant negativ (NEIN), da der Zählwert des Ereigniszählers C2
vor einem Erscheinen der nächsten aktiven
Flanke in dem Nockenflankensignal den Wert "0" erreicht.
-
Es
wird jedoch beispielsweise angenommen, dass der Motor an dem Zeitpunkt
eines Erscheinens einer aktiven Flanke E52 in dem Nockensignal derart
beschleunigt, dass ein Zeitintervall zwischen der aktiven Flanke
E52 und der nächsten
aktiven Flanke E53 in dem Nockenflankensignal einen verglichen mit
normalen Zeitintervallen der aktiven Flanken in diesem kurz ausfällt.
-
Unter
dieser Annahme kann die aktive Flanke E53, wie in 16 gezeigt,
in dem Nockenflankensignal erscheinen, bevor die Anzahl an Wiederholungen
der Passierungswinkelunterbrechungsfunktionen eine bei der Ausführungsform
vorbestimmte Anzahl von "4" erreicht, d. h.
bevor der Zählwert
des Ereigniszählers
C2 den Wert "0" erreicht. Hierdurch
kann bewirkt werden, dass die Bestimmung in Schritt S640 der 11 negativ (NEIN)
ist, wodurch die Parameter, einschließlich des Schwellenwerte des
Schellenwertregisters 47b, der in dem Freigabe-/Sperrregister 47c gespeicherten
Information und des Ereigniswerts des Ereigniszählers C2, gegebenenfals in
den Schritten S660 bis S680 zurückgesetzt
werden.
-
Dies
kann dazu führen,
dass einige der Ereignisse, welche die CPU 31 gewöhnlich während eines
Zeitintervalls der zeitlich benachbarten aktiven Flanken E52 und
E53 erzeugt sollte, gegebenenfals nicht erzeugt werden.
-
Bezüglich dieses
Problems wird die Anzahl an Ereignissen von der CPU 31 bei
der Ausführungsform in
Schritt S650 dann, wenn in Schritt S640 bestimmt wird, dass der
Zählwert
des Ereigniszählers
C2 ungleich "0" ist, auf der Grundlage
des momentanen Zählwerts
des Ereigniszählers
C2 erzeugt.
-
Wenn
der Zählwert
des Ereigniszählers
C2 in der 16 beispielsweise auf "2" gesetzt wird, erscheint bedingt durch
die plötzliche
Beschleunigung des Fahrzeugs die aktive Flanke E53 in dem Nockenflankensignal.
In diesem Fall wird auf das Erscheinen der aktiven Flanke E53 in
dem Nockenflankensignal folgend die dem Ereigniswert des Ereigniszählers C2
entsprechende Anzahl von "2" Ereignissen von
der CPU 31 erzeugt (siehe Abschnitte e57 bis e59 und EV4
in der 16). Hierdurch können selbst
dann alle Ereignisse, welche die CPU 31 gewöhnlich während eines
Zeitintervalls zeitlich benachbarter aktiver Flanken in dem Nockenflankensignal
erzeugen sollte, erzeugt werden, wenn der Motor plötzlich beschleunigt.
-
Die
ECU 1 ist gemäß obiger
Beschreibung dann, wenn erfasst wird, dass das Kurbelsignalfehlerhaft ist,
dazu ausgelegt,
das von den Modulen in der Winkeltakterzeugungseinheit 33 zu
verwendende Eingangssignal von dem Kurbelsignal zu dem Nockenflankensignal
zu wechseln; und
die Multiplikationszahl f von der Zahl f1
(60) für
das Kurbelsignal zu der Zahl f2 (1200) für das Nockenflankensignal zu
wechseln (siehe Schritt S240 in der 6).
-
Hierdurch
kann ein von dem Flankenintervallmesszähler 43a gemessenes
Zeitintervall von einem Wert, der einem Drehwinkel der Kurbelwelle
CS entspricht, der benötigt
wird, um zeitlich benachbarte aktive Flanken in dem Kurbelsignal
zu erzeugen (Einheitswinkel ∆θ von 6 Grad des Kurbelwinkel,
der nachstehend als "erster
Winkel" bezeichnet
wird), zu einem Wert geändert
werden, der einem Drehwinkel jeder Nockenwelle entspricht, der benötigt wird,
um zeitlich benachbarte aktive Flanken in dem Nockenflankensignal
zu erzeugen (Kurbelwinkel von 120 Grad, der nachstehend als "zweiter Winkel" bezeichnet wird).
-
Gleichermaßen wird
eine Taktzeit eines von dem Multiplikationstakterzeugungsmodul 45 erzeugten Multiplikationstakts
von einem Wert, der erhalten wird, indem die auf dem ersten Winkel
basierende Multiplikationstaktzeit durch die Multiplikationszahl
f1 (60) für
das Kurbelsignal geteilt wird, zu einem Wert geändert, der erhalten wird, indem
die dem zweiten Winkel entsprechende Multiplikationszeit durch die
Multiplikationszahl f2 (1200) für
das Nockenflankensignal geteilt wird.
-
Es
sollte beachtete werden, dass die Multiplikationszahl f2 für das Nockenflankensignal
erhalten wird, indem:
das Produkt aus dem zweiten Winkel von
120 Grad des Kurbelwinkel und der Multiplikationszahl 60 für das Kurbelsignal
berechnet wird; und das erhaltene Produkt durch den ersten Winkel
geteilt wird.
-
D.
h., die Multiplikationszahl f2 für
das Nockenflankensignal wird derart bestimmt, dass sie "(120 × 60)/6
= 1200" ergibt.
-
D.
h., das Verhältnis
zwischen der Multiplikationszahl f1 für das Kurbelsignal und der
Multiplikationszahl f2 für
das Nockenflankensignal ist durch die folgende Gleichung gegeben:
wobei a1 den ersten und a2
den zweiten Winkel beschreibt.
-
Die
Multiplikationszahl f2 für
das Nockenflankensignal wird insbesondere derart erhalten, dass
sie die Gleichung 1 erfüllt.
-
D.
h., bei der Ausführungsform
ist das Verhältnis
der Multiplikationszahl f1 (60) für das Kurbelsignal zu dem ersten
Winkel selbst dann auf das Verhältnis
der Multiplikationszahl f2 (1200) für das Nockenflankensignal zu
dem zweiten Winkel abgestimmt, wenn das Eingangssignal vom Kurbelsignal
zum Nockenflankensignal und die Multiplikationszahl von der Multiplikationszahl
f1 (60) für
das Kurbelsignal zur Multiplikationszahl f2 (1200) für das Nockenflankensignal
geändert
wird.
-
Die
Taktzeit des von dem Multiplikationstakterzeugungsmodul 45 erzeugten
Multiplikationstakts ist insbesondere unabhängig von einer Änderung
der Multiplikationszahl f von der Zahl f1 für das Kurbelsignal zur Zahl
f2 für
das Nockenflankensignal und einer Änderung des Zeitintervalls
von einem dem ersten Winkel entsprechenden Wert zu einem dem zweiten
Winkel entsprechenden Wert konstant. Dies liegt daran, dass das Verhältnis der
Multiplikationszahl f1 (60) für
das Kurbelsignal zum ersten Winkel auf das Verhältnis der Multiplikationszahl
f2 (1200) für
das Nockenflankensignal zum zweiten Winkel abgestimmt ist.
-
D.
h., über
eine Änderung
der Multiplikationszahl f von der Zahl f1 für das Kurbelsignal zur Zahl
f2 für das
Nockenflankensignal kann die Taktzeit des von dem Multiplikati onstakterzeugungsmodul 47 zu
erzeugenden Multiplikationstakts konstant ausgelegt werden.
-
Die
zum Betreiben des Referenzzählers 49a und
des Winkelzählers 49c des
Winkeltaktmoduls 49 zu verwendende Taktzeit des Multiplikationstakts
wird insbesondere vor und nach einer Änderung des Eingangssignals
und der Multiplikationszahl f konstant gehalten. Hierdurch wird
es für
das Winkeltaktmodul 49 unnötig, bestimmte Funktionen zum
Wechseln seiner Operationen vor und nach einer Änderung des Eingangssignals und
der Multiplikationszahl f auszuführen.
-
Dies
ermöglicht
es der ECU 1, einzig das Eingangssignal und die Multiplikationszahl
zu ändern,
um dadurch die Motorsteuerung selbst dann auf der Grundlage des
Nockenflankensignals fortzuführen,
wenn in dem Kurbelsignal ein Fehler auftritt. Hierdurch wird es
für das
Multiplikationstakterzeugungsmodul 45, das Winkeltaktmodul 49 und
die Zeitgeberausgabeeinheit 35 unnötig, bestimmte Funktionen zum
Wechseln ihrer Operationen auf eine Änderung des Eingangssignals
und der Multiplikationszahl f hin auszuführen.
-
Folglich
kann das Fahrzeug mit Hilfe der ECU 1 selbst dann auf der
Grundlage der Motorsteuerung unter Verwendung des Nockenflankensignals
in einem Notlaufmodus gefahren werden, ohne die Anzahl an Hardware-
und/oder Software-Komponenten zu erhöhen, wenn in dem Kurbelsignal
ein Fehler auftritt.
-
Die
ECU 1 ist ferner dazu ausgelegt, die Taktzeit des Multiplikationstakts
von einem Wert, der erhalten wird, indem die auf dem ersten Winkel
basierende Multiplikationstaktzeit durch die Multiplikationszahl
f1 (60) für
das Kurbelsignal geteilt wird, zu einem Wert zu ändern, der erhalten wird, indem
durch die Multiplikationszahl f2 (1200) für das Nockenflankensignal geteilt
wird.
-
Die
Multiplikationszahl f2 für
das Nockenflankensignal wird, wie durch die Gleichung beschrieben,
erhalten, indem der erste Winkel, die Multiplikationszahl f1 für das Kurbelsignal
und der zweite Winkel verwendet werden. Aus diesem Grund kann als
Multiplikationszahl f2 für
das Nockenflankensignal ein mit den Parametern, wie beispielsweise
dem ersten Winkel, der Multiplikationszahl f1 und dem zweiten Winkel, übereinstimmender
Wert verwendet werden.
-
Die
ECU 1 ist dazu ausgelegt, zu verhindern, dass das Eingangswahlmodul 41 das
Nockenflankensignal an die Module 43, 45, 47 und 49 gibt,
wenn eine aktive Flanke unmittelbar vor einem Änderungspunkt Q und irregulär bezüglich der Änderungspunkte
P in dem Nockenflankensignal erscheint (JA in Schritt S600). Hierdurch
kann selbst dann verhindert werden, dass der Zählbetrieb des Flankenintervallmessmoduls 43 unterbrochen
wird, wenn eine einem irregulären Änderungspunkt
Q entsprechende aktive Flanke in dem Nockenflankensignal erscheint.
-
Es
wird beispielsweise angenommen, dass der Zählbetrieb des Flankenintervallmessmoduls 43 bei Erscheinen
einer einem Änderungspunkt
Q in dem Nockenflankensignal entsprechenden aktiven Flanke unterbrochen
wird.
-
Unter
dieser Annahme kann ein Multiplikationstakt, dessen Taktzeit während eines
Zeitintervalls zwischen einem Änderungspunkt
P und einem Änderungspunkt
Q kürzer
als eine normale Taktzeit von diesem während zeitlich benachbarten Änderungspunkten
P ist, auf der Grundlage des Zeitintervalls (Zählwert) des unterbrochenen
Moduls 43 erzeugt werden, bevor sich jede der Nockenwellen
CM1 und CM2 um den zweiten Winkel dreht.
-
Dies
kann dazu führen,
dass der Zählwert
des Winkelzählers 49c falsch
an die Drehposition der Kurbelwelle CS angepasst ist, was die Erzeugung
von Ereignissen an geeigneten Zeitpunkt erschwert; diese Ereignisse
bestimmten die Aktivierungszeitpunkte für die einzelnen mit der Motorsteuerung
verknüpften
Steuerziele.
-
Folglich
verhindert die ECU 1 bei der Ausführungsform selbst dann, wenn
eine einem irregulären Änderungspunkt
Q entsprechende aktive Flanke in dem Nockenflankensignal erscheint,
dass der Zählbetrieb
des Flankenintervallmessmoduls 43 unterbrochen wird. Hierdurch
kann vermieden werden, dass ein Multiplikationstakt erzeugt wird,
dessen Taktzeit während
eines Zeitintervalls zwischen einem Änderungspunkt P und einem Änderungspunkt
Q kürzer
als dessen normale Taktzeit während
zeitlich benachbarten Änderungspunkten P
ausgelegt ist, so dass fortlaufend Ereignisse an geeigneten individuellen
Zeitpunkten erzeugt werden können.