EP0608456B1 - Motorsteuerung - Google Patents

Motorsteuerung Download PDF

Info

Publication number
EP0608456B1
EP0608456B1 EP19930101326 EP93101326A EP0608456B1 EP 0608456 B1 EP0608456 B1 EP 0608456B1 EP 19930101326 EP19930101326 EP 19930101326 EP 93101326 A EP93101326 A EP 93101326A EP 0608456 B1 EP0608456 B1 EP 0608456B1
Authority
EP
European Patent Office
Prior art keywords
interrupts
engine control
processed
control according
synchronous
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 - Lifetime
Application number
EP19930101326
Other languages
English (en)
French (fr)
Other versions
EP0608456A1 (de
Inventor
Heinz Dipl.-Ing. Neugebauer (Fh)
Herbert Dipl.-Ing. Ziegler (Fh)
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.)
Siemens AG
Original Assignee
Siemens AG
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8212564&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=EP0608456(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Siemens AG filed Critical Siemens AG
Priority to EP19930101326 priority Critical patent/EP0608456B1/de
Priority to DE59302747T priority patent/DE59302747D1/de
Publication of EP0608456A1 publication Critical patent/EP0608456A1/de
Application granted granted Critical
Publication of EP0608456B1 publication Critical patent/EP0608456B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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

Definitions

  • the invention relates to a motor control according to the preamble of claim 1.
  • DE 38 26 526 A1 discloses a method for setting operating variables of an internal combustion engine, in which high-priority synchronous programs, i.e. Programs that trigger a certain process depending on a crank angle, low-priority background programs that e.g. Evaluate characteristic diagrams or characteristic curves, and time-dependent programs serving integration purposes are processed with medium priority.
  • the background programs or the time-dependent programs are interrupted by the highest priority synchronous program.
  • the time-dependent programs are grouped together.
  • the program groups of the time-dependent programs are processed according to a predefined time grid.
  • the background program is processed in the times of a grid period that is not required for the execution of a time-dependent program. Since the synchronous programs interrupt a background program or a time-dependent program as a function of a crank angle, DE 38 26 526 A1 does not reveal any program part which is equivalent to a synchronous list.
  • the invention has for its object to provide a motor control with faster change times for the tasks to be processed.
  • Essential components of an engine control system 1 are a computing part 2 and a real-time part 3 (FIG. 1).
  • the computing part and the real-time part are connected to one another by a so-called two-port or three-port RAM 4, by a plurality of so-called handshake lines 5 and by an interrupt line 6.
  • a plurality of input lines 8 and output lines 9 are connected to the real-time part 3.
  • Input variables arrive via the input lines 8 and are measured in the real-time part, e.g. Sensor signals that reflect the position of the crankshaft or camshaft.
  • Control signals are output to actuators via the output lines 9, with which e.g. the ignition and the fuel injection are triggered.
  • the real-time part 3 has two microprocessors of the 87C51GB type from Intel.
  • Analogue temperature signals for example, reach the computing part via an input line 10 and are digitized in this in an internal AD converter.
  • Other input lines 10 are connected to an HSI input and to port pins of the computing part 2.
  • Pulse-width-modulated control signals LLFS are output via the output lines 11 from a so-called HSO output of the computing part to the idle filling actuator of the engine and signals TEV to the tank ventilation valve of the vehicle.
  • the vehicle and engine components not belonging to the engine control 1 are not shown, nor is the internal structure of the processors used, since they refer to the manuals of Manufacturer can be removed. Only a few of the input and output lines are shown to represent the actual lines.
  • a line 14 forms a serial interface of the computing part 2 and via a bus 15 it is connected to two memory components, a RAM 16 and an EPROM 17.
  • the task of the computing part in FIG. 2 is to record and evaluate the measurement data received, either directly or via the real-time part 3, and to calculate control signals for the ignition, injection, etc. based on this and output them to the corresponding actuators via the real-time part 3.
  • an operating system is used for the motor control, which is designed as described below.
  • the external interrupt EXTINT arriving via line 6 to computing part 2 is emitted by real-time part 3.
  • each crankshaft segment i.e. with a 6-cylinder engine every 120 ° KW (crankshaft angle)
  • an external interrupt EXTINT is carried out.
  • an EXTINT is generated for each tooth of the crankshaft pulley, i.e. every 6 ° crankshaft rotation, activated. This interrupt or interruption EXTINT triggers a calculation cycle of the data for one cylinder at a time.
  • HSO interrupts are used to generate pulse-width-modulated control signals for the tank vent valve TEV, the idle charge controller LLFS and the throttle valve actual value DKI.
  • a request for short time orders ZV_KURZ is issued in a time grid of 10 ms.
  • the HSI interrupt is used to evaluate the speedometer signal of the motor vehicle.
  • HSI / O high speed input / output
  • HSI / O high speed input / output
  • the interrupts for the serial interface are used to control the sending and receiving of data with external Development and adaptation, measuring and testing devices are exchanged.
  • the time management for short time jobs is carried out as follows. As soon as a task or task has been processed, it is checked whether there is a request for a short time task ZV_KURZ. If this is the case, the request is activated. A task is a part of a program that is activated and is returned to the operating system after it has been processed.
  • a list 20 is provided in RAM 16 - abbreviated to BERLST_SYNC - in which the start addresses of the tasks to be activated are entered.
  • this list is constructed as a ring memory and can hold up to 32 entries.
  • the entry pointer marks the position in the list in which the next task address is entered, the edit pointer points to the start address of the task that is currently being processed or is called up next.
  • a status mark "synchronous request" is set and the start address is entered in the position of the synchronous list 20 to which the entry pointer is currently pointing.
  • the entry pointer is then increased and limited to the permissible maximum value - here 32.
  • a task is called up by computing part 2 looking at the content of the task list - i.e. the entry address of the task - loads to which the processing pointer points and jumps to the loaded address.
  • the processing pointer is increased, limited and compared with the entry pointer. If the value of both pointers is the same, this means that the jobs in the synchronous list have been processed.
  • the status mark "Synchronous request available" is reset.
  • Synchronous tasks are those parts of the program that have to be processed in a rigid temporal relationship to the rotation of the crankshaft.
  • a synchronous task can only be called from the synchronous part of the operating system, but an entry in the synchronous list can be made from any priority level.
  • the pointers When the processing list 20, which is designed as a ring memory, is managed, the pointers must be limited in order to avoid that they extend beyond the end of the list due to a constant increase. After each addition, it is checked whether the respective pointer has exceeded the end of the list. If this is the case, the pointer is set back to the beginning of the task list.
  • a synchronization task is entered with a macro command "Start address synchronization task" START_TASK_SYNC.
  • the return address from a synchronous task to the operating system is always VON_SYNC.
  • the time management for long time jobs is carried out as follows. After processing the time management for short time jobs and all currently entered synchronous tasks, the time management ZV_LANG is activated if a request is present. A request for a time management ZV_LANG is entered every 10 ms by the ZV_KURZ.
  • the asynchronous tasks are processed with the lowest priority in the present motor control, i.e. they are only activated if there are no requests from ZV_KURZ, synchronous tasks and ZV_LANG.
  • the way in which the asynchronous tasks are processed is the same as that for the synchronous tasks, but there is a separate list 23 (FIG. 3) for the start addresses of the asynchronous tasks - the so-called ready list for asynchronous tasks BERLST_ASY - with its own processing pointer ASYNC_B and entry pointer ASYNC_E.
  • An asynchronous task can be entered from any priority level and is executed with the macro command "Start address asynchronous task" START_TASK.
  • the tasks can each be in one of three states: "COMPUTING” when the program is being processed in computing part 2; "READY” or “WAITING” if the program is requested but not yet running, and "SLEEPING” or “NOT ACTIVE” if neither of the first two states is present.
  • the various tasks and time management can only be interrupted at any time by interrupts.
  • the interrupt job is then processed and then the processing of the started task or time management is continued.
  • the maximum time for the processing of tasks must be less than 10 ms so that the time management ZV_LANG can work correctly.
  • FIG. 4 The operating system of the computing part 2 of the engine control 1 described above is shown in FIG. 4 in the form of a structogram.
  • the symbol “ ⁇ >” here means “not equal” or “not equal”
  • a query 26 as to whether the processing pointer of the synchronous list is different from the entry pointer of the synchronous list corresponds to the query as to whether there is a request for a synchronizing task.
  • a query 27 as to whether the processing pointer of the asynchronous list is not equal to the (associated) entry pointer corresponds to the query as to whether there is a request for a synchronization task.
  • the content of the other boxes of the structogram 25 is self-explanatory, also in view of the above description.
  • a controller 1 for a motor vehicle engine contains a computing part 2, by means of which measured values are recorded and evaluated, reflect the operating variables of the engine, and control signals are generated for actuators which act on engine operation (ignition, injection, etc.).
  • An operating system controls the acquisition and evaluation of the measured values and the generation of control signals in such a way that short change times result for the programs to be processed.
  • the operating system defines the following groups of workflows to be processed in priority: Request interruptions (interrupts), time management jobs and activation of workflows.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

  • Die Erfindung betrifft eine Motorsteuerung nach dem Oberbegriff von Patentanspruch 1.
  • Aus der DE 38 26 526 A1 ist ein Verfahren zum Einstellen von Betriebsgrößen einer Brennkraftmaschine bekannt, bei dem prioritätshoch Synchronprogramme, d.h. Programme, die in Abhängigkeit von einem Kurbelwinkel einen bestimmten Vorgang auslösen, prioritätsniedrig Hintergrundprogramme, die z.B. Kennfelder oder Kennlinien auswerten, und mit mittlerer Priorität zeitabhängige Programme, die Integratinoszwecken dienen, abgearbeitet werden. Die Hintergrundprogramme bzw. die zeitabhängigen Programme werden durch das prioritätshöchste Synchronprogramm unterbrochen. Die zeitabhängigen Programme werden zu Programmgruppen zusammengefaßt. Nach einem vorgegebenen Zeitraster werden die Programmgruppen der zeitabhängigen Programme abgearbeitet. Das Hintergrundprogramm wird in den Zeiten einer Rasterzeitspanne, die nicht für die Abarbeitung eines zeitabhängigen Programms benötigt wird, abgearbeitet. Da die Synchronprogramme in Abhängigkeit von einem Kurbelwinkel ein Hintergrundprogramm oder ein zeitabhängiges Programm unterbrechen ist der DE 38 26 526 A1 kein Programmteil zu entnehmen, der einer Synchronliste äquivalent ist.
  • Aus der US-A 4,347,570 sowie der US-A 4,355,360 sind Verfahren zur Steuerung von Motoren bekannt, wobei Interrupt gesteuerte Programme unterschiedlicher Priorität benutzt werden, die jedoch ebenfalls keine Synchronliste aufweisen.
  • Der Erfindung liegt die Aufgabe zugrunde, eine Motorsteuerung mit schnelleren Wechselzeiten für die zu bearbeitenden Aufgaben zu schaffen.
  • Diese Aufgabe wird durch die Motorsteuerung nach Anspruch 1 gelöst.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen niedergelegt.
  • Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung erläutert. Es zeigen:
    • Figur 1 die wesentlichen Bestandteile einer erfindungsgemäßen Motorsteuerung als Blockschaltbild,
    • Figur 2 und 3 den Aufbau der Synchronliste und der Asynchronliste des Betriebssystems der Motorsteuerung nach Figur 1 und
    • Figur 4 ein Struktogramm des Betriebssystems der Motorsteuerung nach Figur 1.
  • Wesentliche Bestandteile einer Motorsteuerung 1 sind ein Rechenteil 2 und ein Echtzeitteil 3 (Figur 1). Der Rechenteil und der Echtzeitteil sind durch ein sog. Zwei- oder Drei-Port-RAM 4, durch mehrere sog. Handshake-Leitungen 5 und durch eine Interrupt-Leitung 6 miteinander verbunden.
  • An den Echtzeitteil 3 sind mehrere Eingangsleitungen 8 und Ausgangssleitungen 9 angeschlossen. Über die Eingangsleitungen 8 treffen Eingangsgrößen ein, die in dem Echtzeitteil gemessen werden, z.B. Sensorsignale, die die Lage der Kurbelwelle oder der Nockenwelle wiedergeben. Über die Ausgangsleitungen 9 werden Steuersignale an Aktoren ausgegeben, mit denen z.B. die Zündung und die Kraftstoffeinspritzung ausgelöst werden. Im vorliegenden Ausführungsbeispiel weist der Echtzeitteil 3 zwei Mikroprozessoren des Typs 87C51GB der Firma Intel auf.
  • An den Rechenteil 2 sind ebenfalls mehrere Eingangsleitungen 10 und Ausgangssleitungen 11 angeschlossen. Über eine Eingangsleitung 10 gelangen z.B. analoge Temperatursignale zu dem Rechenteil und werden in diesem in einem internen AD-Wandler digitalisiert. Andere Eingangsleitungen 10 sind an einen HSI-Eingang und an Port-Pins des Rechenteils 2 angeschlossen. Über die Ausgangsleitungen 11 werden von einem sogenannten HSO-Ausgang des Rechenteils pulsweitenmodulierte Steuersignale LLFS an den Leerlauffüllungssteller des Motors und Signale TEV an das Tankentlüftungsventil des Fahrzeugs ausgegeben. In der Zeichnung sind die nicht zu der Motorsteuerung 1 gehörenden Fahrzeugs- und Motorbestandteile nicht dargestellt, ebenso nicht der interne Aufbau der verwendeten Prozessoren, da sie den Handbüchern des Herstellers entnommen werden können. Von den Eingangs- und Ausgangsleitungen sind nur einige wenige stellvertretend für die tatsächlich vorhandenen Leitungen dargestellt.
  • Eine Leitung 14 bildet eine serielle Schnittstelle des Rechenteils 2 und über einen Bus 15 ist dieser mit zwei Speicherbausteinen, einem RAM 16 und einem EPROM 17, verbunden.
  • Die Aufgabe des Rechenteils in 2 ist es, die - entweder direkt oder über den Echtzeitteil 3 - empfangenen Meßdaten zu erfassen und auszuwerten und darauf basierend Steuersignale für die Zündung, die Einspritzung usw. zu berechnen und über den Echtzeitteil 3 an die entsprechenden Aktoren auszugeben. Um die Arbeiten mit der erforderlichen Genauigkeit und Schnelligkeit erledigen zu können, wird für die Motorsteuerung ein Betriebssystem eingesetzt, das wie nachfolgend beschrieben ausgebildet ist.
  • Durch das Betriebssystem sind folgende, in abgestufter Priorität abzuarbeitende Gruppen von Arbeitsabläufen festgelegt:
    • Anforderungen von Unterbrechungen (Interrupts),
    • Zeitverwaltungsaufträge und
    • Aktivierung von Arbeitsabläufen.
  • Dabei ergeben sich fünf sog. Prioritätsebenen, d.h. eine Unterteilung der Arbeitsabläufe in folgende Prioritäts- oder Vorrangstufen für die zu erledigenden Arbeiten oder Tasks, und zwar in absteigender Reihenfolge:
    • Interrupts (angeforderte Unterbrechungen)
    • Überprüfung auf abgearbeitete (oder abgelaufene) kurze Zeitaufträge ZV_KURZ
    • Synchrontasks (Aktivierung von synchronen Arbeitsabläufen)
    • Überprüfung auf abgearbeitete (oder abgelaufene) lange Zeitaufträge ZV_LANG, und
    • Asynchrontasks (Aktivierung von asynchronen Arbeitsabläufen)
  • In dem Rechenteil 2 werden vier Quellen für Interrupts benutzt:
    • externer Interrupt EXTINT
    • HSO-Interrupt
    • HSI-Interrupt
    • Interrupt für die serielle Schnittstelle.
  • Der über die Leitung 6 zu dem Rechenteil 2 gelangende externe Interrupt EXTINT wird von dem Echtzeitteil 3 ausgesendet. Sobald sich der Echtzeitteil 2 auf die Bewegung einer Zahnscheibe, die an der Kurbelwelle befestigt ist, synchronisiert hat, wird jedes Kurbelwellen-Segment, d.h. bei einem 6-Zylinder-Motor alle 120° KW(Kurbelwellenwinkel), ein externer Interrupt EXTINT durchgeführt. Solange der Echtzeitteil 2 noch nicht synchronisiert ist, wird ein EXTINT bei jedem Zahn der Kurbelwellen-Scheibe, d.h. alle 6° Kurbelwellendrehung, aktiviert. Dieser Interrupt oder Unterbrechung EXTINT gibt den Anstoß für einen Berechnungszyklus der Daten für jeweils einen Zylinder.
  • HSO-Interrupts werden benutzt, um pulsweitenmodulierte Steuersignale für das Tankentlüftungsventil TEV, den Leerlauffüllungssteller LLFS und den Drosselklappen-Istwert DKI zu erzeugen. Zusätzlich wird in einem Zeitraster von 10 ms eine Anforderung für kurze Zeitaufträge ZV_KURZ ausgegeben.
  • Der HSI-Interrupt wird für die Auswertung des Tachosignals des Kraftfahrzeugs benutzt. Bei dem vorstehend genannten Mikroprozessor 80C196KB wird mit HSI/O (high speed input/output) ein Anschluß für die schnellen Datenein- und - ausgabe bezeichnet.
  • Die Interrupts für die serielle Schnittstelle dienen dazu, das Senden und Empfangen von Daten zu steuern, die mit externen Entwicklungs- und Anpassungs-, Meß- und Testgeräten ausgetauscht werden.
  • Die Zeitverwaltung für kurze Zeitaufträge wird wie folgt durchgeführt. Sobald eine Aufgabe oder Task abgearbeitet ist, wird überprüft, ob eine Anforderung für einen kurzen Zeitauftrag ZV_KURZ vorliegt. Ist dies der Fall, so wird die Anforderung aktiviert. Als Aufgabe oder Task wird hier ein Programmteil bezeichnet, der aktiviert wird und nach dessen Abarbeitung wieder in das Betriebssystem zurückgesprungen wird.
  • Die Zeitverwaltung für kurze Zeitaufträge führt folgende Aufgaben durch:
    • Setzen einer Anforderung für eine Zeitverwaltung für lange Zeitaufträge ZV_LANG.
    • Inkrementieren eines als interne Systemuhr dienenden Zählers AKZEIT.
    • Verwaltung von Zeitaufträgen für kurze Zeiten (10 ms). Hierbei können vorgegebene Funktionen abgearbeitet, z.B. AD-Wandlungen gestartet, Eingangssignale überprüft, Synchrontasks oder Asynchrontasks usw. eingetragen werden.
    • Aktivierung einer Diagnosekommunikation im Bedarfsfall.
  • Die Synchrontasks werden folgendermaßen verwaltet oder abgearbeitet. Im RAM-Speicher 16 ist eine Liste 20 vorgesehen - abgekürzt BERLST_SYNC - , in der die Anfangsadressen der zu aktivierenden Tasks eingetragen werden. In dem vorliegenden Ausführungsbeispiel ist diese Liste als Ringspeicher aufgebaut und faßt bis zu 32 Einträgen. Für die Liste gibt es zwei Zeiger, einen sog. Eintragszeiger BERLST E ZEIG und einen Bearbeitungszeiger BERLST B ZEIG. Der Eintragszeiger markiert die Stelle in der Liste, in der die nächste Taskadresse eingetragen wird, der Bearbeitungszeiger zeigt auf die Anfangsadresse der Task, die gerade abgearbeitet oder als nächste aufgerufen wird.
  • Wird eine Synchrontask eingetragen, so wird eine Statusmarke "Synchronanforderung" gesetzt und die Anfangsadresse in die Stelle der Synchronliste 20 eingetragen, auf die der Eintragszeiger gerade zeigt. Anschließend wird der Eintragszeiger erhöht, und dabei auf den zulässigen Maximalwert - hier 32 - begrenzt.
  • Der Aufruf einer Task erfolgt, indem sich der Rechenteil 2 den Inhalt der Task-Liste - d.h. die Einsprungadresse der Task - lädt, auf die der Bearbeitungszeiger verweist, und auf die geladene Adresse springt.
  • Ist eine Task abgearbeitet worden, so wird der Bearbeitungszeiger erhöht, begrenzt und mit dem Eintragszeiger verglichen. Ist der Wert beider Zeiger gleich, bedeutet dies, daß die Aufträge in der Synchronliste abgearbeitet sind. Die Statusmarke "Synchronanforderung vorhanden" wird zurückgesetzt.
  • Synchrontasks sind hier diejenigen Programmteile, die in starrer zeitlicher Bindung an die Drehung der Kurbelwelle abgearbeitet werden müssen. Eine Synchrontask kann nur aus dem Synchronteil des Betriebssystems aus aufgerufen werden, ein Eintrag in die Synchronliste kann jedoch von jeder Prioritätsebene aus erfolgen.
  • Bei der Verwaltung der als Ringspeicher ausgeführten Bearbeitungsliste 20 müssen die Zeiger, um zu vermeiden, daß sie durch ein ständiges Erhöhen über das Listenende hinauslaufen, begrenzt werden. Hierbei wird nach jeder Addition überprüft, ob der jeweilige Zeiger über das Ende der Liste hinausgelaufen ist. Ist dies der Fall, so wird der Zeiger wieder auf den Anfang der Task-Liste gesetzt.
  • Eine Synchrontask wird mit einem Makrobefehl"Anfangsadresse Synchrontask" START_TASK_SYNC eingetragen.
  • Die Rücksprungadresse aus einer Synchrontask in das Betriebssystem lautet immer VON_SYNC.
  • Die Zeitverwaltung für lange Zeitaufträge wird folgendermaßen durchgeführt. Nach Abarbeitung der Zeitverwaltung für kurze Zeitaufträge und sämtlicher momentan eingetragener Synchrontasks wird die Zeitverwaltung ZV_LANG aktiviert, sofern eine Anforderung vorhanden ist. Alle 10 ms wird durch die ZV_KURZ eine Anforderung für eine Zeitverwaltung ZV_LANG eingetragen.
  • Mit niedrigster Priorität werden bei der vorliegenden Motorsteuerung die Asynchrontasks abgearbeitet, d.h., sie werden erst aktiviert, wenn keine Anforderungen von ZV_KURZ, Synchrontasks und ZV_LANG vorhanden sind.
  • Die Funktionsweise beim Abarbeiten der Asynchrontasks ist gleich der bei den Synchrontasks, es existiert jedoch eine eigene Liste 23 (Figur 3) für die Anfangsadressen der Asynchrontasks - die sog. Bereitliste für Asynchrontasks BERLST_ASY - mit eigenen Bearbeitungszeiger ASYNC_B und Eintragszeiger ASYNC_E.
  • Ein Eintrag einer Asynchrontask kann aus jeder Prioritätsebene erfolgen und wird mit dem Makrobefehl "Anfangsadresse Asynchrontask" START_TASK ausgeführt.
  • Ein Rücksprung aus der Asynchrontask in das Betriebssystem muß immer auf die Adresse VON_ASYNC erfolgen.
  • Die Tasks können sich jeweils in einem von drei Zuständen befinden: "RECHNEND", wenn das Programm in dem Rechenteil 2 abgearbeitet wird; "BEREIT" oder "WARTEND", wenn das Programm angefordert ist, aber noch nicht ausgeführt wird, und "SCHLAFEND" oder "NICHT AKTIV", wenn keiner der ersten beiden Zustände vorliegt.
  • Die verschiedenen Tasks und Zeitverwaltungen können jederzeit aber nur durch Interrupts unterbrochen werden. Es wird dann der Interrupt-Auftrag abgearbeitet und anschließend wieder die Abarbeitung der begonnenen Task oder Zeitverwaltung fortgesetzt. Für die Tasks und Zeitverwaltungen gilt: ein Auftrag mit höherer Priorität kann erst nach Abarbeitung des momentanen Auftrages - auch wenn dieser eine niedrigere Priorität hat - aktiviert werden.
  • Die maximale Zeit für die Abarbeitung von Tasks einschließlich der Zeit für die möglicherweise während der Abarbeitung auftretenden Interrupts muß kleiner als 10 ms sein, damit die Zeitverwaltung ZV_LANG fehlerfrei arbeiten kann.
  • Je kürzer die einzelnen Tasks sind, desto höhere Echtzeit-Anforderungen werden von dem Betriebssystem erfüllt, d.h., desto schneller kann es auf bestimmte kurbelwellensynchrone oder Zeitsynchrone Ereignisse reagieren.
  • Das vorstehend beschriebene Betriebssystem des Rechenteils 2 der Motorsteuerung 1 ist in Figur 4 in Form eines Struktogramms dargestellt. Das Symbol "<>" bedeutet hierin "nicht gleich" oder "ungleich"
  • Eine Anfrage 26, ob der Bearbeitungszeiger der Synchronliste ungleich dem Eintragszeiger der Synchronliste ist, entspricht der Abfrage, ob eine Anforderung für eine Synchrontask vorliegt. Eine Anfrage 27, ob der Bearbeitungszeiger der Asynchronliste ungleich dem (zugehörigen) Eintragszeiger ist, entspricht der Abfrage, ob eine Anforderung für eine Synchrontask vorliegt. Der Inhalt der anderen Kästchen des Struktogramms 25 ist, auch im Hinblick auf die vorstehende Beschreibung, selbsterklärend.
  • Zusammengefaßt sei die Erfindung wie folgt beschrieben:
    Eine Steuerung 1 für einen Kraftfahrzeugmotor enthält einen Rechenteil 2, durch den Meßwerte erfaßt und ausgewertet werden, die Betriebsgrößen des Motors wiedergeben, und Steuersignale für Stellglieder erzeugt werden, die auf den Motorbetrieb einwirken (Zündung, Einspritzung usw.). Ein Betriebssystem steuert die Erfassung und Auswertung der Meßwerte und die Erzeugung von Steuersignalen derart, daß sich kurze Wechselzeiten für die abzuarbeitenden Programme ergeben. Durch das Betriebssystem werden folgende, in abgestufter Priorität abzuarbeitende Gruppen von Arbeitsabläufen festgelegt: Anforderung von Unterbrechungen (Interrupts), Zeitverwaltungsaufträge und Aktivierung von Arbeitsabläufen.

Claims (9)

  1. Motorsteuerung (1) mit einem Rechenteil (2), durch den Betriebsgrößen des Motors wiedergebende Meßwerte erfaßt und ausgewertet und Steuersignale für auf den Motorbetrieb einwirkende Stellglieder erzeugt werden, und mit einem die Erfassung und Auswertung und die Erzeugung von Steuersignalen steuernden Betriebssystem, unter welchem Programme unterschiedlicher Priorität abgearbeitet werden,
    wobei das Betriebssystem folgende Arbeitsabläufe festlegt:
    - Anforderungen von Unterbrechungen,
    die prioritätshöhere Programme oder Steuersignale auslösen
    - Zeitverwaltungen,
    die mit einem vorgegebenen Zeitraster gestartet werden, mit niedrigerer Priorität als die Unterbrechungen,
    wobei die Zeitverwaltungen Eintragungen in eine Synchronliste (20) und eine Asynchronliste (23) vornehmen, sofern Anforderungen für diese Listen (20, 23) vorliegen,
    wobei diese Listen mit niedrigster Priorität abgearbeitet werden, wobei die Synchronliste Vorrang hat.
  2. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Arbeitsabläufe in folgende, in absteigender Reihenfolge abzuarbeitende Prioritätsstufen
    unterteilt sind:
    - Anforderung von Unterbrechungen,
    - Überprüfung auf abgearbeitete kurze Zeitaufträge,
    - Aktivierung von synchronen Arbeitsabläufen,
    - Überprüfung auf abgearbeitete lange Zeitaufträge und
    - Aktivierung von asynchronen Arbeitsabläufen.
  3. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß folgende Quellen für Anforderungen von
    Unterbrechungen vorhanden sind:
    - externe Interrupts;
    - HSO-Interrupts,
    - HSI-Interrupts und
    - Interrupts für serielle Schnittstelle.
  4. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Zeitverwaltungen eine Überprüfung auf abgearbeitete kurze Zeitaufträge und eine Überprüfung auf abgearbeitete lange Zeitaufträge einschließen.
  5. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß von dem Rechenteil (2) Unterbrechungsanforderungen, insbesondere HSO-Interrupts, ausgegeben werden, aufgrund derer Steuersignale für die Stellglieder erzeugt werden.
  6. Motorsteuerung nach Anspruch 5, dadurch gekennzeichnet, daß durch die Steuersignale der Leerlauffüllungsssteller des Motors und gfs. das Tankentlüftungsventil des Kraftfahrzeugs gesteuert werden.
  7. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß von dem Rechenteil (2) Tachosignale empfangen und aufgrund dieser Signale Unterbrechungsanforderungen, insbesondere HSI-Interrupts, ausgelöst werden, die zur Ermittlung der Geschwindigkeit des Kraftfahrzeugs benutzt werden.
  8. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß von dem Rechenteil (2) Unterbrechungsanforderungen ausgewertet werden, die über eine Diagnoseschnittstelle von externen Geräten empfangen werden und durch die eine Kommunikation mit diesen externen Geräten gesteuert wird.
  9. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß sie einen Speicherbereich (16) aufweist, in dem eine erste Ringspeicherliste (20), in der die Anfangsadressen der zu aktivierenden synchronen Arbeitsabläufe gespeichert werden, und eine zweite Ringspeicherliste (23), in der die Anfangsadressen der zu aktivierenden asynchronen Arbeitsabläufe gespeichert werden, enthalten sind.
EP19930101326 1993-01-28 1993-01-28 Motorsteuerung Expired - Lifetime EP0608456B1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19930101326 EP0608456B1 (de) 1993-01-28 1993-01-28 Motorsteuerung
DE59302747T DE59302747D1 (de) 1993-01-28 1993-01-28 Motorsteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19930101326 EP0608456B1 (de) 1993-01-28 1993-01-28 Motorsteuerung

Publications (2)

Publication Number Publication Date
EP0608456A1 EP0608456A1 (de) 1994-08-03
EP0608456B1 true EP0608456B1 (de) 1996-05-29

Family

ID=8212564

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19930101326 Expired - Lifetime EP0608456B1 (de) 1993-01-28 1993-01-28 Motorsteuerung

Country Status (2)

Country Link
EP (1) EP0608456B1 (de)
DE (1) DE59302747D1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP4066961B2 (ja) * 2004-02-18 2008-03-26 トヨタ自動車株式会社 内燃機関の制御装置
DE102006039394B4 (de) * 2006-08-22 2014-04-10 Robert Bosch Gmbh Einrichtung zum Erfassen von Messdaten

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5584858A (en) * 1978-12-18 1980-06-26 Nippon Denso Co Ltd Engine control
JPS55137358A (en) * 1979-04-16 1980-10-27 Nissan Motor Co Ltd Controller for automobile
DE3826526A1 (de) * 1988-08-04 1990-02-08 Bosch Gmbh Robert Verfahren und vorrichtung zum einstellen von betriebsgroessen einer brennkraftmaschine
US4956781A (en) * 1989-02-15 1990-09-11 Delco Electronics Corporation Counter driven RAM engine control

Also Published As

Publication number Publication date
DE59302747D1 (de) 1996-07-04
EP0608456A1 (de) 1994-08-03

Similar Documents

Publication Publication Date Title
DE2845354C2 (de)
DE3100825C2 (de)
DE2732781C3 (de) Einrichtung zum Steuern von betriebsparameterabhängigen und sich wiederholenden Vorgängen
EP0007984B1 (de) Einrichtung zum Steuern der Zünd- und/oder Kraftstoffeinspritzvorgänge bei Brennkraftmaschinen
DE3033526C2 (de)
DE3609069A1 (de) Elektronisches steuerungssystem fuer brennkraftmaschinen
DE2551681C2 (de) Elektrisch gesteuerte Kraftstoffeinspritzanlage für Brennkraftmaschinen
DE2742057A1 (de) Geraet und verfahren zum messen von relativ- und teilarbeitsspieldrehzahlen bei der diagnose von verbrennungsmotoren
DE2845356A1 (de) Elektronische brennkraftmaschinen- regelanordnung
DE4129809A1 (de) Mehrrechnersystem
DE3226353A1 (de) Geraet zum steuern des energieumwandlungsprozesses eines motors mit innerer verbrennung
DE2929797C2 (de) Verfahren und Anordnung zum Steuern der Kraftstoffzufuhr, insbesondere der Kraftstoffeinspritzung, zu einer Brennkraftmaschine
DE2809023A1 (de) Digitalrechner fuer elektronische einspritzung
DE19935878A1 (de) Task-Steuerungsverfahren mit verringerter Stapelspeichererfordernis
DE3828733C2 (de)
DE3143191C2 (de) Datenabtastsystem für eine elektronische Steuerung für eine Brennkraftmaschine
DE2845355A1 (de) Elektronische brennkraftmaschinen- regelanordnung
EP0608456B1 (de) Motorsteuerung
DE2845357A1 (de) Regelanordnung fuer brennkraftmaschine
EP1313947B1 (de) Verfahren zum betreiben einer brennkraftmaschine und entsprechende vorrichtung
DE2850534A1 (de) Einrichtung, insbesondere zum steuern der zuend- und/oder kraftstoffeinspritzvorgaenge bei brennkraftmaschinen
DE2742082C2 (de) Anordnung zum Testen eines Verbrennungsmotors
DE3138057C2 (de) Verfahren zur Steuerung der Zündverstellung bei einer Brennkraftmaschine
DE4007395A1 (de) Zuendzeitpunktsteuervorrichtung fuer einen verbrennungsmotor
DE3321337A1 (de) Vorrichtung zum steuern der zuendung eines verbrennungsmotors

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19931216

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 19950123

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB

REF Corresponds to:

Ref document number: 59302747

Country of ref document: DE

Date of ref document: 19960704

ET Fr: translation filed
GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 19960806

PLBI Opposition filed

Free format text: ORIGINAL CODE: 0009260

PLBF Reply of patent proprietor to notice(s) of opposition

Free format text: ORIGINAL CODE: EPIDOS OBSO

26 Opposition filed

Opponent name: ROBERT BOSCH GMBH

Effective date: 19970228

PLBF Reply of patent proprietor to notice(s) of opposition

Free format text: ORIGINAL CODE: EPIDOS OBSO

PLBO Opposition rejected

Free format text: ORIGINAL CODE: EPIDOS REJO

PLBN Opposition rejected

Free format text: ORIGINAL CODE: 0009273

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: OPPOSITION REJECTED

27O Opposition rejected

Effective date: 19980205

REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20040113

Year of fee payment: 12

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050128

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20050128

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20090122

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20090115

Year of fee payment: 17

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20100930

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100201

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100803