DE3033526A1 - Elektronisches steuerverfahren fuer brennkraftmaschinen - Google Patents

Elektronisches steuerverfahren fuer brennkraftmaschinen

Info

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
Application number
DE19803033526
Other languages
English (en)
Other versions
DE3033526C2 (de
Inventor
Matsuo Amano
Toshio Furuhashi
Masumi Ibaraki Imai
Toru Sugawara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3033526A1 publication Critical patent/DE3033526A1/de
Application granted granted Critical
Publication of DE3033526C2 publication Critical patent/DE3033526C2/de
Granted legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/263Electrical 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
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing 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/15Digital data processing
    • F02P5/1502Digital data processing using one central computing unit
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine 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.
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.
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.
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.
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.
Tabelle 1
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
Tabelle
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 Ü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)

Ansprüche
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,
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,
- wobei im ersten Verfahrensschritt das Startanforderungskennzeichen in den entsprechenden Startanforderungskennzeichen-Bereich des Speichers gesetzt
wird, und
- in dem zweiten Verfahrensschritt das Startanforderungskennzeichen nacheinander von dem höheren
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
DE19803033526 1979-09-05 1980-09-05 Elektronisches steuerverfahren fuer brennkraftmaschinen Granted DE3033526A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2840706A1 (de) * 1977-09-21 1979-08-02 Hitachi Ltd Elektronische brennkraftmaschinen- regelanordnung

Cited By (3)

* Cited by examiner, † Cited by third party
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