-
Die
Erfindung bezieht sich auf eine elektronische Steuervorrichtung
zum Steuern eines Steuerobjektes durch periodisches Starten individueller
Programme.
-
Herkömmliche
elektronische Steuervorrichtungen, die ein Steuerobjekt (zum Beispiel
einen Motor) steuern, führen
eine Steuerverarbeitung für
das Steuerobjekt aus, indem verschiedene Verarbeitungen (zum Beispiel
eine Berechnungsverarbeitung und eine Aktuatoransteuerverarbeitung)
zu jedem festgelegten Zeitpunkt ausgeführt werden, die mit dem Betrieb
des Steuerobjektes synchronisiert sind (zum Beispiel einem Zeitpunkt,
der mit einer Kurbelwellendrehung eines internen Verbrennungsmotors synchronisiert
ist). Insbesondere umfasst ein Steuerprogramm zum Steuern des Steuerobjektes
eine Vielzahl von individuellen Programmen, die basierend auf den
Inhalten einer Steuerverarbeitung aufgeteilt sind. Die Vorrichtung
beginnt die Ausführung der
individuellen Verarbeitungsprogramme zu vorbestimmten Zeitpunkten,
die auf einem Startverarbeitungsprogramm basieren, das Zeitpunkte
zum Abrufen der individuellen Verarbeitungsprogramme (das heißt, Starten
der Ausführung
der individuellen Verarbeitungsprogramme) steuert.
-
Manche
der elektronischen Steuervorrichtungen sind so aufgebaut, dass sie
in verschiedenen Betriebsmodi, zusätzlich zu einem normalen Modus zum
normalen Steuern der Ansteuerung des Steuerobjektes, betriebsfähig sind.
Solche verschiedene Modi umfassen einen Kontrollmodus zur Kontrolle
eines Ausfalls in den elektronischen Bauteilen und Verdrahtungsstrukturen
der elektronischen Steuervorrichtung, einen Umschreibmodus zum Umschreiben von
Programmen der elektronischen Steuervorrichtung, und dergleichen.
-
Bei
diesen speziellen Modi, die anders als der normale Modus sind, ist
es nicht notwendig, alle der individuellen Verarbeitungsprogramme
abzurufen, die bei dem normalen Modus verwendet werden. Die elektronische
Steuervorrichtung bewirkt, dass nicht erforderliche Vorgänge durchgeführt werden, wenn
sie die Verarbeitung basierend auf allen der individuellen Verarbeitungsprogramme
(das heißt,
alle der individuellen Verarbeitungsprogramme, die bei dem normalen
Modus notwendig sind) in der gleichen Weise wie bei dem normalen
Modus ausführt.
-
Die
herkömmliche
Vorrichtung ist daher so aufgebaut, bei der Verarbeitung jedes individuellen Verarbeitungsprogramms
unverzüglich
nach dem Starten dessen Betriebs zu prüfen, ob der gegenwärtige Betriebsmodus
der normale Modus ist. Die Vorrichtung führt die normale Verarbeitung
aus, wenn das Prüfergebnis
den normalen Modus angibt. Jedoch verhindert die Vorrichtung das
Ausführen
einer nachfolgenden Verarbeitung, das obige Problem zu umgehen,
wenn das Prüfergebnis
den speziellen Modus angibt. Zum Beispiel ist eine Einspritzdüsenansteuerverarbeitung
zum Ansteuern einer Kraftstoffeinspritzdüse, die in einem internen Verbrennungsmotor
bereitgestellt ist, wie in 6 gezeigt,
als eines der individuellen Verarbeitungsprogramme programmiert.
Wie in 6 gezeigt, überprüft die Vorrichtung zunächst in
Schritt S500 den Betriebsmodus zu diesem Zeitpunkt (gegenwärtiger Zeitpunkt),
bei dem die Einspritzdüsenansteuerverarbeitung
zu einem vorbestimmten Zeitpunkt gestartet wird. Wenn es der normale
Modus ist (S500: ja), führt
die Vorrichtung in Schritt S150 die Verarbeitung zum Ansteuern der Einspritzdüse (den
Betrieb, einen Ansteuerstrom der Einspritzdüse zuzuführen) aus. Wenn es nicht der normale
Modus ist (S500: nein), beendet die Vorrichtung die Einspritzdüsenansteuerverarbeitung,
ohne die nachfolgende Verarbeitung (in diesem Fall die Verarbeitung
in S150) auszuführen.
-
Gemäß der obigen
Anordnung wird jedoch das Ausführen
der individuellen Verarbeitungsprogramme unabhängig von dem Betriebsmodus
der elektronischen Steuervorrichtung zu den entsprechenden Zeitpunkten
ausgeführt.
Anschließend
prüft die
elektronische Steuervorrichtung bei jedem Ausführen des individuellen Verarbeitungsprogramms den
Betriebsmodus, auch wenn sie sich in dem normalen Modus befindet.
Daher wird die Effizienz einer Steuerverarbeitung für das Steuerobjekt
vermindert.
-
Die
Patentschrift US-A-5 479 338 offenbart eine programmierbare Steuervorrichtung
und ein Verfahren für
Bewässerungssysteme,
die mindestens ein austauschbares Steuermodul zum Aktivieren und
Betreiben einer Vielzahl von Bewässerungsdüsen umfasst,
das mit einer internen Verdrahtung der programmierbaren Steuerung
gekoppelt ist. Eine Gehäuseeinheit
ist für
das Steuermodul und die interne Verdrahtung der programmierbaren
Steuerung bereitgestellt, um einen Wasserschaden und unerlaubte
Temperierung zu verhindern. Das austauschbare Steuermodul ist mit
der internen Verdrahtung der Steuerung gekoppelt, um Variationen
bei programmierbaren Bewässerungssequenzen
für individuelle
Bewässerungsstationen
bereitzustellen. Zusätzlich
umfasst das Steuermodul mehrere Programmiertasten und -schalter,
um eine Interaktion zwischen der elektronischen Programmierung und
manuellen Programmiereigenschaften bereitzustellen, um einfachere
Programmieroptionen für
die Bewässerungssteuerung
bereitzustellen. Darüber
hinaus erlaubt die unabhängige
Funktion des austauschbaren Steuermoduls, dass das Steuermodul von
einem entfernten Standort der Bewässerungssteuerung programmiert
werden kann. Ein manueller Betriebsmodus ist bereitgestellt, um
wahlweise zuvor eingegebene Programmiersequenzen für individuelle
Bewässerungsstationen
zu beeinflussen oder zu deaktivieren, ohne die Programmiersequenzen
anderer Bewässerungsstationen
zu stören.
Es ist ebenfalls ein Hauptventil enthalten, das wahlweise auf einer programmierbaren
Basis für
individuelle Bewässerungsstationen
aktiviert werden kann. Auf der Außenseite der Gehäuseeinheit
der programmierbaren Steuerung ist eine externe Fehlwertanzeige
ausgebildet, die eine visuelle Anzeige bei fehlerhaften Bewässerungsstationen
bereitstellt. Des Weiteren stellt ein Sender/Empfänger der
programmierbaren Steuerung eine funkfähige Programmierung vor Ort
für die fehlerhaften
Bewässerungsstationen
des Bewässerungssystems
bereit.
-
Die
Patentschrift US-A-4 363 097 offenbart ein Verfahren einer elektronischen
Steuerung des Betriebes eines internen Verbrennungsmotors, dem ein
Steuersystem bereitgestellt ist, das Sensoren zum Erfassen von Betriebszuständen des
Motors, eine Recheneinheit zum rechnerischen Bestimmen von Steuergrößen zum
Steuern des Motors durch das digitale Verarbeiten von durch die
Sensoren erzeugten Ausgabesignale, eine Speichereinrichtung, um
darin Programme und Daten zum Durchführen der Rechenoperationen
zu speichern, und eine Steuereinrichtung zum Steuern des Motors
auf Basis der Ergebnisse der Rechenoperationen umfasst. Inhalte der
Rechenoperationen werden in eine Anzahl von Anwendungen in Abhängigkeit
von den durchzuführenden
Steuerfunktionen aufgeteilt. In einem ersten Schritt wird die Indikation
einer Aktivierungsanfrage für
eine bestimmte der Anwendungen durch das Ausführen einer anderen Anwendung
eingestellt. In einem zweiten Schritt wird die Indikation einer
Aktivierungsanfrage durch das Ausführen der Anwendung selbst eingestellt.
In einem dritten Schritt wird die Einstellung der Aktivierungsanfrageindikatoren
für die individuellen
Anwendungen gesucht, und in einem vierten Schritt werden die Anwendungen,
für die
die Aktivierungsanfragen abgerufen werden, auf Basis der Erzeugung
von den abgerufenen Aktivierungsanfragen ausgeführt.
-
Eine
Zielsetzung der Erfindung ist, die Effizienz einer Verarbeitung
in einer elektronischen Steuervorrichtung für ein Steuerobjekt zu verbessern.
-
Diese
Aufgabe wird durch eine elektronische Steuervorrichtung gemäß Anspruch
1 erreicht.
-
Gemäß der Erfindung
wird eine elektronische Steuervorrichtung so aufgebaut, ihren Betriebsmodus,
das heißt
einen normalen Modus oder einen anderen Modus, zu prüfen, bevor
jedes individuelle Verarbeitungsprogramm zum Ausführen des
Programms abgerufen wird. Ein Abrufen des individuellen Verarbeitungsprogramms,
das für
einen bestimmten der Betriebsmodi nicht erforderlich ist, wird verhindert.
Daher ist es nicht erforderlich, die Modusprüfung bei jedem Ausführen der
individuellen Verarbeitungsprogramme durchzuführen. Daher kann die Steuerverarbeitung
für das
Steuerobjekt effizient ausgeführt
werden.
-
Die
obigen und weitere Aufgaben, Merkmale und Vorteile der Erfindung
werden anhand der folgenden detaillierten Beschreibung ersichtlicher,
die auf die anhängende
Zeichnung Bezug nimmt. In der Zeichnung:
-
1 ist
ein Blockdiagramm, das eine elektronische Steuervorrichtung gemäß einem
Ausführungsbeispiel
der Erfindung zeigt;
-
2 ist
ein Flussdiagramm, das eine Zeit-synchronisierte
Startsteuerverarbeitung zeigt, die bei dem Ausführungsbeispiel ausgeführt wird;
-
3A und 3B sind
Funktionsdiagramme, die funktionsgemäß ein Steuerprogramm zeigen, das
eine Vielzahl individueller Verarbeitungsprogramme umfasst, die
bei dem Ausführungsbeispiel ausgeführt werden;
-
4A und 4B sind
Diagramme, die Datentabellen zeigen, die Korrespondenzen zwischen
Maskendaten, Verarbeitungsstartzeitpunkten und Programmteilen von
jedem Betriebsmodus definieren, die bei Anwendung der Zeit-synchronisierten Startsteuerung
bei dem Ausführungsbeispiel
verwendet werden;
-
5 ist
ein Flussdiagramm, das eine Einspritzdüsenansteuerverarbeitung zeigt,
die als ein individuelles Verarbeitungsprogramm bei dem Ausführungsbeispiel
ausgeführt
wird; und
-
6 ist
ein Flussdiagramm, das eine Einspritzdüsenansteuerverarbeitung zeigt,
die als ein individuelles Verarbeitungsprogramm in einer herkömmlichen
Vorrichtung ausgeführt
wird.
-
Die
Erfindung wird ausführlich
unter Bezugnahme eines Ausführungsbeispiels
beschrieben, bei welchem eine elektronische Steuervorrichtung (ECU) 2 so
ausgebildet ist, einen (nicht gezeigten) internen Verbrennungsmotor
zu steuern, wie in 1 gezeigt wird.
-
Die
ECU 2 besitzt einen Eingangsschaltkreis 8, eine
CPU 11, einen Taktgeber 11, einen Ausgabeschaltkreis 12,
ein Flash-ROM 14, einen nichtflüchtigen ROM 16, einen
flüchtigen
RAM 18 und einen Kommunikationsschaltkreis 20.
Der Eingangsschaltkreis 8 dient zum Empfangen von Signalen
von verschiedenen Sensoren, wie etwa einem Kurbelwinkelsensor 22,
der Signale ausgibt, die die Motorbetriebsbedingungen angeben. Die
CPU 10 dient zum Berechnen eines optimalen Steuerumfangs
des Motors, basierend auf den durch den Eingangsschaltkreis 8 erhaltenen
Signalen, und zum Ausgeben von Steuersignalen, basierend auf den
Berechnungsergebnissen. Der Taktgeber 11 dient zum Einprägen von
Taktsignalen einer fest eingestellten Frequenz in die CPU 10.
Der Ausgabeschaltkreis 12 dient zum Ansteuern verschiedener
Aktuatoren, wie etwa einer Einspritzdüse 24, die als Folge
auf das Steuersignal der CPU 10 Treibstoff in den Motor
einspritzt. Der Flash-ROM 14 dient zum Speichern eines
Steuerprogramms und von Steuerdaten, die für die CPU 10 erforderlich
sind, den Motor zu steuern. Der flüchtige RAM 18 dient zum
temporären
Speichern der Rechenergebnisse der CPU 10. Der Kommunikationsschaltkreis 20 dient zum
Ausführen
von Kommunikation zwischen der ECU 2 und externen Bauteilen, wie
etwa einem Speicherumschreibbauteil zum Umschreiben des Speicherinhalts
des Flash-ROMs 14 von Außen und einem Kontrollbauteil.
-
Der
Flash-ROM 14 ist ein nichtflüchtiger Speicher, der dazu
fähig ist,
Daten elektrisch zu löschen
und umzuschreiben, und Prüfinformationen
zu speichern, wie nachfolgend beschrieben wird. Es wird darin ein
Startprogramm zum periodischen Starten einer Verarbeitung des Steuerprogramms
zu einem festgelegten Zeitpunkt als ein Teil des Motorsteuerprogramms
gespeichert. Der ROM 16 ist nicht fähig, Daten umzuschreiben. Er
speichert ein Programm zum Hochfahren und Daten der ECU 2.
-
Die
CPU 10 führt
eine Verarbeitung basierend auf dem Programm zum Hochfahren aus,
wenn die wie oben beschrieben gestaltete ECU 2 mit elektrischer
Betriebsenergie versorgt wird. Mit der elektrischen Energieversorgung
wird ein auf dem Verarbeitungsbetrieb des ECU 2 basierenden
Betriebssystem betriebsbereit, und jeder Teil der ECU 2 wird
betriebsbereit. Mit einer zusätzlichen
Funktion des Betriebssystems misst die CPU 10 eine Zeit
durch Zählen
der Taktsignale des Taktgebers 11, und startet eine Zeit-synchronisierte
Startsteuerverarbeitung, wie in 2 gezeigt,
zu jeder vorbestimmten Zeitperiode (alle 1 ms).
-
Die
Zeit-synchronisierte Startsteuerverarbeitung ist eine Verarbeitung,
die die CPU 10 ausführt, bevor
andere individuelle Verarbeitungsprogramme ausgeführt werden.
Insbesondere ist es die Verarbeitung, die Programmteile periodisch
als mit der Zeit synchronisierte individuelle Verarbeitungsprogramme
startet, das heißt,
mit den Signalen von dem Taktgeber 11 synchronisiert. Diese
Verarbeitung wird funktionell als eine Zeit- synchronisierte Startsteuerung (Verarbeitungsstartprogramm) 10A,
wie in 3A gezeigt, dargestellt.
-
Wie
in den 3A und 3B gezeigt,
wird die Steuerung für
den Motor durch eine Verarbeitung realisiert, die Programmteile
A, B, C und dergleichen, die so ausgebildet sind, die Zeit-synchronisierte
Verarbeitung auszuführen,
und Programmteile α, β, γ und dergleichen,
die so ausgebildet sind, eine mit der Drehung der Kurbelwelle des
Motors synchronisierte Verarbeitung auszuführen, umfasst. In der ECU 2 sind
die Programmteile nicht ausschließlich zum Steuern des Motors
ausgebildet. Die Programmteile umfassen Programmteile, die nur bei
einem normalen Modus zum Steuern des Motors erforderlich sind, Programmteile,
die nur bei einem speziellen Betriebsmodus, wie etwa einem Kontrollmodus
und einem Umschreibmodus, der anders ist als der normale Modus erforderlich
sind, und Programmteile, die für
jegliche Betriebsmodi, die zum Ausführen einer Verarbeitung von
Schreiben von Steuerdaten in den RAM 18 zu jeder vorbestimmten
Zeitperiode erforderlich sind.
-
Die
Programmteile, wie etwa die Programmteile A, B, C und dergleichen
zum Ausführen
der Zeit-synchronisierten Verarbeitung, werden als Folge auf Verarbeitungsstartbefehle
der Zeit-synchronisierten Startsteuerung 10A abgerufen.
Die Programmteile, wie etwa die Programmteile α, β, γ und dergleichen zum Ausführen der
Kurbel-synchronisierten Verarbeitung, werden als Folge auf Verarbeitungsbefehle
der Kurbel-synchronisierten
Startsteuerung 10B abgerufen. Die Zeit-synchronisierte Startsteuerung 10A und
die Kurbel-synchronisierte
Startsteuerung 10B entsprechen einem Startprogramm. Die Zeit-synchronisierte
Startsteuerung 10A wird alle 1 ms betrieben, und die Kurbel-synchronisierte Steuerung 10B wird
bei jeder vorbestimmten Winkeldrehung (7,5° CA bei dem Ausführungsbeispiel)
der Kurbelwelle betrieben.
-
Unter
Bezugnahme auf 2, wenn die Zeit-synchronisierte Startsteuerverarbeitung
startet, wird ein Zählwert
CNT in Schritt S10 um eins inkrementell erhöht. Dieser Zählwert CNT
ist eine im RAM 18 definierte Variable, um die Anzahl der
Starts der Zeit-synchronisierten
Startsteuerverarbeitung zu zählen,
nachdem die ECU 2 mit elektrischer Energie versorgt wurde.
Er wird jedes Mal, wenn die ECU 2 mit elektrischer Energie
versorgt wird, zurückgesetzt (auf
Null gestellt). Das Zählen
startet wieder bei 0 wenn eine obere Schwelle erreicht wird, da
die Bitlänge
des Zählwertes
CNT beschränkt
ist.
-
In
Schritt S20 nach Schritt S10 wird geprüft, in welchem Betriebsmodus
sich die ECU 2 gegenwärtig
befindet. Wenn das Modusprüfergebnis
angibt, dass der Betriebsmodus der ECU 2 der normale Modus
ist, werden Maskendaten für
den normalen Modus, wie in 4A gezeigt,
in Schritt S30 abgerufen. Diese Maskendaten umfassen Informationen darüber, ob
es für
den normalen Modus mit Bezug auf jeden der Programmteile erforderlich
oder nicht erforderlich ist, die selben Verarbeitungsstartzeitpunkte
zu besitzen. Diese Maskendaten sind als eine Bitstruktur von 8 Bits
aufgebaut, wovon jedes entsprechend für das erforderliche und das
nicht erforderliche auf 0 oder 1 gesetzt wird.
-
Insbesondere
sind sie so definiert, wie in 4B gezeigt
wird, dass die Programmteile A, B, C und dergleichen, in Synchronisation
mit der Zeit abgerufen werden, so eingestellt werden, dass sie eine der Startperioden
besitzen, die 1 ms, 2 ms, 4 ms, 8 ms, 64 ms und 128 ms sind. Jede
dieser Startperioden ist ein ganzzahliges Vielfaches der Verarbeitungsstartperiode
der Zeit-synchronisierten Startsteuerung 10A, insbesondere
ein Vielfaches von 2n, wobei n eine ganze
Zahl ist. Eine Vielzahl von Programmteilen wird mit den entsprechenden
Startzeitpunkten belegt. 4B bezeichnet
eine Informationstabelle, die eine Beziehung zwischen den Startperioden
und den Programmteilen definiert. Die Ausgabe des Startbefehls wird
basierend auf dieser Informationstabelle durchgeführt.
-
Die
Maskendaten für
den normalen Modus definieren, ob jeder Programmteil im normalen
Modus unter Beachtung von jedem Verarbeitungsstartzeitpunkt erforderlich
(0) oder nicht erforderlich (1) ist. Zum Beispiel ist das siebte
Bit (bit7) der Maskendaten die Information die definiert, ob die
Programmteile, deren Startzeitpunkt 1 ms ist (Programmteil A, etc.
in 4B), die erforderlichen oder die nicht erforderlichen
im normalen Modus sind. Das sechste Bit (bit6) ist die Information
die definiert, ob die Programmteile, deren Startzeitpunkt 2 ms ist
(Programmteil B, etc. in 4B), die
erforderlichen oder die nicht erforderlichen im normalen Modus sind.
Auf die gleiche Weise entsprechen das fünfte Bit (bit5), das vierte
Bit (bit4), das dritte Bit (bit3), das zweite Bit (bit2) und das
erste Bit (bit1) den Verarbeitungsstartzeitpunkten 4 ms, 8 ms, 16
ms, 64 ms und 128 ms.
-
Die
ECU 2 ist so aufgebaut, um in anderen Betriebsmodi, wie
etwa dem Kontrollmodus, dem Umschreibmodus oder dergleichen als
der spezielle Betriebsmodus, der anders als der normale Modus ist,
betriebsfähig
ist. Der Kontrollmodus ist ein Betriebsmodus zum Kontrollieren der Hardware,
die die ECU 2 bildet. Zum Beispiel kontrolliert er, ob
eine elektrische Leitungsstruktur kurzgeschlossen ist, oder ob elektronische
Bauteile, wie etwa Transistoren, normal arbeiten. Der Umschreibmodus
ist ein Betriebsmodus zum Umschreiben des im Flash-ROM 14 gespeicherten
Steuerprogramms über
den Kommunikationsschaltkreis 20 durch einen externen Vorgang.
Es werden ebenfalls Maskendaten für jeden der Betriebsmodi, die
anders sind als der normale Modus, in dem selben Format bereitgestellt,
wie der des normalen Modus.
-
Das
bedeutet, dass die Maskendaten für
den Kontrollmodus Informationen umfassen die definieren, ob sie
unter Bezugnahme auf jeden der Startzeitpunkte (1 ms bis 128 ms)
erforderlich (0) oder nicht erforderlich (1) sind. Die Maskendaten
für den
Umschreibmodus umfassen Informationen die definieren, ob sie unter
Bezugnahme auf jeden der Startzeitpunkte (1 ms bis 128 ms) erforderlich
(0) oder nicht erforderlich (1) sind. Diese Maskendaten für den Kontrollmodus
und den Umschreibmodus entsprechen den Prüfinformationen. Wenn das Prüfergebnis der
Modusprüfverarbeitung
in Schritt S20 den Kontrollmodus angibt, werden die Maskendaten
für den Kontrollmodus
in Schritt S40 abgerufen. Wenn das Prüfergebnis den Umschreibmodus
angibt, werden die Maskendaten für
den Umschreibmodus in Schritt S50 abgerufen. Die Maskendaten (Maskendaten
für den
normalen Modus, den Kontrollmodus und den Umschreibmodus) sind im
Flash-ROM 14 gespeichert, worin die Prüfinformationen gespeichert
werden. Der Flash-ROM 14 ist dazu fähig, diese Daten von Außen durch
den Kommunikationsschaltkreis 20 umzuschreiben.
-
Nach
der Modusprüfung
in S20 und dem Abrufen der Maskendaten in Übereinstimmung mit dem Prüfergebnis
jedem der Schritte S30 bis S50 wird in Schritt S60 geprüft, ob das
Bit für
1 ms (das ist das siebte Bit bit7) 1 ist oder nicht. Hier bezeichnet
das Bit für „XX" ms jenes Bit, das
dem Startzeitpunkt alle XX ms entspricht.
-
Wenn
das Bit für
1 ms 1 ist (S60: ja), wird bestimmt, dass die Verarbeitung der Programmteile (Programmteile
A etc.), deren Startzeitpunkt alle 1 ms ist, nicht gestartet wird,
und daher mit Schritt S80 fortgefahren wird. Wenn das Bit für 1 ms nicht
1 ist (S60: nein), wird ein 1 ms Startbefehl in Schritt S70 ausgegeben,
und anschließend
Schritt S80 ausgeführt.
Hier bezeichnet der XX ms Startbefehl das Ausführen jenes Programmteils, dessen
Startzeitpunkt alle XX ms ist.
-
Im
nachfolgenden Schritt S80 wird durch Prüfen, ob der Zählwert CNT
ein Vielfaches von 2 ist geprüft,
ob es der Startzeitpunkt alle 2 ms ist. Weil die Zeit-synchronisierte Startsteuerverarbeitung
alle 1 ms ausgelöst
wird, wird der Startzeitpunkt zu alle 2 ms, wenn die Steuerverarbeitung
zweimal ausgelöst wird.
-
Wenn
der Zählwert
CNT ein Vielfaches von 2 ist (S80: ja), wird in Schritt S90 geprüft, ob das
Bit für 2
ms 1 ist. Wenn das Bit für
2 ms nicht 1 ist (S90: nein), wird ein 2 ms Startbefehl in Schritt
S100 ausgegeben, und anschließend
damit fortgefahren, die (nicht gezeigte) Prüfung zu verarbeiten, ob der
Startzeitpunkt alle 4 ms ist.
-
Wenn
der Zählwert
CNT kein Vielfaches von 2 ist (S80: nein), oder das Bit für 2 ms 1
ist (S90: ja), fährt
die Verarbeitung damit fort, ein Prüfen zu Verarbeiten, ob der
Startzeitpunkt alle 4 ms ist, ohne den 2 ms Startbefehl auszugeben.
-
Auf
die gleiche Weise wird im Folgenden geprüft, ob der gegenwärtige Startzeitpunkt
der vorbestimmte Startzeitpunkt (4 ms bis 64 ms) ist. Wenn das Prüfergebnis
angibt, dass es der vorbestimmte Startzeitpunkt ist, und das dem
Startzeitpunkt entsprechende Bit nicht 1 ist, werden die Programmteile
dieses Startzeitpunkts ausgeführt.
Jedoch wird die Verarbeitung der Programmteile dieses Startzeitpunkts verhindert,
auch wenn es der vorbestimmte Startzeitpunkt ist, wenn das dem Startzeitpunkt
entsprechende Bit 1 ist.
-
In
Schritt S110 wird geprüft,
ob der Zählwert CNT
ein Vielfaches von 128 ist, wodurch geprüft wird, ob der Startzeitpunkt
alle 128 ms ist. Wenn das Prüfergebnis
angibt, dass der Zählwert
CNT ein Vielfaches von 128 ist (S110: ja), wird weiterhin in Schritt S120
geprüft,
ob das Bit für
128 ms 1 ist. Wenn das Bit für
128 ms nicht 1 ist (S120: nein), wird ein 128 ms Startbefehl in
Schritt S130 ausgegeben, wodurch die Zeit-synchronisierte Startsteuerverarbeitung
endet.
-
Wenn
andererseits der Zählwert
CNT kein Vielfaches von 128 ist (S110: nein), oder das Bit für 128 ms
1 ist (S120: ja), wird der 128 ms Startbefehl nicht ausgegeben,
wodurch die Zeit-synchronisierte Startsteuerverarbeitung endet.
-
Wie
zuvor beschrieben bestimmt die Zeit-synchronisierte Startsteuerverarbeitung,
die durch die Zeit-synchronisierte
Startsteuerung 10A ausgeführt wird, die Startzeitpunkte
durch Frequenzteilung seiner eigenen Startperiode von 1 ms als eine Basis-
oder Einheitsperiode. Das heißt,
dass sie den Startzeitpunkt von 2 ms durch Teilen der Basisperiode
um 1/2 und den Startzeitpunkt von 4 ms durch Teilen der Basisperiode
um 1/4 bestimmt. Auf die gleiche Weise werden die Startzeitpunkte
von festen Perioden (8 ms, 16 ms, 32 ms, 64 ms und 128 ms) durch Teilen
der Basisperiode um feste Verhältnisse
(1/8, 1/16, 1/32, 1/64 und 1/128) entsprechend bestimmt.
-
Darüber hinaus
wird die Modusprüfung
vor Ausgabe des Verarbeitungsstartbefehls zu jedem Startzeitpunkt,
das heißt
bei allen Startzeitpunkten, durchgeführt. Wenn der Betriebsmodus
ein anderer als der normale Modus ist, wird das Abfragen der Programmteile,
die für
diesen Betriebsmodus nicht erforderlich sind, verhindert. Daher
dienen die Schritte S60, S90 und S120 zum Verhindern der Ausgabe des
Verarbeitungsstartbefehls.
-
Die
ECU 2 gemäß dem Ausführungsbeispiel führt ebenfalls
die (nicht gezeigte) Kurbel-synchronisierte Startsteuerverarbeitung
durch die Kurbel-synchronisierte Steuerung 10B zusätzlich zu
der Verarbeitung durch die Zeit-synchronisierte Startsteuerung 10A aus.
Der Kurbelwinkelsensor 22 erzeugt die Signale (Kurbelwinkelsignale),
die mit der Rotation der Kurbelwelle des Motors synchronisiert sind,
und die CPU 10 berechnet durch ihre zusätzliche Funktion des Betriebssystems
den Rotationswinkel der Kurbelwelle basierend auf dem Kurbelwinkelsignal.
-
Ein
Interruptsignal wird bei jeder vorbestimmten Kurbelwinkelrotation
(7,5° CA)
erzeugt. Die Kurbel-synchronisierte
Startsteuerverarbeitung durch die Kurbel-synchronisierte Steuerung 10B verwendet
die Periode der Erzeugung des Interruptsignals als ihre Basis- oder
Einheitsperiode, und stellt die Startzeitpunkte durch Frequenzteilung
der Basisperiode durch entsprechende vorbestimmte Verhältnisse
auf zum Beispiel alle 7,5° CA,
15° CA,
30° CA und
dergleichen. Sie startet nur die Verarbeitung von Programmteilen,
die dem auf den (nicht gezeigten) Maskendaten für den normalen Modus, den Kontrollmodus
und dem Umschreibmodus basierenden gegenwärtigen Betriebsmodus entsprechen.
Das heißt, dass
die Verarbeitung durch die Kurbel-synchronisierte Steuerung 10B in
Synchronisation mit dem Betrieb des Motors, der das Steuerobjekt
ist, gestartet wird. Daher werden die vorbestimmten Programmteile
periodisch in Synchronisation mit dem Motorbetrieb abgerufen.
-
Als
eines der individuellen Verarbeitungen, die die CPU 10 ausführt, wird
eine Einspritzdüsenansteuerungsverarbeitung
in 5 gezeigt. Wie zuvor beschrieben führt die
ECU 2 (CPU 10), genauer gesagt die Startsteuerung,
die Modusprüfung
zum Abrufen nur der Programmteile aus, die bestimmt wurden, für den Betriebsmodus
erforderlich zu sein. Daher ist es nicht erforderlich, den Modus
während
der Verarbeitung der Programmteile zu prüfen. Wie bei dem Beispiel der
Einspritzdüsenansteuerverarbeitung
wird nur die Verarbeitung der Ansteuerung der Einspritzdüse (Versorgung
mit Ansteuerstrom) in Schritt S200, direkt nachdem diese Verarbeitung
gestartet wird, ausgeführt.
Daher ist es nur erforderlich, die Verarbeitung auszuführen, die
praktisch erforderlich ist, ohne andere Verarbeitungen, wie etwa
die Modusprüfung,
auszuführen.
-
Gemäß der ECU 2 des
wie zuvor aufgebauten Ausführungsbeispiels,
wird die Modusprüfung durchgeführt, bevor
jeder Programmteil abgerufen wird, auch wenn sie der Verarbeitungsstartzeitpunkt wird.
Das Abrufen von Programmteilen, die dazu bestimmt sind, für den Betriebsmodus
(normaler Modus, Kontrollmodus oder Umschreibmodus) nicht erforderlich
zu sein, wird verhindert (S60, S90, S120, etc.). Daher ist es nicht
erforderlich, eine Modusprüfung
während
der Verarbeitung jedes Programmteils durchzuführen, und daher kann die Steuerverarbeitung
für das
Steuerobjekt effizient ausgeführt
werden.
-
Darüber hinaus
wird die Verarbeitungseffizienz im speziellen Betriebsmodus, der
anders ist als der normale Modus, erhöht, weil das individuelle Verarbeitungsprogramm,
das für
den speziellen Betriebsmodus nicht erforderlich ist, nicht abgerufen wird.
Das heißt,
dass wenn eine andere Verarbeitung während der Ausführung eines
Programms abgerufen werden, die Ausführung der gegenwärtig ausgeführten Verarbeitungen
temporär
unterbrochen wird, und die unterbrochene Ausführung nach Beendigung der Ausführung der
anderen Verarbeitung neu gestartet wird. Normalerweise ist es notwendig,
die internen Bedingungen der CPU 10 (das heißt, Werte eines
Programmzählers
oder verschiedener Register) zu speichern, die unmittelbar vor der
Unterbrechung im Stack-Bereich des RAMs 18 existieren.
Jedoch ist gemäß dem Ausführungsbeispiel
eine solche temporäre
Unterbrechung der Verarbeitung nicht notwendig, und das Verarbeitungsvolumen
kann reduziert werden, weil das individuelle Verarbeitungsprogramm,
das für
den speziellen Betriebsmodus nicht erforderlich ist, nicht abgerufen
wird.
-
Des
Weiteren können
die Programmteile, die für
jeden speziellen Betriebsmodus (normaler Modus, Kontrollmodus, Umschreibmodus)
nicht erforderlich sind, basierend auf den Maskendaten (4A)
jedes Betriebsmodus bestimmt werden. Als Folge, auch wenn die Programmteile,
die für
den Kontrollmodus oder den Umschreibmodus nicht erforderlich wären, aufgrund
von Anforderungsänderungen
zu erforderlichen werden, ist es nur erforderlich, den Inhalt der
Maskendaten zu Umschreiben. Diese Änderung kann einfach implementiert
werden, auch wenn die Programme in andere Typen kopiert werden.
-
Des
Weiteren kann die Einstellung, nachdem die ECU 2 in den
Markt eingeführt
wird, einfach geändert
werden, da die Maskendaten auf dem Flash-ROM 14 gespeichert
sind, der ein elektronisch umschreibbarer nichtflüchtiger
Speichertyp ist.
-
Darüber hinaus
werden die Programmteile in die erforderlichen und die nicht erforderlichen
für den Kontrollmodus
und den Umschreibmodus unter Bezugnahme auf dem selben Startzeitpunkt
aufgeteilt (das heißt,
durch Gruppieren der Programmteile basierend auf den Startzeitpunkten
unter Beachtung der Programmteile in jeder Gruppe als eine Einheit). Daher
werden die Maskendaten so aufgebaut, ein Prüfen der Programmteile, die
für jeden
Modus (normaler Modus, Kontrollmodus und Umschreibmodus) nicht erforderlich
sind basierend auf den Startzeitpunkten zu ermöglichen. Der Modus wird vor
dem Ausgeben des Startbefehls geprüft, und die Maskendaten beziehen
sich basierend auf dem Zeitpunkt der Modusprüfung und des bestimmten Modus,
so dass die Programmteile, die für
den Betriebsmodus nicht erforderlich sind, bestimmt werden können.
-
Das
heißt,
dass nicht nacheinander geprüft wird,
ob der Programmteil für
den Betriebsmodus erforderlich oder nicht erforderlich ist. Vielmehr
wird geprüft,
ob der Programmteil für
den Betriebsmodus, mit Bezugnahme auf alle Programmteile, die basierend
auf dem für
jeden Programmteil vorbestimmten Startzeitpunkt den selben Startzeitpunkt
haben, erforderlich oder nicht erforderlich ist. Hierfür kann die Prüfverarbeitung
schnell und effizient ausgeführt werden
und die Effizienz der Verarbeitung der ECU 2 erhöht werden.
-
Darüber hinaus
werden die Maskendaten, die das selbe Datenformat haben, wie die
Maskendaten für
den Kontrollmodus oder den Umschreibmodus (das heißt, für den speziellen
Betriebsmodus, der anders als der normale Modus ist), ebenso für den normalen
Modus bereitgestellt, so dass ein Abrufen der für den normalen Modus nicht
erforderlichen Programmteile verhindert wird. Als Folge können die Programmteile,
die für
den normalen Modus nicht erforderlich wären, in erforderliche geändert werden, und
nicht erforderliche in erforderliche aufgrund von Anforderungsänderungen
geändert
werden.
-
Die
Erfindung wurde, wie zuvor gezeigt, unter Bezugnahme auf ein Ausführungsbeispiel
beschrieben. Jedoch ist die Erfindung nicht auf das obige Ausführungsbeispiel
beschränkt,
sondern kann auf verschiedene Arten implementiert werden. Zum Beispiel
ist der spezielle Modus, der anders ist als der normale Modus, auf
den im Ausführungsbeispiel
Bezug genommen wurde, nicht einschränkend. Des Weiteren kann die
elektronische Steuervorrichtung angepasst werden, andere Objekte
als den Motor zu Steuern, so lange ein Steuerobjekt durch Starten
individueller Steuerprogramme (Programmteile) durch ein Verarbeitungsstartprogramm
(Startsteuerung) gesteuert wird.
-
Eine
elektronische Steuervorrichtung (2) für ein Steuerobjekt führt eine
Modusprüfung
(S20) sogar zu einem vorbestimmten Startzeitpunkt durch, bevor jeder
Programmteil abgerufen wird, und verhindert ein Abrufen von Programmteilen,
die für
den Betriebsmodus, der einen normalen Modus, einen Kontrollmodus
und einen Umschreibmodus (S60, S90, S120) umfasst, nicht erforderlich
sind. Da es nicht erforderlich ist, den Modus bei der Verarbeitung jedes
Programmteils zu prüfen,
kann die Steuerverarbeitung für
das Steuerobjekt in jedem Modus effizient ausgeführt werden. Da die Programmteile,
die für den
festgelegten Betriebsmodus nicht erforderlich sind, nicht im festgelegten
Modus abgerufen werden, wird die Verarbeitungseffizienz erhöht.