DE3033526A1 - Elektronisches steuerverfahren fuer brennkraftmaschinen - Google Patents
Elektronisches steuerverfahren fuer brennkraftmaschinenInfo
- Publication number
- DE3033526A1 DE3033526A1 DE19803033526 DE3033526A DE3033526A1 DE 3033526 A1 DE3033526 A1 DE 3033526A1 DE 19803033526 DE19803033526 DE 19803033526 DE 3033526 A DE3033526 A DE 3033526A DE 3033526 A1 DE3033526 A1 DE 3033526A1
- Authority
- DE
- Germany
- Prior art keywords
- task
- level
- start request
- tasks
- internal combustion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
- F02D41/263—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the program execution being modifiable by physical parameters
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02P—IGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
- F02P5/00—Advancing or retarding ignition; Control therefor
- F02P5/04—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
- F02P5/145—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
- F02P5/15—Digital data processing
- F02P5/1502—Digital data processing using one central computing unit
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Control By Computers (AREA)
Description
Elektronisches Steuerverfahren für Brennkraftmaschinen
Die Erfindung bezieht sich auf ein elektronisches Steuerverfahren für Brennkraftmaschinen.
Seit einiger Zeit wird für die Steuerung einer Brennkraftmaschine ein Mikrocomputer eingesetzt. Der Mikrocomputer
wird hauptsächlich dazu verwendet, die der Brennkraftmaschine
zugeführte Kraftstoffmenge und den Zündzeitpunkt
für die Zündung des zugeführten Gemischs rechnerisch zu bestimmen. Die Kraftstoffzufuhr und die Zündung des zugeführten
Gemischs erfolgen synchron mit der Rotation der Motorwelle. Daher wird, wenn der Motor mit hoher Drehzahl
läuft, der zeitliche Abstand zwischen der Kraftstoffzufuhr
und dem Zündzeitpunkt kürzer, und es ist schwierig, sämtliche Rechenvorgänge zur Bestimmung der zuzuführenden
Kraftstoffmenge und des Zündzeitpunkts durchzuführen.
Unter Hochdrehzahl-Bedingungen muß also die Anzahl Rechenvorgänge des Computers vermindert werden. Zu diesem Zweck
wird das Programm zum arithmetischen Bestimmen der Kraftstoffmenge und des Zündzeitpunkts in eine Mehrzahl Tasks
klassifiziert, und diese Tasks werden in eine Mehrzhal Prioritätsebenen entsprechend ihrem Einfluß auf den Motorbetrieb
klassifiziert. Wenn der Kraftstoffzuruhr-Zeitpunkt
und der Zündzeitpunkt entsprechend der höheren Drehzahl des
130016/0655
Motors kürzer werden, werden von dem Computer nur die Tasks mit höherer Prioritätsebene durchgeführt, und die
Resultate der niedrigeren Ebenen, die bereits berechnet wurden, werden wiederholt verwendet, urn eine Berechnung
dieser Tasks mit niedrigerer Prioritätsebene auszuschließen.
In einem solchen Programmsystem umfaßt das Programm zur Bestimmung der Kraftstoffmenge oder des Zündzeitpunkts
viele Tasks, deren jeder eine mit anderen Tasks in Beziehung stehende Prioritätsebene hat. Da ein solches
Programm sehr komplex ist, ist es schwierig, verschiedene Steuerfunktionen entweder zu korrigieren, zu ändern
oder hinzuzufügen.
Aufgabe der Erfindung ist die Schaffung eines elektronischen Steuerverfahrens für eine Brennkraftmaschine, wobei
eine Korrektur, Änderung oder ein Hinzufügen verschiedener Steuerfunktionen für die Brennkraftmaschine in einfacher
Weise möglich ist.
Das Programm zur Steuerung der Brennkraftmaschine umfaßt
eine Mehrzahl Tasks, deren jeder eine Startzeit zum wiederholten Starten der Durchführung des Tasks hat. Zusätzlich
hat jeder Task eine entsprechende Prioritätsebene. Bei der Erfindung umfaßt ein Speicher einen Tasksteuerblock,
der Kennzeichenbereiche zum Setzen von Startanforderungskennzeichen
und Kennzeichenbereiche zum Setzen von Ablaufkennzeichen umfaßt. Das Startanforderungskennzeichen eines
Tasks wird entsprechend dem Ablauf der Startperiode des Tasks gesetzt. Das Ablaufkennzeichen wird entsprechend dem
S'tart der Durchführung des Tasks gesetzt und wird nach Maßgabe der Beendigung der Durchführung des Tasks rückgesetzt.
Der zu startende Task wird durch die Bedingungen des Startanforderungskennzeichens und des Ablaufkennzeichens
bestimmt.
130010/0655
3Q33I2S
Durch die Erfindung wird also ein Verfahren zur elektronischen Steuerung einer Brennkraftmaschine auf der Basis
von Ergebnissen arithmetischer Operationen digitaler Steuergrößen, die von erfaßten Betriebszuständen der
Brennkraftmaschine durch digitale Verarbeitungsvorgänge
abgeleitet sind, angegeben. Die digitalen Verarbeitungsvorgänge sind in eine Anzahl Tasks unterteilt, und zwar
in Abhängigkeit der durchzuführenden Steuerfunktionen. Zusätzlich
sind diese Tasks in eine Mehrzahl Prioritätsebenen unterteilt. Ein Speicher mit einem Tasksteuerblock
umfaßt Ablaufkennzeichen-Bereiche, die auf die Prioritätsebenen
ansprechen, und Startanforderungskennzeichen-Bereiche,
die auf die Tasks ansprechen, wobei die Startanforderungskennzeichen-Bereiche
nach Maßgabe der Prioriätsebenen klassifiziert sind, so daß es einfach ist, Tasks zu korrigieren,
zu ändern oder hinzuzufügen.
Ein Befehl zum Start der Durchführung eines Tasks wird immer nach Maßgabe des Setzzustands der Ablaufkennzeichen
und der Startanforderungskennzeichen gesteuert.
Bei diesem System wird der Start der Task-Durchführung
nicht durch die Änderung, Korrektur oder das Hinzufügen eines anderen Tasks geändert. Ferner ist es möglich, ohne
Änderungen der Prioritätsebene oder der Startperiode eines anderen Tasks einen neuen Task hinzuzufügen oder herauszunehmen
.
Anhand der Zeichnung wird die Erfindung beispielsweise näher erläutert. Es zeigen:
Fig. 1 eine Ansicht einer Steuereinrichtung
für das gesamte Brennkraftmschinen-System;
Fig. 2 eine Ansicht der Zündvorrichtung nach Fig. 1; Fig. 3 eine Ansicht eines Abgasrückführsystems;
130U1S/065S
Fig. ^ eine Gesamtübersicht eines Motor-Steuersystems
;
Fig. 5 ein Diagramm, das die Grundanordnung eines Programmsystems für das Steuerverfahren
nach der Erfindung zeigt;
Fig. 6 eine Tabelle von Tasksteuerblöcken, die
in einem von einem Task-Zuteiler gesteuerten Direktzugriffsspeicher enthalten
sind;
Fig. 7 eine Startadressen-Tabelle für eine Gruppe von Tasks, die von verschiedenen Unterbrechungen
gestartet werden; Diagramme, die einen Verarbeitungsablauf des Task-Zuteilers zeigen;
den Verarbeitungsablauf eines Makroverarbeitungsprogramms;
ein Diagramm, das ein Beispiel für eine Task-Prioritätssteuerung zeigt;
ein Diagramm, das die Zustandsübergänge von Tasks bei der Task-Prioritätssteuerung
zeigt;
ein Diagramm, das ein konkretes Ausführungsbeispiel von Fig. 5 zeigt;
eine in dem Direktzugriffsspeicher enthaltene weiche Taktgebertabelle;
einen Verarbeitungsablauf eines INTV-Unterbrechungs-Verarbeitungsprogramms;
eine Impulsübersicht, die eine Situation zeigt, in der die Starts und Stopps verschiedener
Tasks in Abhängigkeit von den Betriebszuständen des Motors durchgeführt werden;
Fig. 17 ein Diagramm einer Unterbrechungs-Erzeugerschaltung;
130016/0ΘΒΒ
Fig. | 8 |
und | 9 |
Fig. | 10 |
Fig. | 11 |
Fig. | 12 |
Fig. | 13 |
Fig . | 1* |
Fig. | 15 |
Fig . | 16 |
Fig . | 18 |
Fig. | 19 |
Fig. | 20 |
ein Ablaufdiagramm des IN3-Programms; ein Ablaufdiagramm des IGNCAL-Programms;
ein Ablaufdiagramm, das Einzelheiten eines ISC-Programms verdeutlicht; und
Fig. 21 ein Ablaufdiagramm, das Einzelheiten eines
EGR-CAL-Programms verdeutlicht.
Fig. 1 zeigt die Steuereinrichtung für die Brennkraftmaschine.
Saugluft wird einem Zylinder 8 durch ein Luftfilter 2, einen Drosselklappenraum A- und eine Saugleitung
6 zugeführt. Im Zylinder 8 verbranntes Gas gelangt aus dem Zylinder 8 durch ein Auspuffrohr 10 zur Atmosphäre.
Der Drosselklappenraum A- weist eine Einspritzdüse 12
für die Kraftstoffeinspritzung auf. Der aus der Einspritzdüse
12 austretende Kraftstoff wird in einem Luftkanal des Drosselklappenraums A- zerstäubt und mit der Saugluft
vermischt zur Bildung eines Luft-Kraftstoff-Gemischs. Dieses
Gemisch gelangt durch die Saugleitung 6 und wird einem Brennraum des Zylinders 8 beim Öffnen eines Saugventils
zugeführt.
Drosselklappen IA- und 16 sind nahe dem Auslaß der Einspritzdüse
12 angeordnet. Die Drosselklappe IA- ist so ausgebildet,
daß sie mechanisch mit einem Gaspedal verriegelt ist,und wird von dem Fahrer eines Fahrzeugs verstellt.
Die Drosselklappe 16 ist so angeordnet, daß sie von einer Membran 18 verstellt wird. Sie wird vollständig geschlossen,
wenn der Luftdurchsatz niedrig ist. Mit zunehmendem Luftdurchsatz
erhöht sich ein die Membran 18 beaufschlagender Unterdruck, so daß sie die Drosselklappe 16 zu öffnen beginnt,
um eine Erhöhung des Saugwiderstands zu unterdrücken.
130016/0655
Vor den Drosselklappen 14 und 16 des Drosselklappenraums
4 ist ein Luftkanal 22 vorgesehen. Ein elektrisches Heizelement 22, das ein thermischer Luftdurchsatzmesser
ist, ist im Luftkanal 22 angeordnet und erzeugt ein elektrisches Signal, das sich entsprechend der Luftströmungsgeschwindigkeit
ändert, die auf der Grundlage der Beziehung zwischen der Luftströmungsgeschwindigkeit
und der vom Heizelement übertragenen Wärmemenge bestimmt wird. Da das Heizelement 24 in dem Luftkanal 22
angeordnet ist, ist es vor dem Hochtemperaturgas geschützt, das bei einer Fehlzündung im Zylinder 8 erzeugt
wird, und es ist ferner vor einer Verschmutzung durch in der Saugluft enthaltenen Staub u. dgl. geschützt.
Der Auslaß des Luftkanals 22 öffnet sich nahe dem engsten Abschnitt eines Venturi-Abschnitts, und der Luftkanal-Einlaß
ist zur stromaufwärts gerichteten Seite des Venturiabschnitts offen.
Der der Einspritzdüse 12 zuzuführende Kraftstoff wird von einem Kraftstofftank 30 zu einem Kraftstoffdruckregler
38 über eine Kraftstoffpumpe 32, ein Dämpfungsorgan 34 und
ein Filter 36 zugeführt. Der unter Druck stehende Kraftstoff wird der Einspritzdüse 12 aus dem Kraftstoffdruckregler
38 durch eine Leitung 40 zugeführt. Der Kraftstoff wird aus dem Kraftstoffdruckregler 38 zum Kraftstofftank
30 durch eine Rücklauf leitung 42 rückgeführt, so daß die Differenz zwischen dem Druck der Saugleitung 6, in die
der Kraftstoff aus der Einspritzdüse 12 eingespritzt wird, und dem Druck des Kraftstoffs der Einspritzdüse 12
jederzeit gleichbleibend ist.
Das vom Saugventil 20 angesaugte Gemisch wird von einem Kolben 50 verdichtet und durch einen von einer Zündkerze
52 ausgehenden Zündfunken zur Verbrennung gebracht, und die Verbrennung wird in kinetische Energie umgesetzt. Der
130016/OSBB
- ίο - 3Q33S26
Zylinder 8 wird mit Kühlwasser 54 gekühlt, dessen Temperatur von einem Temperaturfühler 56 erfaßt wird; der
Meßwert wird als Motortemperatur genutzt. Der Zündkerze 52 wird eine Hochspannung von einer Zündspule 58 entsprechend
dem Zündzettpunkt zugeführt.
Eine Kurbelwelle (nicht gezeigt) weist einen Kurbelwinkelfühler
auf, der ein Bezugswinkelsignal und ein Lagesignal für jeden Bezugs-Kurbelwinkel und jeden unveränderlichen
Winkel (z. B. von 0,5°) entsprechend der Rotation der Brennkraftmaschine erzeugt.
Die Ausgangssignale des Kurbelwinkelfühlers, das Ausgangssignal
56A des Wasser-Temperaturfühlers 56 und das
elektrische Signal des Heizelements 24 werden einer Steuerschaltung 64 zugeführt, die aus einem Mikrocomputer
etc. gebildet ist, und werden in der Steuerschaltung verarbeitet. Die Einspritzdüse 12 und die Zündspule 58
werden durch Ausgangssignale der Steuerschaltung 64 betätigt.
Bei dem auf der Grundlage dieses erläuterten Aufbaus gesteuerten Brennkraftmaschine weist der Drosselklappenraum
4 eine Teillastbohrung 26 auf, die quer zu der Drosselklappe 16 verläuft und mit der Saugleitung 6 verbunden
ist. Die Teillastbohrung 26 umfaßt ein Teillastventil 62, das so einstellbar ist, daß es sich öffnet oder
schließt. Die Einstellung zum Öffnen oder Schließen des Teillastventils 62 erfolgt so, daß ein Antriebsteil desselben
mit einem Verstelleingangssignal von der Steuerschaltung 64 beaufschlagt wird.
Das Teillastventil 62 ist der um die Drosselklappe 16 angeordneten Teillastbohrung 26 zugewandt und wird von
einem Impulsstrom so gesteuert, daß es sich öffnet oder schließt. Das Teillastventil 62 verändert den Querschnitts-
13001 S/
bereich der Teillastbohrung 26 durch die Größe seines Hubs. Die Hubgröße wird so gesteuert, daß ein Antriebssystem
von einem Ausgangssignal der Steuerschaltung 64 getrieben wird. D. h., die Steuerschaltung 64 erzeugt
ein Öffnungs- und Schließdauer-Signal zum Steuern des Antriebssystems, und auf der Grundlage dieses Signals
beaufschlagt das Antriebssystem den Antriebsteil des Teillastventils 62 mit dem Steuersignal zum Einstellen
der Hubgröße des Teillastventils 62.
Fig. 2 erläutert die Zündvorrichtung nach Fig. 1. Ein Impulsstrom wird einem Leistungstransistor 72 durch einen
Verstärker 68 zugeführt, und durch diesen Strom wird der Transistor 72 eingeschaltet. Somit fließt durch die
Zündspule 58 von einer Batterie 66 ein Primärzündstrom. Der Transistor 72 wird durch den Abfall dieses Impulsstroms
in den Sperrzustand gebracht, so daß eine hohe Spannung an einer Sekundärwicklung der Zündspule 58
erzeugt wird.
Die hohe Spannung wird durch einen Zündverteiler 70 auf die in den jeweiligen Zylindern der Brennkraftmaschine
angeordneten Zündkerzen 52 synchron mit der Rotation der Brennkraftmaschine verteilt.
Fig. 3 erläutert ein Abgasrückführsystem (im folgenden
mit EGR-System bezeichnet) Ein unveränderlicher Unterdruck einer Unterdruckversorgung 80 wird an ein Stellventil
86 durch ein Druckregelventil 84 angelegt gehalten. Das Druckregelventil 84 bestimmt den Zustand
des an das Stellventil 86 angelegten Unterdrucks durch Einstellen des Anteils des zur Atmosphäre 88 abgegebenen
unveränderlichen Unterdrucks der Unterdruckversorgung nach Maßgabe des EIN-Tastverhältnisses von an einen Transistor
90 angelegten wiederkehrenden Impulsen. Infolge-
130016/0655
dessen wird der an das Stellventil 86 anzulegende Unterdruck durch das EIN-Tastverhältnis des Transistors 90
bestimmt. Die EGR-Menge aus der Abgasleitung 10 zur
Saugleitung 6 wird durch den geregelten Unterdruck
des Druckregelventils 84 bestimmt.
bestimmt. Die EGR-Menge aus der Abgasleitung 10 zur
Saugleitung 6 wird durch den geregelten Unterdruck
des Druckregelventils 84 bestimmt.
Fig. 4 zeigt den allgemeinen Aufbau des Steuersystems. Das Steuersystem umfaßt eine Zentraleinheit (kurz: ZE)
102, einen Festspeicher 104 (kurz: ROM), einen Direktzugriffsspeicher
106 (kurz: RAM) und eine Ein-Ausgabe-Steuerung 108 (kurz: E/A-Steuerung). Die ZE 102 verarbeitet
Eingabedaten von der E/A-Steuerung 108 und
liefert die verarbeiteten Resultate zurück zur E/ASteuerung 108 nach Maßgabe verschiedener Programme, die in dem ROM 104 gespeichert sind. Für die Zwischenspeicherung, die für diese Operationen erforderlich ist, wird der RAM 106 benutzt. Der Austausch verschiedener Daten zwischen der ZE 102, dem ROM 104, dem RAM 106 und der
E/A-Steuerung 108 erfolgt über eine Busleitung 110, die einen Datenbus, einen Steuerbus und einen Adressenbus
umfaßt.
liefert die verarbeiteten Resultate zurück zur E/ASteuerung 108 nach Maßgabe verschiedener Programme, die in dem ROM 104 gespeichert sind. Für die Zwischenspeicherung, die für diese Operationen erforderlich ist, wird der RAM 106 benutzt. Der Austausch verschiedener Daten zwischen der ZE 102, dem ROM 104, dem RAM 106 und der
E/A-Steuerung 108 erfolgt über eine Busleitung 110, die einen Datenbus, einen Steuerbus und einen Adressenbus
umfaßt.
Die E/A-Steuerung 108 umfaßt als Eingangseinheiten einen ersten Analog-Digital-Umsetzer ADUl, einen zweiten
Analog-Digital-Umsetzer ADU2, eine Winkelsignal-Verarbeitungsstufe 126 und eine Einzel-E/A-Stufe DIO zum
Empfang und zur Abgabe von 1-Bit-Information.
Analog-Digital-Umsetzer ADU2, eine Winkelsignal-Verarbeitungsstufe 126 und eine Einzel-E/A-Stufe DIO zum
Empfang und zur Abgabe von 1-Bit-Information.
In dem ADUl werden Ausgangssignale eines Batteriespannungsfühlers 132 (kurz: VBS 132), des Kühlwassertemperaturfühlers
56 (kurz: TWS 56), eines Atmosphärentemperaturfühlers 112 (kurz: TAS 112), eines Stellspannungserzeugers
114 (kurz: VRS 114), eines Drosselklappenwinkelfühlers 116 (kurz: OTHs 116) und eines 'X-Fühlers 118 (kurz: T-S 118)
1 30 0 16/06S5
einem Multiplexer 120 (kurz: MPX 120) zugeführt, und eines dieser Ausgangssignale wird ausgewählt und einem
Analog-Digital-Umsetzer 122 (kurz: ADU 122) von dem MPX 120 zugeführt. Ein Digitalwert, der ein Ausgangssignal
des ADU 122 ist, wird in einem Register 124 (kurz: REG 124) gehalten.
Ein Winkelfühler 146 (kurz: ANGS 146) erzeugt ein Signal,
das einen Bezugs-Kurbelwinkel, z. B. einen Bezugs-Kurbelwinkel von 180° (kurz: REF) bezeichnet, und ein
Signal, das einen kleinen Winkel, z. B. einen Kurbelwinkel von 1° (kurz: POS) bezeichnet. Die Signale werden
einer Winkelsignal-Verarbeitungsstufe 126 zugeführt und dort geformt.
Die Stufe DIO empfängt Ausgangssignale eines Leerlaufschalters 148 (kurz: IDLE-SW 148), eines Schnellgangschalters
150 (kurz: TOP-SW 150) und eines Starterschalters 152 (kurz: START-SW 152).
Nachstehend werden Impulsausgangsstufen und gesteuerte
Systeme erläutert, die auf den Verarbeitungsergebnissen der ZE basieren. Ein Einspritzdüsen-Steuerglied (kurz:
INOC) setzt den Digitalwert des Verarbeitungsergebnisses
in einen Impulsausgang um. Infolgedessen wird von dem IN3C 134 ein Impuls mit einer Dauer entsprechend der
Kraftstoffeinspritzmenge durch ein UND-Glied 136 an die
Einspritzdüse 12 geführt.
Ein Zündimpuls-Erzeugerglied 138 (kurz: IGNC) umfaßt ein Register ADV, in dem der Zündzeitpunkt eingestellt wird,
und ein Register DWL, in dem die Primärstromführungs-Startzeit
der Zündspule eingestellt wird. Diese Daten werden von der ZE gesetzt. Impulse werden auf der Basis
der gesetzten Daten erzeugt und durch ein UND-Glied dem Verstärker 68 (vgl. Fig. 2) zugeführt.
130016/06SB
Der Ventilöffnungsgrad des Teillastventils 62 wird von
Impulsen bestimmt, die an das Ventil von einem Steuerglied 142 (kurz: ISCC 142) durch ein UND-Glied 144 angelegt
werden. Das ISCC 142 weist ein Register ISCD auf, das eine Impulsdauer setzt, und ein Register ISCP,
das eine Impulswiederholungsdauer setzt.
Ein EGR-Menge-Steuerimpulserzeuger 154 (kurz: EGRC 154),
der den Transistor 90 für die Steuerung des EGR-Stellventils
86 (vgl. Fig. 3) ansteuert, umfaßt ein Register EGRD, in dem ein das Impulstastverhältnis bezeichnender
Wert gesetzt wird, und ein Register EGRP, in dem ein die Wiederholungsperiode der Impulse bezeichnender Wert
gesetzt wird. Die Ausgangsimpulse des EGRC werden über ein UND-Glied 156 an den Transistor 90 angelegt.
1-Bit-Ein-Ausgabesignale werden von der Stufe DIO gesteuert,
Eingangssignale sind das IDLE-SW-Signal, das
TOP-SW-Signal und das START-SW-Signal. Als Ausgangssignal
wird ein Ausgangsimpuls erzeugt, der die Kraftstoffpumpe ansteuert. Die DIO-Stufe weist ein Register
DDR auf, das bestimmt, ob Anschlüsse als Ein- oder als Ausgangsanschlüsse zu verwenden sind, sowie ein
Register DOUT zum Halten von Ausgangsdaten.
Ein Register 160 (kurz: MOD 160) hält Befehle für verschie· dene Zustände innerhalb der E/A-Steuerung 108. Z. B.
werden durch Setzen eines Befehls in diesem Register sämtliche UND-Glieder 136, 140, 144 und 156 geöffnet oder
gesperrt. Durch Setzen von Befehlen in dieser Weise in dem Register MOD 160 können die Stopp- und Start-Zeiten
der Ausgänge des INCIC und des IGNC oder ISCC gesteuert werden.
130D1S/0655
Nach Fig. 5 sind ein Startverarbeitungsprogramm 202, ein Unterbrechungsverarbeitungsprogramm 206, ein
Makroverarbeitungsprogramm 228 und ein Task-Zuteiler
208 Organisationsprogramme für den Ablauf einer Gruppe von Tasks. Das Startverarbeitungsprogramm 202 ist ein
Programm für den Ablauf von Vorverarbeitungsschritteri
für die Betätigung eines Mikrocomputers. Z. B. bewirkt
es ein Rücksetzen des Speicherinhalts des RAM 106 und setzt die Startwerte der Register und der E/A-Schnittstelle 108.
Ferner bewirkt es den Ablauf von Verarbeitungsschritten zum Einlesen von Eingabeinformation für die Durchführung
von Vorverarbeitungsvorgängen, die für die Motorsteuerung
erforderlich sind, z. B. der Daten der Kühlwassertemperatur T , der Batteriespannung etc. Das Unterbrechungsverarbeitungsprogramm
206 nimmt verschiedene Unterbrechungen an, analysiert die Unterbrechungsfaktoren
und gibt an den Task-Zuteiler 208 eine Startanforderung
zum Starten eines benötigten Tasks der Gruppe von Tasks 210-226. Wie noch erläutert wird, umfassen die Unterbrechungsfaktoren
eine Analog-Digital-Umsetzungs-Unterbrechung (ADC-Unterbrechung), die die Eingangsinformation
für die Speisespannung, die Kühlwassertemperatur etc. nach Beendigung der Analog-Digital-Umsetzungen erzeugt,
eine Anfangsunterbrechung (INTL), die synchron mit der Rotation der Brennkraftmaschine erzeugt wird, eine
Intervall-Unterbrechung (INTV), die zu jedem voreingestellten
gleichbleibenden Zeitpunkt erzeugt wird, z. B. alle 10 ms, eine Motor Stillstands-Unterbrechung (ENST),
die bei Erfassen des Stillstands des Motors erzeugt wird, etc.
Den jeweiligen Tasks in der Gruppe von Tasks 210-226 sind Task-Nummern entsprechend Prioritätsebenen zugeteilt,und
sie gehören jeweils zu einer der Task-Ebenen "0" bis "2".
130018/0δΒδ
D. h., die Tasks 0-2 gehören zu der Task-Ebene "0", die Tasks 3-5 gehören zu der Task-Ebene "1", und die
Tasks 6-8 gehören zu der Task-Ebene "2".
Der Task-Zuteiler 208 empfängt die Startanforderungen
der verschiedenen Unterbrechungen und teilt die Belegungszeiten der ZE auf der Basis der den verschiedenen
Tasks gegebenen Prioritätsebenen entsprechend diesen Startanforderungen zu.
Dabei entspricht die Prioritätssteuerung der Tasks durch
den Task-Zuteiler 208 dem folgenden Verfahren: 1) Übertragung des Ablaufrechts an einen Task mit höherer
Prioritätsebene durch Unterbrechen eines Tasks mit niedrigerer
Prioritätsebene erfolgt nur auf den jeweiligen Task-Ebenen. Dabei hat die Ebene "0" den höchsten Prioritätsgrad. 2) Wenn innerhalb einer identischen Task-Ebene
gerade ein Task abläuft oder unterbrochen ist, hat dieser Task den höchsten Prioritätsgrad, und vor seiner Beendigung
kann kein anderer Task ablaufen. 3) Wenn innerhalb einer identischen Task-Ebene Startanforderungen für mehrere
Tasks vorliegen, hat eine niedrigere Task-Nummer einen höheren Prioritätsgrad. Die Verarbeitungsinhalte des
Task-Zuteilers 208 werden zwar erst später erläutert; die Erfindung ist jedoch so aufgebaut, daß die angegebene
Prioritätssteuerung so erfolgt, daß in dem RAM 106 weiche Taktgeber task-weise vorgesehen sind, während
Taststeuerblöcke in dem RAM taskebenen-weise gesetzt sind. Wenn der Ablauf jedes Tasks eintritt, wird das Ablaufende
dieses bestimmten Tasks durch das Makroverarbeitungsprogramm 228 dem Task-Zuteiler 208 mitgeteilt.
Unter Bezugnahme auf die Fig. 6-12 werden nunmehr die Verarbeitungsinhalte
des Task-Zuteilers 208 erläutert. Fig. 6 zeigt die Tasksteuerblöcke, die in dem RAM vorgesehen sind
130016/0855
und die von dem Task-Zuteiler 208 geführt werden. Die
Tasksteuerblöcke sind in derselben Anzahl wie die Task-Ebenen vorgesehen, in diesem Fall drei entsprechend
den Task-Ebenen "0" bis "2" des Ausführungsbeispiels. Jedem Steuerblock sind acht Bits zugeordnet. Davon sind
Bits 0-2 (Q0-Q2) Startbits, die einen Startanforderungstask
bezeichnen, und Bit 7 (R) ist ein Ablaufbit, das anzeigt, wenn irgendein Task innerhalb derselben
Task-Ebene momentan abläuft oder unterbrochen ist. Die Startbits Qq-Q2 sind in der Sequenz angeordnet, in der
der Ablaufprioritätsgrad in der entsprechenden Task-Ebene
höher ist. Z. B. ist das Startbit für Task Nr. 4 in Fig. 5 QQ der Task-Ebene "1". Wenn die Startanforderungen
für die Task erfolgt sind, werden in jedem der Startbits Kennzeichen gesetzt. Andererseits ruft der
Task-Zuteiler 208 die ausgegebenen Startanforderungen
nacheinander von dem dem Task mit höherer Ebene entsprechenden Startbit ab, setzt die Kennzeichen entsprechend
den ausgegebenen Startanforderungen rück, und setzt Kennzeichen "1" an den Ablaufbits und führt Verarbeitungen
zum Starten des bestimmten Tasks aus.
Fig. 7 zeigt eine Startadreßtabelle, die in dem RAM enthalten ist, der von dem Task-Zuteiler geführt wird.
Die Startadressen SAO bis SA8 entsprechen den jeweiligen Tasks 0 bis 8 in der Gruppe von Tasks 210-226 von Fig. 5,
Geder Startadreßinformation sind 16 Bits zugeordnet.
Wie noch erläutert wird, werden diese Startadreßinformationen dazu genutzt, die Tasks zu starten, für die
Startanforderungen vom Task-Zuteiler 208 vorliegen.
Die Fig. 8 und 9 zeigen einen Verarbeitungsablauf des Task-Zuteilers. Wenn in Fig. 8 der Verarbeitungsfluß des
Task-Zuteilers in Schritt 300 gestartet wurde, wird in Schritt 302 bestimmt, ob die Ausführung eines Tasks, der
zu einer Task-Ebene Z gehört, unterbrochen ist. D. h.,
130018/08BB
das Setzen der "1" in dem Ablaufbit bezeichnet einen Zustand, bei dem der Task-Ende-Bericht noch nicht von
dem Makroverarbeitungsprogramm 228 an den Task-Zuteiler 208 gegeben wurde und bei dem der im Ablauf begriffene
Task unterbrochen ist aufgrund des Auftretens einer Unterbrechung mit höherer Prioritätsebene. Wenn somit
das Kennzeichen "1" am Ablaufbit gesetzt ist, springt der Ablauf zu einem Schritt 314, um den unterbrochenen
Task erneut zu starten.
Wenn dagegen das Kennzeichen "1" am Ablaufbit nicht gesetzt ist, d. h. wenn das Ablaufkennzeichen rückgesetzt
ist, geht der Ablauf zu einem Schritt 304, um zu
entscheiden, ob auf der Ebene X ein Start-Wartetask vorhanden ist. D. h., die Startbits der Ebene Jt werden
in der Sequenz der höheren Ablaufprioritätsgrade der
jeweiligen Tasks, nämlich in der Folge Q0, Q, und Q2,
abgerufen. Wenn an den zur Task-Ebene Jt gehörenden Startbits das Kennzeichen "1" nicht gesetzt ist, geht
das Programm zu einem Schritt 306, um die Task-Ebene zu erneuern. D. h., die Task-Ebene Jt wird um +1 auf
{*£ + 1) erhöht. Wenn in Schritt 306 die Erneuerung der
Task-Ebene durchgeführt ist, geht der Ablauf zu Schritt 308, um zu entscheiden, ob sämtliche Task-Ebenen geprüft
worden sind. Wenn nicht sämtliche Task-Ebenen geprüft sind, d. h, wenn X = 2 nicht gilt, kehrt das
Programm zu Schritt 302 zurück, und die Verarbeitungsvorgänge werden in gleicher Weise wie vorher ausgeführt.
Wenn in Schritt 308 sämtliche Task-Ebenen geprüft sind, geht das Programm zu Schritt 310 und gibt die Unterbrechung
frei. Die Unterbrechungs-Freigabe erfolgt in diesem Schritt, weil die Unterbrechung während der Verarbeitungsdauer der Schritte 302-308 blockiert ist. Im folgenden
Schritt 312 gelangt die folgende Unterbrechung in die Warte schlange.
130016/06SB
Wenn in Schritt 30A- auf der Task-Ebene ein Start-Wartetask
vorhanden ist, d. h., wenn das Kennzeichen "1" an dem zur Task-Ebene >£ gehörenden Startbit gesetzt
ist, geht das Programm zu Schritt 4-00. Durch eine Schleife zwischen den Schritten 400 und 402 wird dasjenige
Startbit der Tas-Ebene Λ. , dessen Kennzeichen
"1" gesetzt ist, in der Sequenz aufgerufen, in der die entsprechenden Ausführungs-Prioritätsgrade höher sind,
also in der Sequenz Q„, Q, und Q-. Wenn das entsprechende
Startbit gefunden ist, geht das Programm zu Schritt 404·. In Schritt 4-04 wird das Startbit, dessen
Kennzeichen gesetzt ist, rückgesetzt, und das Kennzeichen"!" wird an dem Ablaufbit (nachstehend R-Bit) der
betreffenden Task-Ebene ^gesetzt. In Schritt 406 wird
die Start-Task-Nummer festgestellt, und in Schritt wird die Startadreßinformation des entsprechenden
Start-Tasks durch Anwendung der Startadreßtabelle im RAM abgerufen (vgl. Fig. 7).
Anschließend wird in Schritt 410 entschieden, ob der entsprechende Start-Task ausgeführt wird. Wenn die
abgerufene Startadreßinformation ein bestimmter Wert,
z. B. Null, ist, wird entschieden, daß der entsprechende Task nicht ausgeführt zu werden braucht. Dieser Entscheidungsschritt
ist erforderlich, um selektiv nur die Funktionen bestimmter Tasks in Abhängigkeit von
dem Kraftfahrzeugtyp unter den Task-Gruppen für die
Steuerung der Brennkraftmaschine zu erhalten. Wenn in Schritt 410 entschieden wird, daß der Ablauf des entsprechenden
Tasks zu stoppen ist, geht das Programm zu Schritt 414, so daß das R-Bit der betreffenden Task-Ebene
-C rückgesetzt wird. Außerdem geht das Programm zu Schritt 302 zurück, und es wird entschieden, ob die
Task-Ebene Z im Unterbrechungszustand ist. Da der Fall
130Ö16/06S5
eintreten kann, daß Kennzeichen an einer Mehrzahl Startbits innerhalb derselben Task-Ebene Λ, gesetzt sind,
geht das Programm zu Schritt 302 nach dem Rücksetzen des R-Bits in Schritt
Wenn dagegen in Schritt 410 der Ablauf des betreffenden Tasks nicht gestoppt, sondern durchgeführt werden soll,
geht das Programm zu Schritt 412 und springt zu dem betreffenden Task über, woraufhin dieser ausgeführt
wird .
Fig. 10 zeigt einen Verarbeitungsablauf des Makroverarbeitungsprogramms
228. Dieses Programm umfaßt Schritte 562 und 564 zum Auffinden des Task-Endes. In den Schritten
562 und 564 werden Task-Ebenen von "0" w^ederaufgefunden,
und die beendete Task-Ebene wird gefunden. Anschließend geht das Programm zu Schritt 568 weiter, in
dem das Ablauf-Kennzeichen (R-Kennzeichen) des siebten Bits des Tasksteuerblocks des beendeten Tasks rückgesetzt
wird. Damit ist der Ablauf des Tasks vollständig beendet. Das Programm geht zum Task-Zuteiler 208 zurück, und der
nächste Ablauf-Task wird bestimmt.
Unter Bezugnahme auf Fig. 11 wird nun das Auftreten des Ablaufs und der Unterbrechung von Tasks in einem Fall
erläutert, in dem die Task-Prioritätssteuerung durch
den Task-Zuteiler 208 erfolgt. Dabei bezeichnet m in der Startanforderunq N die Task-Ebene, und η bezeich-
mn
net die Ebene des Prioritätsgrads in der Task-Ebene m.
Es sei angenommen, daß die ZE ein Organisationsprogramm OS ablaufen läßt. Wenn dann während des Ablaufs des Organisationsprogramms
OS eine Startanforderung N„, aufgetreten
ist, wird zum Zeitpunkt T, der Ablauf eines der Startanforderung N-, oder dem Task 6 entsprechenden
Tasks gestartet. Wenn dabei während des Ablaufs des Tasks
13 0 0 16/0855
eine Startanforderung NQ, für einen Task mit höherer
Ablaufpriorität zu einer Zeit T? auftritt, geht der
Ablauf zum Organisationsprogramm OS, und die vorbestimmten, bereits angegebenen Verarbeitungsschritte werden
ausgeführt, woraufhin der Ablauf des der Startanforderung Nq, entsprechenden Tasks 0 zur Zeit T, gestartet wird.
Wenn während des Ablaufs des Tasks 0 eine Startanforderung N11 zu einer Zeit T. auftritt, geht der Ablauf
einmal zum Organisationsprogramm OS, und die vorbestimmten Verarbeitungsschritte werden durchgeführt, woraufhin
der Ablauf des unterbrochenen Tasks zur Zeit T1. wieder
gestartet wird. Wenn der Ablauf des Tasks 0 zur Zeit T- beendet ist, geht der Ablauf wieder zum Organisations-
programm OS. Hier wird das Ablaufende des Tasks O dem
Task-Zuteiler 208 durch das Makroverarbeitungsprogramm 228 mitgeteilt. Zur Zeit T7 wird der Ablauf des Tasks
entsprechend einer Startanforderung N,,, die in der Warteschlange war, wieder gestartet. Wenn während des
Ablaufs des Tasks 3 eine Startanforderung N,? mit
niedrigerer Prioritätsebene in der gleichen Task-Ebene zur Zeit T0 auftritt, wird der Ablauf des Tasks 3 einmal
unterbrochen. Der Ablauf geht zum Organisationsprogramm
OS, und die vorbestimmten Schritte werden durchgeführt,
woraufhin der Ablauf des Tasks 3 zur Zeit Tg wieder gestartet
wird. Wenn der Ablauf des Tasks 3 zur Zeit T,„ beendet ist, geht der Ablauf der ZE zum Organisationsprogramm OS, und der Task-Zuteiler 208 erhält durch
das Makroverarbeitungsprogramm 228 die Mitteilung vom Ablaufende des Tasks 3. Anschließend wird zu einer Zeit
T,, der Ablauf des Tasks 4 entsprechend einer Startanforderung N", - mit niedrigerem Prioritätsgrad gestartet.
Wenn der Ablauf des Tasks 4- zu der Zeit T,- beendet ist,
geht der Ablauf zum Organisationsprogramm OS zur Durchführung der vorbestimmten Schritte, und anschließend
13001 6/0βδΒ
wird zur Zeit T,.. der Ablauf des Tasks 6, der bis dahin
unterbrochen war und der der
entspricht, wieder gestartet.
entspricht, wieder gestartet.
unterbrochen war und der der Startanforderung N_,
In der vorstehend angegebenen Weise wird die Prioritätssteuerung der Tasks durchgeführt.
Fig. 12 zeigt die Zustandsübergänge bei der Prioritätssteuerung der Tasks. Ein "Ruhe"-Zustand ist der Startwartezustand,
in dem noch keine Startanforderung für einen Task ausgegeben wurde. Wenn anschließend eine
Startanforderung auftritt, wird an dem Startbit des Tasksteuerblocks ein Kennzeichen gesetzt, um anzuzeigen,
daß der Start erforderlich ist. Die Zeitdauern, in denen sich der "Ruhe"-Zustand in einen "Warteschlangen"-Zustand
ändert, werden in Abhängigkeit von den Ebenen der entsprechenden Tasks bestimmt. Die Folgeentscheidung wird
ferner im Warteschlangenzustand getroffen und hängt vom Prioritätsgrad ab. Der betreffende Task gelangt in
den Ablaufzustand , nachdem das Kennzeichen des Startbits
des Tasksteuerblocks durch den Task-Zuteiler 208 im Orgaxnsationsprogramm OS rückgesetzt wurde und das
Kennzeichen am R-Bit (siebten Bit) gesetzt wurde. Damit wird der Ablauf des Tasks ausgelöst. Dieser Zustand
ist ein "Ablauf"-Zustand. Wenn der Ablauf beendet ist, wird das Kennzeichen des R-Bits des Tasksteuerblocks
gelöscht, und der Ende-Bericht wird abgegeben. Dann endet der Ablaufzustand, und der Ruhezustand beginnt
erneut, wobei das Auftreten der nächsten Startanforderung
abgewartet wird. Wenn jedoch während des Ablaufs des Tasks eine Unterbrechung IRQ aufgetreten ist, muß
der Ablauf des betreffenden Tasks unterbrochen werden. Daher wird der Inhalt der ZE überbrückt, und der Ablauf
wird erneut gestartet. D. h., der Bereitschaftszustand
geht wieder in den Ablaufzustand über. Auf diese Weise
1 3 0 0 1 6 / 0 6 £ S
wiederholt das Programm jeder Ebene die vier Zustände von Fig. 12. Fig. 12 zeigt zwar typische Abläufe, es besteht
aber die Möglichkeit, daß ein Kennzeichen am Startbit des Tasksteuerblocks im Bereitschaftszustand
gesetzt wird. Dies entspricht z. B. dem Fall, in dem während der Startunterbrechung ein Startanforderungszeitpunkt
nächst dem bestimmten Task erreicht wird. Zu dieser Zeit erhält das Kennzeichen des R-Bits eine
Priorität, und der unterbrochene Task wird zuerst beendet. Somit verschwindet das Kennzeichen des R-Bits, und
der Warteschlangen-Zustand wird durch das Kennzeichen des Startbits hergestellt, ohne daß der Ruhezustand durchlaufen
wird .
Auf diese Weise befinden sich die Tasks 0-8 in irgendeinem der jeweiligen Zustände nach Fig. 12.
Fig. 13 zeigt ein konkretes Ausführungsbeispiel des Programmsystems
von Fig. 5. Dabei besteht das Organisationsprogramm OS aus dem Anfangsverarbeitungsprogramm 202,
dem Unterbrechungsverarbeitungsprogramm 206, dem Task-Zuteiler 208 und dem Makroverarbeitungsprogramm 228.
Das Unterbrechungsverarbeitungsprogramm 206 umfaßt verschiedene
Unterbrechungsverarbeitungsstufen. Eine Anfangsunterbrechungsstufe
(kurz: INTL-Stufe) 602 ist so ausgelegt, daß Anfangsunterbrechungen für die halbe
Anzahl Zylinder der Brennkraftmaschine (d. h. zweimal
bei vier Zylindern) je Umdrehung der Maschine erfolgen, und zwar mittels Anfangsunterbrechungssignalen, die
synchron mit der Rotation der Maschine erzeugt werden. Durch die Anfangsunterbrechung wird der Einspritzzeitpunkt
von Kraftstoff, der in einem EGI-Task 612 berechnet wird, in das EGI-Register der E/A-Schnittstelle
gesetzt. Eine ADU-Unterbrechungsverarbeitung 604 umfaßt
130016/065*
zwei Arten, nämlich die ADUl-Unterbrechung und die
ADU2-Unterbrechung. Der ADUl hat eine Präzision von acht Bits und wird für die Eingänge der Speisespannung,
der Kühlwassertemperatur, der Sauglufttemperatur, der Betriebseinstellung usw. verwendet. Er beginnt mit der
Umsetzung zur gleichen Zeit, zu der der Eingabepunkt zum MPX 120 festgelegt wird, und erzeugt die ADUl-Unterbrechung
nach Beendigung der Umsetzung. Diese Unterbrechung wird nur vor dem Anlassen verwendet. Der ADU
andererseits wird für die Eingabe des Luftdurchsatzes
verwendet und erzeugt die ADU2-Unterbrechung nach Beendigung der Umsetzung. Diese Unterbrechung wird ebenfalls
nur vor dem Anlassen verwendet.
In einer Intervallunterbrechungs-Verarbeitungsstufe
(kurz: INTV-Stufe) 606 wird für jede im INTV-Register
gesetzte Zeit, z. B. alle 10 ms, ein INTV-Unterbrechungssignal erzeugt und als Basissignal für die Überwachung
der Zeit eines Tasks, der zu einem festgelegten Zeitpunkt zu starten ist, verwendet. Mit diesem Unterbrechungssignal wird der weiche Taktgeber erneuert, und ein die
vorgeschriebene Zeit erreichender Task wird gestartet. Ferner wird in einer Motorstillstands-Unterbrechungsverarbeitungsstufe
(kurz: ENST-Stufe) 608 der Stillstand des Motors erfaßt. Bei Erfassen des INTL-Unterbrechungssignals
wird mit dem Zählen begonnen. Wenn das INTL-Unterbrechungssignal anschließend nicht innerhalb einer
vorgegebenen Zeit, z. B. 1 s, erfaßt wird, erfolgt die ENST-Unterbrechung. Wenn die ENST-Unterbrechungen dreimal
aufgetreten sind, d. h. wenn auch nach Ablauf von z. B. 3 s kein INTL-Unterbrechungssignal erfaßt wurde, wird
entschieden, daß der Motor stillsteht, die Energieversorgung zur Zündspule und der Betrieb der Kraftstoffpumpe
werden abgeschaltet. Nach diesen Verarbeitungsschritten
130016/0658
wird die Steuerung abgewartet, bis der Startschalter 152 eingeschaltet wird. Die Verarbeitungsschritte für
die vorstehend angegebenen Unterbrechungsfaktoren sind
in der Tabelle 1 angegeben.
Verarbeitungsschritte für Unterbrechungsfaktoren
Unterbrechungs faktor |
Verarbeitungs-Ablauf |
INTL | Kraftstoffeinspritzzeitpunkt wird in das EGI-Register gesetzt. |
ADUl | Task ADINl wird gestartet. |
ADU 2 | Task ADIN2 wird gestartet. |
INTV | Die Startperioden der Tasks ADIN2, EGI, MONIT, ADINl, AFSIA und ISC, die zu festgelegten Zeiten zu starten sind, werden geprüft, und die Tasks, die die vorgeschriebenen Perioden erreicht haben, werden gestartet. |
ENST | Die Motorstillstands-Verarbeitungsschritte werden durchgeführt, und die Steuerung wird in den An fangszustand zurückgebracht. |
Bezüglich des Anfangsverarbeitungsprogramms 202 und des
Makroverarbeitungsprogramms 228 werden die bereits angegebenen Verarbeitungsschritte durchgeführt.
Die Gruppen von Tasks, die durch die verschiedenen Unterbrechungen
gestartet werden, sind folgende. Zu der Task-Ebene 0 gehören ein AD2-Eingabetask (kurz: ADIN2-Task) ,
ein Kraftstoffeinspritz-Steuertask (kurz: EGI-Task) und
ein Startüberwachungstask (kurz: MONIT-Task). Zu der Task-
13Ö016/06SS
Ebene 1 gehören ein ADl-Task (kurz: ADINl-Task) und ein
Zeitkoeffizient-Verarbeitungstask (kurz: AFSIA-Task).
Zu der Task-Ebene 2 gehören ein Leerlauf-Steuertask (kurz: ISC-Task), ein Änderungsberechnungs-Task (kurz:
HOSEI-Task) und ein Start-Vorverarbeitungstask (kurz: ISTRT-Task).
Die Zuordnung der verschiedenen Task-Ebenen und die Funktionen der Tasks sind in der Tabelle 2 angegeben.
130016/OSSS
Zuordnung von Task-Ebsnen und Task-Funktionen
στ er*
Ebene | Programm bezeichnung |
Task | Funktionen | Start periode |
O 1 |
OS | Motorrotations-Unterbrechungssteuerung | wenigstens 5 ms | |
O | ADIN 2 | O | andere OS-Verarbeitungsschritte | 10 ms |
1 | EGI | 1 | ADU2-Eingabe, Kalibrierung, Filtern Beschleunigungssteuerung Eingabe Drehzahl, Kalibrierung, Filtern Kraftstoffabschaltung |
20 ms |
2 | MONIT | 3 | Steuerung Kraftstoffeinspritzzeit CO-Einstellung |
40 ms |
ADINl | 4· | Überwachung von Startschalter (AUS) Kraftstoffeinspritzzeit-Steuerung beim Start Start und Stopp des weichen Taktgebers |
50 ms | |
AFSIA | 6 | ADUl-Eingabe, Kalibrierung, Filtern | . 120 ms | |
ISC | 8 | Nachstart-, Nachleerlauf-, Nachbeschleunigungs- Zeitkoeffizienten-Steuerung |
200 ms | |
HOSEI | 9 | Leerlaufdrehzahl-Steuerung | 300 ms | |
ISTRT | 11 | Berechnung Ä'nderungskoeffizient | 30 ms | |
EGI-Anfangswertberechnung Überwachung Startschalter (EIN) Start und Stopp des weichen Taktgebers Kraftstoffpumpe, E/E-LSI-Start |
Wie aus der Tabelle 2 ersichtlich ist, sind die Startperioden
der von den verschiedenen Unterbrechungen auszulösenden Tasks vorher festgelegt. Diese Informationen
werden im ROM 104 gespeichert gehalten.
Unter Bezugnahme auf die Fig. 14-16 wird die INTV-Unterbrechungsverarbeitung
erläutert. Fig. 14 zeigt eine weiche Taktgebertabelle, die im RAM 106 enthalten ist.
Diese weiche Taktgebertabelle umfaßt Taktgeberblocks, deren Anzahl gleich den von den verschiedenen Unterbrechungen
zu startenden Startperioden ist. Dabei bezeichnen die Taktgeberblöcke Speicherbereiche, zu denen zeitliche
Information bezüglich der Startperioden der im ROM 104 gespeicherten Tasks übertragen wird. TMB auf der linken
Seite der Fig. 14 bezeichnet die erste Adresse der weichen Taktgebertabelle im RAM 106. Die zeitliche Information
über die Startperiode (die in dem Fall, in dem die INTV-Unterbrechung z. B. zu jeder Periode von 10 ms
durchgeführt wird, ein um ganzzahlige Zeiten größerer Wert ist) wird zu jedem Taktgeberblock der weichen Taktgebertabelle
vom ROM 104 beim Start des Motors übertragen und dort gespeichert.
Fig. 15 zeigt einen Verarbeitungsablauf der INTV-Unterbrechungs-Verarbeitungsstufe
606. Wenn das Programm in Schritt 626 gestartet ist, wird in Schritt 628 die weiche
Taktgebertabelle im RAM 106 ausgelöst. D. h., der Inhalt i des Indexregisters wird zu Null gemacht, und die Restzeit
T., die im Taktgeber block der Adresse TMB + 0 der weichen Taktgebertabelle gespeichert ist, wird geprüft.
In diesem Fall gilt T. = T„. Anschließend wird in Schritt 630 entschieden, ob der in Schritt 628 geprüfte weiche
Taktgeber gestoppt ist. Wenn die in der weichen Taktgebertabelle gespeicherte Restzeit T. = 0, wird entschieden,
13ÜQ16/06SS
daß der weiche Taktgeber gestoppt ist, es wird entschieden, daß der durch den weichen Taktgeber zu startende
bestimmte Task gestoppt ist, und der Ablauf geht zu Schritt 640, um die weiche Taktgebertabelle zu erneuern.
Wenn dagegen die Restzeit T. der weichen Taktgebertabelle T. Φ 0, geht der Ablauf zu einem Schritt 632, in dem
die Restzeit des Taktgeberblocks erneuert wird. Die Restzeit wird um (-1) von T. vermindert. Anschließend wird
in Schritt 634 entschieden, ob der weiche Taktgeber der
Taktgebertabelle die Startperiode erreicht hat. Wenn die Restzeit T. = 0, wird entschieden, daß die Startperiode
erreicht ist, und der Ablauf geht in diesem Fall zu einem Schritt 636. Wenn andererseits entschieden wird,
daß der weiche Taktgeber die Startperiode nicht erreicht hat, springt das Programm zum Schrift 640, um die weiche
Taktgebertabelle zu erneuern. Wenn die weiche Taktgebertabelle die Startperiode erreicht hat, wird im Schritt
636 die Restzeit T. der weichen Taktgebertabelle ausgelöst. D. h., die Zeitinformation der Startperiode des
bestimmten Tasks wird vom ROM 104 in den RAM 106 übertragen. Nachdem in Schritt 636 die Restzeit T. der weichen
Taktgebertabelle ausgelöst ist, erfolgt in Schritt 638 die Startanforderung für den der weichen Taktgebertabelle
entsprechenden Task. Anschließend wird in Schritt 640 die weiche Taktgebertabelle erneuert. D. h., der Inhalt
des Indexregisters wird um (+1) erhöht. Ferner wird in Schritt 642 entschieden, ob sämtliche weichen Taktgebertabellen
geprüft sind. Da bei dem Ausführungsbeispiel nach Fig. 14 (N + 1) weiche Taktgebertabellen vorgesehen
sind, wird entschieden, daß sämtliche weichen Taktgebertabellen geprüft sind, wenn der Inhalt i des Indexregisters
i = N + 1. In diesem Fall endet das INTV-Unterbrechungsverarbeitungsprogramm
606 in Schritt 644. Wenn
130016/06BB
dagegen in Schritt 64-2 entschieden wird, daß nicht alle
weichen Taktgebertabellen geprüft sind, geht das Programm zu Schritt 630 zurück, und die gleichen Schritte wie
angegeben werden durchgeführt.
In der oben angegebenen Weise wird die Startanforderung
für den bestimmten Task entsprechend den verschiedenen
Unterbrechungen ausgegeben, und der Ablauf des bestimmten Tasks erfolgt auf der Grundlage der Anforderung. Allerdings
werden nicht immer sämtliche in der Tabelle 2 angegebenen Tasks zum Ablauf gebracht. Auf der Basis der
Betriebsinformation des Motors wird die zeitliche Information betreffend die Startperiode jeder der Gruppen
von Tasks im ROM 104· ausgewählt und in der weichen Taktgebertabeile im RAM 106, zu der sie übertragen wird,
gespeichert. Wenn z. B. angenommen wird, daß die Startperiode des bestimmten Tasks 20 ms ist, wird der Task
jeweils zu diesem Zeitpunkt gestartet. Wenn der Start des Tasks kontinuierlich in Abhängigkeit von den Betriebsbedingungen
durchgeführt werden muß, wird die dem betreffenden Task entsprechende weiche Taktgebertabelle zu
allen Zeiten erneuert und ausgelöst. Unter Bezugnahme auf das Zeitdiagramm von Fig. 16 wird der Fall erläutert,
in dem die Gruppe von Tasks durch die verschiedenen Unterbrechungen entsprechend den Betriebsbedingungen des Motors
gestartet und gestoppt wird. Wenn durch Betätigen des Startschalters 152 der Strom eingeschaltet wird, arbeitet
die ZE, und "1" wird an einem Software-Kennzeichen IST und einem Software-Kennzeichen EM gesetzt. Das Software-Kennzeichen
IST bedeutet, daß sich der Motor im Zustand vor dem Start befindet, während das Software-Kennzeichen
EM die ENST-Unterbrechung inhibiert. Aufgrund dieser beiden Kennzeichen wird unterschieden, ob sich der Motor
vor dem Start, im Zustand während des Anlassens oder nach dem Anlassen befindet. Wenn der Energie-Einschaltzustand
durch Betätigen des Startschalters 152 hergestellt ist,
130016/0618
- 31 - 3033126
wird zuerst der Task ADINl gestartet, und für das Anlassen des Motors erforderliche Daten, z. B. Eingabeinformation
wie die Kühlwassertemperatur und die Batteriespannung, werden dem ADU 122 durch den MPX 120 von den
verschiedenen Fühlern zugeführt. Der Task HOSEI wird in jedem Eihgabezyklus dieser Daten gestartet, und A'nderungsberechnungen
werden auf der Grundlage der Eingabeinformation durchgeführt. In jedem Eingabezyklus der Daten
von den verschiedenen Fühlern zum ADU 122 durch den Task ADINl wird der Task ISTRT gestartet, um die während des
Anlassens des Motors erforderliche einzuspritzende Kraftstoffmenge
zu berechnen. Die vorgenannten drei Tasks ADINl, HOSEI und ISTRT werden durch das Anfangsverarbeitungsprogramm
202 gestartet.
Wenn der Startschalter 152 eingeschaltet ist, werden den drei Tasks ADINl, MONIT und ADIN2 von dem Unterbrechungssignal des Tasks ISTRT Startimpulse zugeführt. Diese Tasks
brauchen nur während der Zeit abzulaufen, in der der Startschalter 152 eingeschaltet ist (d. h. während des
Anlassens des Motors). Während dieser Zeit werden vom ROM 10ή- die zeitlichen Informationen der vorbestimmten
Startperioden zu den weichen Taktgebertabellen, die im
RAM 106 vorgesehen sind und den Tasks entsprechen, übertragen und dort gespeichert. In dieser Zeit wird die Restzeit
T. der Startperiode der weichen Taktgebertabelle ausgelöst, und die Startperiode wird wiederholt gesetzt.
Der Task MONIT dient zum Berechnen der beim Anlassen des Motors einzuspritzenden Kraftstoffmenge und kann nach
dem Anlassen entfallen. Wenn daher der Ablauf des Tasks eine vorbestimmte Anzahl von Zeiten beendet wurde, wird
der Start des weichen Taktgebers gestoppt, und das beim Task-Ende ausgegebene Stoppsignal wird dazu benutzt,
die Gruppe weiterer Tasks zu starten, die nach dem Anlassen des Motors benötigt werden. Dabei wird der Stopp
130016/0666
des Tasks durch den weichen Taktgeber so durchgeführt,
daß in die entsprechende weiche Taktgebertabelle des Tasks "0" durch ein Signal eingeschrieben wird, das
das Task-Ende zum Zeitpunkt der Entscheidung des Endes des Tasks anzeigt, d. h., das anzeigt, daß der Inhalt
des weichen Taktgebers gelöscht ist. Wie aus der bishherigen Erörterung hervorgeht, ist das Ausführungsbeispiel
so ausgebildet, daß die Starts und Stopps der Tasks in einfacher Weise durch die weichen Taktgeber durchgeführt
werden, und dadurch wird es möglich, einen wirksamen und zuverlässigen Ablauf für die Mehrzahl Tasks
mit ungleichen Startperioden durchzuführen.
Fig. 17 zeigt eine IRG-Erzeugerschaltung. Ein Register 735,
ein Zähler 736, ein Vergleicher 737 und ein Flipflop bilden eine INTV-IRQ-Erzeugerschaltung. Die Erzeugungsdauer des INTV-IRQ, z. B. 10 (*msj bei dem vorliegenden
Ausführungsbeispiel, wird in das Register 735 gesetzt. In dem Zähler 736 werden Taktimpulse gesetzt. Wenn der
Zählwert des Zählers 736 mit dem Inhalt des Registers übereinstimmt, wird das Flipflop 738 gesetzt. Der Zähler
736 wird durch den Setzzustand gelöscht und beginnt erneut mit dem Zählen. Infolgedessen wird das INTV-IRQ
zu jedem festgesetzten Zeitpunkt (10 ms) erzeugt.
Ein Register 74-1, ein Zähler 74-2, ein Vergleicher 743 und
ein Flipflop 744 bilden eine Erzeugerschaltung für das ENST-IRQ, das den Stillstand des Motors erfaßt. Das Register
74-1, der Zähler 742 und der Vergleicher 74-3 sind
wie in der vorhergehenden Schaltung ausgebildet, und das ENST-IRQ wird erzeugt, wenn der Zählwert den Wert im
Register 741 erreicht. Während des Umlaufens des Motors
wird jedoch der Zähler 742 durch die REF-Impulse gelöscht,
die zu den Intervallen des unveränderlichen Kurbelwinkels vom Kurbelwinkelfühler erzeugt werden, so daß der Zählwert
des Zählers 742 nicht den Wert des Registers 741 erreicht und das ENST-IRQ nicht auftritt.
130016/olSS
Das im Flipflop 738 erzeugte INTV-IRQ, das im Flipflop 744 erzeugte ENST-IRQ und das im ADUl oder ADU2 erzeugte
IRQ werden in Flipflops 74-0 bzw. 74-6 bzw. 764 oder 768
gesetzt. Signale zum Erzeugen oder Inhibieren der IRQ1S
werden in Flipflops 739, 74-5, 762 und 766 gesetzt. Wenn
in den Flipflops 739, 745, 762 und 766 "H" gesetzt ist, werden UND-Glieder 748, 750, 770 und 772 geöffnet. Wenn
das IRQ erzeugt wird, wird es sofort an einem ODER-Glied 751 auftreten.
de nachdem, ob "H" oder "L" in die entsprechenden Flipflops 739, 745, 762 und 766 gesetzt wird, kann die Erzeugung
des IRQ entweder inhibiert oder die Inhibierung aufgehoben werden. Wenn das IRQ erzeugt ist, ist der
Grund für seine Erzeugung durch Laden der Inhalte der Flipflops 740, 746, 764 und 768 in die ZE bekannt.
Wenn die ZE mit dem Ablauf des Programms aufgrund des IRQ begonnen hat, muß das IRQ-Signal gelöscht
zu werden, und damit wird eines der Flipflops 740, 746, 764 und 768, das das IRQ betrifft, dessen Ablauf begonnen
hat, gelöscht.
Fig. 18 ist ein Ablaufdiagramm des IN3-Programms, das
mit einer Zeitdauer von 20 ms eingeschaltet wird. In Schritt 800 wird der Digitalwert QA, der das Ausgangssignal
des Luftdurchsatzmessers 24 darstellt und im RAM 106 durch Ausführung des Tasks ADU2IN nach A-D-Umsetzung
gespeichert wurde, ausgelesen. In Schritt 802 wird der Ist-Wert von QA, der in Schritt 570 ausgelesen
wurde, mit QA-Werten verglichen, die bei xn des AF-Rautineverzeichnisses im ROM 104 gesetzt sind, wodurch η von
χ entsprechend dem Ist-Wert von QA bestimmt wird. In
Schritt 804 wird die Motordrehzahl-Information N, die
im RAM durch Ausführung des Tasks RPMIN gespeichert wurde, ausgelesen. In Schritt 806 wird der Ist-Wert von N, der
ausgelesen wurde, mit den Werten von N, die bei y in dem AF-Routineverzeichnis gesetzt sind, verglichen, um
dadurch η von y entsprechend dem Ist-Wert von N zu bestimmen. In Schritt 808 wird eine Adresse des AF-Routineverzeichnisses
auf der Basis von χ und y ,
η η
die in Schritt 802 bzw. 806 bestimmt wurden, bestimmt. Die in der festgelegten Adresse gespeicherte Kraftstoffzufuhrmenge
wird ausgelesen und in das Register INOD 134 (vgl. Fig. 4) in Schritt 810 eingegeben.
Fig. 19 zeigt ein Ablaufdiagramm für das Programm IGNCAL.
In Schritt 820 wird der digitale Wert QA, der den Ausgang des Luftdurchsatzmessers darstellt und durch Ausführung
des Programms ADU2IN im RAM gespeichert wurde, ausgelesen. In Schritt 822 wird der Ist-Wert von QA, wie ausgelesen,
mit Werten von QA verglichen, die bei χ des ADV-Routineverzeichnisses im ROM 104 gesetzt sind, wodurch
η von χ bestimmt wird, das dem Ist-Wert von QA entspricht, In Schritt 824 wird die Motordrehzahlinformation N, die
im RAM durch Ausführung von RPMIN gespeichert wurde, ausgelesen. In Schritt 826 wird der ausgelesene Ist-Wert von
N mit Werten von N verglichen, die bei y des ADV-Routineverzeichnisses gesetzt sind, um η von y zu bestimmen,
das dem Ist-Wert von N entspricht. In Schritt 828 wird eine Adresse im ADV auf der Grundlage von χ und y , die
in den Schritten 822 bzw. 826 ermittelt wurden, bestimmt. In Schritt 830 wird der Zündzeitpunkt, der an der ermittelten
Adresse gespeichert ist, ausgelesen und in das Register ADV von Fig. 4 eingegeben.
13Ö016/065S
Das Programm HOSEI dient dem Festlegen von Korrekturkoeffizienten
für die Temperatur von z» B. Atmosphäre und Kühlwasser. Da sich diese Parameter nur langsam
ändern, genügt es, die Korrekturkoeffizienten in langen Zeitintervallen zu bestimmen.
Das Programm ADU2IN ist z. B. in der US-Patentanmeldung Nr. 952 275 vom 18. Okt. 1978 sowie der US-Patentanmeldung
Nr. 78468 vom 24. Sept. 1979 angegeben. Das Programm
RPMIN ist z. B. in der US-Patentanmeldung Nr. 952 275 angegeben.
Das Programm ENST ist z. B. in der US-Patentanmeldung Nr. 952 531 vom 18. Okt. 1978 angegeben.
Fig. 20 zeigt Einzelheiten des Programms ISC für die Steuerung des Öffnungsgrads des Teillastventils 62 im
Leerlaufbetrieb.
Wenn durch Überwachung von DIO in Fig. 4 in einem Schritt
850 entschieden wird, daß der Leerlaufschalter 148 eingeschaltet
ist, wird das erste Bit des Registers DOUT auf einen Pegel "L" gesetzt, wodurch das Teillast-Luftventil
62 bezeichnet wird. Damit wird das Teillastventil in Abhängigkeit von dem im Register EGRD von Fig. 4 gesetzten
Wert gesteuert. Das Teillastventil 62, das den Luftdurchsatz durch die Teillastbohrung bestimmt, wird
entsprechend den besonderen Betriebsbedingungen gesteuert. Bei Betrieb bei niedriger Umgebungstemperatur, etwa im
Winter, beim Starten in kaltem Zustand des Motors, bei Betrieb mit hoher Last infolge der Verwendung einer
Klimaanlage im Kraftfahrzeug od. dgl. wird der Luftdurchsatz
durch die Teillastbohrung erhöht.
1 300 1 6/06SS
In Schritt 852 wird das Tastverhältnis des Teillastventils bestimmt und im Register EGRD in Abhängigkeit
von der Temperatur des Motorkühlwassers gesetzt.
In Schritt 854· wird entschieden, ob der Leerlauf schalter
Ιή-8 geschlossen ist. Wenn er geschlossen ist, wird in
Schritt 856 das Betätigungs-Anforderungskennzeichen für das Programm ISC gesetzt. D. h., das Bit "1" wird bei
QlO des Tasksteuerworts TCWlO des RAM (vgl. Fig. 16) gesetzt. Gleichzeitig wird das erste Bit des Registers
DOUT von DIO 174- auf den Pegel "L" gesetzt.
Anschließend wird eine Endanzeige ausgegeben.
Wenn andererseits der Leer lauf schalter geöffnet ist, wird eine Endanzeige sofort gegeben. Infolgedessen wird dieses
Programm nicht mehr ausgeführt. Wenn also der Leerlaufschalter in Schritt 856 geschlossen ist, wird das Betätigungs-Anf
orderungskennzeichen für das Programm ISC gesetzt, und dann erfolgt die Endanzeige.
Fig. 21 zeigt den Ablauf des Programms EGRCAL. Wenn der Leerlauf schalter geöffnet ist, wird das Teillast-Luftventil
90 nicht gesteuert, aber die Abgasrückführung wird ausgeführt. Zu diesem Zweck wird das EGR-System
zum Steuern der Abgasrückführmenge getrieben. Dazu wird das erste Bit im Register DOUT von DIO in Schritt
860 auf den Pegel "H" gesetzt, wodurch das EGR-System von Fig. 3 entsprechend dem im Register EGRD von Fig. 4-gesetzten
Wert getrieben wird. Dann wird eine Rechenoperation zur Bestimmung der EGR-Menge durchgeführt.
In Schritt 862 wird geprüft, ob die Kühlwassertemperatur TW höher als ein vorbestimmter Wert TA 0C ist. Wenn dies
der Fall ist, wird die EGR-Operation inhibiert oder abge-
130016/06SS
schaltet. Zu diesem Zweck wird im EGRD-Register Null gesetzt, um in Schritt 866 die EGR-Abschaltung durchzuführen.
Wenn festgestellt wird, daß die Kühlwassertemperatur TW niedriger als der vorbestimmte Wert
TA C ist, geht das Programm zu Schritt 864·, wo entschieden
wird, ob die Temperatur TW des Kühlwassers niedriger als ein vorbestimmter Wert TB 0C ist. Wenn
ja, dann wird die EGR-Operation inhibiert. Die Temperatur TA in Schritt 862 stellt die Obergrenze dar, während
die Temperatur TB in Schritt 864· die Untergrenze darstellt. Nur wenn die Temperatur■TW des Motorkühlwassers
im Bereich zwischen TA und TB liegt, wird die EGR-Operation ausgeführt. D. h., das Programm geht zu Schritt
868, wo die EGR-Menge rechnerisch auf der Basis der Saugluftmenge QA und der Drehzahl N des Motors durch die
Routineverzeichnis-Wiedergewinnungen bestimmt wird. Das für diese Wiedergewinnung verwendete Routineverzeichnis
ist im ROM 104· gespeichert. Die wiedergewonnenen Werte werden in das Register EGRD gesetzt. Auf diese
Weise wird das Ventil für EGR in Abhängigkeit von dem im Register EGRD befindlichen Wert und dem vorher im Register
EGRP gesetzten Tastverhältnis geöffnet, so daß die EGR-Operation durchgeführt wird.
In Schritt 872 wird entschieden, ob der Leer laufschalter
geschlossen ist, und zwar durch Überwachung von DIO. Wenn der Leerlauf schalter geöffnet ist, wird das Betätigungs-Anforderungskennzeichen
für das Programm EGRCAL gesetzt. D. h., das Bit "1" wird bei QIl des Tasksteuerworts
TCWIl des RAM gesetzt. Außerdem wird das erste Bit des
Registers DOUT von DIO auf den Pegel "H" gesetzt.
Anschließend erfolgt eine Endanzeige.
1SÖ016/06SS
Die Erfindung wurde zwar in Verbindung mit der Steuerungreiner Brennkraftmaschine in einem Kraftfahrzeug
erläutert, selbstverständlich ist sie aber nicht darauf beschränkt und auch für andere Computer-Steuerungen
einsetzbar.
Bei der angegebenen Steuerung sind die weichen Taktgeber taskweise und die Steuerblöcke für die Führung der
Tasks ind taskebenenweise in dem RAM gesetzt, so daß für jeden Ablauf des Tasks der Ablaufende-Bericht für
den jeweiligen Task erfolgen kann. Daher ist es möglich, ein Steuerverfahren für Brennkraftmaschinen zu realisieren,
bei dem eine Verminderung des Ladefaktors des Mikroprozessors und eine verbesserte Steuerbarkeit erzielbar
sind.
1300 16/0 6BS
Leerseite
Claims (5)
1.) Elektronisches Steuerverfahren für eine Brennkraftmaschine,
mit einem Steuersystem, das umfaßt:
- Fühler zum Erfassen von Betriebszuständen der Brennkraftmaschine,
- eine Recheneinheit zum arithmetischen Bestimmen von Steuergrößen zum Steuern der Brennkraftmaschine durch
digitale Verarbeitung der von den Fühlern erzeugten Ausgangssignale,
- einen Speicher zum Speichern von Programmen und Daten zur Durchführung der Rechenoperationen, und
- Steuermittel zum Steuern der Brennkraftmaschine nach
Maßgabe der Resultate der Rechenoperationen,
- wobei die Programme als eine Mehrzahl Tasks auf der Basis ihrer Steuerfunktionen klassifiziert sind und
jeder klassifizierte Task eine Startperiode hat, die nach Maßgabe seines Einflusses auf die Brennkraftmaschine
und seiner Prioritätsebene gesetzt ist, gekennzeichnet durch
A) einen ersten Schritt, in dem nach Maßgabe des Ablaufs der Startperiode ein Startanforderungskennzeichen
in dem Speicher gesetzt wird,
B) einen zweiten Schritt, in dem das Startanforderungskennzeichen
nacheinander von dem Task der höheren Ebene aus abgesucht wird,
680-(16179-H 7132)-Schö
130016/0655
C) einen dritten Schritt, in dem eine STartadresse des bestimmten Tasks auf der Basis von Absuchergebnissen
ausgelesen wird,
D) einen vierten Schritt, in dem der betreffende Task
ausgeführt, ein Ablaufkennzeichen durch Verwendung
einer Startadresse gesetzt und das Startanforderungskennzeichen rückgesetzt wird,
ausgeführt, ein Ablaufkennzeichen durch Verwendung
einer Startadresse gesetzt und das Startanforderungskennzeichen rückgesetzt wird,
E) einen fünften Schritt, in dem das Ablaufkennzeichen
auf der Grundlage der Beendigung der Ausführung des betreffenden Tasks rückgesetzt wird, und
F) einen sechsten Schritt, in dem der erste bis fünfte Schritt wiederholt werden.
2. Steuerverfahren nach Anspruch 1, dadurch gekennzeichnet,
- daß der Speicher eine Mehrzahl Ebenen-Bereiche nach
Maßgabe der Prioritätsebenen der Programme aufweist und jeder Ebenen-Bereich die jedem Programm der jeweiligen Prioritätsebene entsprechenden Startanforderungskennzeichen-Bereiche aufweist,
Maßgabe der Prioritätsebenen der Programme aufweist und jeder Ebenen-Bereich die jedem Programm der jeweiligen Prioritätsebene entsprechenden Startanforderungskennzeichen-Bereiche aufweist,
- wobei im ersten Verfahrensschritt das Startanforderungskennzeichen
in den entsprechenden Startanforderungskennzeichen-Bereich des Speichers gesetzt
wird, und
wird, und
- in dem zweiten Verfahrensschritt das Startanforderungskennzeichen
nacheinander von dem höheren
Ebenen-Bereich abgesucht wird.
Ebenen-Bereich abgesucht wird.
3. Steuerverfahren nach Anspruch 2, dadurch gekennzeichnet,
- daß jeder Ebenen-Bereich des Speichers einen Ablaufkennzeichen-Bereich
aufweist,
- wobei in dem vierten Schritt das Ablaufkennzeichen
in den Ablaufkennzeichen-Bereich der entsprechenden Prioritätsebene gesetzt wird, und
^ 130016/0655
- in dem fünften Schritt das Ablaufkennzeichen der entsprechenden Ebene auf der Basis einer Änderung
der Ausführung des Tasks rückgesetzt wird.
4·. Steuerverfahren nach Anspruch 3,
dadurch gekennzeichnet,
- daß der zweite Schritt weiter umfaßt:
G) einen siebten Schritt, in dem der Setzzustand des Ablaufkennzeichens der Taskgruppe mit höherer
Ebene abgesucht wird,
H) einen achten Schritt, in dem der Setzzustand der Startanforderungskennzeichen der Tasks einschließlich
derjenigen der höheren Ebene nach Maßgabe des Ergebnisses des siebten Schritts abgesucht wird,
I) einen neunten Schritt, in dem der Setzzustand des Ablaufkennzeichens der Taskgruppe der niedrigeren
Ebene nach Maßgabe des Ergebnisses des siebten Schritts abgesucht wird, und
3) einen zehnten Schritt, in dem der Setzzustand der Startanforderungskennzeichen der Tasks einschließlich
derjenigen der niedrigeren Ebene nach Maßgabe des Resultats des neunten Schritts abgesucht wird.
5. Steuerverfahren nach Anspruch 4-,
gekennzeichnet durch
K) einen elften Schritt, in dem ein unterbrochener Task abgesucht und der verbleibende Teil des unterbrochenen
Tasks aufgrund des Resultats des siebten oder neunten Schritts aufgeführt wird, und
einen zwölften Schritt, in dem die Durchführung des Tasks, der dem Startanforderungskennzeichen entspricht,
aufgrund des Resultats des achten oder zehnten Schritts gestartet wird.
130016/oess
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11295379A JPS5638542A (en) | 1979-09-05 | 1979-09-05 | Controlling method for engine |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3033526A1 true DE3033526A1 (de) | 1981-04-16 |
DE3033526C2 DE3033526C2 (de) | 1988-11-10 |
Family
ID=14599655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803033526 Granted DE3033526A1 (de) | 1979-09-05 | 1980-09-05 | Elektronisches steuerverfahren fuer brennkraftmaschinen |
Country Status (5)
Country | Link |
---|---|
US (1) | US4482962A (de) |
JP (1) | JPS5638542A (de) |
DE (1) | DE3033526A1 (de) |
FR (1) | FR2464373A1 (de) |
GB (1) | GB2058406B (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3643337A1 (de) * | 1985-12-20 | 1987-07-02 | Oki Electric Ind Co Ltd | Verfahren zum verarbeiten von regelgroessen in einem brennkraftmaschinenregelsystem |
DE3922124A1 (de) * | 1988-07-05 | 1990-01-11 | Fuji Heavy Ind Ltd | Zuendzeitpunktregelverfahren und -einrichtung fuer eine brennkraftmaschine |
DE3890118C2 (de) * | 1987-02-13 | 1992-04-16 | Mitsubishi Denki K.K., Tokio/Tokyo, Jp |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3420316C2 (de) * | 1983-05-31 | 1997-01-09 | Canon Kk | Verfahren zur Steuerung eines Kopiergeräts |
JPS60121127A (ja) * | 1983-12-06 | 1985-06-28 | Nissan Motor Co Ltd | パワ−トレ−ンの制御方法 |
JPS60128031A (ja) * | 1983-12-14 | 1985-07-08 | Nissan Motor Co Ltd | パワ−トレ−ンの制御方法 |
US4599695A (en) * | 1984-05-25 | 1986-07-08 | Motorola, Inc. | Microprocessor transient interrupt system adaptable for engine control |
US4791560A (en) * | 1985-07-31 | 1988-12-13 | Unisys Corporation | Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program |
DE3544079C2 (de) * | 1985-12-13 | 1998-07-30 | Bosch Gmbh Robert | Verfahren zur Verarbeitung von Interrupt-Signalen |
US4954948A (en) * | 1986-12-29 | 1990-09-04 | Motorola, Inc. | Microprocessor operating system for sequentially executing subtasks |
DE3826526A1 (de) * | 1988-08-04 | 1990-02-08 | Bosch Gmbh Robert | Verfahren und vorrichtung zum einstellen von betriebsgroessen einer brennkraftmaschine |
FR2658628B1 (fr) * | 1990-02-20 | 1992-09-18 | Renault | Systeme informatique pour gerer l'execution en temps reel de taches selon des priorites et hierarchies predeterminees. |
WO1992017796A1 (en) * | 1991-03-28 | 1992-10-15 | The Commonwealth Of Australia | Radar control task scheduling |
JPH0622544U (ja) * | 1992-08-31 | 1994-03-25 | 日産ディーゼル工業株式会社 | アクセルコントロール装置 |
JPH06250869A (ja) * | 1993-03-01 | 1994-09-09 | Hitachi Ltd | 分散制御システム |
DE4410775C2 (de) * | 1994-03-28 | 2000-04-06 | Daimler Chrysler Ag | Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät |
DE19527541A1 (de) * | 1995-07-27 | 1997-01-30 | Siemens Ag | Vorrichtung zur Erzeugung von Steuersignalen |
DE19757875C2 (de) * | 1997-12-24 | 2001-11-29 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Brennkraftmaschine insbesondere eines Kraftfahrzeugs |
WO2001037058A1 (de) * | 1999-11-15 | 2001-05-25 | Siemens Aktiengesellschaft | Automatisierungsgerät und aufdat-verfahren |
JP4277396B2 (ja) * | 1999-11-30 | 2009-06-10 | 株式会社デンソー | 電子制御装置 |
DE50009562D1 (de) * | 1999-11-30 | 2005-03-24 | Siemens Ag | Steuereinrichtung und steuerverfahren für eine brennkraftmaschine, steuereinheit für stellglieder einer brennkraftmaschine |
JP3578082B2 (ja) * | 2000-12-20 | 2004-10-20 | 株式会社デンソー | 処理実行装置及び記録媒体 |
JP5392337B2 (ja) * | 2011-10-18 | 2014-01-22 | 株式会社デンソー | センサ信号の処理装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2840706A1 (de) * | 1977-09-21 | 1979-08-02 | Hitachi Ltd | Elektronische brennkraftmaschinen- regelanordnung |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3327294A (en) * | 1964-03-09 | 1967-06-20 | Gen Precision Inc | Flag storage system |
GB1397438A (en) * | 1971-10-27 | 1975-06-11 | Ibm | Data processing system |
FR2183580B1 (de) * | 1972-05-10 | 1977-01-14 | Peugeot & Renault | |
FR2355437A6 (fr) * | 1972-05-10 | 1978-01-13 | Peugeot & Renault | Systeme de commande du type analogique-numerique-analogique a calculateur digital a fonctions multiples pour vehicule automobile |
US3825902A (en) * | 1973-04-30 | 1974-07-23 | Ibm | Interlevel communication in multilevel priority interrupt system |
GB1468642A (en) * | 1975-01-07 | 1977-03-30 | Burroughs Corp | Data processing systems |
US4091447A (en) * | 1976-07-19 | 1978-05-23 | Union Carbide Corporation | Interrupt control system for a microcomputer |
US4152761A (en) * | 1976-07-28 | 1979-05-01 | Intel Corporation | Multi-task digital processor employing a priority |
JPS5340105A (en) * | 1976-09-24 | 1978-04-12 | Nippon Denso Co Ltd | Automobile control unit |
JPS6060025B2 (ja) * | 1977-10-19 | 1985-12-27 | 株式会社日立製作所 | 自動車制御方法 |
JPS5458115A (en) * | 1977-10-19 | 1979-05-10 | Hitachi Ltd | Engine controller |
JPS6060024B2 (ja) * | 1977-10-19 | 1985-12-27 | 株式会社日立製作所 | エンジン制御方法 |
JPS5543447A (en) * | 1978-09-22 | 1980-03-27 | Hitachi Ltd | Hot-wire type flow rate measuring device |
JPS55109760A (en) * | 1979-02-19 | 1980-08-23 | Hitachi Ltd | Electronic ignition control |
EP0017219B1 (de) * | 1979-04-06 | 1987-10-14 | Hitachi, Ltd. | Verfahren und Vorrichtung zur elektronischen Steuerung eines Motors |
JPS55134721A (en) * | 1979-04-06 | 1980-10-20 | Hitachi Ltd | Electronic engine controlling method |
JPS55137358A (en) * | 1979-04-16 | 1980-10-27 | Nissan Motor Co Ltd | Controller for automobile |
-
1979
- 1979-09-05 JP JP11295379A patent/JPS5638542A/ja active Granted
-
1980
- 1980-09-02 GB GB8028324A patent/GB2058406B/en not_active Expired
- 1980-09-04 FR FR8019084A patent/FR2464373A1/fr active Granted
- 1980-09-05 DE DE19803033526 patent/DE3033526A1/de active Granted
-
1984
- 1984-02-06 US US06/577,613 patent/US4482962A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2840706A1 (de) * | 1977-09-21 | 1979-08-02 | Hitachi Ltd | Elektronische brennkraftmaschinen- regelanordnung |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3643337A1 (de) * | 1985-12-20 | 1987-07-02 | Oki Electric Ind Co Ltd | Verfahren zum verarbeiten von regelgroessen in einem brennkraftmaschinenregelsystem |
DE3890118C2 (de) * | 1987-02-13 | 1992-04-16 | Mitsubishi Denki K.K., Tokio/Tokyo, Jp | |
DE3922124A1 (de) * | 1988-07-05 | 1990-01-11 | Fuji Heavy Ind Ltd | Zuendzeitpunktregelverfahren und -einrichtung fuer eine brennkraftmaschine |
Also Published As
Publication number | Publication date |
---|---|
GB2058406A (en) | 1981-04-08 |
US4482962A (en) | 1984-11-13 |
FR2464373A1 (fr) | 1981-03-06 |
FR2464373B1 (de) | 1983-06-10 |
GB2058406B (en) | 1984-07-25 |
DE3033526C2 (de) | 1988-11-10 |
JPS5638542A (en) | 1981-04-13 |
JPS6239261B2 (de) | 1987-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3033526A1 (de) | Elektronisches steuerverfahren fuer brennkraftmaschinen | |
DE2845354C2 (de) | ||
EP0007984B1 (de) | Einrichtung zum Steuern der Zünd- und/oder Kraftstoffeinspritzvorgänge bei Brennkraftmaschinen | |
DE2845356C2 (de) | ||
DE3112601C2 (de) | Verfahren und Vorrichtung zur Steuerung des Betriebs einer Brennkraftmaschine | |
DE3609069C2 (de) | ||
DE3048674C2 (de) | ||
DE19828710A1 (de) | Verfahren und Vorrichtung zum Steuern der Kraftstoffzuführung während Übergangszuständen eines Verbrennungsmotors | |
DE2845352A1 (de) | Verfahren und anordnung zum regeln einer brennkraftmaschine | |
DE2801641A1 (de) | Zuendverstellverfahren und zuendversteller fuer brennkraftmaschinen | |
DE2845351A1 (de) | Eingangssignal-prozessor fuer elektronische brennkraftmaschinen-regelanordnung | |
DE19721070A1 (de) | Verfahren und Vorrichtung zur Ermittlung des Verbrennungszustandes in den einzelnen Zylindern einer Brennkraftmaschine | |
DE3923479A1 (de) | Sequentielles kraftstoffeinspritzverfahren | |
DE3141595A1 (de) | Verfahren zum regeln des kraftstoff/luftverhaeltnisses fuer eine brennkraftmaschine | |
DE2551681A1 (de) | Verfahren und vorrichtung zur bestimmung der dauer von einspritz-steuerbefehlen bei einer brennkraftmaschine | |
DE3221640A1 (de) | Verfahren und vorrichtung zur optimalregelung von brennkraftmaschinen | |
DE3024933A1 (de) | Verfahren zum regeln des luft/kraftstoff-verhaeltnisses fuer brennkraftmaschinen | |
DE2929797C2 (de) | Verfahren und Anordnung zum Steuern der Kraftstoffzufuhr, insbesondere der Kraftstoffeinspritzung, zu einer Brennkraftmaschine | |
DE3108601A1 (de) | Motorbetriebs-steuerverfahren | |
DE2932050A1 (de) | Drehzahl-messumformer fuer brennkraftmaschinen | |
DE4327912C1 (de) | Motorleerlaufdrehzahlsteuergerät | |
DE2845355A1 (de) | Elektronische brennkraftmaschinen- regelanordnung | |
DE2935679A1 (de) | Vorrichtung und verfahren zum steuern einer brennkraftmaschine | |
DE3922448C2 (de) | Regeleinrichtung für das Kraftstoff-Luftverhältnis einer Brennkraftmaschine | |
DE3403260C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |