DE3033526C2 - - Google Patents

Info

Publication number
DE3033526C2
DE3033526C2 DE3033526A DE3033526A DE3033526C2 DE 3033526 C2 DE3033526 C2 DE 3033526C2 DE 3033526 A DE3033526 A DE 3033526A DE 3033526 A DE3033526 A DE 3033526A DE 3033526 C2 DE3033526 C2 DE 3033526C2
Authority
DE
Germany
Prior art keywords
task
processing
program
interrupt
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.)
Expired
Application number
DE3033526A
Other languages
English (en)
Other versions
DE3033526A1 (de
Inventor
Matsuo Amano
Toru Sugawara
Toshio Furuhashi
Masumi Ibaraki Jp Imai
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

Die Erfindung betrifft ein Verfahren zur Steuerung des Betriebs von Brennkraftmaschinen gemäß dem Oberbegriff des Patentanspruchs, wie es aus DE 28 40 706 A1 bekannt ist.
Seit einiger Zeit werden zur Steuerung von Brennkraftmaschinen Mikrocomputer eingesetzt, die hauptsächlich dazu verwendet werden, die der Brennkraftmaschine zugeführte Kraftstoffmenge und den Zündzeitpunkt rechnerisch zu bestimmen. Die Kraftstoffzufuhr und die Zündung des zugeführten Gemischs erfolgen synchron mit der Drehung der Kurbelwelle. 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. Bei hohen Drehzahlen muß also die Anzahl der Rechenvorgänge des Computers verringert werden. Zu diesem Zweck wird das Programm zur rechnerischen Bestimmung der Kraftstoffmenge und des Zündzeitpunkts in mehrere Verarbeitungen (Tasks) unterteilt, die entsprechend ihrem Einfluß auf den Motorbetrieb in mehrere Prioritätsgrade klassifiziert werden. Wenn der Kraftstoffzufuhr-Zeitpunkt und der Zündzeitpunkt bei höherer Drehzahl des Motors kürzer werden, werden vom Computer nur die Verarbeitungen mit höherem Prioritätsgrad durchgeführt, und die Resultate von Steuergrößen aus Verarbeitungen niedriger Priorität, die bereits berechnet wurden, werden wiederholt verwendet, um eine Durchführung dieser Verarbeitungen mit niedrigerer Priorität zu vermeiden, wobei die unterbrochenen Verarbeitungen nach Abschluß der Verarbeitung mit höherer Priorität fortgesetzt werden oder eine weitere Verarbeitung begonnen wird (DE 28 40 706 A1).
In einem solchen Steuersystem umfaßt das Programm zur Bestimmung der Kraftstoffmenge bzw. des Zündzeitpunkts entsprechend viele Verarbeitungen unterschiedlicher Priorität, so daß es schwierig ist, verschiedene Steuerfunktionen zu korrigieren, zu ändern oder hinzuzufügen.
Aufgabe der Erfindung ist es, ein Verfahren zur Steuerung des Betriebs von Brennkraftmaschinen anzugeben, das eine Anpassung der elektronischen Steuervorgänge an wechselnde Betriebsbedingungen der Brennkraftmaschine in einfacher Weise ermöglicht und eine optimale Auslastung des Mikrocomputers ohne Überhangszeiten ergibt.
Das erfindungsgemäße Verfahren zur Steuerung des Betriebs von Brennkraftmaschinen umfaßt folgende Schritte:
  • - Erfassung von Betriebsparametern der Brennkraftmaschine,
  • - Berechnung von Steuergrößen auf der Basis der erfaßten Betriebsparameter unter Aufgliederung der Verarbeitungsvorgänge in einzelne Verarbeitungen,
  • - funktionelle Klassifikation der Verarbeitungen zur Berechnung der Steuergrößen in vorgegebene Prioritätsgrade, die jeweils der zeitlichen Dringlichkeit der zu berechnenden Steuergröße beim Betrieb der Brennkraftmaschine entsprechen,
  • - Erzeugen von mehreren von der Drehzahl der Brennkraftmaschine unabhängigen Unterbrechungssignalfolgen, die jeweils eine vorgegebene Periode besitzen, einem jeweiligen Prioritätsgrad der Verarbeitungen zugeordnet sind und jeweils die Verarbeitung starten oder unterbrechen, wobei
    • - eine Verarbeitung niedrigerer Priorität von einem Unterbrechungssignal unterbrochen wird, wenn eine Verarbeitung höherer Priorität durch dieses Unterbrechungssignal gestartet werden muß, und
    • - die unterbrochene Verarbeitung nach der Ausführung der Verarbeitung mit höherer Priorität fortgesetzt oder eine weitere Verarbeitung begonnen wird, und,
  • - Umsetzen der berechneten Steuergrößen in Stellgrößen für die Stellglieder der Brennkraftmaschine;
es ist dadurch gekennzeichnet, daß innerhalb eines jeweiligen Prioritätsgrads die zeitliche Rangfolge der Verarbeitung ebenfalls durch die Perioden der zugeordneten Unterbrechungssignalfolgen in folgender Weise festgelegt wird:
wobei die Periode der Unterbrechungssignalfolgen bei höherem Prioritätsgrad (0, 1) kürzer ist als bei niedrigerem Prioritätsgrad (2, 3).
Es ist erfindungsgemäß einfach, Verarbeitungen (Tasks) zu korrigieren, zu ändern oder hinzuzufügen. Aufgrund der Erfindungskonzeption wird entsprechend der Start einer Verarbeitung nicht durch Änderung, Korrektur oder Hinzufügen einer anderen Verarbeitung geändert. Ferner ist es möglich, ohne Änderungen des Prioritätsgrades oder der Startperiode einer anderen Verarbeitung eine neue Verarbeitung hinzuzufügen oder eine Verarbeitung herauszunehmen.
Die Erfindung wird im folgenden anhand der Zeichnung näher erläutert; es zeigen:
Fig. 1: Eine schematische Darstellung einer Brennkraftmaschine mit einer Steuereinrichtung sowie verschiedenen Fühlern und Stellgliedern;
Fig. 2: ein Schaltschema der Zündvorrichtung von Fig. 1;
Fig. 3: eine schematische Darstellung eines Abgasrückführsystems;
Fig. 4: eine schematische Gesamtdarstellung eines Brennkraftmaschinen-Steuersystems;
Fig. 5: ein Diagramm zur Erläuterung des Prinzips eines Programmsystems zur Durchführung des Steuerverfahrens nach der Erfindung;
Fig. 6: eine Tabelle von Tasksteuerblöcken, die in einem von einem Task-Zuteiler gesteuerten RAM enthalten sind;
Fig. 7: eine Startadressen-Tabelle für eine Gruppe von Tasks, die durch verschiedene Unterbrechungen gestartet werden;
Fig. 8 und 9: Flußdiagramme, die den Verarbeitungsablauf des Task-Zuteilers zeigen;
Fig. 10: ein Flußdiagramm zur Erläuterung des Makroverarbeitungsprogramms von Fig. 5;
Fig. 11: ein Diagramm, das ein Beispiel für eine Task- Prioritätssteuerung zeigt;
Fig. 12: ein Diagramm, das die Zustandsübergänge von Tasks bei der Task-Prioritätssteuerung zeigt;
Fig. 13: ein Programmsystem als konkretes Ausführungsbeispiel des in Fig. 5 dargestellten Prinzips;
Fig. 14: eine im RAM enthaltene Softtimertabelle;
Fig. 15: den Verarbeitungsablauf eines Unterbrechungsverarbeitungsprogramms;
Fig. 16: ein Impulsdiagramm, das Starten und Stoppen verschiedener Tasks in Abhängigkeit von Betriebszuständen einer Brennkraftmaschine zeigt;
Fig. 17: eine schematische Darstellung einer Unterbrechungs- Erzeugerschaltung;
Fig. 18 bis 21: Flußdiagramme zur Erläuterung verschiedener Programme.
Das in Fig. 1 dargestellte System umfaßt einen Zylinder 8, ein Luftfilter 2, einen Drosselklappenraum 4 und eine Ansaugleitung 6. Im Zylinder 8 verbrannten Gas gelangt durch ein Auspuffrohr 10 zur Atmosphäre.
Der Drosselklappenraum 4 weist eine Einspritzdüse 12 für die Kraftstoffeinspritzung auf. Der aus der Einspritzdüse 12 austretende Kraftstoff wird im Luftkanal des Drosselklappenraums 4 zerstäubt und zur Bildung eines Luft-Kraftstoff- Gemischs mit der Ansaugluft vermischt. Dieses Gemisch gelangt durch die Ansaugleitung 6 und wird dem Brennraum des Zylinders 8 beim Öffnen des Einlaßventils 20 zugeführt.
Drosselklappen 14 und 16 sind nahe dem Auslaß der Einspritzdüse 12 angeordnet. Die Drosselklappe 14 ist so ausgebildet, daß sie mechanisch mit dem Gaspedal verbunden ist. Die Drosselklappe 16 ist so angeordnet, daß sie von der Membran eines Unterdruckverstellers 18 verstellt wird. Sie wird vollständig geschlossen, wenn der Luftdurchsatz niedrig ist. Mit zunehmendem Luftdurchsatz erhöht sich der auf die Membran des Unterdruckverstellers 18 wirkende Unterdruck, so daß sie die Drosselklappe 16 zu öffnen beginnt, um eine Erhöhung des Ansaugwiderstands zu verhindern. Vor den Drosselklappen 14 und 16 des Drosselklappenraums 4 ist ein Luftbypass 22 vorgesehen. Ein elektrisches Heizelement 24, das einen thermischen Luftmengenmesser darstellt, ist im Luftbypass 22 angeordnet und ergibt ein elektrisches Signal, das sich entsprechend der Luftströmungsgeschwindigkeit ändert, die über die vom Heizelement übertragene Wärmemenge bestimmt wird. Da das Heizelement 24 im Luftbypass 22 angeordnet ist, ist es vor den heißen Gasen, die bei einer Fehlzündung des Zylinders 8 und Rückschlagen auftreten, und ferner vor Verschmutzung durch in der Ansaugluft enthaltenen Staub u. dgl. geschützt. Der Auslaß des Luftbypasses 22 öffnet sich nahe dem engsten Abschnitt eines Venturi-Abschnitts, während der Einlaß stromauf des Venturi-Abschnitts mündet.
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 gelangt aus dem Kraftstoffdruckregler 38 durch eine Leitung 40 zur Einspritzdüse 12. Der Kraftstoff wird aus dem Kraftstoffdruckregler 38 zum Kraftstofftank 30 durch eine Rücklaufleitung 42 rückgeführt, so daß die Differenz zwischen dem Druck in der Ansaugleitung 6, in die der Kraftstoff aus der Einspritzdüse 12 eingespritzt wird, und dem Druck des Kraftstoffs vor der Einspritzdüse 12 immer konstant ist.
Das vom Ansaugventil 20 angesaugte Gemisch wird von einem Kolben 50 verdichtet und durch einen von einer Zündkerze 52 ausgehenden Zündfunken zur Verbrennung gebracht. Der Zylinder 8 wird mit Kühlwasser 54 gekühlt, dessen Temperatur von einem Kühlwassertemperaturfühler 56 erfaßt wird; der Meßwert wird als Motortemperatur verwendet. Der Zündkerze 52 wird entsprechend dem Zündzeitpunkt Hochspannung von einer Zündspule 58 zugeführt.
An der (nicht dargestellten) Kurbelwelle des Motors ist ein Kurbelwinkelfühler vorgesehen, der ein Bezugswinkelsignal und ein Lagesignal für jeden Bezugs-Kurbelwinkel und einen vorgegebenen, festen Winkel (z. B. 0,5°) entsprechend der Drehung der Brennkraftmaschine erzeugt.
Die Ausgangssignale des Kurbelwinkelfühlers, das Ausgangssignal 56 A des Temperaturfühlers 56 und das elektrische Signal vom Heizelement 24 werden einer Steuerschaltung 64 mit einem Mikrocomputer zugeführt und darin verarbeitet. Die Einspritzdüse 12 und die Zündspule 58 werden durch Ausgangssignale der Steuerschaltung 64 betätigt.
Bei der auf der Grundlage dieses erläuterten System gesteuerten Brennkraftmaschine weist der Drosselklappenraum 4 einen Bypasskanal 26 auf, der die Drosselklappe 16 überbrückt und mit der Ansaugleitung 6 verbunden ist. Der Bypasskanal 26 umfaßt ein Bypassventil 62, das den Bypasskanal 26 öffnet oder verschließt. Die Betätigung zum Öffnen oder Schließen erfolgt so, daß der Antriebsteil des Bypassventils 62 mit einem Steuersignal von der Steuerschaltung 64 beaufschlagt wird.
Das Bypassventil 62 wird von einem Impulsstrom so gesteuert, daß es sich öffnet oder schließt. Es verändert den Querschnitt des Bypasskanals 26 durch den Betrag seines Hubs. Der Hub wird über das Antriebssystem von einem Ausgangssignal der Steuerschaltung 64 gesteuert, die ein Öffnungs- und Schließdauer-Signal erzeugt, mit dem das Antriebssystem des Bypassventils 62 beaufschlagt wird.
Fig. 2 erläutert die Zündvorrichtung von Fig. 1. Ein Impulsstrom wird einem Leistungstransistor 72 durch einen Verstärker 68 zugeführt, der durch diesen Strom eingeschaltet wird. Damit fließt durch die Zündspule 58 von der Batterie 66 ein Primärstrom. Der Leistungstransistor 72 wird durch den Abfall dieses Impulsstroms in den Aus- Zustand gebracht, so daß eine Hochspannung an der Sekundärwicklung der Zündspule 58 erzeugt wird.
Die Hochspannung wird durch einen Zündverteiler 70 synchron mit der Rotation der Brennkraftmaschine den in den jeweiligen Zylindern der Brennkraftmaschine angeordneten Zündkerzen 52 zugeführt.
Fig. 3 erläutert ein Abgasrückführsystem. Ein konstanter Unterdruck von einer Unterdruckversorgung 80 liegt über ein Druckregelventil 84 an einem Stellventil 86 an. Das Druckregelventil 84 regelt am Stellventil 86 anliegenden Unterdruck durch Steuerung des mit der Atmosphäre 88 ausgeglichenen Anteils des Unterdrucks der Unterdruckversorgung 80 entsprechend dem EIN-Tastverhältnis von an einen Transistor 90 angelegten wiederkehrenden Impulsen. Infolgedessen wird der am Stellventil 86 anliegende Unterdruck durch das EIN-Tastverhältnis des Transistors 90 bestimmt. Die aus der Abgasleitung 10 zur Ansaugleitung 6 rückgeführte Gasmenge wird folglich über Unterdruck des Druckregelventils 84 gesteuert.
Fig. 4 zeigt den allgemeinen Aufbau des Steuersystems. Das Steuersystem umfaßt eine Zentraleinheit (ZE) 102, einen Festspeicher (ROM) 104, einen Direktzugriffsspeicher (RAM) 106 und eine Eingangs-/Ausgangsschaltung (E/A-Schaltung) 108. Die ZE 102 verarbeitet Eingabedaten von der E/A-Schaltung 108 und liefert die verarbeiteten Resultate zurück zur E/A-Schaltung 108 nach Maßgabe verschiedener Programme, die im 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-Schaltung 108 erfolgt über eine Busleitung 110, die einen Datenbus, einen Steuerbus und einen Adressenbus umfaßt.
Die E/A-Schaltung 108 umfaßt als Eingangseinheiten eine erste Analog-Digital-Umsetzereinheit ADU1, eine zweite Analog-Digital-Umsetzereinheit ADU2 mit einem Analog- Digital-Umsetzer 128, der das Ausgangssignal vom Luftmengenmesser AFS 24 umsetzt und einem Register REG 130 zuführt, eine Winkelsignalverarbeitungsstufe 126 und eine Einzel-E/A-Stufe DI O zum Empfang und zur Abgabe von 1-Bit- Information.
In der ADU1 werden Ausgangssignale eines Batteriespannungsfühlers (VBS) 132, des Kühlwassertemperaturfühlers (TWS) 56, eines Außenlufttemperaturfühlers (TAS) 112, eines Stellspannungserzeugers (VRS) 114, eines Drosselklappenwinkelfühlers (R THS) 116 und eines λ-Fühlers (λ S) 118 einem Multiplexer (MPX) 120 zugeführt, der jeweils eines dieser Ausgangssignale auswählt und einem Analog-Digital- Umsetzer (ADU) 122 zuführt. Der als Ausgangssignal des ADU 122 erhaltene Digitalwert wird in einem Register (REG) 124 gehalten.
Ein Winkelfühler (ANGS) 146 erzeugt ein Signal (REF), das einem Bezugs-Kurbelwinkel, z. B. von 180°, entspricht, und ein Signal (POS), das einem kleinen Kurbelwinkel, z. B. 1°, entspricht. Die Signale werden der Winkelsignalverarbeitungsstufe 126 zugeführt und dort geformt.
Die Stufe DI O empfängt ferner Ausgangssignale eines Leerlaufschalters (IDLE-SW) 148, eines Schnellgangschalters (TOP-SW) 150 und des Starterschalters (START-SW) 152.
Nachstehend werden Impulsausgangsstufen und gesteuerte Systeme erläutert, die auf den Verarbeitungsergebnissen der ZE basieren. Ein Einspritzdüsen-Steuerglied (INJC) 134 setzt den Digitalwert des Verarbeitungsergebnisses in einen Impulsausgang um. Das Einspritzdüsen-Steuerglied INJC 134 liefert entsprechend Impulse mit einer Dauer entsprechend der Kraftstoffeinspritzmenge durch ein UND-Glied 136 an die Einspritzdüse 12.
Ein Zündimpuls-Erzeugerglied (IGNC) 138 umfaßt ein Register ADV, in dem der Zündzeitpunkt gesetzt wird, und ein Register DWL, in dem die Primärstromführungs-Startzeit der Zündspule eingestellt wird. Diese Daten werden von der ZE gesetzt. Die Impulse werden auf der Basis der gesetzten Daten erzeugt und durch ein UND-Glied 140 dem Verstärker 68 (vgl. auch Fig. 2) zugeführt.
Der Ventilöffnungsgrad des Bypassventils 62 wird von Impulsen bestimmt, die von einem Steuerglied (ISCC) 142 durch ein UND-Glied 144 angelegt werden. Das Steuerglied ISCC 142 weist ein Register ISCD, in dem die Impulsdauer gesetzt wird, und ein Register ISCP auf, in dem die Impulsperiodendauer gesetzt wird.
Ein Steuerimpulserzeuger (EGRC) 154, der die Abgasrückführmenge über den Transistor 90 für die Steuerung des Stellventils 86 (vgl. Fig. 3) steuert, umfaßt ein Register EGRD, in dem ein dem Impulstastverhältnis entsprechender Wert gesetzt wird, und ein Register EGRP, in dem ein der Impulsperiodendauer entsprechender Wert gesetzt wird. Die Ausgangsimpulse des Steuerimpulserzeugers EGRC werden über ein UND-Glied 156 an den Transistor 90 angelegt.
1-Bit-Eingangs/Ausgangssignale werden von der Stufe DI O gesteuert. Eingangssignale sind die Signale des Leerlaufschalters (IDLE-SW) 148, des Schnellgangschalters (TOP-SW) 150 und des Starterschalters (START-SW). Als Augangssignal wird ein Ausgangsimpuls erzeugt, der die Kraftstoffpumpe ansteuert. Die Stufe DI O 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 (MOD) 160 hält Befehle für verschiedene Zustände innerhalb der E/A-Schaltung 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 der Steuerglieder INJC, IGNC bzw. ISCC gesteuert werden.
Fig. 5 erläutert das Prinzip des erfindungsgemäßen Verfahrens. Das Programmsystem umfaßt ein Anfangsverarbeitungsprogramm 202, ein Unterbrechungsverarbeitungsprogramm 206, ein Makroverarbeitungsprogramm 228 und einen Task-Zuteiler 208 als Organisationsprogramme für die Ablaufsteuerung einer Gruppe von Verarbeitungen, die im folgenden als Tasks bezeichnet sind. Das Anfangsverarbeitungsprogramm 202 ist ein Programm zur Durchführung von Vorverarbeitungsschritten zur Betätigung des Mikrocomputers. Es bewirkt z. B. ein Löschen des Speicherinhalts des RAM 106 und setzt die Startwerte der Register und der E/A-Schaltung 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, der Batteriespannung etc. Das Unterbrechungsverarbeitungsprogramm 206 nimmt verschiedene Unterbrechungen (Interrupts) 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 der Speisespannung, der 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 jeweils zu vorgegebenen konstanten Zeitpunkten erzeugt wird, z. B. alle 10 ms, eine Motorstillstands-Unterbrechung (ENST), die bei Erfassen des Stillstands des Motors erzeugt wird, etc.
Den jeweiligen Tasks in der Gruppe von Tasks 210-226 sind den Prioritätsebenen entsprechenden Task-Nummern zugeteilt; sie gehören jeweils zu einer der Task-Ebenen 0 bis 2. Die Tasks 0 bis 2 gehören entsprechend zur Task-Ebene 0, die Tasks 3 bis 5 zur Task-Ebene 1 und die Tasks 6 bis 8 zur Task-Ebene 2.
Der Task-Zuteiler 208 empfängt die Startanforderungen der verschiedene 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) Die Übertragung der Ablaufberechtigung auf einen Task einer höheren Prioritätsebene durch Unterbrechen eines Tasks einer niedrigeren Prioritätsebene erfolgt nur auf den jeweiligen Task-Ebenen. Dabei hat die Task-Ebene 0 den höchsten Prioritätsgrad.
  • 2) Wenn auf ein und derselben 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 auf ein und derselben 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; gemäß der Erfindung erfolgt jedoch die angegebene Prioritätssteuerung so, daß im RAM 106 Softtimer task-weise und Tasksteuerblöcke taskebenen-weise gesetzt sind. Wenn ein Task abgearbeitet ist, wird das Ablaufende des betreffenden 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 im RAM 106 vorgesehen sind und vom Task-Zuteiler 208 verwaltet 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 vorliegenden Beispiels. Jedem Tasksteuerblock sind acht Bits zugeordnet. Davon sind die Bits 0-2 (Q₀-Q₂) Startbits, die einen Startanforderungstask bezeichnen, und Bit 7 (R) ist ein Ablaufbit, das anzeigt, wenn ein Task auf derselben Task-Ebene gerade abläuft oder unterbrochen ist. Die Startbits Q₀-Q₂ sind in einer Reihenfolge angeordnet, die einem höheren Prioritätsgrad in der entsprechenden Task-Ebene entspricht. So ist z. B. das Startbit für Task 4 in Fig. 5 Q₀ und entspricht der Task-Ebene 1. Wenn die Startanforderungen für die Tasks erfolgt sind, werden in jedem der Startbits Kennzeichen (Flags) gesetzt. Andererseits ruft der Task-Zuteiler 208 die ausgegebenen Startanforderungen nacheinander von dem dem Task mit höherer Task- Ebene entsprechenden Startbit ab, setzt die Kennzeichen entsprechend den ausgegebenen Startanforderungen zurück, setzt Kennzeichen "1" an den Ablaufbits und führt Verarbeitungen zum Starten des betreffenden Tasks aus.
