DE102004045189B4 - Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale - Google Patents
Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale Download PDFInfo
- Publication number
- DE102004045189B4 DE102004045189B4 DE200410045189 DE102004045189A DE102004045189B4 DE 102004045189 B4 DE102004045189 B4 DE 102004045189B4 DE 200410045189 DE200410045189 DE 200410045189 DE 102004045189 A DE102004045189 A DE 102004045189A DE 102004045189 B4 DE102004045189 B4 DE 102004045189B4
- Authority
- DE
- Germany
- Prior art keywords
- information
- event
- group
- read
- chain
- 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 - Fee Related
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
- F02D41/263—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the program execution being modifiable by physical parameters
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)
Abstract
Verfahren
zur Erzeugung motorsynchroner digitaler Signale (128) zur Steuerung
eines Verbrennungsmotors mit folgenden Schritten:
a) mindestens eine Signalkonfiguration (130) wird ganz oder teilweise in einen ersten elektronischen Speicher (118) eines Computersystems (110) eingelesen,
– wobei die Signalkonfiguration folgende Informationen aufweist:
a1) mindestens eine Ereignisinformation (132),
– wobei die mindestens eine Ereignisinformation (132) Informationen über mindestens ein Ereignis (210, 218, 222, 224) aufweist; und
a2) mindestens eine Gruppeninformation (134),
– wobei die mindestens eine Gruppeninformation (134) mindestens eine Information über die Zusammenfassung eines oder mehrerer Ereignisse zu einer Gruppe (212, 214, 220) aufweist; und
a3) mindestens eine Ketteninformation (136),
– wobei die mindestens eine Ketteninformation (136) Informationen über die Zusammenfügung einer oder mehrerer Gruppen (212, 214, 220) zu einer Kette (216) aufweist;
b) mindestens eine Zustandsvariable wird in das Computersystem (110) eingelesen,
– wobei die mindestens eine Zustandsvariable Informationen über einen...
a) mindestens eine Signalkonfiguration (130) wird ganz oder teilweise in einen ersten elektronischen Speicher (118) eines Computersystems (110) eingelesen,
– wobei die Signalkonfiguration folgende Informationen aufweist:
a1) mindestens eine Ereignisinformation (132),
– wobei die mindestens eine Ereignisinformation (132) Informationen über mindestens ein Ereignis (210, 218, 222, 224) aufweist; und
a2) mindestens eine Gruppeninformation (134),
– wobei die mindestens eine Gruppeninformation (134) mindestens eine Information über die Zusammenfassung eines oder mehrerer Ereignisse zu einer Gruppe (212, 214, 220) aufweist; und
a3) mindestens eine Ketteninformation (136),
– wobei die mindestens eine Ketteninformation (136) Informationen über die Zusammenfügung einer oder mehrerer Gruppen (212, 214, 220) zu einer Kette (216) aufweist;
b) mindestens eine Zustandsvariable wird in das Computersystem (110) eingelesen,
– wobei die mindestens eine Zustandsvariable Informationen über einen...
Description
- Gebiet der Erfindung
- Die Erfindung betrifft ein Verfahren und eine Anordnung zur Erzeugung motorsynchroner digitaler Signale zur Steuerung eines Verbrennungsmotors. Insbesondere betrifft die Erfindung ein Verfahren und eine Anordnung zur Erzeugung beliebiger digitaler Signalformen, welche vorgegebenen Randbedingungen bezüglich des Betriebszustandes eines Verbrennungsmotors unterliegen. Derartige Verfahren und Anordnungen werden überwiegend zur Steuerung von Verbrennungsmotoren mittels Motorsteuerungsgeräten (Engine Control Units, ECUs) eingesetzt, beispielsweise bei der Erzeugung von Einspritzpulsen, Zündpulsen oder Signalen für die Klopfdetektion (Klopf-Window).
- Bei einem bekannten Verfahren zum Verarbeiten von Regelgrößen bei einer Brennkraftmaschine (
DE 36 43 337 A1 ) werden Impulssignale synchron zu der Drehzahl der Brennkraftmaschine erzeugt. Diese Impulssignale dienen als Unterbrechungssignale für einen Mikroprozessor, der so arbeitet, dass die Verarbeitungsvorgänge in Abhängigkeit von den Unterbrechungssignalen begonnen werden. Hierdurch wird eine Anzahl von Regelgrößen der Brennkraftmaschine auf der Basis von Daten geregelt, die die Betriebszustände der Brennkraftmaschine wiedergeben. - Weiter ist ein Verfahren zur Steuerung von technischen Vorgängen oder Prozessen bekannt (
DE 195 00 957 A1 ), bei dem ein komplexes Steuerprogramm von einem Mikrorechner eines Steuergeräts unter Echtzeitbedingung abgearbeitet wird. Hierbei weist das Steuerprogramm mehrere Aufgabenprogramme auf, denen jeweils eine Priorität und ein Aktivierungsereignis zugeordnet ist. - Der Betrieb moderner Verbrennungsmotoren in der Automobiltechnik ist ohne den Einsatz von hochleistungsfähigen Computersystemen undenkbar. Insbesondere die zunehmend restriktiven Anforderungen an die Schadstoffemission in Form von entsprechenden gesetzlichen Regelungen machen den Einsatz ausgefeilter Computer- und Regelungstechnik für die präzise Einstellung des Verbrennungsgemischs und des Zündungszeitpunkts erforderlich.
- Diese Aufgaben werden im wesentlichen von dem Motorsteuerungsgerät (ECU), dem leistungsfähigsten Computersystem an Bord eines Kraftfahrzeugs, übernommen. Neben einem oder mehreren 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 Filterbausteine, in das entsprechende Gehäuse eines Motorsteuerungsgerä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ältige Optimierung sämtlicher Algorithmen erfordert. Das Motorsteuerungsgerät berechnet aus zahlreichen Sensorsignalen entsprechende Regelsignale und Einstellungsparameter, wie beispielsweise einen optimalen Zeitpunkt einer Zündung oder die optimale Zeitdauer einer Kraftstoffeinspritzung.
- Dementsprechend besteht eine wesentliche Aufgabe der Steuerung von Verbrennungsmotoren in der Erzeugung bestimmter Signale, insbesondere digitaler Signale, welche eine vorgegebene Form aufweisen sollen. Weiterhin müssen die Signale häufig in einem genau vorgegebenen Betriebszustand des Verbrennungsmotors, beispielsweise einer genau definierten Stellung eines Kolbens, einer definierten Winkelstellung einer Kurbelwelle oder einer vorgegebenen Winkelstellung einer Nockenwelle erzeugt und ausgegeben werden.
- Häufig ist der Zeitpunkt, zu dem die Signale ausgegeben werden sollen, durch bestimmte Randbedingungen definiert, welche auch miteinander konkurrieren können. So kann beispielsweise die Bedingung vorgegeben sein, dass ein bestimmtes Signal eine Millisekunde vor einem bestimmten Ereignis, beispielsweise dem oberen Totzeitpunkt eines Zylinders (Top Dead Center, TDC – mit TDC wird im folgenden sowohl der Zeitpunkt des Erreichens des Totpunkts als auch die Winkelstellung des Totpunkts bezeichnet), jedoch nicht später als eine bestimmte Winkeldifferenz vor diesem Ereignis (z. B. nicht später als 10° Kurbelwellenwinkel vor TDC), ausgegeben werden soll. Die beiden hier angegebenen Randbedingungen konkurrieren miteinander. Tritt die Winkelbedingung früher ein als die Zeitbedingung, 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.
- Dieses einfache Beispiel zeigt bereits recht deutlich die Probleme, welche bei der Berechnung und der Ausgabe derartiger Signale auftreten: Die ECU berechnet grundsätzlich alle Signale entsprechend ihrer inneren Uhr (Zähler, Clock), wohingegen der Betriebszustand des Verbrennungsmotors regelmäßig insbesondere durch die Winkelstellung der Kurbelwelle definiert ist.
- Je nach Typ des Verbrennungsmotors definiert die Winkelstellung 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 Motors einmal seinen Zyklus durchfahren.
- Die Winkelstellung der Kurbelwelle wird typischerweise mittels einer sogenannten Geberscheibe auf der Kurbelwelle erfasst. 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 einem Zahn pro 6° Winkelstellung, entspricht. Mittels verschiedener Sensorsysteme werden die Zähne der Geberscheibe erfasst und so die augenblickliche Winkelstellung der Kurbelwelle gemessen.
- Die Zeitvariable der ECU und die Winkelstellung der Kurbelwelle stehen jedoch nicht in einem wohldefinierten, festen Verhältnis zueinander, da die Umrechnung von Winkel- in Zeiteinheiten und umgekehrt stets von der Drehzahl des Verbrennungsmotors abhängig ist. Dies erfordert jedoch, dass die ECU bei der Berechnung bestimmter digitaler Signale ständig unter Berücksichtigung der aktuellen Drehzahl zwischen Zeitvariable und Winkelvariablen umrechnet, was in der Realität einer ständigen Neuberechnung der zu generierenden digitalen Signale entspricht. Dieser Rechenaufwand belastet die begrenzten Ressourcen des Motorsteuerungsgeräts erheblich.
- Soll beispielsweise ein bestimmter Puls in einer bestimmten Winkelstellung vor TDC ausgegeben werden, so wird in herkömmlichen Algorithmen zunächst die augenblickliche Winkelstellung und die augenblickliche Drehzahl erfasst. Daraus wird dann eine Zeitvorhersage generiert, wann die vorgegebene Winkelstellung vor TDC erreicht sein wird. Zu diesem vorhergesagten Zeitpunkt wird dann der entsprechende Puls ausgegeben. Kurzfristige Änderungen der Drehzahl werden bei diesen Verfahren zumeist nicht berücksichtigt. Erheblich komplizierter wird das Verfahren zudem, wenn zusätzlich weitere Randbedingungen (wie im obigen Beispiel) vorgegeben sind oder wenn kompliziertere Pulsfolgen mit aufeinanderfolgenden, von externen Vorgaben abhängigen Ereignissen (z. B. einer positiven Flanke) generiert und ausgegeben werden sollen.
- Die beschriebenen Probleme machen sich insbesondere dann bemerkbar, wenn die Vorgaben bezüglich der Form des auszugebenden Signals häufig geändert werden. Dies kann einerseits bei laufendem Betrieb des Verbrennungsmotors der Fall sein, beispielsweise wenn an Stelle eines Einspritzpulses nun ein Zündpuls mit vollständig unterschiedlicher Signalform ausgegeben werden soll. Weiterhin treten auch während der Entwicklung von Motorsteuerungssystemen oder bei einer nachfolgenden Optimierung dieser Systeme in einer Werkstatt häufig veränderte 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 erforderlich machen.
- Aufgabe der Erfindung ist es daher, die bestehenden Möglichkeiten zur Erzeugung motorsynchroner Signale, insbesondere von Einspritz- oder Zündpulsen oder Signalen zur Definition eines Klopf-Windows, zu verbessern.
- Lösung
- Diese Aufgabe wird durch die Erfindungen mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungen der Erfindungen sind in den Unteransprüchen gekennzeichnet.
- 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 realisieren lässt.
- Unter einem motorsynchronen digitalen Signal ist dabei ein digitales Signal zu verstehen, welches in unmittelbarer Korrelation zum Betriebszustand des Verbrennungsmotors, beispielsweise der Winkelstellung einer Kurbelwelle, steht. Motorsynchron bedeutet also, dass bestimmte Signale (z. B. Flanken oder ganze Pulse) in einem bestimmten Betriebszustand des Verbrennungsmotors ausgegeben werden, wobei jedoch geringfügige Ungenauigkeiten (z. B. im Bereich eines Winkelfehlers von 6°) in Kauf genommen werden, welche beispielsweise daraus resultieren, dass sich die Drehzahl des Verbrennungsmotors zwischen Anfang und Ende der Berechnung des digitalen Signals verändert hat.
- 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 einzelne 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 Perioden konstanten Signalpegels (z. B. TTL-High, TTL-Low) zusammen.
- Das vorgeschlagene Verfahren soll folgenden Schritte aufweisen, 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 erfolgen. Weiterhin können neben den aufgeführten Verfahrensschritten auch weitere, nicht dargestellte Verfahrensschritte durchgeführt werden.
- Zunächst wird eine Signalkonfiguration ganz oder teilweise in einen ersten elektronischen Speicher eines Computersystems eingelesen. Diese Signalkonfiguration soll die folgenden Informationen beinhalten, wobei außerdem zusätzliche, nicht aufgeführte Informationen enthalten sein können:
- – mindestens eine Ereignisinformation, wobei die mindestens eine Ereignisinformation Informationen über mindestens ein Ereignis aufweist,
- – 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 Zusammenfügung einer oder mehrerer Gruppen zu einer Kette aufweist.
- Weiterhin wird mindestens eine Zustandsvariable in das Computersystem (beispielsweise ebenfalls in den ersten elektronischen Speicher) eingelesen. Diese mindestens eine Zustandsva riable soll Informationen über einen Betriebszustand des Verbrennungsmotors enthalten. Dabei kann es sich beispielsweise um die Stellung eines Kolbens, eine Winkelstellung einer Nockenwelle, eine Winkelstellung einer Kurbelwelle oder um ähnliche Informationen handeln. In einer bevorzugten Ausführungsform wird die Winkelstellung einer Kurbelwelle verwendet, wovon in der folgenden Beschreibung ausgegangen werden soll.
- Weiterhin wird aus der eingelesenen mindestens einen Signalkonfiguration und der eingelesenen mindestens einen Zustandsvariablen mindestens ein digitales Signal berechnet. Vorzugsweise wird dieses berechnete digitale Signal in elektronischer Form mit vorgegebenen Pegeln (High, Low, beispielsweise TTL-Pegeln) über eine physikalische Schnittstelle, insbesondere einen bestimmten Pin (Signalstift) einer Schnittstelle ausgegeben.
- Der Begriff eines Computersystems ist dabei weit auszulegen. Es kann sich beispielsweise lediglich um einen Prozessor handeln, 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.
- Vorzugsweise ist die eingelesene Signalkonfiguration vor dem Einlesen in einem zweiten elektronischen Speicher, insbesondere einem nichtflüchtigen Speicher, abgespeichert. Es kann sich insbesondere bei diesem nichtflüchtigen Speicher um einen Flash-Speicher handeln. Bei dem ersten elektronischen Speicher handelt es sich beispielsweise um einen Arbeitsspeicher (RAM) des Computersystems. Diese Weiterbildung bietet den Vorteil, dass die Verwendung neuer Signalformen lediglich eine Änderung der im Flash-Speicher gespeicherten Signalkonfiguration 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 anderer Teil in einem Arbeitsspeicher.
- Bei der Signalkonfiguration handelt es sich um Vorgaben bezüglich der Form des zu berechnenden digitalen Signals, sowie weiterer Vorgaben, insbesondere über die zeitliche Abfolge und bestimmte Bedingungen der Abfolge (Timing) einzelner Bestandteile des digitalen Signals.
- In einer vorteilhaften Ausgestaltung enthält die eingelesene mindestens eine Ereignisinformation mindestens eine der folgenden Informationen über ein oder mehrere Ereignisse:
- – eine Information darüber, dass ein Ereignis in Form einer Ausgabe eines Signals mit einem einen bestimmten Signalpegel eintreten soll, • z. B. "generiere ein TTL-High-Singal",
- – eine Information darüber, dass ein Ereignis in Form eines Wechsels eines Signalpegels von einem vorgegebenen ersten Pegel zu einem vorgegebenen zweiten Pegel (Flanke) eintreten soll, • 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 Winkelstellung einer Kurbelwelle, eintreten soll, • 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 vorgegebenen Betriebszustandsdifferenz, insbesondere einer Winkeldifferenz einer Winkelstellung einer Kurbelwelle, vor oder nach einem vorgegebenen anderen Ereignis eintreten soll, • 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 vorgegebenes Zeitintervall und oder Betriebszustandsintervall, insbesondere ein Winkelstellungsintervall einer Winkelstellung einer Kurbelwelle, andauern soll, • 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.
- Bei einem Ereignis kann es sich also um ein quasi infinitesimal kurzes Ereignis (z. B. eine Flanke) handeln, aber auch um ein länger andauerndes Ereignis, wie z. B. einen "hohen Signalpegel". 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).
- Das Vorsehen einer Enable-/Disable-Information ermöglicht es, ganze Teile des Signals zwar vorzusehen, diese bei Bedarf aber "auszuschalten". So kann beispielsweise in dem digitalen Signal ein zusätzlicher einzelner Puls vorgesehen sein, der jedoch bei Bedarf (z. B. bei bestimmten Motortypen) ausgeschaltet werden bzw. durch ein "Disable" unterdrückt werden kann.
- Die mindestens eine Gruppeninformation soll darauf hinweisen, wie die einzelnen Ereignisse zu gruppieren sind und kann insbesondere Regeln für die Ausführung der Ereignisse innerhalb der Gruppe enthalten. In einer vorteilhaften Ausgestaltung enthält die Gruppeninformation daher mindestens eine der folgenden Informationen über eine oder mehrere Gruppen
- – eine Information über die Identität mindestens eines in der Gruppe zusammengefassten Ereignisses, • 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 eines oder mehrerer in der Gruppe zusammengefassten Ereignisse, • z. B. "Zu Gruppe 4 gehören die Ereignisse 3, 6 und 15. Ereignis 3 soll ausgeführt werden, wenn Ereignis 6 (z. B. 1 Millisekunde vor TDC) eintritt, jedoch nicht später als Ereignis 15 (z. B. Winkelstellung 10° vor TDC).",
- – eine Information über den voraussichtlichen Betriebzustand und/oder die voraussichtliche Zeit, zu der eines oder mehrerer der in der Gruppe zusammengefassten Ereignisse eintreten werden, • z. B. "Entsprechend der aktuellen Motordrehzahl wird Ereignis 15 (Winkelstellung 10° vor TDC) voraussichtlich bei Zeitzähler 4578 eintreten.",
- – eine Information über den Zeitpunkt und/oder den Betriebszustand, in dem das letzte vorhergehenden Ereignis eingetreten ist, • z. B. "Das letzte vorhergehende Ereignis war Ereignis 27 (z. B. eine negative Flanke), welches bei Zeitzähler 3588 eingeträten ist.".
- Bei der logischen Verknüpfung der Ereignisse kann es sich um eine logische Verknüpfung der Ereignisse innerhalb der Gruppe, beispielsweise durch einen bedingten Eintritt eines bestimmten Ereignisses (siehe obiges Beispiel) oder auch um die Erfüllung einer externen Bedingung handeln. So kann beispielsweise in einer Gruppeninformation als Bedingung vorgegeben werden, dass ein bestimmtes Ereignis nur eintreten soll, wenn ein Signal auf einem bestimmten Pin einer Schnittstelle einen bestimmten Signalpegel (z. B. ein TTL-High) aufweist.
- 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 Gruppeninformation angegebenen Bedingungen und Priorisierungen der Ereignisse die Zeitpunkte oder auch die Betriebszustände (z. B. Winkelstellungen) des Eintritts eines jeden Ereignisses berechnet, wobei jedoch vorzugsweise bei dieser Berechnung nur eine einzige dieser beiden Variablen, insbesondere die Zeit, verwendet wird. Dabei wird vorzugsweise ständig ein aktualisierte Version der eingelesenen Zustandsvariablen, beispielsweise der Winkelstellung der Kurbelwelle oder der Drehzahl, verwendet, wodurch insbesondere ein ständiger Abgleich zwischen 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.
- Vorzugsweise werden im laufenden Betrieb des Verbrennungsmotors bzw. während der Berechnung des mindestens einen digitalen Signals die ursprünglich eingelesenen Informationen (Ereignisinformationen und/oder Gruppeninformationen und/oder Ketteninformationen) ständig ergänzt und aktualisiert. So kann insbesondere der Zeitpunkt des Eintritts bestimmter Ereignisse verzeichnet werden und, abhängig von dem aktuellen Wert der mindestens einen Zustandsvariablen des Verbrennungsmotors (z. B. der Winkelstellung der Kurbelwelle), eine Vorhersage über den Zeitpunkt des Eintritts eines bestimmten Ereignisses ständig aktualisiert werden. Auch entsprechende Informationen über den tatsächlichen Eintritt bestimmter Ereignisse können aktualisiert gespeichert werden, z. B. in Form einer "Fertigmeldung". Auf diese aktualisierten Informationen kann auch die weitere Berechnung des mindestens einen digitalen Signals gestützt werden.
- Die mindestens eine Ketteninformation schließlich stellt die höchste Ebene der Informationen über das zu berechnende digitales 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 Zeitpunkt oder in welcher Winkelstellung der Kurbelwelle) das digitale Signal schließlich ausgegeben werden soll. Nach Auswertung der Ketteninformationen ist die Berechnung des mindestens einen digitalen Signals somit weitgehend abgeschlossen, so dass unmittelbar eine Ausgabe des berechneten digitalen Signals erfolgen kann.
- Unter einer "Aneinanderreihung" der Gruppen ist nicht notwendigerweise ein überlappfreies Aneinanderreihen der Gruppen zu verstehen. Dies ist insbesondere dadurch bedingt, dass einzelne Ereignisse verschiedenen Gruppen zugeordnet sein können. So kann beispielsweise Ereignis 21 gleichzeitig der Gruppe 1 und der Gruppe der 10 zugeordnet sein. Dies ist insbesondere dann der Fall, wenn es sich bei einem Ereignis um ein Referenzereignis handelt, beispielsweise "10° Winkelstellung 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 bedingen. Gleichzeitig kann dieses Referenzereignis in Gruppe 10 die Auslösung eines Ereignisses 7 bedingen. Dies verdeutlicht, dass das zu berechnende mindestens eine digitale Signal nicht notwendigerweise eine "einfache" Aneinanderreihung von Gruppen darstellen muss.
- Zwar ist also die Zuordnung einzelne Ereignisse zu Gruppen nicht notwendigerweise eindeutig. Vorzugsweise ist jedoch jede Gruppe eindeutig einer bestimmten Kette zugeordnet.
- In einer vorteilhaften Ausgestaltung der Erfindung weist die eingelesene mindestens eine Ketteninformationen mindestens eine der folgenden Informationen über eine oder mehrere Gruppen 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 Totzeitpunkts (TDC), • 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, • z. B. "Die Kurbelwelle befindet sich derzeit in einer Winkelstellung von 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 digitalen Signals zu gewährleisten. Das so berechnete mindestens eine digitale Signal wird anschließend vorzugsweise über eine physikalische Schnittstelle ausgegeben und kann beispielsweise (im Fall eines Zündpulses) einen Zündvorgang steuern. Aufgrund dieser Abhängigkeit der Berechnung des digitalen Signals auf Kettenebene von (beispielsweise an einer Schnittstelle anliegenden) externen Signalen und der Möglichkeit der unmittelbaren Ausgabe über eine Schnittstelle, kann man die Ebene der Ketteninformation auch als eine stark "Hardwaregekoppelte" Ebene bezeichnen. Vorteilhafterweise ist eine Kette dabei genau einem Pin einer Schnittstelle zugeordnet.
- Das beschriebene Verfahren bietet gegenüber herkömmlichen Verfahren zur Berechnung digitaler Signale eine Reihe von Vorteilen. So handelt es sich insbesondere bei dem Algorithmus zur Berechnung des mindestens einen digitalen Signals um einen generischen Algorithmus, welcher auf nahezu beliebige Signalformen angewandt werden kann. Dieser generische Algorithmus interpretiert und verarbeitet lediglich eine "von außen" vorgegebene Signalkonfiguration. Soll die Form des zu generierenden digitalen Signals geändert werden, beispielsweise auf Grund von geänderten Anforderungen in der Entwicklung 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.
- Weiterhin ist das beschriebene Verfahren äußerst ressourcenschonend 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 Auswertung einfacher Regeln und eine Aneinanderreihung vorgegebener Ereignisse dar, wodurch der Rechenaufwand verringert und somit die Geschwindigkeit der Berechnung und Ausgabe des mindestens einen digitalen Signals erheblich vergrößert wird.
- Zu einer optimierten Schonung der Ressourcen trägt dabei insbesondere auch die mehrfache Verwendung bestimmter Ereignisse bei. Da die Berechnung der Signale insbesondere auch unter ständiger Berücksichtigung aktualisierter Daten über den Betriebszustand des Verbrennungsmotors erfolgt, wird die Berechnung 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.
- Neben dem beschriebenen Verfahren und der Anordnung in einer seiner bzw. ihrer Ausgestaltungen gehört zum Umfang der Erfindung ein Computerprogramm, das bei Ablauf auf einem Computer oder Computer-Netzwerk das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführt.
- Weiterhin gehört zum Umfang der Erfindung ein Computerprogramm mit 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. 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.
- 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.
- 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.
- Schließlich gehört zum Umfang der Erfindung ein moduliertes Datensignal, welches von einem Computersystem oder Computernetzwerk ausführbare Instruktionen zum Ausführen eines Verfahrens nach einem der vorhergehenden Verfahrensansprüche enthält.
- Im Folgenden wird die Erfindung anhand von Ausführungsbeispielen näher erläutert, die in den Figuren schematisch dargestellt sind. Gleiche Bezugsziffern in den einzelnen Figuren bezeichnen dabei gleiche oder funktionsgleiche bzw. hinsichtlich ihrer Funktionen einander entsprechende Elemente. Im Einzelnen zeigt:
-
1 eine schematische Darstellung einer Anordnung zur Berechnung motorsynchroner digitaler Signale; -
2 ein Beispiel einer Signalkonfiguration, unterteilt in Kanäle, Gruppen und Ketten; und -
3 einen Ablaufplan eines Verfahrens zur Berechnung motorsynchroner digitaler Signale. -
1 zeigt eine bevorzugte Anordnung zur Berechnung motorsynchroner digitaler Signale. Ein Mikrocomputer110 ist über eine Schnittstelle112 mit einem Flash-Speicher114 verbunden. Der Mikrocomputer110 weist eine zentrale Recheneinheit116 auf sowie einen Arbeitsspeicher118 . Weiterhin weist der Mikrocomputer110 eine Schnittstelle120 auf, welche mit einem Sensorsystem122 zur Erfassung eines Kurbelwellensignals verbunden ist. Weiterhin ist die Schnittstelle120 auch mit einem weiteren System verbunden (nicht dargestellt), über welches beispielsweise ein Triggersignal124 an den Mikrocomputer110 übermittelt werden kann. Neben der Schnittstelle120 weist der Mikrocomputer110 weiterhin eine Schnittstelle126 auf, über welche ein digitales Signal128 ausgegeben werden kann. - In dem Flash-Speicher
114 ist eine Signalkonfiguration130 gespeichert, welche sich aus einem Ereignisinformationsblock132 , einem Gruppeninformationsblock134 und einem Ketteninformationsblock136 zusammensetzt. Über die Schnittstelle112 kann diese Signalkonfiguration in den Arbeitsspeicher118 des Mikrocomputers110 eingelesen werden, von wo sie der zentralen Recheneinheit116 für die Berechnung des digitalen Signals128 zur Verfügung steht. Weiterhin kann die zentrale Recheneinheit116 auch auf den Arbeitsspeicher118 schreibend zugreifen, um die darin gespeicherten Daten zu aktualisieren bzw. zu ergänzen. - Zur Verdeutlichung der Datenstruktur der Signalkonfiguration
130 ist im oberen Teil von2 noch einmal ein beispielhafter Aufbau einer solchen Signalkonfiguration dargestellt. Mittels des in3 dargestellten bevorzugten Verfahrens kann diese Signalkonfiguration130 durch die zentrale Recheneinheit116 in ein digitales Signal128 umgewandelt werden, welches im unteren Teil von2 ausschnittsweise dargestellt ist. Im folgenden werden daher2 und3 im Zusammenhang beschrieben. - Die Signalkonfiguration
130 setzt sich auf der untersten Ebene aus Ereignisinformationen132 zusammen, auf der mittleren Ebene aus Gruppeninformationen134 und auf der obersten Ebene aus Ketteninformationen136 . dabei wird deutlich, dass ein und dasselbe Ereignis verschiedenen Gruppen zugeordnet sein kann. So ist beispielsweise das Ereignis210 sowohl der Gruppe212 als auch der Gruppe214 zugeordnet. Andererseits sind die Gruppen, wie z. B. die hier dargestellten Gruppen212 und214 , genau einer Kette216 zugeordnet. Jeder Kette216 entspricht genau ein Pin der Schnittstelle126 des Mikrocomputers110 . - Im unteren Teil der
2 ist dargestellt, wie die in die drei Ebenen132 ,134 und136 unterteilte Signalkonfiguration130 von der zentralen Recheneinheit116 zu einem entsprechenden digitalen Datensignal128 zusammengesetzt wird. Als Beispiel ist hier ein Ausschnitt des digitalen Signals dargestellt, welcher mit einem TTL-High-Pegel beginnt, dann eine fallende Flanke218 aufweist, dann über eine gewisse Zeitspanne auf einem TTL-Low-Level liegt, dann wieder eine steigende Flanke aufweist, um dann wiederum auf einem TTL-High-Pegel zu verlaufen. - Das Verfahren wird so durchgeführt, dass zunächst in Schritt
310 in3 die Signalkonfiguration130 aus dem Flash-Speicher114 in den Arbeitsspeicher118 des Mikrocomputers110 eingelesen wird. Weiterhin wird in Schritt312 die vom Sensorsystem122 ermittelte aktuelle Winkelstellung der Kurbelwelle des Verbrennungsmotors in den Arbeitsspeicher118 geladen. Alle im Arbeitsspeicher118 geladenen Daten können durch Zugriff der zentralen Recheneinheit116 ständig aktua lisiert werden (Schritt314 in3 ). So wird insbesondere der gespeicherte aktuelle Wert der Winkelstellung ständig neu eingelesen. - Anschließend wird in Schritt
316 aus den eingelesen und aktualisierten Daten, die im Arbeitsspeicher118 gespeichert sind, das digitale Signal128 berechnet. Als Beispiel soll hier die Berechnung der fallenden Flanke218 erläutert werden (siehe3 unten). Die Gruppeninformation220 , welche Informationen über die fallende Flanke218 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 Gruppeninformation beinhaltet weiterhin, dass das Ereignis218 (fallende Flanke) in einem bestimmten Verhältnis zu Ereignis222 eintreten soll, beispielsweise mit einem Winkelabstand von 5° vor Ereignis222 . - Aus den ständig aktualisierten Informationen über den aktuellen Betriebszustand des Verbrennungsmotors (Winkelstellung, Drehzahl) wird nun berechnet, wann Ereignis
222 voraussichtlich eintreten wird. Daraus wiederum lässt sich der Zeitpunkt errechnen, zu dem Ereignis218 (fallende Flanke) eintreten soll und ein entsprechendes Signal erzeugen. Später werden dann entsprechend den Ketteninformationen136 die so berechneten Signale zusammengesetzt zu dem digitalen Signal128 und in Schritt318 über die Schnittstelle126 (bzw. einen der Kette136 zugeordneten Pin der Schnittstelle126 ) ausgegeben. - Das in
2 dargestellte Beispiel der Berechnung der fallenden Flanke218 ist ein vergleichsweise einfaches Beispiel, da der Eintritt des Ereignisses218 lediglich in Relation zu einem weiteren Ereignis222 steht. Gleichzeitig könnte jedoch auch eine Relation zu einem weiteren Ereignis, beispielsweise der steigenden Flanke224 bestehen. So könnte beispielsweise die Bedingung für den Eintritt der fallenden Flanke218 lauten: Die fallende Flanke218 soll eine Millisekunde vor der steigenden Flanke224 auftreten, jedoch nicht später als 20° vor TDC (Ereignis222 ). - Bei der Berechnung der fallenden Flanke
218 würde also zunächst entsprechend dem oben beschriebenen Verfahren der (wahrscheinlichste) Zeitpunkt des Eintritts der steigenden Flanke224 berechnet. Anschließend würde berechnet, welche Bedingung zuerst erfüllt ist: Tritt das Ereignis222 früher oder später als eine Millisekunde vor dem Ereignis224 ein? Sollte Ereignis222 früher als eine Millisekunde vor dem Ereignis224 eintreten, so wird die fallende Flanke218 genau zum Zeitpunkt des Ereignisses222 (also in einer Winkelstellung von 20° vor TDC) ausgelöst. Tritt Ereignis222 hingegen später auf, so wird die fallende Flanke218 genau eine Millisekunde vor dem Ereignis224 ausgelöst (letzterer Fall ist dargestellt in2 unten). - Auf diese Weise werden die Ereignisse der Ereignisinformationen
132 mittels der Gruppeninformationen134 und der Ketteninformationen136 sukzessive ausgewertet und die entsprechenden Zeitpunkte der Auslösung der einzelnen Ereignisse berechnet. Diese Zeitpunkte sind typischerweise keine absoluten Zeitpunkte, sondern Zeitpunkte relativ zu einem bestimmten Startzeitpunkt des digitalen Signals128 . Dieser Startzeitpunkt kann dem Mikrocomputer110 beispielsweise durch das externe Triggersignal124 vorgegebenen werden.
Claims (22)
- Verfahren zur Erzeugung motorsynchroner digitaler Signale (
128 ) zur Steuerung eines Verbrennungsmotors mit folgenden Schritten: a) mindestens eine Signalkonfiguration (130 ) wird ganz oder teilweise in einen ersten elektronischen Speicher (118 ) eines Computersystems (110 ) eingelesen, – wobei die Signalkonfiguration folgende Informationen aufweist: a1) mindestens eine Ereignisinformation (132 ), – wobei die mindestens eine Ereignisinformation (132 ) Informationen über mindestens ein Ereignis (210 ,218 ,222 ,224 ) aufweist; und a2) mindestens eine Gruppeninformation (134 ), – wobei die mindestens eine Gruppeninformation (134 ) mindestens eine Information über die Zusammenfassung eines oder mehrerer Ereignisse zu einer Gruppe (212 ,214 ,220 ) aufweist; und a3) mindestens eine Ketteninformation (136 ), – wobei die mindestens eine Ketteninformation (136 ) Informationen über die Zusammenfügung einer oder mehrerer Gruppen (212 ,214 ,220 ) zu einer Kette (216 ) aufweist; b) mindestens eine Zustandsvariable wird in das Computersystem (110 ) eingelesen, – wobei die mindestens eine Zustandsvariable Informationen über einen Betriebszustand des Verbrennungsmotors enthält; und c) aus der in Schritt a) eingelesenen mindestens einen Signalkonfiguration (130 ) und der in Schritt b) eingelesenen mindestens einen Zustandsvariablen wird mindestens ein digitales Signal (128 ) berechnet. - Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die in Schritt a) eingelesene mindestens eine Ereignisinformation (
132 ) mindestens eine der folgenden Informati onen über ein oder mehrere Ereignisse (210 ,218 ,222 ,224 ) enthält: – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) in Form einer Ausgabe eines Signals mit einem bestimmten Signalpegel eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) in Form eines Wechsels eines Signalpegels von einem vorgegebenen ersten Pegel zu einem vorgegebenen zweiten Pegel (Flanke) eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) zu einem vorgegebenen Zeitpunkt und/oder in einem vorgegebenen Betriebszustand, insbesondere in einer vorgegebenen Winkelstellung einer Kurbelwelle, eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) mit einer vorgegebenen Zeitdifferenz und/oder einer vorgegebenen Betriebszustandsdifferenz, insbesondere einer Winkeldifferenz einer Winkelstellung einer Kurbelwelle, vor oder nach einem vorgegebenen anderen Ereignis (210 ,218 ,222 ,224 ) eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) für ein vorgegebenes Zeitintervall und oder Betriebszustandsintervall, insbesondere ein Winkelstellungsintervall einer Winkelstellung einer Kurbelwelle, andauern soll; und/oder – eine Information darüber, ob ein bestimmtes Ereignis (210 ,218 ,222 ,224 ) eintreten soll (enable) oder nicht (disable); und/oder – eine Information über das Ereignis (210 ,218 ,222 ,224 ) und/oder die Gruppe (212 ,214 ,220 ), welches bzw. welche als nächstes eintreten soll. - Verfahren nach einem der beiden vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die in Schritt a) eingelesene mindestens eine Gruppeninformation (
134 ) mindestens eine der folgenden Informationen über eine oder mehrere Gruppen (121 ,214 ,220 ) enthält: – eine Information über die Identität mindestens eines in der Gruppe zusammengefassten Ereignisses (210 ,218 ,222 ,224 ); und/oder – eine Information über eine logische Verknüpfung und/oder einen bedingten Eintritt und/oder eine Priorisierung eines oder mehrerer in der Gruppe (212 ,214 ,220 ) zusammengefassten Ereignisse (210 ,218 ,222 ,224 ); und/oder – eine Information über den voraussichtlichen Betriebzustand und/oder die voraussichtliche Zeit, zu der eines oder mehrerer der in der Gruppe (212 ,214 ,220 ) zusammengefassten Ereignisse (210 ,218 ,222 ,224 ) eintreten werden; und/oder – eine Information über den Zeitpunkt und/oder den Betriebszustand, in dem das letzte vorhergehenden Ereignis (210 ,218 ,222 ,224 ) eingetreten ist. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die in Schritt a) eingelesene mindestens eine Ketteninformation (
136 ) mindestens eine der folgenden Informationen über eine oder mehrere Gruppen (212 ,214 ,220 ) und/oder Ereignisse (210 ,218 ,222 ,224 ) enthält: – eine Information über die Identität mindestens einer in der Kette (216 ) zusammengefassten Gruppe und/oder mindestens eines in der Kette zusammengefassten Ereignisses (210 ,218 ,222 ,224 ); und/oder – eine Information über mindestens einen Referenzzustand des Verbrennungsmotors, insbesondere eines oberen Totzeitpunkts (TDC); und/oder – eine Information über den momentanen Betriebszustand des Verbrennungsmotors, insbesondere einer Winkelstellung einer Kurbelwelle. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die in Schritt b) eingelesene mindestens eine Zustandsvariable eine Winkelstellung einer Kurbelwelle ist.
- Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch folgenden zusätzlichen Verfahrensschritt: d) die in Schritt a) eingelesene Signalkonfiguration (
130 ) wird durch zusätzliche Informationen ergänzt und/oder ersetzt. - Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass in Schritt d) eine Information abgespeichert wird, welche einen Hinweis darauf aufweist, ob ein bestimmtes Ereignis ausgeführt worden ist oder nicht.
- Verfahren nach einem der beiden vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in Schritt d) mindestens eine der folgenden Informationen abgespeichert wird: – eine aktualisierte Information über den voraussichtlichen Betriebzustand und/oder die voraussichtliche Zeit, zu der eines oder mehrerer der in der Gruppe (
212 ,214 ,220 ) zusammengefassten Ereignisse (210 ,218 ,220 ,224 ) eintreten werden; und/oder – eine aktualisierte Information über den Zeitpunkt und/oder den Betriebszustand, in dem das letzte vorhergehenden Ereignis (210 ,218 ,220 ,224 ) eingetreten ist. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mindestens einer der Verfahrensschritte b), c) und/oder d) wiederholt oder kontinuierlich durchgeführt wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine eindeutige Zuordnung jeder Gruppe (
212 ,214 ,220 ) zu einer einzelnen Kette (216 ) vorliegt. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das mindestens eine in Schritt c) berechnete digitales Signal (
128 ) in elektronischer Form mit vorgegebenen High- und Low-Pegeln über eine physikalische Schnittstelle (126 ) ausgegeben wird. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die in Schritt a) eingelesene Signalkonfiguration (
130 ) vor dem Einlesen in einem zweiten elektronischen Speicher (114 ), insbesondere einem nichtflüchtigen Speicher, abgespeichert wird. - Anordnung zur Erzeugung motorsynchroner digitaler Signale (
128 ) zur Steuerung eines Verbrennungsmotors mit: a) einem Computersystem (119 ); b) Mitteln (112 ) zum Einlesen einer Signalkonfiguration (130 ) in einen ersten elektronischen Speicher (118 ) eines Computersystems (110 ), – wobei die Signalkonfiguration (130 ) folgende Informationen aufweist: a1) mindestens eine Ereignisinformation (132 ), – wobei die mindestens eine Ereignisinformation (132 ) Informationen über mindestens ein Ereignis (210 ,218 ,222 ,224 ) aufweist; und a2) mindestens eine Gruppeninformation (134 ), – wobei die mindestens eine Gruppeninformation (134 ) mindestens eine Information über die Zusammenfassung eines oder mehrerer Ereignisse (210 ,218 ,222 ,224 ) zu einer Gruppe (212 ,214 ,220 ) aufweist; und a3) mindestens eine Ketteninformation (136 ), – wobei die mindestens eine Ketteninformation (136 ) Informationen über die Zusammenfügung einer oder mehrerer Gruppen (212 ,214 ,220 ) zu einer Kette (216 ) aufweist; c) Mitteln (120 ,122 ) zum Einlesen mindestens einer Zustandsvariablen in das Computersystem (110 ), – wobei die mindestens eine Zustandsvariable Informationen über einen Betriebszustand des Verbrennungsmotors enthält; und d) Mitteln (116 ) zum Berechnen mindestens eines digitalen Signals (128 ) aus der eingelesenen mindestens einen Signalkonfiguration (130 ) und der eingelesenen mindestens einen Zustandsvariablen. - Anordnung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die eingelesene mindestens eine Ereignisinformation (
132 ) mindestens eine der folgenden Informationen über ein oder mehrere Ereignisse (210 ,218 ,222 ,224 ) enthält: – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) in Form einer Ausgabe eines Signals mit einem einen bestimmten Signalpegel eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) in Form eines Wechsels eines Signalpegels von einem vorgegebenen ersten Pegel zu einem vorgegebenen zweiten Pegel (Flanke) eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) zu einem vorgegebenen Zeitpunkt und/oder in einem vorgegebenen Betriebszustand, insbesondere in einer vorgegebenen Winkelstellung einer Kurbelwelle, eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) mit einer vorgegebenen Zeitdifferenz und/oder einer vorgegebenen Betriebszustandsdifferenz, insbesondere einer Winkeldifferenz einer Winkelstellung einer Kurbelwelle, vor oder nach einem vorgegebenen anderen Ereignis (210 ,218 ,222 ,224 ) eintreten soll; und/oder – eine Information darüber, dass ein Ereignis (210 ,218 ,222 ,224 ) für ein vorgegebenes Zeitintervall und oder Betriebszustandsintervall, insbesondere ein Winkelstellungsintervall einer Winkelstellung einer Kurbelwelle, andauern soll; und/oder – eine Information darüber, ob ein bestimmtes Ereignis (210 ,218 ,222 ,224 ) eintreten soll (enable) oder nicht (disable); und/oder – eine Information über das Ereignis (210 ,218 ,222 ,224 ) und/oder die Gruppe (212 ,214 ,220 ), welches bzw. welche als nächstes eintreten soll. - Anordnung nach einem der beiden vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die eingelesene mindestens eine Gruppeninformation (
134 ) mindestens eine der folgenden Informationen über eine oder mehrere Gruppen (212 ,214 ,220 ) enthält: – eine Information über die Identität mindestens eines in der Gruppe (212 ,214 ,220 ) zusammengefassten Ereignisses (210 ,218 ,222 ,224 ); und/oder – eine Information über eine logische Verknüpfung und/oder einen bedingten Eintritt und/oder eine Priorisierung eines oder mehrerer in der Gruppe (212 ,214 ,220 ) zusammengefassten Ereignisse (210 ,218 ,222 ,224 ); und/oder – eine Information über den voraussichtlichen Betriebzustand und/oder die voraussichtliche Zeit, zu der eines oder mehrerer der in der Gruppe (212 ,214 ,220 ) zusammengefassten Ereignisse (210 ,218 ,222 ,224 ) eintreten werden; und/oder – eine Information über den Zeitpunkt und/oder den Betriebszustand, in dem das letzte vorhergehenden Ereignis (210 ,218 ,222 ,224 ) eingetreten ist. - Anordnung nach einem der vorhergehenden Anordnungsansprüche, dadurch gekennzeichnet, dass die eingelesene mindestens eine Ketteninformation (
136 ) mindestens eine der folgenden Informationen über ein oder mehrere Gruppen (212 ,214 ,220 ) und/oder Ereignisse (210 ,218 ,222 ,224 ) enthält: – eine Information über die Identität mindestens einer in der Kette (216 ) zusammengefassten Gruppe (212 ,214 ,220 ) und/oder mindestens eines in der Kette (216 ) zusammengefassten Ereignisses (210 ,218 ,222 ,224 ); und/oder – eine Information über mindestens einen Referenzzustand des Verbrennungsmotors, insbesondere eines oberen Totzeitpunkts (TDC); und/oder – eine Information über den momentanen Betriebszustand des Verbrennungsmotors, insbesondere einer Winkelstellung einer Kurbelwelle. - Anordnung nach einem der vorhergehenden Anordnungsansprüche mit mindestens einer physikalischen Schnittstelle (
126 ) zum Ausgeben des mindestens einen berechneten digitalen Signals (128 ) in elektronischer Form mit vorgegebenen High- und Low-Pegeln. - Anordnung nach einem der vorhergehenden Anordnungsansprüche, dadurch gekennzeichnet, dass die eingelesene Signalkonfiguration (
128 ) vor dem Einlesen in den ersten elektronischen Speicher (118 ) in einem zweiten elektronischen Speicher (114 ), insbesondere einem nichtflüchtigen Speicher, abgespeichert ist. - Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jeder Kette (
216 ) bei der Ausgabe der digitalen Signale (128 ) genau ein Pin (Signalstift) einer Schnittstelle (126 ) zugeordnet ist. - Computerprogramm mit Programmcode-Mitteln, um ein Verfahren gemäß einem der vorhergehenden Verfahrensansprüche durchzuführen, wenn das Computerprogramm auf einem Computer oder Computer-Netzwerk ausgeführt wird.
- Computerprogramm mit Programmcode-Mitteln gemäß dem vorhergehenden Anspruch, die auf einem computerlesbaren Datenträger gespeichert sind.
- Datenträger oder Computersystem, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Arbeits- und/oder Hauptspeicher eines Computers oder Computer-Netzwerkes das Verfahren nach einem der vorhergehenden Verfahrensansprüche ausführt.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410045189 DE102004045189B4 (de) | 2004-09-17 | 2004-09-17 | Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale |
PCT/EP2005/053300 WO2006029919A1 (de) | 2004-09-17 | 2005-07-11 | Verfahren und anordnung zur erzeugung motorsynchroner digitaler signale |
EP05761168A EP1789667A1 (de) | 2004-09-17 | 2005-07-11 | Verfahren und anordnung zur erzeugung motorsynchroner digitaler signale |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410045189 DE102004045189B4 (de) | 2004-09-17 | 2004-09-17 | Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004045189A1 DE102004045189A1 (de) | 2006-04-06 |
DE102004045189B4 true DE102004045189B4 (de) | 2007-04-12 |
Family
ID=34993326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200410045189 Expired - Fee Related DE102004045189B4 (de) | 2004-09-17 | 2004-09-17 | Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1789667A1 (de) |
DE (1) | DE102004045189B4 (de) |
WO (1) | WO2006029919A1 (de) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3643337A1 (de) * | 1985-12-20 | 1987-07-02 | Oki Electric Ind Co Ltd | Verfahren zum verarbeiten von regelgroessen in einem brennkraftmaschinenregelsystem |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5201296A (en) * | 1992-03-30 | 1993-04-13 | Caterpillar Inc. | Control system for an internal combustion engine |
DE10147484B4 (de) * | 2001-09-26 | 2010-01-28 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Ansteuerung von Aktoren, insbesondere von Aktoren zur Kraftstoffeinspritzung bei Einspritzmotoren |
DE60129329D1 (de) * | 2001-10-15 | 2007-08-23 | St Microelectronics Srl | Verfahren und Vorrichtung zur Steuerung der Kraftstoffeinspritzung eines Verbrennungsmotors, insbesondere eines Dieselmotors |
EP1426597A1 (de) * | 2002-11-28 | 2004-06-09 | STMicroelectronics S.r.l. | Hardware-Architektur eines Verwaltungssystems für Start- und Einspritzphase einer Brennkraftmaschine |
EP1424478A1 (de) * | 2002-11-28 | 2004-06-02 | STMicroelectronics S.r.l. | Hardware-Architektur eines automatischen Systems zur Ansteuerung eines Injektors einer Brennkraftmaschine |
-
2004
- 2004-09-17 DE DE200410045189 patent/DE102004045189B4/de not_active Expired - Fee Related
-
2005
- 2005-07-11 EP EP05761168A patent/EP1789667A1/de not_active Ceased
- 2005-07-11 WO PCT/EP2005/053300 patent/WO2006029919A1/de active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3643337A1 (de) * | 1985-12-20 | 1987-07-02 | Oki Electric Ind Co Ltd | Verfahren zum verarbeiten von regelgroessen in einem brennkraftmaschinenregelsystem |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
Also Published As
Publication number | Publication date |
---|---|
DE102004045189A1 (de) | 2006-04-06 |
EP1789667A1 (de) | 2007-05-30 |
WO2006029919A1 (de) | 2006-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0483166B1 (de) | Sequentielles kraftstoffeinspritzverfahren | |
DE69228568T2 (de) | System zur steuerung einer brennkraftmaschine | |
DE4141714C2 (de) | Steuersystem für eine Brennkraftmaschine | |
DE69301280T2 (de) | Verfahren zur Zylinderidentifikation für die Steuerung eines elektronischen Einspritzsystems eines Verbrennungsmotors | |
DE102007004068B4 (de) | Vorrichtung zur Steuerung eines Motors mit Hilfe eines Nockensignals | |
DE3220001C2 (de) | ||
DE19609872A1 (de) | Vorrichtung zur Steuerung der Betriebsakte eines Verbrennungsmotors | |
DE102009017604B4 (de) | Vorrichtung zur Steuerung eines Motors unter Verwendung eines Kurbelwellensignals und eines Nockenwellensignals | |
DE2801641A1 (de) | Zuendverstellverfahren und zuendversteller fuer brennkraftmaschinen | |
DE2504843A1 (de) | Einrichtung zum steuern von betriebsparameterabhaengigen vorgaengen | |
DE102009033459A1 (de) | Motorsteuervorrichtung | |
EP0755483B1 (de) | System zur steuerung einer brennkraftmaschine | |
DE102011054933A1 (de) | Verfahren zur Erfassung eines Drehwinkels | |
DE102013214303A1 (de) | Verfahren und Vorrichtung zur Ermittlung einer Position einer Nockenwelle und einer Phase einer Verbrennungskraftmaschine | |
DE102016119962A1 (de) | Motorsynchronisationsvorrichtung und Steuerverfahren davon | |
DE3312950A1 (de) | Kraftstoffeinspritz-steuersystem fuer einen motor mit innerer verbrennung des direkteinspritzungstypes | |
DE69317795T3 (de) | Elektronische motorsteuerung | |
DE10127378A1 (de) | Zylinder-Identifizierungssystem für eine Brennkraftmaschine | |
DE10104273A1 (de) | Impulse verschiedener Frequenzen verwendende Kraftmaschinen-Steuereinheit | |
DE102004045191B3 (de) | Verfahren und Anordnung zur Motorsynchronisation von Verbrennungsmotoren | |
DE10310365B4 (de) | Steuervorrichtung für einen Verbrennungsmotor | |
DE4323035C2 (de) | Steuervorrichtung für Brennkraftmaschinen mit innerer Verbrennung | |
DE3202614C2 (de) | ||
DE10103561B4 (de) | Kraftmaschinen-Steuereinheit | |
DE102004045189B4 (de) | Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE |
|
R084 | Declaration of willingness to licence | ||
R081 | Change of applicant/patentee |
Owner name: VITESCO TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE |
|
R081 | Change of applicant/patentee |
Owner name: VITESCO TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: VITESCO TECHNOLOGIES GMBH, 30165 HANNOVER, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |