Beschreibungdescription
Verfahren und Anordnung zur Erzeugung motorsynchroner digita¬ ler SignaleMethod and arrangement for generating motor synchronous digita¬ ler signals
Gebiet der ErfindungField of the invention
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Erzeugung motorsynchroner digitaler Signale zur Steuerung ei- nes Verbrennungsmotors. Insbesondere betrifft die Erfindung ein Verfahren und eine Anordnung zur Erzeugung beliebiger di¬ gitaler Signalformen, welche vorgegebenen Randbedingungen be¬ züglich des Betriebszustandes eines Verbrennungsmotors unter¬ liegen. Derartige Verfahren und Anordnungen werden überwie- gend zur Steuerung von Verbrennungsmotoren mittels Motorsteu¬ erungsgeräten (Engine Control Units, ECUs) eingesetzt, bei¬ spielsweise bei der Erzeugung von Einspritzpulsen, Zündpulsen oder Signalen für die Klopfdetektion (Klopf-Window) .The invention relates to a method and an arrangement for generating motor-synchronous digital signals for controlling an internal combustion engine. In particular, the invention relates to a method and an arrangement for generating arbitrary digital signal forms, which are subject to predetermined boundary conditions with regard to the operating state of an internal combustion engine. Such methods and arrangements are predominantly used for controlling internal combustion engines by means of engine control units (engine control units, ECUs), for example during the generation of injection pulses, ignition pulses or signals for knock detection (knock window).
Stand der TechnikState of the art
Der Betrieb moderner Verbrennungsmotoren in der Automobil¬ technik ist ohne den Einsatz von hochleistungsfähigen Compu- tersystemen undenkbar. Insbesondere die zunehmend restrikti¬ ven Anforderungen an die Schadstoffemission' in Form von ent¬ sprechenden gesetzlichen Regelungen machen den Einsatz ausge¬ feilter. Computer- und Regelungstechnik für die präzise Ein¬ stellung des Verbrennungsgemischs und des ZündungsZeitpunkts erforderlich.The operation of modern internal combustion engines in automotive engineering is unthinkable without the use of high-performance computer systems. In particular, the increasingly restrictive requirements for pollutant emission in the form of corresponding statutory provisions make the use of the invention more sophisticated. Computer and control technology for the precise adjustment of the combustion mixture and the ignition timing required.
Diese Aufgaben werden im wesentlichen von dem Motorsteue¬ rungsgerät (ECU) , dem leistungsfähigsten Computersystem an Bord eines Kraftfahrzeugs, übernommen. Neben einem oder meh- reren Mikroprozessoren (i. d. R. sogenannten "eingebetteten Systemen", engl. Embedded Systems) sind eine Reihe weiterer elektronischer Komponenten, wie beispielsweise Analog-
Digital-Wandler (AD-Wandler) ■ oder elektronische Filterbau¬ steine, in das entsprechende Gehäuse eines Motorsteuerungsge¬ räts integriert. Typische Motorsteuerungsgeräte unterliegen einer hohen Echtzeitanforderung, was aufgrund der begrenzten Speicher- und Prozessorkapazität (z. B. 32-bit Prozessoren, 56 MHz, 32 kByte Arbeitsspeicher) grundsätzlich eine sorgfäl¬ tige Optimierung sämtlicher Algorithmen erfordert. Das Mo- torsteuerungsgerät berechnet aus zahlreichen Sensorsignalen entsprechende Regelsignale und Einstellungsparameter, wie beispielsweise einen optimalen Zeitpunkt einer Zündung oder die optimale Zeitdauer einer Kraftstoffeinspritzung.These tasks are essentially taken over by the engine control unit (ECU), the most powerful computer system on board a motor vehicle. In addition to one or more microprocessors (usually called "embedded systems"), a number of other electronic components, such as analogue Digital converter (AD converter) ■ or electronic Filterbau¬ stones, integrated into the corresponding housing of a Motorsteuerungsge¬ device. Typical motor control devices are subject to a high real-time requirement, which requires a careful optimization of all algorithms due to the limited memory and processor capacity (eg 32-bit processors, 56 MHz, 32 kbytes of main memory). The engine control unit calculates corresponding control signals and adjustment parameters from numerous sensor signals, such as an optimal time of ignition or the optimal duration of a fuel injection.
Dementsprechend besteht eine wesentliche Aufgabe der Steue¬ rung von Verbrennungsmotoren in der Erzeugung bestimmter Sig- nale, insbesondere digitaler Signale, welche eine vorgegebene Form aufweisen sollen. Weiterhin müssen die Signale häufig in einem genau vorgegebenen Betriebszustand des Verbrennungsmo¬ tors, beispielsweise einer genau definierten Stellung eines Kolbens, einer definierten WinkelStellung einer Kurbelwelle oder einer vorgegebenen Winkelstellung einer Nockenwelle er¬ zeugt und ausgegeben werden.Accordingly, an essential task of the control of internal combustion engines is the generation of specific signals, in particular digital signals, which should have a predetermined shape. Furthermore, the signals often have to be generated and output in a precisely predetermined operating state of the combustion engine, for example a precisely defined position of a piston, a defined angular position of a crankshaft or a predetermined angular position of a camshaft.
Häufig ist der Zeitpunkt, zu dem die Signale ausgegeben wer¬ den sollen, durch bestimmte Randbedingungen definiert, welche auch miteinander konkurrieren können. So kann beispielsweise die Bedingung vorgegeben sein, dass ein bestimmtes Signal ei¬ ne Millisekunde vor einem bestimmten Ereignis, beispielsweise dem oberen Totzeitpunkt eines Zylinders (Top Dead Center, TDC - mit TDC wird im folgenden sowohl der Zeitpunkt des Errei- chens des Totpunkts als auch die Winkelstellung des Totpunkts bezeichnet) , jedoch nicht später als eine bestimmte Winkel¬ differenz vor diesem Ereignis (z. B. nicht später als 10° Kurbelwellenwinkel vor TDC), ausgegeben werden soll. Die bei¬ den hier angegebenen Randbedingungen konkurrieren miteinan- der. Tritt die Winkelbedingung früher ein als die Zeitbedin¬ gung, so wird das Signal bereits früher als eine Millisekunde vor TDC ausgegeben, nämlich genau zu dem Zeitpunkt, in wel-
chem die Winkelstellung der Kurbelwelle einen Winkel von 10° vor TDC erreicht.Frequently, the point in time at which the signals are to be output is defined by certain boundary conditions which can also compete with one another. Thus, for example, the condition may be predetermined that a certain signal ei¬ millisecond before a certain event, such as the top dead center of a cylinder (TDC top dead center, TDC - in the following both the time of reaching the dead center and the angular position of the dead center is referred to), but not later than a certain angle difference before this event (eg not later than 10 ° crankshaft angle before TDC) is to be output. The boundary conditions given here compete with one another. If the angle condition occurs earlier than the time condition, then the signal is output earlier than one millisecond before TDC, namely, exactly at the time in which chem the angular position of the crankshaft reaches an angle of 10 ° before TDC.
Dieses einfache Beispiel zeigt bereits recht deutlich die Probleme, welche bei der Berechnung und der Ausgabe derarti¬ ger Signale auftreten: Die ECU berechnet grundsätzlich alle Signale entsprechend ihrer inneren Uhr (Zähler, Clock) , wo¬ hingegen der Betriebszustand des Verbrennungsmotors regelmä¬ ßig insbesondere durch die Winkelstellung der Kurbelwelle de- finiert ist.This simple example already quite clearly shows the problems which occur in the calculation and the output of such signals: The ECU basically calculates all signals corresponding to its internal clock (counter, clock), whereas the operating state of the internal combustion engine regularly is defined by the angular position of the crankshaft.
Je nach Typ des Verbrennungsmotors definiert die Winkelstel¬ lung der Kurbelwelle exakt die Stellung der Kolben in jedem einzelnen Zylinder. So umfasst beispielsweise ein kompletter Zyklus eines typischen Vierzylinder-Verbrennungsmotors zwei komplette Umdrehungen der Kurbelwelle, also Winkel von 0° bis 720°. Nach zwei Umdrehungen (720°) hat jeder Zylinder des Mo¬ tors einmal seinen Zyklus durchfahren.Depending on the type of internal combustion engine, the angular position of the crankshaft exactly defines the position of the pistons in each individual cylinder. For example, a complete cycle of a typical four-cylinder internal combustion engine includes two complete revolutions of the crankshaft, ie angles from 0 ° to 720 °. After two revolutions (720 °), each cylinder of the engine has passed through its cycle once.
Die Winkelstellung der Kurbelwelle wird typischerweise mit¬ tels einer sogenannten Geberscheibe auf der Kurbelwelle er- fasst. Bei dieser Geberscheibe handelt es sich meist um eine metallische Zahnscheibe, deren Drehung üblicherweise mittels eines induktiven Sensors erfasst wird. Typische Geberscheiben für Vierzylindermotoren weisen beispielsweise 60 Zähne auf (bzw. 58 nach Abzug der zwei "Zahnlücken") , was einer Anzahl von 120 Zähnen für einen kompletten Zyklus von 720°, also ei¬ nem Zahn pro 6° Winkelstellung, entspricht. Mittels verschie¬ dener Sensorsysteme werden die Zähne der Geberscheibe erfasst und so die augenblickliche Winkelstellung der Kurbelwelle ge¬ messen.The angular position of the crankshaft is typically detected by means of a so-called encoder disk on the crankshaft. This encoder disk is usually a metallic toothed disk whose rotation is usually detected by means of an inductive sensor. For example, typical donor disks for four-cylinder engines have 60 teeth (or 58 after deduction of the two "tooth gaps"), which corresponds to a number of 120 teeth for a complete cycle of 720 °, ie one tooth per 6 ° angular position. By means of different sensor systems, the teeth of the encoder disk are detected and thus the instantaneous angular position of the crankshaft is measured.
Die Zeitvariable der ECU und die Winkelstellung der Kurbel¬ welle stehen jedoch nicht in einem wohldefinierten, festen Verhältnis zueinander, da die Umrechnung von Winkel- in Zeit¬ einheiten und umgekehrt stets von der Drehzahl des Verbren¬ nungsmotors abhängig ist. Dies erfordert jedoch, dass die ECU
bei der Berechnung bestimmter digitaler Signale ständig unter Berücksichtigung der aktuellen Drehzahl zwischen Zeitvariab¬ le und Winkelvariablen umrechnet, was in der Realität einer ständigen Neuberechnung der zu generierenden digitalen Signa- Ie entspricht. Dieser Rechenaufwand belastet die begrenzten Ressourcen des Motorsteuerungsgeräts erheblich.However, the time variable of the ECU and the angular position of the crankshaft are not in a well-defined, fixed relationship to one another, since the conversion from angular to time units and vice versa always depends on the rotational speed of the combustion engine. However, this requires that the ECU in the calculation of certain digital signals constantly converts taking into account the current speed between Zeitvariab¬ le and angle variables, which in reality corresponds to a constant recalculation of the digital signal to be generated. This computational burden significantly burdens the limited resources of the engine control unit.
Soll beispielsweise ein bestimmter Puls in einer bestimmten Winkelstellung vor TDC ausgegeben werden, so wird in herkömm- liehen Algorithmen zunächst die augenblickliche Winkelstel¬ lung und die augenblickliche Drehzahl erfasst. Daraus wird dann eine Zeitvorhersage generiert, wann die vorgegebene Win¬ kelstellung vor TDC erreicht sein wird. Zu diesem vorherge¬ sagten Zeitpunkt wird dann der entsprechende Puls ausgegeben. Kurzfristige Änderungen der Drehzahl werden bei diesen Ver¬ fahren zumeist nicht berücksichtigt. Erheblich komplizierter wird das Verfahren zudem, wenn zusätzlich weitere Randbedin¬ gungen (wie im obigen Beispiel) vorgegeben sind oder wenn kompliziertere Pulsfolgen mit aufeinanderfolgenden, von ex- ternen Vorgaben abhängigen Ereignissen (z. B. einer positiven Flanke) generiert und ausgegeben werden sollen.If, for example, a particular pulse is to be output in a specific angular position before TDC, the instantaneous angular position and the instantaneous rotational speed are first detected in conventional algorithms. From this, a time prediction is then generated when the predefined angle position is reached before TDC. At this vorherge¬ said time then the corresponding pulse is output. Short-term changes in the rotational speed are usually not taken into account in these methods. In addition, the method becomes considerably more complicated when additionally additional boundary conditions (as in the above example) are predetermined or when more complicated pulse sequences with successive events dependent on external prescriptions (eg a positive edge) are to be generated and output.
Die beschriebenen Probleme machen sich insbesondere dann be¬ merkbar, wenn die Vorgaben bezüglich der Form des auszugeben- den Signals häufig geändert werden. Dies kann einerseits bei laufendem Betrieb des Verbrennungsmotors der Fall sein, bei¬ spielsweise wenn an Stelle eines Einspritzpulses nun ein Zündpuls mit vollständig unterschiedlicher Signalform ausge¬ geben werden soll. Weiterhin treten auch während der Entwick- lung von MotorsteuerungsSystemen oder bei einer nachfolgenden Optimierung dieser Systeme in einer Werkstatt häufig verän¬ derte Vorgaben bezüglich der Form der auszugebenden Signale auf, welche in den herkömmlichen Verfahren eine vollständige Änderung des in der ECU gespeicherten Softwarecodes erforder- lieh machen.
AufgabeThe described problems become particularly noticeable when the specifications regarding the shape of the signal to be output are frequently changed. On the one hand, this may be the case during ongoing operation of the internal combustion engine, for example if, instead of an injection pulse, an ignition pulse with a completely different signal shape should now be output. Furthermore, during the development of engine control systems or during a subsequent optimization of these systems in a workshop, changed specifications with regard to the shape of the signals to be output occur frequently, which in the conventional methods necessitate a complete change of the software code stored in the ECU do. task
Aufgabe der Erfindung ist es daher, die bestehenden Möglich¬ keiten zur Erzeugung motorsynchroner Signale, insbesondere von Einspritz- oder Zündpulsen oder Signalen zur Definition eines Klopf-Windows, zu verbessern.The object of the invention is therefore to improve the existing possibilities for generating motor-synchronous signals, in particular injection or ignition pulses or signals for defining a knocking Windows.
Lösung'Solution'
Diese Aufgabe wird durch die Erfindungen mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildun¬ gen der Erfindungen sind in den Unteransprüchen gekennzeich¬ net.This object is achieved by the inventions having the features of the independent claims. Advantageous developments of the inventions are indicated in the subclaims.
Es wird ein Verfahren zur Erzeugung motorsynchroner digitaler Signale zur Steuerung eines Verbrennungsmotors vorgeschlagen, sowie eine Anordnung, mittels derer sich das beschriebene Verfahren in einer der dargestellten Ausführungsformen reali- sieren lässt.A method for generating motor-synchronous digital signals for controlling an internal combustion engine is proposed, as well as an arrangement by means of which the described method can be realized in one of the illustrated embodiments.
Unter einem motorsynchronen digitalen Signal ist dabei ein digitales Signal zu verstehen, welches in unmittelbarer Kor¬ relation zum Betriebszustand des Verbrennungsmotors, bei- spielsweise der Winkelstellung einer Kurbelwelle, steht. Mo¬ torsynchron bedeutet also, dass bestimmte Signale (z. B. Flanken oder ganze Pulse) in einem bestimmten Betriebszustand des Verbrennungsmotors ausgegeben werden, wobei jedoch ge¬ ringfügige Ungenauigkeiten (z. B. im Bereich eines Winkelfeh- lers von 6°) in Kauf genommen werden, welche beispielsweise daraus resultieren, dass sich die Drehzahl des Verbrennungs¬ motors zwischen Anfang und Ende der Berechnung des digitalen Signals verändert hat.An engine-synchronous digital signal is to be understood as meaning a digital signal which is in direct correlation with the operating state of the internal combustion engine, for example the angular position of a crankshaft. Thus, motor-synchronous means that certain signals (eg flanks or entire pulses) are output in a specific operating state of the internal combustion engine, but with slight inaccuracies (eg in the range of an angle error of 6 °) in FIG Buy, which, for example, result from the fact that the speed of the Verbrennungs¬ engine has changed between the beginning and end of the calculation of the digital signal.
Dabei werden insgesamt in dieser Beschreibung die Begriffe "Signal", "Puls" oder ähnliche Begriffe synonym verwendet. Es handelt es sich dabei grundsätzlich um digitale elektrische
Signale mit beliebigem zeitlichen Verlauf, also sowohl ein¬ zelne Pulse (d. h. beispielsweise "steigende Flanke - High- Pegel - fallende Flanke") als auch komplexere Signalformen. Grundsätzlich setzt sich ein Signal also aus einer Abfolge von Flanken (steigende Flanken, fallende Flanken) und Perio¬ den konstanten Signalpegels (z. B. TTL-High, TTL-Low) zusam¬ men.In this context, the terms "signal", "pulse" or similar terms are used interchangeably throughout this description. These are basically digital electrical Signals with arbitrary time course, ie both individual pulses (ie for example "rising edge - high level - falling edge") as well as more complex signal forms. In principle, a signal is thus composed of a sequence of edges (rising edges, falling edges) and perio of the constant signal level (eg TTL high, TTL low).
Das vorgeschlagene Verfahren soll folgenden Schritte aufwei- sen, wobei die angegebenen Schritte nicht notwendigerweise in der dargestellten Reihenfolge durchgeführt werden müssen. Die Durchführung der Verfahrensschritte kann insbesondere auch parallel, zeitlich überlappend oder auch kontinuierlich er¬ folgen. Weiterhin können neben den aufgeführten Verfahrens- schritten auch weitere, nicht dargestellte Verfahrensschritte durchgeführt werden.The proposed method should have the following steps, wherein the specified steps need not necessarily be carried out in the order shown. The execution of the method steps can in particular also be carried out in parallel, temporally overlapping or also continuously. Furthermore, in addition to the listed process steps, further, not shown, process steps can be performed.
Zunächst wird eine Signalkonfiguration ganz oder teilweise in einen ersten elektronischen Speicher eines Computersystems eingelesen. Diese Signalkonfiguration soll die folgenden In¬ formationen beinhalten, wobei außerdem zusätzliche, nicht aufgeführte Informationen enthalten sein können:First, a signal configuration is read in whole or in part in a first electronic memory of a computer system. This signal configuration should contain the following information, wherein additional information not listed may also be included:
- mindestens eine Ereignisinformation, wobei die mindes¬ tens eine Ereignisinformation Informationen über mindes- tens ein Ereignis aufweist,at least one event information, wherein the at least one event information has information about at least one event,
- mindestens eine Gruppeninformation, wobei die mindestens eine Gruppeninformation mindestens eine Information über die Zusammenfassung eines oder .mehrerer Ereignisse zu einer Gruppe aufweist und - mindestens eine Ketteninformation, wobei die mindestens eine Ketteninformation Informationen über die Zusammen¬ fügung einer oder mehrerer Gruppen zu einer Kette auf¬ weist.at least one group information, wherein the at least one group information comprises at least information about the grouping of one or more events into a group, and at least one chain information, wherein the at least one chain information contains information about the combination of one or more groups into a chain ¬ points.
Weiterhin wird mindestens eine Zustandsvariable in das Compu¬ tersystem (beispielsweise ebenfalls in den ersten elektroni¬ schen Speicher) eingelesen. Diese mindestens eine Zustandsva-
riable soll Informationen über einen Betriebszustand des Verbrennungsmotors enthalten. Dabei kann es sich beispiels¬ weise um die Stellung eines Kolbens, eine Winkelstellung ei¬ ner Nockenwelle, eine Winkelstellung einer Kurbelwelle oder um ähnliche Informationen handeln. In einer bevorzugten Aus¬ führungsform wird die Winkelstellung einer Kurbelwelle ver¬ wendet, wovon in der folgenden Beschreibung ausgegangen wer¬ den soll.Furthermore, at least one state variable is read into the computer system (for example likewise into the first electronic memory). These at least one state Riable should contain information about an operating condition of the internal combustion engine. This may be, for example, the position of a piston, an angular position of a camshaft, an angular position of a crankshaft, or similar information. In a preferred embodiment, the angular position of a crankshaft is used, which is to be assumed in the following description.
Weiterhin wird aus der eingelesenen mindestens einen Signal¬ konfiguration und der eingelesenen mindestens einen Zustands- variablen mindestens ein digitales Signal berechnet. Vorzugs¬ weise wird dieses berechnete digitale Signal in elektroni¬ scher Form mit vorgegebenen Pegeln (High, Low, beispielsweise TTL-Pegeln) über eine physikalische Schnittstelle, insbeson¬ dere einen bestimmten Pin (Signalstift) einer Schnittstelle ausgegeben.Furthermore, at least one digital signal is calculated from the read-in at least one signal configuration and the read-in at least one state variable. Preferably, this calculated digital signal is output in electronic form with predetermined levels (high, low, for example TTL levels) via a physical interface, in particular a specific pin (signal pin) of an interface.
Der Begriff eines Computersystems ist dabei weit auszulegen. Es kann sich beispielsweise lediglich um einen Prozessor han¬ deln, es kann jedoch auch ein zusätzlicher Arbeitsspeicher oder auch ein zusätzlicher nicht flüchtiger Speicher sowie weitere, nicht genannte Hardware, mit umfasst sein.The term of a computer system is to be interpreted broadly. It may, for example, be merely a processor, but it may also include an additional main memory or an additional non-volatile memory as well as other hardware not mentioned.
Vorzugsweise ist die eingelesene Signalkonfiguration vor dem Einlesen in einem zweiten elektronischen Speicher, insbeson¬ dere einem nichtflüchtigen Speicher, abgespeichert. Es kann sich insbesondere bei diesem nichtflüchtigen Speicher um ei¬ nen Flash-Speicher handeln. Bei dem ersten elektronischen Speicher handelt es sich beispielsweise um einen Arbeitsspei¬ cher (RAM) des Computersystems. Diese Weiterbildung bietet den Vorteil, dass die Verwendung neuer Signalformen lediglich eine Änderung der im Flash-Speicher gespeicherten Signalkon¬ figuration erfordert. Weiterhin können die Informationen vor und nach dem Einlesen auch geteilt abgespeichert sein, z. B. ein Teil der Informationen in einem Flash-Speicher, ein ande¬ rer Teil in einem Arbeitsspeicher.
Bei der Signalkonfiguration handelt es sich um Vorgaben be¬ züglich der Form des zu berechnenden digitalen Signals, sowie weiterer Vorgaben, insbesondere über die zeitliche Abfolge und bestimmte Bedingungen der Abfolge (Timing) einzelner Be¬ standteile des digitalen Signals.The read-in signal configuration is preferably stored in a second electronic memory, in particular a nonvolatile memory, prior to read-in. In particular, this non-volatile memory may be a flash memory. The first electronic memory is, for example, a working memory (RAM) of the computer system. This refinement has the advantage that the use of new signal forms only requires a change in the signal configuration stored in the flash memory. Furthermore, the information before and after reading can also be stored divided, z. For example, part of the information in a flash memory, another part in a working memory. The signal configuration concerns specifications with regard to the shape of the digital signal to be calculated, as well as further specifications, in particular about the time sequence and certain conditions of the sequence (timing) of individual components of the digital signal.
In einer vorteilhaften Ausgestaltung enthält die eingelesene mindestens eine Ereignisinformation mindestens eine der fol- genden Informationen über ein oder mehrere Ereignisse: eine Information darüber, dass ein Ereignis in Form ei¬ ner Ausgabe eines Signals mit einem einen bestimmten Signalpegel eintreten soll, o z. B. "generiere ein TTL-High-Singal", - eine Information darüber, dass ein Ereignis in Form ei¬ nes Wechsels eines Signalpegels von einem vorgegebenen ersten Pegel zu einem vorgegebenen zweiten Pegel (Flan¬ ke) eintreten soll, o z. B. "generiere eine steigende Flanke von einem TTL-Low- zu einem TTL-High-Signal", eine Information darüber, dass ein Ereignis zu einem vorgegebenen Zeitpunkt und/oder in einem vorgegebenen Betriebszustand, insbesondere in einer vorgegebenen Win¬ kelstellung einer Kurbelwelle, eintreten soll, o z. B. "das Ereignis soll in einer Winkelstellung der Kurbelwelle von 480° eintreten", eine Information darüber, dass ein Ereignis mit einer vorgegebenen Zeitdifferenz und/oder einer vorgegebenenIn an advantageous embodiment, the read at least one event information contains at least one of the following information about one or more events: information that an event in the form ei¬ ner output of a signal with a certain signal level should occur, o. For example, "generate a TTL high signal", - an information that an event in the form ei¬ nes change of a signal level from a predetermined first level to a predetermined second level (Flan¬ ke) should occur, o. B. "generate a rising edge of a TTL low to a TTL high signal", information that an event at a given time and / or in a predetermined operating condition, in particular in a predetermined Win¬ kelstellung a crankshaft , should occur, o. B. "the event should occur in an angular position of the crankshaft of 480 °", an information that an event with a predetermined time difference and / or a predetermined
Betriebszustandsdifferenz, insbesondere einer Winkeldif- ferenz einer Winkelstellung einer Kurbelwelle, vor oder nach einem vorgegebenen anderen Ereignis eintreten soll, o z. B. "das Ereignis soll in einer Winkelstellung der Kurbelwelle von 20° vor TDC stattfinden", eine Information darüber, dass ein Ereignis für ein vor- gegebenes Zeitintervall und oder Betriebszustandsinter- vall, insbesondere ein Winkelstellungsintervall einer Winkelstellung einer Kurbelwelle, andauern soll,
o z. B. "das Ereignis (z. B. ein TTL-High-Pegel) soll 1 Millisekunde dauern" oder "das Ereignis soll über ein Intervall der Winkelstellung der Kurbelwelle von 10° andauern", - eine Information darüber, ob ein bestimmtes Ereignis eintreten soll (enable) oder nicht (disable) , eine Information über das Ereignis und/oder die Gruppe, welche als nächstes eintreten soll.Operating state difference, in particular an angular difference of an angular position of a crankshaft, before or after a predetermined other event should occur o. B. "the event should take place in an angular position of the crankshaft of 20 ° before TDC", an information that an event for a given time interval and or operating state interval, in particular an angular position interval of an angular position of a crankshaft, should continue o. For example, "the event (eg, a TTL high level) should last 1 millisecond" or "the event should last for an interval of crankshaft angular position of 10 degrees", - information as to whether a particular event is occurring should (enable) or not (disable), information about the event and / or the group, which should occur next.
Bei einem Ereignis kann es sich also um ein quasi infinitesi¬ mal kurzes Ereignis (z. B. eine Flanke) handeln, aber auch um ein länger andauerndes Ereignis, wie z. B. einen "hohen Sig¬ nalpegel". Weiterhin kann es sich bei einem Ereignis auch um das Eintreten eines bestimmten Betriebszustandes (z. B. einer bestimmten Winkelstellung, beispielsweise 10° vor TDC) oder um einen bestimmten Zeitpunkt handeln (z. B. 10 Millisekunden vor TDC) .An event can therefore be a quasi-infinitesimally short event (eg a flank), but also a longer-lasting event, such as an event. B. a "high Sig¬ nalpegel". Furthermore, an event may also be the occurrence of a specific operating state (for example, a specific angular position, for example 10 ° before TDC) or a specific time (eg 10 milliseconds before TDC).
Das Vorsehen einer Enable-/Disable-Information ermöglicht es, ganze Teile des Signals zwar vorzusehen, diese bei Bedarf a- ber "auszuschalten" . So kann beispielsweise in dem digitalen Signal ein zusätzlicher einzelner Puls vorgesehen sein, der jedoch bei Bedarf (z. B. bei bestimmten Motortypen) ausge¬ schaltet werden bzw. durch ein "Disable" unterdrückt werden kann.The provision of enable / disable information makes it possible to provide entire parts of the signal, but to "turn it off" if necessary. Thus, for example, an additional single pulse may be provided in the digital signal, but if necessary (eg for certain types of motor) it can be switched off or suppressed by a "disable".
Die mindestens eine Gruppeninformation soll darauf hinweisen, wie die einzelnen Ereignisse zu gruppieren sind und kann ins¬ besondere Regeln für die Ausführung der Ereignisse innerhalb der Gruppe enthalten. In einer vorteilhaften Ausgestaltung enthält die Gruppeninformation daher mindestens eine der fol¬ genden Informationen über eine oder mehrere Gruppen: eine Information über die Identität mindestens eines in der Gruppe zusammengefassten Ereignisses, o z. B. "Ereignis 1 (z. B. positive Flanke) gehört zu Gruppe 5",
eine Information über eine logische Verknüpfung und/oder einen bedingten Eintritt und/oder eine Priorisierung ei¬ nes oder mehrerer in der Gruppe zusammengefassten Ereig¬ nisse, o z. B. "Zu Gruppe 4 gehören die Ereignisse 3, 6 und 15. Ereignis 3 soll ausgeführt werden, wenn Ereig¬ nis 6 (z. B. 1 Millisekunde vor TDC) eintritt, je¬ doch nicht später als Ereignis 15 (z. B. Winkel¬ stellung 10° vor TDC).", - eine Information über den voraussichtlichen Betriebzu¬ stand und/oder die voraussichtliche Zeit, zu der eines oder mehrerer der in der Gruppe zusammengefassten Ereig¬ nisse eintreten werden, o z. B. "Entsprechend der aktuellen Motordrehzahl wird Ereignis 15 (Winkelstellung 10° vor TDC) vor¬ aussichtlich bei Zeitzähler 4578 eintreten.", eine Information über den Zeitpunkt und/oder den Be¬ triebszustand, in dem das letzte vorhergehenden Ereignis eingetreten ist, o z. B. "Das letzte vorhergehende Ereignis war Ereig¬ nis 27 (z. B. eine negative Flanke), welches bei Zeitzähler 3588 eingeträten ist.".The at least one group information should indicate how the individual events are to be grouped and may contain special rules for the execution of the events within the group. In an advantageous embodiment, the group information therefore contains at least one of the following information about one or more groups: information about the identity of at least one grouped event, o. Eg "Event 1 (eg positive edge) belongs to group 5", information about a logical link and / or conditional entry and / or prioritization of one or more events grouped together in the group, eg. B. "Group 4 includes events 3, 6, and 15. Event 3 should be executed when event 6 occurs (eg, 1 millisecond before TDC), but not later than event 15 (e.g. Angular position 10 ° before TDC). ", - information about the anticipated operating status and / or the probable time at which one or more of the events summarized in the group will occur, o. B. "According to the current engine speed, event 15 (angular position 10 ° before TDC) will presumably occur at time counter 4578.", information about the time and / or the operating state in which the last preceding event occurred, o z. B. "The last preceding event was event 27 (eg, a negative edge) which occurred at time counter 3588."
Bei der logischen Verknüpfung der Ereignisse kann es sich um eine logische Verknüpfung der Ereignisse innerhalb der Grup¬ pe, beispielsweise durch einen bedingten Eintritt eines be¬ stimmten Ereignisses (siehe obiges Beispiel) oder auch um die Erfüllung einer externen Bedingung handeln. So kann bei¬ spielsweise in einer Gruppeninformation als Bedingung vorge- geben werden, dass ein bestimmtes Ereignis nur eintreten soll, wenn ein Signal auf einem bestimmten Pin einer Schnitt¬ stelle einen bestimmten Signalpegel (z. B. ein TTL-High) auf¬ weist.The logical linking of the events may be a logical combination of the events within the group, for example by a conditional occurrence of a certain event (see example above) or else the fulfillment of an external condition. Thus, for example, it can be specified in a group information as a condition that a specific event should only occur if a signal on a specific pin of an interface has a certain signal level (eg a TTL high) ,
Bei der Berechnung des digitalen Signals werden auf der Ebene einer Gruppe alle Ereignisse dahingehend ausgewertet, dass der Eintritt aller Ereignisse berechnet wird. Dabei werden
unter Berücksichtigung der in der mindestens einen Gruppenin¬ formation angegebenen Bedingungen und Priorisierungen der Er¬ eignisse die Zeitpunkte oder auch die Betriebszustände (z. B. Winkelstellungen) des Eintritts eines jeden Ereignisses be- rechnet, wobei jedoch vorzugsweise bei dieser Berechnung nur eine einzige dieser beiden Variablen, insbesondere die Zeit, verwendet wird. Dabei wird vorzugsweise ständig ein aktuali¬ sierte Version der eingelesenen Zustandsvariablen, beispiels¬ weise der Winkelstellung der Kurbelwelle oder der Drehzahl, verwendet, wodurch insbesondere ein ständiger Abgleich zwi¬ schen Betriebszustand des Verbrennungsmotors und der internen Zeit eines Computersystems gewährleistet ist. Somit ist nach der Berechnung der Zeitpunkt eines jeden Ereignisses, welches einer bestimmten Gruppe zugeordnet ist, bekannt.When calculating the digital signal, all events at the level of a group are evaluated in such a way that the occurrence of all events is calculated. It will be taking into account the conditions and prioritizations of the events specified in the at least one group information, the times or also the operating states (eg angle positions) of the occurrence of each event are calculated, but preferably only one of these is used in this calculation both variables, in particular the time, is used. In this case, an updated version of the read-in state variables, for example the angular position of the crankshaft or the rotational speed, is preferably used continuously, which ensures, in particular, a constant comparison between the operating state of the internal combustion engine and the internal time of a computer system. Thus, after the calculation, the time of each event associated with a particular group is known.
Vorzugsweise werden im laufenden Betrieb des Verbrennungsmo¬ tors bzw. während der Berechnung des mindestens einen digita¬ len Signals die ursprünglich eingelesenen Informationen (Er¬ eignisinformationen und/oder Gruppeninformationen und/oder Ketteninformationen) ständig ergänzt und aktualisiert. So kann insbesondere der Zeitpunkt des Eintritts bestimmter Er¬ eignisse verzeichnet werden und, abhängig von dem aktuellen Wert der mindestens einen Zustandsvariablen des Verbrennungs¬ motors (z. B. der Winkelstellung der Kurbelwelle), eine Vor- hersage über den Zeitpunkt des Eintritts eines bestimmten Er¬ eignisses ständig aktualisiert werden. Auch entsprechende In¬ formationen über den tatsächlichen Eintritt bestimmter Ereig¬ nisse können aktualisiert gespeichert werden, z. B. in Form einer "Fertigmeldung". Auf diese aktualisierten Informationen kann auch die weitere Berechnung des mindestens einen digita¬ len Signals gestützt werden.Preferably, during operation of the internal combustion engine or during the calculation of the at least one digital signal, the information originally read in (event information and / or group information and / or chain information) is constantly supplemented and updated. Thus, in particular, the time of occurrence of certain events can be recorded and, depending on the current value of the at least one state variable of the internal combustion engine (eg the angular position of the crankshaft), a prediction of the time of occurrence of a specific Er events are constantly updated. Corresponding information about the actual occurrence of certain events can also be stored in an updated manner, eg. B. in the form of a "ready message". The further calculation of the at least one digital signal can also be based on this updated information.
Die mindestens eine Ketteninformation schließlich stellt die höchste Ebene der Informationen über das zu berechnende digi- tales Signal dar. Sie soll insbesondere Informationen über den gesamten Verlauf des zu berechnenden digitalen Signals enthalten und beschreibt daher, wie die einzelnen Gruppen an-
einanderzureihen sind. Weiterhin kann sie Informationen dar¬ über enthalten, wann (d. h. beispielsweise zu welchem Zeit¬ punkt oder in welcher Winkelstellung der Kurbelwelle) das di¬ gitale Signal schließlich ausgegeben werden soll. Nach Aus- wertung der Ketteninformationen ist die Berechnung des min¬ destens einen digitalen Signals somit weitgehend abgeschlos¬ sen, so dass unmittelbar eine Ausgabe des berechneten digita¬ len Signals erfolgen kann.Finally, the at least one chain information represents the highest level of information about the digital signal to be calculated. In particular, it should contain information about the entire course of the digital signal to be calculated and therefore describes how the individual groups are to be calculated. to line up. Furthermore, it can contain information about when (ie, for example at what time or in which angular position of the crankshaft) the digital signal should finally be output. After evaluation of the chain information, the calculation of the at least one digital signal is thus largely completed, so that an immediate output of the calculated digital signal can take place.
Unter einer "Aneinanderreihung" der Gruppen ist nicht notwen¬ digerweise ein überlappfreies Aneinanderreihen der Gruppen zu verstehen. Dies ist insbesondere dadurch bedingt, dass ein¬ zelne Ereignisse verschiedenen Gruppen zugeordnet sein kön¬ nen. So kann beispielsweise Ereignis 21 gleichzeitig der Gruppe 1 und der Gruppe der 10 zugeordnet sein. Dies ist ins¬ besondere dann der Fall, wenn es sich bei einem Ereignis um ein Referenzereignis handelt, beispielsweise "10° Winkelstel¬ lung vor TDC". Ein derartiges Ereigniss kann beispielsweise der Gruppe 1 zugeordnet sein und dort die Auslösung eines dieser Gruppe 1 ebenfalls zugeordneten Ereignisses 5 bedin¬ gen. Gleichzeitig kann dieses Referenzereignis in Gruppe 10 die Auslösung eines Ereignisses 7 bedingen. Dies verdeut¬ licht, dass das zu berechnende mindestens eine digitale Sig¬ nal nicht notwendigerweise eine "einfache" Aneinanderreihung von Gruppen darstellen muss.A "stringing together" of the groups does not necessarily mean an overlapping of the groups without overlapping. This is due in particular to the fact that individual events can be assigned to different groups. For example, event 21 may be simultaneously assigned to group 1 and the group of 10. This is the case, in particular, when an event is a reference event, for example "10 ° Winkelstel¬ tion before TDC". Such an event may, for example, be assigned to group 1 and there trigger the triggering of an event 5 also assigned to this group 1. At the same time, this reference event in group 10 may trigger the triggering of an event 7. This clarifies that the at least one digital signal to be calculated does not necessarily have to represent a "simple" sequence of groups.
Zwar ist also die Zuordnung einzelne Ereignisse zu Gruppen nicht notwendigerweise eindeutig. Vorzugsweise ist jedoch je¬ de Gruppe eindeutig einer bestimmten Kette zugeordnet.Although the assignment of individual events to groups is not necessarily unique. Preferably, however, each group is uniquely assigned to a specific chain.
In einer vorteilhaften Ausgestaltung der Erfindung weist die eingelesene mindestens eine Ketteninformationen mindestens eine der folgenden Informationen über eine oder mehrere Grup¬ pen und/oder Ereignisse auf: - eine Information über die Identität mindestens einer in der Kette zusammengefassten Gruppe und/oder mindestens eines in der Kette zusammengefassten Ereignisses,
eine Information über mindestens einen Referenzzustand des Verbrennungsmotors, insbesondere eines oberen Tot¬ zeitpunkts (TDC) , o z. B. "Das digitale Signal soll ausgegeben werden in einer Winkelstellung 10° vor TDC", eine Information über den momentanen Betriebszustand des Verbrennungsmotors, insbesondere einer Winkelstellung einer Kurbelwelle, o z. B. "Die Kurbelwelle befindet sich derzeit in ei- ner Winkelstellung von 473°".In an advantageous embodiment of the invention, the at least one chain information read contains at least one of the following information about one or more groups and / or events: information about the identity of at least one group grouped in the chain and / or at least one in the Chain of summarized event, an information about at least one reference state of the internal combustion engine, in particular an upper Tot¬ time (TDC), o z. B. "The digital signal is to be output in an angular position 10 ° before TDC", information about the current operating state of the internal combustion engine, in particular an angular position of a crankshaft, o z. B. "The crankshaft is currently in an angular position of 473 °".
Insbesondere letztere Information wird wiederum vorzugsweise im laufenden Betrieb ständig aktualisiert und/oder ergänzt, um eine rechtzeitige, d. h. motorsynchrone Ausgabe des digi- talen Signals zu gewährleisten. Das so berechnete mindestens eine digitale Signal wird anschließend vorzugsweise über eine physikalische Schnittstelle ausgegeben und kann beispielswei¬ se (im Fall eines Zündpulses) einen Zündvorgang steuern. Auf¬ grund dieser Abhängigkeit der Berechnung des digitalen Sig- nals auf Kettenebene von (beispielsweise an einer Schnitt¬ stelle anliegenden) externen Signalen und der Möglichkeit der unmittelbaren Ausgabe über eine Schnittstelle, kann man die Ebene der Ketteninformation auch als eine stark "Hardware¬ gekoppelte" Ebene bezeichnen. Vorteilhafterweise ist eine Kette dabei genau einem Pin einer Schnittstelle zugeordnet.In particular, the latter information is again preferably constantly updated during operation and / or supplemented to a timely, d. H. to ensure motor-synchronous output of the digital signal. The at least one digital signal thus calculated is then preferably output via a physical interface and can, for example, control an ignition process (in the case of an ignition pulse). Due to this dependency of the calculation of the digital signal at the chain level of external signals applied to an interface, for example, and the possibility of direct output via an interface, the level of the chain information can also be referred to as a "hardware-coupled "Level designate. Advantageously, a chain is assigned to exactly one pin of an interface.
Das beschriebene Verfahren bietet gegenüber herkömmlichen Verfahren zur Berechnung digitaler Signale eine Reihe von Vorteilen. So handelt es sich insbesondere bei dem Algorith- mus zur Berechnung des mindestens einen digitalen Signals um einen generischen Algorithmus, welcher auf nahezu beliebige Signalformen angewandt werden kann. Dieser generische Algo¬ rithmus interpretiert und verarbeitet lediglich eine "von au¬ ßen" vorgegebene Signalkonfiguration. Soll die Form des zu generierenden digitalen Signals geändert werden, beispiels¬ weise auf Grund von geänderten Anforderungen in der Entwick¬ lung von Motorsteuerungsgeräten, so ist lediglich eine Verän-
derung der Signalkonfiguration in Form eines Abspeicherns beispielsweise in einem Flash-Speicher, erforderlich. Ein aufwendiges Anpassen des eigentlichen Algorithmus ist nicht erforderlich.The method described offers a number of advantages over conventional methods for calculating digital signals. In particular, the algorithm for calculating the at least one digital signal is a generic algorithm which can be applied to almost any desired signal forms. This generic algorithm only interprets and processes a signal configuration specified "from the outside". If the shape of the digital signal to be generated is to be changed, for example due to changed requirements in the development of engine control devices, then only a change is necessary. tion of the signal configuration in the form of a storage, for example in a flash memory, required. A complex adaptation of the actual algorithm is not required.
Weiterhin ist das beschriebene Verfahren äußerst ressourcen¬ schonend und schnell und somit hervorragend geeignet für den Einsatz in Echtzeitsystemen. Die Berechnung des mindestens einen digitalen Signals stellt i. d. R. lediglich eine Aus- wertung einfacher Regeln und eine Aneinanderreihung vorgege¬ bener Ereignisse dar, wodurch der Rechenaufwand verringert und somit die Geschwindigkeit der Berechnung und Ausgabe des mindestens einen digitalen Signals erheblich vergrößert wird.Furthermore, the method described is extremely resource-conserving and fast and thus outstandingly suitable for use in real-time systems. The calculation of the at least one digital signal represents i. d. R. is merely an evaluation of simple rules and a sequence of predefined events, which reduces the computational effort and thus significantly increases the speed of calculation and output of the at least one digital signal.
Zu einer optimierten Schonung der Ressourcen trägt dabei ins¬ besondere auch die mehrfache Verwendung bestimmter Ereignisse bei. Da die Berechnung der Signale insbesondere auch unter ständiger Berücksichtigung aktualisierter Daten über den Be¬ triebszustand des Verbrennungsmotors erfolgt, wird die Be- rechnung und Ausgabe des mindestens einen digitalen Signals in hohem Grade motorsynchron durchgeführt, was insbesondere zu einer verringerten Schadstoffemission und einer erhöhten Lebensdauer des Verbrennungsmotors führt.In particular, the multiple use of specific events also contributes to optimized conservation of resources. Since the calculation of the signals takes place in particular also under constant consideration of updated data on the operating state of the internal combustion engine, the calculation and output of the at least one digital signal is performed highly synchronous with the engine, which in particular results in reduced pollutant emission and an increased service life of the engine Internal combustion engine leads.
Neben dem beschriebenen Verfahren und der Anordnung in einer seiner bzw. ihrer Ausgestaltungen gehört zum Umfang der Er¬ findung ein Computerprogramm, das bei Ablauf auf einem Compu¬ ter oder Computer-Netzwerk das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführt.In addition to the described method and the arrangement in one of its embodiments, the scope of the invention includes a computer program which, when executed on a computer or computer network, executes the method according to the invention in one of its embodiments.
Weiterhin gehört zum Umfang der Erfindung ein Computerpro¬ gramm mit Programmcode-Mitteln, um das erfindungsgemäße Ver¬ fahren in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf einem Computer oder Computer-Netzwerk ausge¬ führt wird. Insbesondere können die Programmcode-Mittel auf einem computerlesbaren Datenträger gespeichert sein.
Außerdem gehört zum Umfang der Erfindung ein Datenträger, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Arbeits- und/oder Hauptspeicher eines Computers oder Computer-Netzwerkes das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführen kann.Furthermore, the scope of the invention includes a computer program with program code means for carrying out the method according to the invention in one of its embodiments when the program is executed on a computer or computer network. In particular, the program code means may be stored on a computer-readable medium. In addition, the scope of the invention, a volume on which a data structure is stored, which can perform the inventive method in one of its embodiments after loading into a working and / or main memory of a computer or computer network.
Auch gehört zum Umfang der Erfindung ein Computerprogramm- Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode-Mitteln, um das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf einem Computer oder Computer-Netzwerk ausgeführt wird.Also included within the scope of the invention is a computer program product having program code means stored on a machine-readable carrier to perform the inventive method in one of its embodiments when the program is executed on a computer or computer network.
Dabei wird unter einem Computer-Programmprodukt das Programm als handelbares Produkt verstanden. Es kann grundsätzlich in beliebiger Form vorliegen, so zum Beispiel auf Papier oder einem computerlesbaren Datenträger und kann insbesondere über ein Datenübertragungsnetz verteilt werden.Under a computer program product, the program is understood as a tradable product. In principle, it can be in any form, for example on paper or a computer-readable data carrier, and in particular can be distributed via a data transmission network.
Schließlich gehört zum Umfang der Erfindung ein moduliertes Datensignal, welches von einem ComputerSystem oder Computer¬ netzwerk ausführbare Instruktionen zum Ausführen eines Ver¬ fahrens nach einem der vorhergehenden Verfahrensansprüche enthält.Finally, the scope of the invention includes a modulated data signal which contains instructions executable by a computer system or computer network for carrying out a method according to one of the preceding method claims.
Im Folgenden wird die Erfindung anhand von Ausführungsbei¬ spielen näher erläutert, die in den Figuren schematisch dar¬ gestellt sind. Die Erfindung ist jedoch nicht auf die Bei- spiele beschränkt. Gleiche Bezugsziffern in den einzelnen Fi¬ guren bezeichnen dabei gleiche oder funktionsgleiche bzw. hinsichtlich ihrer Funktionen einander entsprechende Elemen¬ te. Im Einzelnen zeigt:In the following, the invention will be explained in more detail by means of exemplary embodiments, which are illustrated schematically in the figures. However, the invention is not limited to the examples. The same reference numerals in the individual figures designate elements which are identical or have the same function or which correspond to one another in terms of their functions. In detail shows:
Fig. 1 eine schematische Darstellung einer Anordnung zur Berechnung motorsynchroner digitaler Signale;
Fig. 2 ein Beispiel einer Signalkonfiguration, unterteilt in Kanäle, Gruppen und Ketten; und Fig. 3 einen Ablaufplan eines Verfahrens zur Berechnung motorsynchroner digitaler Signale.Fig. 1 is a schematic representation of an arrangement for calculating motor synchronous digital signals; Fig. 2 shows an example of a signal configuration subdivided into channels, groups and chains; and FIG. 3 shows a flow chart of a method for calculating motor-synchronous digital signals.
Fig. 1 zeigt eine bevorzugte Anordnung zur Berechnung motor- synchroner digitaler Signale. Ein Mikrocomputer 110 ist über eine Schnittstelle 112 mit einem Flash-Speicher 114 verbun- den. Der Mikrocomputer 110 weist eine zentrale Recheneinheit 116 auf sowie einen Arbeitsspeicher 118. Weiterhin weist der Mikrocomputer 110 eine Schnittstelle 120 auf, welche mit ei¬ nem Sensorsystem 122 zur Erfassung eines Kurbelwellensignals verbunden ist. Weiterhin ist die Schnittstelle 120 auch mit einem weiteren System verbunden (nicht dargestellt) , über welches beispielsweise ein Triggersignal 124 an den Mikrocom¬ puter 110 übermittelt werden kann. Neben der Schnittstelle 120 weist der Mikrocomputer 110 weiterhin eine Schnittstelle 126 auf, über welche ein digitales Signal 128 ausgegeben wer- den kann.1 shows a preferred arrangement for calculating motor-synchronous digital signals. A microcomputer 110 is connected via an interface 112 to a flash memory 114. The microcomputer 110 has a central processing unit 116 and a main memory 118. Furthermore, the microcomputer 110 has an interface 120, which is connected to a sensor system 122 for detecting a crankshaft signal. Furthermore, the interface 120 is also connected to a further system (not shown) via which, for example, a trigger signal 124 can be transmitted to the microcomputer 110. In addition to the interface 120, the microcomputer 110 also has an interface 126, via which a digital signal 128 can be output.
In dem Flash-Speicher 114 ist eine Signalkonfiguration 130 gespeichert, welche sich aus einem Ereignisinformationsblock 132, einem Gruppeninformationsblock 134 und einem Kettenin- formationsblock 136 zusammensetzt. Über die Schnittstelle 112 kann diese Signalkonfiguration in den Arbeitsspeicher 118 des Mikrocomputers 110 eingelesen werden, von wo sie der zentra¬ len Recheneinheit 116 für die Berechnung des digitalen Sig¬ nals 128 zur Verfügung steht. Weiterhin kann die zentrale Re- cheneinheit 116 auch auf den Arbeitsspeicher 118 schreibend zugreifen, um die darin gespeicherten Daten zu aktualisieren bzw. zu ergänzen.A signal configuration 130, which is composed of an event information block 132, a group information block 134 and a chain information block 136, is stored in the flash memory 114. Via the interface 112, this signal configuration can be read into the working memory 118 of the microcomputer 110, from where it is available to the central processing unit 116 for the calculation of the digital signal 128. Furthermore, the central computing unit 116 can also access the main memory 118 in writing in order to update or supplement the data stored therein.
Zur Verdeutlichung der Datenstruktur der Signalkonfiguration 130 ist im oberen Teil von Fig. 2 noch einmal ein beispiel¬ hafter Aufbau einer solchen Signalkonfiguration dargestellt. Mittels des in Fig. 3 dargestellten bevorzugten Verfahrens
kann diese Signalkonfiguration 130 durch die zentrale Rechen¬ einheit 116 in ein digitales Signal 128 umgewandelt werden, welches im unteren Teil von Fig. 2 ausschnittsweise darge¬ stellt ist. Im folgenden werden daher Fig. 2 und Fig. 3 im Zusammenhang beschrieben.To clarify the data structure of the signal configuration 130, an exemplary structure of such a signal configuration is shown once again in the upper part of FIG. 2. By means of the preferred method shown in Fig. 3 For example, this signal configuration 130 can be converted by the central computing unit 116 into a digital signal 128, which is shown in detail in the lower part of FIG. 2. In the following, therefore, Fig. 2 and Fig. 3 are described in connection.
Die Signalkonfiguration 130 setzt sich auf der untersten Ebe¬ ne aus Ereignisinformationen 132 zusammen, auf der mittleren Ebene aus Gruppeninformationen 134 und auf der obersten Ebene aus Ketteninformationen 136. dabei wird deutlich, dass ein und dasselbe Ereignis verschiedenen Gruppen zugeordnet sein kann. So ist beispielsweise das Ereignis 210 sowohl der Grup¬ pe 212 als auch der Gruppe 214 zugeordnet. Andererseits sind die Gruppen, wie z. B. die hier dargestellten Gruppen 212 und 214, genau einer Kette 216 zugeordnet. Jeder Kette 216 ent¬ spricht genau ein Pin der Schnittstelle 126 des Mikrocompu¬ ters 110.The signal configuration 130 is composed of event information 132 on the lowest level, group information 134 on the middle level, and chain information 136 on the top level. It becomes clear that one and the same event can be assigned to different groups. For example, the event 210 is assigned to both the group 212 and the group 214. On the other hand, the groups, such. B. the groups 212 and 214 shown here, exactly one chain 216 assigned. Each chain 216 corresponds exactly one pin of the interface 126 of the microcomputer 110.
Im unteren Teil der Fig. 2 ist dargestellt, wie die in die drei Ebenen 132, 134 und 136 unterteilte Signalkonfiguration 130 von der zentralen Recheneinheit 116 zu einem entsprechen¬ den digitalen Datensignal 128 zusammengesetzt wird. Als Bei¬ spiel ist hier ein Ausschnitt des digitalen Signals darge¬ stellt, welcher mit einem TTL-High-Pegel beginnt, dann eine fallende Flanke 218 aufweist, dann über eine gewisse Zeit¬ spanne auf einem TTL-Low-Level liegt, dann wieder eine stei¬ gende Flanke aufweist, um dann wiederum auf einem TTL-High- Pegel zu verlaufen.The lower part of FIG. 2 shows how the signal configuration 130 subdivided into the three levels 132, 134 and 136 is combined by the central processing unit 116 into a corresponding digital data signal 128. An example of this is a section of the digital signal which begins with a TTL high level, then has a falling edge 218, then lies at a TTL low level for a certain period of time, then again has a rising edge, in turn to then run on a TTL high level.
Das Verfahren wird so durchgeführt, dass zunächst in Schritt 310 in Fig. 3 die Signalkonfiguration 130 aus dem Flash- Speicher 114 in den Arbeitsspeicher 118 des Mikrocomputers 110 eingelesen wird. Weiterhin wird in Schritt 312 die vom Sensorsystem 122 ermittelte aktuelle Winkelstellung der Kur- beiwelle des Verbrennungsmotors in den Arbeitsspeicher 118 geladen. Alle im Arbeitsspeicher 118 geladenen Daten können durch Zugriff der zentralen Recheneinheit 116 ständig aktua-
lisiert werden (Schritt 314 in Fig. 3) . So wird insbesondere der gespeicherte aktuelle Wert der Winkelstellung ständig neu eingelesen.The method is carried out such that first in step 310 in FIG. 3, the signal configuration 130 is read from the flash memory 114 into the main memory 118 of the microcomputer 110. Furthermore, in step 312, the current angular position of the crankshaft of the internal combustion engine determined by the sensor system 122 is loaded into the main memory 118. All data loaded in the main memory 118 can be continuously updated by access of the central processing unit 116. (step 314 in FIG. 3). Thus, in particular, the stored current value of the angular position is constantly read again.
Anschließend wird in Schritt 316 aus den eingelesen und aktu¬ alisierten Daten, die im Arbeitsspeicher 118 gespeichert sind, das digitale Signal 128 berechnet. Als Beispiel soll hier die Berechnung der fallenden Flanke 218 erläutert werden (siehe Fig. 3 unten) . Die Gruppeninformation 220, welche In- formationen über die fallende Flanke 218 enthält, beinhaltet zwei Ereignisse: zum einen das Ereignis "fallende Flanke" 218 und zum anderen das Ereignis "Winkelstellung der Kurbelwelle ist 20° vor TDC" 222 (strichlierte Linie) . Die Gruppeninfor¬ mation beinhaltet weiterhin, dass das Ereignis 218 (fallende Flanke) in einem bestimmten Verhältnis zu Ereignis 222 ein¬ treten soll, beispielsweise mit einem Winkelabstand von 5° vor Ereignis 222.Subsequently, in step 316, the digital signal 128 is calculated from the read-in and updated data stored in the main memory 118. As an example, the calculation of the falling edge 218 will be explained here (see FIG. 3 below). The group information 220, which includes information about the falling edge 218, includes two events: first, the falling edge event 218 and second, the crankshaft angular position event 222 (dashed line). The group information further includes that the event 218 (falling edge) should occur in a specific relationship to event 222, for example with an angular distance of 5 ° before event 222.
Aus den ständig aktualisierten Informationen über den aktuel- len Betriebszustand des Verbrennungsmotors (Winkelstellung, Drehzahl) wird nun berechnet, wann Ereignis 222 voraussicht¬ lich eintreten wird. Daraus wiederum lässt sich der Zeitpunkt errechnen, zu dem Ereignis 218 (fallende Flanke) eintreten soll und ein entsprechendes Signal erzeugen. Später werden dann entsprechend den Ketteninformationen 136 die so berech¬ neten Signale zusammengesetzt zu dem digitalen Signal 128 und in Schritt 318 über die Schnittstelle 126 (bzw. einen der Kette 136 zugeordneten Pin der Schnittstelle 126) ausgegeben.From the constantly updated information about the current operating state of the internal combustion engine (angular position, rotational speed) is now calculated when event 222 is likely to occur. This, in turn, can be used to calculate the time at which event 218 (falling edge) should occur and generate a corresponding signal. Later, according to the chain information 136, the signals thus calculated are then combined to form the digital signal 128 and output in step 318 via the interface 126 (or a pin of the interface 126 assigned to the chain 136).
Das in Fig. 2 dargestellte Beispiel der Berechnung der fal¬ lenden Flanke 218 ist ein vergleichsweise einfaches Beispiel, da der Eintritt des Ereignisses 218 lediglich in Relation zu einem weiteren Ereignis 222 steht. Gleichzeitig könnte jedoch auch eine Relation zu einem weiteren Ereignis, beispielsweise der steigenden Flanke 224 bestehen. So könnte beispielsweise die Bedingung für den Eintritt der fallenden Flanke 218 lau¬ ten: Die fallende Flanke 218 soll eine Millisekunde vor der
steigenden Flanke 224 auftreten, jedoch nicht später als 20° vor TDC (Ereignis 222) .The example of the calculation of the falling edge 218 shown in FIG. 2 is a comparatively simple example, since the occurrence of the event 218 is only in relation to a further event 222. At the same time, however, there could also be a relation to another event, for example the rising edge 224. Thus, for example, the condition for the occurrence of the falling edge 218 could lau¬ ten: The falling edge 218 should be a millisecond before rising edge 224, but no later than 20 ° before TDC (event 222).
Bei der Berechnung der fallenden Flanke 218 würde also zu- nächst entsprechend dem oben beschriebenen Verfahren der (wahrscheinlichste) Zeitpunkt des Eintritts der steigenden Flanke 224 berechnet. Anschließend würde berechnet, welche Bedingung zuerst erfüllt ist: Tritt das Ereignis 222 früher oder später als eine Millisekunde vor dem Ereignis 224 ein? Sollte Ereignis 222 früher als eine Millisekunde vor dem Er¬ eignis 224 eintreten, so wird die fallende Flanke 218 genau zum Zeitpunkt des Ereignisses 222 (also in einer Winkelstel¬ lung von 20° vor TDC) ausgelöst. Tritt Ereignis 222 hingegen später auf, so wird die fallende Flanke 218 genau eine Milli- Sekunde vor dem Ereignis 224 ausgelöst (letzterer Fall ist dargestellt in Fig. 2 unten) .In the calculation of the falling edge 218, therefore, the (most probable) time of entry of the rising edge 224 would first be calculated in accordance with the method described above. Next, it would be calculated which condition is met first: does event 222 occur sooner than or later than one millisecond before event 224? If event 222 occurs earlier than one millisecond before event 224, then the falling edge 218 is triggered precisely at the time of event 222 (ie at an angular position of 20 ° before TDC). On the other hand, if event 222 occurs later, the falling edge 218 will be triggered exactly one millisecond before event 224 (the latter case is shown in Figure 2 below).
Auf diese Weise werden die Ereignisse der Ereignisinformatio¬ nen 132 mittels der Gruppeninformationen 134 und der Ketten- Informationen 136 sukzessive ausgewertet und die entsprechen¬ den Zeitpunkte der Auslösung der einzelnen Ereignisse berech¬ net. Diese Zeitpunkte sind typischerweise keine absoluten Zeitpunkte, sondern Zeitpunkte relativ zu einem bestimmten Startzeitpunkt des digitalen Signals 128. Dieser Startzeit- punkt kann dem Mikrocomputer 110 beispielsweise durch das ex¬ terne Triggersignal 124 vorgegebenen werden.
In this way, the events of the event information 132 are successively evaluated by means of the group information 134 and the chain information 136 and the corresponding times of the triggering of the individual events are calculated. These times are typically not absolute times, but points in time relative to a specific start time of the digital signal 128. This start time can be predetermined for the microcomputer 110, for example, by the external trigger signal 124.