Fig. 7 zeigt eine Startadressen-Tabelle, die im RAM 106 enthalten ist, der vom Task-Zuteiler verwaltet wird. Die Startadressen SA 0 bis SA 8 entsprechen den jeweiligen Tasks 0 bis 8 der Gruppe von Tasks 210-226 von Fig. 5. Jeder 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 erläutern den Verarbeitungsablauf des Task-Zuteilers 208. Wenn der Verarbeitungsablauf des Task- Zuteilers 208 in Schritt 300 gestartet wurde, wird in Schritt 302 bestimmt, ob die Ausführung eines Tasks, der zu einer Task-Ebene l gehört, unterbrochen ist. Im einzelnen bezeichnet eine gesetzte "1" im Ablaufbit den Zustand, daß der Task-Ende-Bericht noch nicht vom Makroverarbeitungsprogramm 228 an den Task-Zuteiler 208 gegeben wurde und der im Ablauf begriffene Task aufgrund des Auftretens einer Unterbrechung einer höheren Prioritätsebene unterbrochen ist. Wenn somit das Kennzeichen "1" im Ablaufbit gesetzt ist, springt der Ablauf zu Schritt 314, um den unterbrochenen Task erneut zu starten.
Wenn dagegen das Kennzeichen "1" im Ablaufbit nicht gesetzt ist, d. h., wenn das Ablaufkennzeichen rückgesetzt ist, geht die Verarbeitung zu Schritt 304 weiter, in dem entschieden wird, ob auf der Task-Ebene l ein Start-Wartetask vorhanden ist. Dies bedeutet, daß die Startbits der Ebene l in der Reihenfolge höherer Ablaufpriorität der jeweiligen Tasks, nämlich in der Folge Q₀, Q₁ und Q₂, abgerufen werden. Wenn in den zur Task-Ebene l gehörenden Startbits das Kennzeichen "1" nicht gesetzt ist, geht das Programm zu Schritt 306 weiter, um die Task-Ebene zu erneuern. Die Task-Ebene l wird dabei um +1 auf l + 1 erhöht. Danach geht der Ablauf zu Schritt 308 weiter, in dem entschieden wird, ob sämtliche Task-Ebenen geprüft worden sind. Wenn nicht sämtliche Task-Ebenen geprüft sind, d. h., wenn l = 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 entschieden wird, daß sämtliche Task-Ebenen geprüft sind, geht das Programm zu Schritt 310 weiter und gibt die Unterbrechung frei. Die Unterbrechungs-Freigabe erfolgt diesem Schritt, weil die Unterbrechung während der Verarbeitungsdauer der Schritte 302-308 blockiert ist. Im folgenden Schritt 312 gelangt die nachfolgende Unterbrechung in die Warteschlange. Wenn in Schritt 304 auf der Task-Ebene l ein Start-Wartetask vorhanden ist, d. h., wenn das Kennzeichen "1" in dem zur Task-Ebene l gehörenden Startbit gesetzt ist, geht das Programm zu Schritt 400 über (Fig. 9). Durch eine Schleife bei den Schritten 400 und 402 wird dasjenige Startbit der Task-Ebene l, dessen Kennzeichen "1" gesetzt ist, in der Reihenfolge höherer Priorität aufgerufen, also in der Reihenfolge Q₀, Q₁, Q₂. Wenn das entsprechende Startbit gefunden wurde, geht das Programm zu Schritt 404 weiter. In Schritt 404 wird das Startbit, dessen Kennzeichen gesetzt ist, rückgesetzt, und das Kennzeichen "1" wird im Ablaufbit (nachstehend R-Bit) der betreffenden Task-Ebene l gesetzt. In Schritt 406 wird die Start-Task-Nummer festgestellt, und in Schritt 408 wird die Startadreßinformation des entsprechenden Start-Tasks aus 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 in Abhängigkeit vom Kraftfahrzeugtyp nur bestimmte Tasks aus der Task-Gruppe auszuwählen, die für die Steuerung der Brennkraftmaschine gebracht werden. Wenn in Schritt 410 entschieden wird, daß der Ablauf des entsprechenden Tasks zu stoppen ist, geht das Programm zu Schritt 414 über, in dem das R-Bit der betreffenden Task-Ebene l rückgesetzt wird. Außerdem geht das Programm dann zu Schritt 302 zurück (Fig. 8), in dem entschieden wird, ob ein Task in der Task-Ebene l im Unterbrechungszustand ist. Da der Fall eintreten kann, daß Kennzeichen in mehreren Startbits auf der gleichen Task-Ebene l gesetzt sind, geht das Programm nach dem Rücksetzen des R-Bits in Schritt 414 zu Schritt 302 über.
Wenn dagegen in Schritt 410 (Fig. 9) der Ablauf des betreffenden Tasks nicht gestoppt, sondern durchgeführt werden soll, geht das Programm zu Schritt 412 weiter und springt zu dem betreffenden Task über, woraufhin dieser ausgeführt wird.
Fig. 10 zeigt den 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" ausgehend wiederaufgefunden, und die beendete Task-Ebene wird ermittelt. Anschließend geht das Programm zu Schritt 568 weiter, in dem das Ablaufkennzeichen (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 Task wird bestimmt.
Unter Bezugnahme auf Fig. 11 werden nun Ablauf und Unterbrechung von Tasks erläutert, wobei die Task-Prioritätssteuerung durch den Task-Zuteiler 208 erfolgt. Dabei bezeichnen in der Startanforderung N mn der Index m die Task-Ebene und der Index n den Prioritätsgrad 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 des der Startanforderung N₂₁ entsprechenden Tasks 6 gestartet. Wenn dabei während des Ablaufs des Tasks 6 eine Startanforderung N₀₁ 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 N₀₁ entsprechenden Tasks 0 zur Zeit T₃ gestartet wird. Wenn während des Ablaufs des Tasks 0 eine Startanforderung N₁₁ 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 T₅ wieder gestartet wird. Wenn der Ablauf des Tasks 0 zur Zeit T₆ beendet ist, geht der Ablauf wieder zum Organisationsprogramm OS. Hier wird das Ablaufende des Tasks 0 dem Task-Zuteiler 208 durch das Makroverarbeitungsprogramm 228 mitgeteilt. Zur Zeit T₇ wird der Ablauf des Tasks 3, der in der Warteschlange war, entsprechend einer Startanforderung N₁₁ wieder gestartet. Wenn während des Ablaufs des Tasks 3 eine Startanforderung N₁₂ mit niedrigerer Priorität in der gleichen Task-Ebene 1 zur Zeit T₈ 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 T₉ wieder gestartet wird. Wenn der Ablauf des Tasks 3 zur Zeit T₁₀ beendet ist, geht der Ablauf 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 niedrigerer Priorität gestartet. Wenn der Ablauf des Tasks 4 zur Zeit T₁₂ beendet ist, geht der Ablauf zum Organisationsprogramm OS zur Durchführung der vorbestimmten Schritte, und anschließend wird zur Zeit T₁₃ der Ablauf des Tasks 6, der bis dahin unterbrochen war und der der Startanforderung N₂₁ entspricht, wieder gestartet.
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. Eine Art Ruhezustand ist der Startwartezustand, in dem noch keine Startanforderung für einen Task ausgegeben wurde. Wenn anschließend eine Startanforderung auftritt, wird im Startbit des Tasksteuerblocks ein Kennzeichen gesetzt, um anzuzeigen, daß der Start erforderlich ist. Die Zeitdauer, innerhalb der sich der Ruhezustand in einen Warteschlangenzustand ändert, hängt von den Ebenen der entsprechenden Tasks ab. Die Entscheidung über die Reihenfolge 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 Organisationssprogramm OS rückgesetzt und das Kennzeichen im R-Bit (siebten Bit) gesetzt wurden. Damit wird der Ablauf des betreffenden Tasks ausgelöst. Dieser Zustand ist der Ablaufzustand. 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 Ablauf des betreffenden Tasks unterbrochen, so daß der Bereitschaftszustand vorliegt. Wenn anschließend der Ablaufzustand nach Unterbrechung wieder vorliegt, wird der Ablauf des betreffenden unterbrochenen Tasks erneut gestartet. Der Bereitschaftszustand geht dann also wieder in den Ablaufzustand über. Auf diese Weise wiederholt das Programm jeder Ebene die vier Zustände von Fig. 12. In dieser Fig. sind typische Abläufe dargestellt. Es besteht aber auch die Möglichkeit, daß ein Kennzeichen im Startbit des Tasksteuerblocks im Bereitschaftszustand gesetzt wird. Dies entspricht z. B. dem Fall, daß während der Startunterbrechung ein Startanforderungszeitpunkt nächst dem betreffenden 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 Warteschlangenzustand wird durch das Kennzeichen des Startbits hergestellt, ohne daß der Ruhezustand durchlaufen wird.
Auf diese Weise befinden sich die Tasks 0-8 in einem der 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 Makroverarbeitungsprogramm 228 und dem Task-Zuteiler.
Das Unterbrechungsverarbeitungsprogramm 206 umfaßt verschiedene Unterbrechungsverarbeitungsstufen. Eine Anfangs-Unterbrechungsverarbeitungsstufe (INTL) 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 Brennkraftmaschine erzeugt werden. Durch die Anfangsunterbrechung INTL wird die Einspritzdauer des Kraftstoffs, die im Task EGI 612 berechnet wird, in ein entsprechendes Register der E/A-Schaltung 108 gesetzt (vgl. Fig. 4). Die Unterbrechungsverarbeitungsstufe ADU 604 umfaßt zwei Arten, nämlich die ADU1-Unterbrechung und die ADU2-Unterbrechung. Die Einheit ADU1 hat eine Genauigkeit von acht Bits und wird für die Eingänge der Speisespannung, der Kühlwassertemperatur, der Ansauglufttemperatur, der Betriebseinstellung usw. verwendet. Sie beginnt mit der Umsetzung zur gleichen Zeit, zu der der Eingabezeitpunkt zum MPX 120 festgelegt wird, und erzeugt die ADU1-Unterbrechung nach Beendigung der Umsetzung. Diese Unterbrechung wird nur vor dem Anlassen verwendet. Der Analog-Digital-Umsetzer ADU 128 wird andererseits 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 Intervall-Unterbrechungsverarbeitungsstufe INTV 606 wird für jede im entsprechenden INTV-Register gesetzte Zeit, z. B. alle 10 ms, ein INTV-Unterbrechungssignal erzeugt und als Basissignal für die Zeitüberwachung eines Tasks, der zu einem festgelegten Zeitpunkt zu starten ist, verwendet. Mit diesem Unterbrechungssignal wird der Softtimer erneuert, und ein Task, der die vorgeschriebene Zeit erreicht hat, wird gestartet. Ferner wird in einer Motorstillstands- Unterbrechungsverarbeitungsstufe ENST 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-Unterbrechung dreimal aufgetreten ist, d. h., wenn auch nach Ablauf von z. B. 3 s kein INTL-Unterbrechungssignal erfaßt wurde, wird entschieden, daß der Motor stillsteht, und die Energieversorgung der Zündspule und die Kraftstoffpumpe werden abgeschaltet. Nach diesen Verarbeitungsschritten wird mit der Steuerung gewartet, bis der Startschalter 152 eingeschaltet wird. Die Verarbeitungsschritte für die vorstehend angegebenen Unterbrechungsfaktoren sind in der Tabelle 1 angegeben.
faktorVerarbeitungs-Ablauf INTLKraftstoffeinspritzdauer wird in das Register EGI gesetzt. ADU1Task ADIN1 wird gestartet. ADU2Task ADIN2 wird gestartet. INTVDie Startperioden der Tasks ADIN2, EGI, MONIT, ADIN1, AFSIA und ISC, die zu festgelegten Zeiten zu starten sind, werden geprüft, und die Tasks, die die vorgeschriebenen Zeiten erreicht haben, werden gestartet. ENSTDie Motorstillstands-Verarbeitungsschritte werden durchgeführt, und die Steuerung wird in den An­ fangszustand zurückgebracht.
Vom Anfangsverarbeitungsprogramm 202 und dem Makroverarbeitungsprogramm 228 werden die bereits erläuterten Verarbeitungsschritte durchgeführt.
Die Gruppe von Tasks, die durch die verschiedenen Unterbrechungen gestartet werden, setzt sich wie folgt zusammen:
Zur Task-Ebene 0 gehören ein Eingabetask ADU2 (ADIN2-Task), der Kraftstoffeinspritz-Steuertask (EGI-Task) 612 und ein Startüberwachungstask (MONIT-Task) 614. Zur Task-Ebene 1 gehören ein ADU1-Task (ADIN1-Task) 616 und ein Zeitkoeffizienten- Verarbeitungstask (AFSIA-Task) 618. Zur Task-Ebene 2 gehören schließlich ein Leerlauf-Steuertask (ISC-Task) 620, ein Task zur Berechnung des Änderungskoeffizienten (HOSEI-Task) 622 und ein Start-Vorverarbeitungstask (ISTRT- Task) 624.
Die Zuordnung der verschiedenen Task-Ebenen und die Verarbeitungen der Tasks sind in Tabelle 2 angegeben.
Tabelle 2
Zuordnung von Task-Ebenen und Task-Verarbeitungen
Wie aus 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 nun die INTV- Unterbrechungsverarbeitung erläutert. Fig. 14 zeigt eine Softtimertabelle, die im RAM 106 enthalten ist. Sie umfaßt Zeitgeberblöcke, deren Anzahl gleich den von den verschiedenen Unterbrechungen zu startenden Startperioden ist. Dabei sind mit Zeitgeberblöcken Speicherbereiche gemeint, zu denen Zeitinformationen 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 Softtimertabelle im RAM 106. Die zeitliche Information über die Startperiode (wenn die INTV-Unterbrechung z. B. alle 10 ms durchgeführt wird, ein um ganzzahlige Zeiten größerer Wert) wird beim Start des Motors vom ROM 104 zu jedem Taktgeberblock übertragen und dort gespeichert.
Fig. 15 zeigt den Verarbeitungsablauf der Unterbrechungsverarbeitungsstufe INTV 606. Wenn das Programm in Schritt 626 gestartet ist, wird in Schritt 628 die Softtimertabelle im RAM 106 initialisiert, d. h., der Inhalt i des Indexregisters wird zu Null gemacht, und die Restzeit t i , die im Taktgeberblock der Adresse TMB+0 der Softtimertabelle gespeichert ist, wird geprüft. In diesem Fall gilt t i = t₀. Anschließend wird in Schritt 630 entschieden, ob der in Schritt 628 geprüfte Softtimer gestoppt ist. Wenn die gespeicherte Restzeit t i = 0 ist, wird entschieden, daß der Softtimer gestoppt ist, und es wird entschieden, daß der durch den Softtimer zu startende betreffende Task gestoppt ist, und der Ablauf geht zu Schritt 640, in dem die Softtimertabelle erneuert wird.
Wenn dagegen die Restzeit der Softtimertabelle t i ≠ 0 ist, geht der Ablauf zu einem Schritt 632, in dem die Restzeit erneuert wird. Dabei wird die Restzeit t i um -1 vermindert. Anschließend wird in Schritt 634 entschieden, ob der Softtimer die Startperiode erreicht hat. Wenn die Restzeit t i = 0 ist, wird entschieden, daß die Startperiode erreicht ist, und der Ablauf geht in diesem Fall zu Schritt 636. Wenn andererseits entschieden wird, daß der Softtimer die Startperiode nicht erreicht hat, springt das Programm zu Schritt 640, in dem die Softtimertabelle erneuert wird. Wenn andererseits die Softtimertabelle die Startperiode erreicht hat, wird in Schritt 636 die Restzeit t i der Softtimertabelle ausgelöst, d. h., die Zeitinformation der Startperiode des betreffenden Tasks wird vom ROM 104 in den RAM 106 übertragen. Nachdem in Schritt 636 die Restzeit t i ausgelöst ist, erfolgt in Schritt 638 die Startanforderung für den der Softtimertabelle entsprechenden Task. Anschließend wird in Schritt 640 die Softtimertabelle erneuert, d. h., der Inhalt des Indexregisters wird um +1 erhöht. Ferner wird in Schritt 642 entschieden, ob sämtliche Softtimertabellen geprüft sind. Da bei dem Ausführungsbeispiel nach Fig. 14 n + 1 Softtimertabellen vorgesehen sind, wird entschieden, daß sämtliche Softtimertabellen geprüft sind, wenn der Inhalt i des Indexregisters i = n + 1 ist. In diesem Fall endet das Unterbrechungsverarbeitungsprogramm INTV 606 in Schritt 644. Wenn dagegen in Schritt 642 entschieden wird, daß nicht alle Softtimertabellen geprüft sind, geht das Programm zu Schritt 630 zurück, worauf die gleichen Schritte wie oben angegeben durchgeführt werden.
In der oben angegebenen Weise wird die Startanforderung für den betreffenden Task entsprechend den verschiedenen Unterbrechungen ausgegeben, und der Ablauf des jeweiligen Tasks erfolgt auf der Grundlage der Anforderung. Allerdings werden nicht immer sämtliche in Tabelle 2 angegebenen Tasks zum Ablauf gebracht. Auf der Basis der Betriebsinformationen vom Motor wird die zeitliche Information betreffend die Startperiode jeder der Gruppen von Tasks im ROM 104 ausgewählt und in der Softtimertabelle im RAM 106, zu der sie übertragen wird, gespeichert. Wenn z. B. angenommen wird, daß die Startperiode des betreffenden 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 Softtimertabelle jeweils wieder erneuert und ausgelöst.
Unter Bezugnahme auf das Impulsdiagramm von Fig. 16 wird erläutert, wie die Tasks durch die verschiedenen Unterbrechungen entsprechend den Betriebsbedingungen des Motors gestartet und gestoppt werden. Wenn durch Betätigen des Startschalters 152 (Fig. 4) der Strom eingeschaltet wird, arbeitet die ZE, und "1" wird in 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 unterdrückt. Aufgrund dieser beiden Kennzeichen wird unterschieden, ob sich der Motor im Zustand vor dem Start, während des Anlassens oder nach dem Anlassen befindet. Wenn die Stromversorgung durch Betätigen des Startschalters 152 eingeschaltet ist, wird zuerst der Task ADIN1 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 Eingabezyklus dieser Daten gestartet, und Ä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 ADIN1 wird der Task ISTRT gestartet, um die während des Anlassens des Motors erforderliche einzuspritzende Kraftstoffmenge zu berechnen. Die vorgenannten drei Tasks ADIN1, HOSEI und ISTRT werden durch das Anfangsverarbeitungsprogramm 202 gestartet.
Wenn der Startschalter 152 eingeschaltet ist, werden die drei Tasks ADIN1, MONIT und ADIN2 durch das Unterbrechungssignal des Tasks ISTRT gestartet. 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 104 die zeitlichen Informationen der vorbestimmten Startperioden zu den Softtimertabellen, die im RAM 106 vorgesehen sind und den Tasks entsprechen, übertragen und dort gespeichert. In dieser Zeit wird die Restzeit t i der Startperiode der Softtimertabelle 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 Task so oft wie vorgegeben beendet wurde, wird der Start des Softtimers 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 des Tasks durch den Softtimer so durchgeführt, daß in die entsprechende Softtimertabelle 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 Softtimers gelöscht ist. Wie aus der obigen Erläuterung hervorgeht, werden beim vorliegenden Ausführungsbeispiel die Starts und Stopps der Tasks in einfacher Weise durch die Softtimer durchgeführt; dadurch wird es möglich, einen wirksamen und zuverlässigen Ablauf für mehrere Tasks mit ungleichen Startperioden durchzuführen.
Fig. 17 zeigt eine Unterbrechungs-Erzeugungsschaltung für die Unterbrechungsanforderung INTV-IRQ, die aus einem Register 735, einem Zähler 736, einem Vergleicher 737 und einem Flipflop (F-F) 738 besteht. Die Arbeitsperiode, z. B. 10 ms beim 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 735 ü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 die Unterbrechungsanforderung INTV-IRQ zu festen Zeitpunkten (alle 10 ms) erzeugt.
In analoger Weise bilden ein Register 741, ein Zähler 742, ein Vergleicher 743 und ein Flipflop 744 eine Unterbrechungs- Erzeugungsschaltung für die Unterbrechungsanforderung ENST-IRQ, bei der der Stillstand des Motors erfaßt wird. Das Register 741, der Zähler 742 und der Vergleicher 743 sind, wie in der vorher beschriebenen Schaltung ausgebildet, und die Unterbrechungsanforderung ENST-IRQ wird erzeugt, wenn der Zählwert des Zählers 742 den Wert im Register 741 erreicht. Während des Laufs des Motors wird jedoch der Zähler 742 durch die REF-Impulse gelöscht, die bei vorgegebenen Kurbelwinkeln vom Kurbelwinkelfühler erzeugt werden, so daß der Zählwert des Zählers 742 nicht den Wert des Registers 741 erreicht und keine Unterbrechungsanforderung ENST-IRQ auftritt.
Die in den Flipflops 738 und 744 erzeugten Unterbrechungsanforderungen INTV-IRQ bzw. ENST-IRQ und die im ADU1 oder ADU2 erzeugten Unterbrechungsanforderungen IRQ werden in Flipflops 740, 746, 764 bzw. 768 gesetzt. Signale zum Erzeugen oder Inhibieren der IRQ's werden in Flipflops 739, 745, 762 und 766 gesetzt. Wenn in den Flipflops 739, 745, 762 und 766 "H" gesetzt ist, werden die UND-Glieder 748, 750, 770 und 772 geöffnet. Wenn die Unterbrechungsanforderung IRQ erzeugt wird, tritt das entsprechende Signal sogleich am ODER-Glied 751 auf.
Je nachdem, ob "H" oder "L" in die entsprechenden Flipflops 739, 745, 762 und 766 gesetzt wird, kann die Erzeugung des IRQ-Signals entweder unterdrückt oder die Inhibierung aufgehoben werden. Wenn die Unterbrechungsanforderung 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- Signals begonnen hat, muß gelöscht werden, und damit wird eines der Flipflops 740, 746, 764 und 768, das der betreffenden Unterbrechungsanforderung zugeordnet ist, deren Ablauf begonnen hat, gelöscht.
Fig. 18 ist ein Flußdiagramm des INJ-Programms zur Ermittlung der Kraftstoffmenge, das mit einer Zeitperiode von 20 ms aktiviert wird. In Schritt 800 wird der Digitalwert QA, der das Ausgangssignal des Luftmengenmessers 24 darstellt und im RAM 106 durch Ausführung des Tasks ADU2IN nach A-D- Umsetzung gespeichert wurde, ausgelesen. In Schritt 802 wird der ausgelesene Ist-Wert von QA mit QA-Werten verglichen, die unter x n in einem AF-Kennfeld im ROM 104 gespeichert sind, wodurch n von x n entsprechend dem Ist-Wert von QA bestimmt wird. In Schritt 804 wird die Motordrehzahl 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 unter y n im AF-Kennfeld gespeichert sind, verglichen, um dadurch n von y n entsprechend dem Ist-Wert von N zu bestimmen. In Schritt 808 wird eine Adresse des AF-Kennfelds auf der Basis von x n und y n , die in Schritt 802 bzw. 806 bestimmt wurden, bestimmt. Die unter der ermittelten Adresse gespeicherte Kraftstoffzufuhrmenge wird ausgelesen und in Schritt 810 in das Register INJD 134 (vgl. Fig. 4) eingegeben.
Fig. 19 zeigt ein Flußdiagramm für das Programm IGN-CAL zur Zündzeitpunktermittlung. In Schritt 820 wird der digitale Wert QA, der den Ausgang des Luftmengenmessers 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 unter x n eines ADV-Kennfelds im ROM 104 gespeichert, sind, wodurch n von x n bestimmt wird, das dem Ist-Wert von QA entspricht. In Schritt 824 wird die Motordrehzahl 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 unter y n des ADV-Kennfeldes gesetzt sind, um n von y n zu bestimmen, das dem Ist-Wert von N entspricht. In Schritt 828 wird eine Adresse im ADV-Kennfeld auf der Grundlage von x n und y n , die in den Schritten 822 bzw. 826 ermittelt wurden, bestimmt und der an der ermittelten Adresse gespeicherte Zündzeitpunkt ausgelesen. In Schritt 830 wird der ermittelte Wert in das Register ADV (Fig. 4) eingegeben.
Das Programm HOSEI dient dem Festlegen von Korrekturkoeffizienten z. B. für die Außenlufttemperatur bzw. die Kühlwassertemperatur. Da sich diese Variablen nur langsam ändern, genügt es, die Korrekturkoeffizienten in langen Zeitintervallen zu bestimmen.
Das Programm ADU2IN ist z. B. in den US-Patentanmeldungen 42 80 189 und 42 97 881 angegeben. Das Programm RPMIN ist z. B. Gegenstand der US-Patentanmeldung 42 80 189. Das Programm ENST ist z. B. in der US-Patentanmeldung 43 12 038 beschrieben.
Fig. 20 zeigt Einzelheiten des Programms ISC zur Steuerung des Öffnungsgrads des Bypassventils 62 im Leerlaufbetrieb. Wenn durch Überwachung von DI O (Fig. 4) in Schritt 850 entschieden wird, daß der Leerlaufschalter 148 eingeschaltet ist, wird das erste Bit des Registers DOUT auf Pegel "L" gesetzt, wodurch das Bypassventil 62 bezeichnet wird. Damit wird das Bypassventil in Abhängigkeit von dem im Register EGRD von Fig. 4 gesetzten Wert gesteuert. Das Bypassventil 62, das den Luftdurchsatz D air durch den Bypasskanal 26 bestimmt, wird entsprechend den besonderen Betriebsbedingungen gesteuert. Bei Betrieb bei niedriger Umgebungstemperatur, etwa im Winter, bei Kaltstart, bei Betrieb mit hoher Last z. B. bei laufender Klimaanlage im Kraftfahrzeug od. dgl., wird der Luftdurchsatz durch den Bypasskanal erhöht.
In Schritt 852 wird das Tastverhältnis des Bypassventils bestimmt und im Register EGRD in Abhängigkeit von der Kühlwassertemperatur (TW) des Motors gesetzt.
In Schritt 854 wird entschieden, ob der Leerlaufschalter 148 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 Q10 des Tasksteuerworts TCW10 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 Leerlaufschalter geöffnet ist, wird sofort eine Endanzeige ausgegeben. Infolgedessen wird dieses Programm nicht mehr ausgeführt. Wenn also der Leerlaufschalter in Schritt 856 geschlossen ist, wird das Betätigungs- Anforderungskennzeichen für das Programm ISC gesetzt, und dann erfolgt die Endanzeige.
Fig. 21 zeigt den Ablauf des Programms EGRCAL. Wenn der Leerlaufschalter geöffnet ist, wird das Teillast-Luftventil 62 nicht gesteuert, jedoch die Abgasrückführung ausgeführt. Zu diesem Zweck wird das EGR-System zum Steuern der Abgasrückführmenge in Betrieb gesetzt. Dazu wird das erste Bit im Register DOUT von DI O 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 betrieben wird. Dann wird die Menge des rückzuführenden Abgases berechnet. In Schritt 862 wird geprüft, ob die Kühlwassertemperatur TW höher als ein vorbestimmter Wert TA (°C) ist. Wenn dies der Fall ist, wird die Abgasrückführung inhibiert oder abgeschaltet. 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 ist, geht das Programm zu Schritt 864 über, wo entschieden wird, ob die Kühlwassertemperatur TW niedriger als ein vorbestimmter Wert TB ist. Wenn dies der Fall ist, wird die Abgasrückführung inhibiert. Die Temperatur TA in Schritt 862 stellt entsprechend die Obergrenze dar, während die Temperatur TB in Schritt 864 die Untergrenze darstellt. Nur wenn die Kühlwassertemperatur TW des Motors im Bereich zwischen TA und TB liegt, wird folglich die Abgasrückführung ausgeführt, d. h., das Programm geht zu Schritt 868 über, wo die Abgasrückführmenge rechnerisch auf der Basis der Ansaugluftmenge QA und der Drehzahl N des Motors durch Auslesen von Werten aus einem QA-N-Kennfeld bestimmt wird. Dieses Kennfeld ist im ROM 104 gespeichert. Die ausgelesenen Werte werden in das Register EGRD gesetzt. Auf diese Weise wird das Abgasrückführventil in Abhängigkeit von dem im Register EGRD befindlichen Wert und dem vorher im Register EGRP gesetzten Tastverhältnis geöffnet, so daß eine entsprechende Abgasrückführung erfolgt (Schritt 870).
In Schritt 872 wird entschieden, ob der Leerlaufschalter geschlossen ist, und zwar durch Überwachung von DIO. Wenn der Leerlaufschalter geöffnet ist, wird das Betätigungs- Anforderungskennzeichen für das Programm EGRCAL gesetzt (Schritt 874), d. h., das Bit "1" wird bei Q11 des Tasksteuerworts TCW11 des RAM gesetzt. Außerdem wird das erste Bit des Registers DOUT von DI O auf den Pegel "H" gesetzt.
Anschließend erfolgt eine Endanzeige.
Die Erfindung wurde zwar in Verbindung mit der Steuerung einer Brennkraftmaschine in einem Kraftfahrzeug erläutert, ist jedoch selbstverständlich nicht darauf beschränkt und auch für die Steuerung anderer Brennkraftmaschinen einsetzbar.
Bei der erläuterten Steuerung sind die Softtimer Task-weise und die Steuerblöcke für die Verwaltung der Tasks Taskebenen- weise 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 erfindungsgemäß möglich, eine Verminderung des Lastfaktors des Mikroprozessors und eine verbesserte Steuerbarkeit von Brennkraftmaschinen zu erzielen.

Claims (2)

  1. Verfahren zur Steuerung des Betriebs von Brennkraftmaschinen mit folgenden Schritten:
    • - Erfassung von Betriebsparametern der Brennkraftmaschine,
    • - Berechnung von Steuergrößen auf der Basis der erfaßten Betriebsparameter unter Aufgliederung der Verarbeitungsvorgänge in einzelne Verarbeitungen,
    • - funktionelle Klassifikation der Verarbeitungen zur Berechnung der Steuergrößen in vorgegebene Prioritätsgrade, die jeweils der zeitlichen Dringlichkeit der zu berechnenden Steuergröße beim Betrieb der Brennkraftmaschine entsprechen,
    • - Erzeugen von mehreren von der Drehzahl der Brennkraftmaschine unabhängigen Unterbrechungssignalfolgen, die jeweils eine vorgegebene Periode besitzen, einem jeweiligen Prioritätsgrad der Verarbeitungen zugeordnet sind und jeweils die Verarbeitung starten oder unterbrechen, wobei
      • - eine Verarbeitung niedrigerer Priorität von einem Unterbrechungssignal unterbrochen wird, wenn eine Verarbeitung höherer Priorität durch dieses Unterbrechungssignal gestartet werden muß, und
      • - die unterbrochene Verarbeitung nach der Ausführung der Verarbeitung mit höherer Priorität fortgesetzt oder eine weitere Verarbeitung begonnen wird, und
      • - Umsetzen der berechneten Steuergrößen in Stellgrößen für die Stellglieder der Brennkraftmaschine,
  2. dadurch gekennzeichnet, daß innerhalb eines jeweiligen Prioritätsgrads die zeitliche Rangfolge der Verarbeitungen ebenfalls durch die Perioden der zugeordneten Unterbrechungssignalfolgen in folgender Weise festgelegt wird: wobei die Periode der Unterbrechungssignalfolgen bei höherem Prioritätsgrad (0, 1) kürzer ist als bei niedrigerem Prioritätsgrad (2, 3).
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 DE3033526A1 (de) 1981-04-16
DE3033526C2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4410775A1 (de) * 1994-03-28 1995-10-05 Siemens Ag Steuergerät und Betriebssystem für dieses Steuergerät

Families Citing this family (22)

* 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
JPH06100155B2 (ja) * 1985-12-20 1994-12-12 本田技研工業株式会社 エンジン制御装置の演算処理方法
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
DE3890118C2 (de) * 1987-02-13 1992-04-16 Mitsubishi Denki K.K., Tokio/Tokyo, Jp
JPH0219633A (ja) * 1988-07-05 1990-01-23 Fuji Heavy Ind Ltd エンジンの点火時期制御装置
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 分散制御システム
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
CN1193281C (zh) * 1999-11-15 2005-03-16 西门子公司 自动化设备及更新方法
JP2003515697A (ja) * 1999-11-30 2003-05-07 シーメンス アクチエンゲゼルシヤフト 内燃機関用の制御装置、内燃機関の調整素子用の制御ユニット及び内燃機関の制御方法
JP4277396B2 (ja) * 1999-11-30 2009-06-10 株式会社デンソー 電子制御装置
JP3578082B2 (ja) * 2000-12-20 2004-10-20 株式会社デンソー 処理実行装置及び記録媒体
JP5392337B2 (ja) * 2011-10-18 2014-01-22 株式会社デンソー センサ信号の処理装置

Family Cites Families (18)

* 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
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
FR2183580B1 (de) * 1972-05-10 1977-01-14 Peugeot & Renault
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
DE2840706C2 (de) * 1977-09-21 1985-09-12 Hitachi, Ltd., Tokio/Tokyo Elektronische Steuereinrichtung zum Steuern des Betriebs einer Brennkraftmaschine
JPS5458115A (en) * 1977-10-19 1979-05-10 Hitachi Ltd Engine controller
JPS6060025B2 (ja) * 1977-10-19 1985-12-27 株式会社日立製作所 自動車制御方法
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4410775A1 (de) * 1994-03-28 1995-10-05 Siemens Ag Steuergerät und Betriebssystem für dieses Steuergerät
DE4410775C2 (de) * 1994-03-28 2000-04-06 Daimler Chrysler Ag Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät

Also Published As

Publication number Publication date
FR2464373B1 (de) 1983-06-10
JPS6239261B2 (de) 1987-08-21
GB2058406A (en) 1981-04-08
US4482962A (en) 1984-11-13
FR2464373A1 (fr) 1981-03-06
GB2058406B (en) 1984-07-25
JPS5638542A (en) 1981-04-13
DE3033526A1 (de) 1981-04-16

Similar Documents

Publication Publication Date Title
DE3033526C2 (de)
DE2845354C2 (de)
DE2845356C2 (de)
DE3048674C2 (de)
DE2845351C2 (de) Eingangssignal-Prozessor für elektronische Brennkraftmaschinen-Regelanordnung
DE2801641A1 (de) Zuendverstellverfahren und zuendversteller fuer brennkraftmaschinen
DE2742765A1 (de) Elektrische steuervorrichtung und steuermethode fuer einen verbrennungsmotor
DE3138101C2 (de) Verfahren zur Steuerung der Zündverstellung bei einer Brennkraftmaschine
DE2845352A1 (de) Verfahren und anordnung zum regeln einer brennkraftmaschine
DE3024933C2 (de) Verfahren zum Regeln des Kraftstoff-Luft-Verhältnisses bei Brennkraftmaschinen
DE2840706A1 (de) Elektronische brennkraftmaschinen- regelanordnung
DE19828710A1 (de) Verfahren und Vorrichtung zum Steuern der Kraftstoffzuführung während Übergangszuständen eines Verbrennungsmotors
DE2917888A1 (de) Verfahren zum steuern der arbeitsweise einer brennkraftmaschine
DE2845350A1 (de) Elektronische brennkraftmaschinen- regelanordnung
DE3135107A1 (de) Lader-steuereinrichtung
DE2551681A1 (de) Verfahren und vorrichtung zur bestimmung der dauer von einspritz-steuerbefehlen bei einer brennkraftmaschine
DE3108601C2 (de) Verfahren zur Steuerung der Kraftstoffeinspritzung bei einer Brennkraftmaschine
DE2929797C2 (de) Verfahren und Anordnung zum Steuern der Kraftstoffzufuhr, insbesondere der Kraftstoffeinspritzung, zu einer Brennkraftmaschine
DE2845355C2 (de)
DE2935679C2 (de)
DE2932050A1 (de) Drehzahl-messumformer fuer brennkraftmaschinen
DE3922448C2 (de) Regeleinrichtung für das Kraftstoff-Luftverhältnis einer Brennkraftmaschine
DE4327912C1 (de) Motorleerlaufdrehzahlsteuergerät
DE2845357C2 (de)
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