-
Die Erfindung betrifft ein computerimplementiertes Verfahren zur Berechnung und Ausgabe von Steuerimpulsen durch eine Steuereinheit, wobei die Steuereinheit eine erste Recheneinheit und eine zweite Recheneinheit aufweist, und wobei die Steuerimpulse von der Steuereinheit an einen Verbrennungsmotor ausgegeben werden. Darüber hinaus betrifft die Erfindung auch eine diesbezügliche Steuereinheit zur Berechnung und Ausgabe von Steuerimpulsen an einen Verbrennungsmotor, wobei die Steuereinheit eine erste Recheneinheit und eine zweite Recheneinheit aufweist
-
Verfahren zur Berechnung und Ausgabe von Steuerimpulsen durch eine Steuereinheit sind bekannt, seitdem Steuereinheiten, beispielsweise in Form von Motorsteuergeräten, auf Basis von elektronischen Recheneinheiten realisiert sind. Diese Recheneinheiten sind grundsätzlich programmierbar, sei es durch die Programmierung einer prozessorbasierten Recheneinheit oder sei es durch die Programmierung eines programmierbaren Logikbausteins, beispielsweise in Form eines FPGAs, oder durch die ”Programmierung” einer Hardware durch eine Hardwarebeschreibung.
-
Die von der Steuereinheit berechneten und an einen Verbrennungsmotor ausgegebenen Steuerimpulse können ganz unterschiedlicher Art sein. Typischerweise handelt es sich um Impulse zur Ansteuerung der Kraftstoffeinspritzung (z. B. bei Otto- und Dieselmotorenmotoren) und Impulse zur Ansteuerung der Kraftstoffzündung (beispielsweise bei Ottomotoren). Die Steuereinheiten können aber auch andere Steuerimpulse ausgeben, beispielsweise zur Ansteuerung der Drosselklappe oder zur Abgasregelung (Lambdaregelungen).
-
Zur Berechnung der Steuerimpulse verarbeitet die Steuereinheit üblicherweise eine Vielzahl von Sensordaten, beispielsweise Informationen über die Stellung von Kurbel- und Nockenwelle, den Luftmassestrom, die Temperatur der Luftmasse, die Stellung der Drosselklappe und weitere Sensordaten.
-
Verbrennungsmotoren sind im Betrieb hochdynamische Systeme mit schnellen Zustandsänderungen, die sehr schnelle Regelungen benötigen. Diese Regelungen sind auf und mit den Recheneinheiten der Steuereinheit implementiert, wobei es sich bei den Recheneinheiten – jedenfalls auch – um echtzeitfähige Steuerungssysteme handelt. Bei der hardwaremäßigen Realisierung von Steuereinheiten ist stets der Konflikt zu lösen zwischen einer möglichst leistungsfähigen und schnellen Hardware und strickt zu begrenzenden Kosten, was naturgemäß ein Zielkonflikt ist.
-
Es ist möglich, dass die mit den Recheneinheiten der Steuereinheit realisierbaren Abtastraten es nicht zulassen, dass Steuerungs- und/oder Regelungsalgorithmen so schnell ausgeführt werden können, dass jeder Steuerimpuls mit in jedem Abtastschritt aktualisierten Sensor- und/oder Zustandsdaten neu berechnet werden kann. In diesem Fall wird eine Mehrzahl von Steuerimpulsen auf Grundlage vergangener Zustandsdaten berechnet und von der Steuereinheit an den Verbrennungsmotor sukzessive ausgegeben, so dass eine Art Vorsteuerung realisiert ist Sollen dagegen zwingend immer ausreichend hohe Abtastraten zur Neuberechnung jedes einzelnen Steuerimpulses mit aktuellen Zustandsdaten realisierbar sein, sind bei der Implementierung der Steuereinheiten aufgrund der Verwendung sehr leistungsfähiger Hardwarekomponenten ganz erhebliche Mehrkosten zu akzeptieren.
-
Aufgabe der vorliegenden Erfindung ist es daher, ein Verfahren zur Berechnung und Ausgabe von Steuerimpulsen durch eine Steuereinheit anzugeben, mit dem die Berechnung und Ausgabe von Steuerimpulsen zeitlich optimiert werden kann, dies vorzugsweise mit einem moderaten hardwaremäßigen Aufwand.
-
Die zuvor aufgezeigte und hergeleitete Aufgabe ist bei dem eingangs beschriebenen Verfahren dadurch realisiert, dass die erste Recheneinheit mitvergangenen Zustandsdaten des Motors mit einer ersten Abtastrate ein Steuerimpulsmuster mit Auslöseinformationen für mehrere zukünftige Steuerimpulse berechnet und das berechnete Steuerimpulsmuster zur zweiten Recheneinheit überträgt, dass die zweite Recheneinheit mit einer zweiten Abtastrate, die größer als die erste Abtastrate der ersten Recheneinheit ist, mit aktuellen Zustandsdaten des Motors die Auslöseinformationen der aktuell auszugebenden Steuerimpulse korrigiert und dass Steuerimpulse von der Steuereinheit auf Grundlage der korrigierten Auslöseinformationen an den Motor ausgegeben werden.
-
Die von der ersten Recheneinheit auf Grundlage von vergangenen Zustandsdaten des Motors berechneten Steuerimpulsmuster stellen also eine Beschreibung für zukünftig zu erzeugende Steuerimpulse dar. Die in dem Steuerimpulsmuster für jeden zukünftigen Steuerimpuls enthaltenen Auslöseinformationen sind eine geeignete Beschreibung der aufeinanderfolgenden zukünftigen Steuerimpulse, wobei die Auslöseinformationen beispielsweise in Einheiten des Motorwinkels, des Kurbelwinkels und hier beispielsweise bezogen auf den oberen Totpunkt eines jeden Zylinders (Top Dead Center) oder in – relativen – Zeiteinheiten angegeben werden können.
-
Die von der ersten Recheneinheit auf Grundlage vergangener Zustandsdaten berechneten Auslöseinformationen für zukünftige Steuerimpulse können beispielsweise einen ganzen Motorzyklus umfassen, also beispielsweise Auslöseinformationen für die Kraftstoffeinspritzung und die Zündung des eingespritzten Kraftstoffes. Diese Auslöseinformationen sind dann im Regelfall insoweit konsistent, als dass sie auf den gleichen vergangenen Zustandsdaten des Motors beruhen. Diese Berechnung des mehrere Auslöseinformationen für mehrere zukünftige Steuerimpulse enthaltenden Steuerimpulsmusters ist dem Wesen nach eine Vorsteuerung, da auf sich zwischenzeitlich ändernde Zustandsgrößen des Verbrennungsmotors nicht mehr reagiert wird.
-
Auf der zweiten Recheneinheit, die mit einer Abtastrate betrieben wird, die höher ist als die Abtastrate der ersten Recheneinheit, wird jedoch eine Korrektur der zunächst von der ersten Recheneinheit berechneten Auslöseinformationen auf Grundlage aktueller Zustandsdaten des Motors möglich. Die zweite Recheneinheit realisiert damit eine Nachregelung. Die erfindungsgemäße Aufteilung der Berechnung und Korrektur von Auslöseinformationen auf eine erste, langsame Recheneinheit und auf eine zweite, schnellere Recheneinheit gestattet die schnelle Reaktion auf plötzliche Zustandsänderungen des Verbrennungsmotors, beispielsweise in Form einer Drehzahländerung innerhalb eines von der ersten Recheneinheit berechneten Steuerimpulsmusters. Trotzdem müssen nicht alle Berechnungen auf nur einer insgesamt sehr schnellen Recheneinheit ausgeführt werden, es kann vielmehr entschieden werden, welche Berechnungen zur Vorsteuerung auf der ersten Recheneinheit durchgeführt werden und welche Berechnungen auf Grundlage ganz aktueller Zustandsdaten zur Nachregelung auf der zweiten Recheneinheit ausgeführt werden. Dadurch wird die Möglichkeit geschaffen, die Recheneinheiten der Steuereinheit so auszulegen, dass Rechenleistung optimal in Anspruch genommen wird, so dass auch eine unter Kostengesichtspunkten optimale Auslegung der hardwaremäßigen Ausstattung der Steuereinheit möglich ist.
-
In einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die zweite Recheneinheit überprüft, ob ein Steuerimpuls mit einer korrigierten Auslöseinformation mit einem nachfolgenden Steuerimpuls kollidiert Die zweite Recheneinheit berechnet mit der zweiten Abtastrate, die größer als die erste Abtastrate der ersten Recheneinheit ist, korrigierte Auslöseinformationen zu den von der ersten Recheneinheit erhaltenen Auslöseinformationen. Auf Grundlage der Korrektur kann es passieren, dass die korrigierte Auslöseinformation eine zeitliche Verzögerung bewirkt, der zugehörige Steuerimpuls also beispielsweise später ausgegeben werden soll, als dies gemäß der Auslöseinformation im Steuerimpulsmuster der ersten Recheneinheit vorgesehen war. Dieser verzögerte Steuerimpuls kann zeitlich sehr nahe an den Auslösezeitpunkt des darauf folgenden Steuerimpulses gelangen, dessen Auslöseinformation noch von der ersten Recheneinheit berechnet worden und noch nicht korrigiert worden ist. Es ist dann beispielsweise unerwünscht, zeitlich nah aufeinanderfolgende und insoweit ”kollidierende” Einspritz- und/oder Zündimpulse zu erzeugen. Derartige Kollisionen von Steuerimpulsen können beispielsweise dadurch erkannt werden, dass sich die durch Auslöseinformationen von benachbarten Steuerimpulsen definierten Auslöseintervalle überschneiden.
-
In einer bevorzugten Ausgestaltung des Verfahrens ist dann weiterhin vorgesehen, dass Steuerimpulse mit kollidierenden Auslöseinformationen zu einem einzigen Steuerimpuls mit gemittelter Auslöseinformation zusammengefasst werden oder – alternativ – alle bis auf einen der kollidierenden Steuerimpulse verworfen werden.
-
Bei einer bevorzugten Ausgestaltung des Verfahrens hat es sich als vorteilhaft herausgestellt, dass die zweite Recheneinheit als aktuelle Zustandsdaten des Motors den aktuellen Kurbelwellenwinkel und/oder eine zeitliche Ableitung des aktuellen Kurbelwellenwinkels und/oder einen aktuellen Zylinderdruck und/oder eine zeitliche Ableitung des Zylinderdrucks verwendet. Diese Zustandsdaten können sich sehr kurzfristig ändern und sind von erheblicher Bedeutung für die Korrektur von Auslöseinformationen zu Steuerimpulsen, die von der ersten Recheneinheit berechnet worden sind. Insoweit ist es sinnvoll, jedenfalls diese Zustandsdaten mit der zweiten Recheneinheit zu erfassen, die mit einer höheren Abtastrate arbeitet als die erste Recheneinheit So lässt sich sehr effektiv eine Nachregelung bei der Berechnung und Ausgabe von Steuerimpulsen realisieren. Im Ergebnis wird es so möglich, eine Motorsteuerung bzw. eine Motorregelung zu implementieren, die beispielsweise innerhalb eines Motorzyklus eine Reaktion auf sich ändernde Zustandsgrößen des Motors erlaubt.
-
Bei einer weiteren vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass die erste Recheneinheit als vergangene Zustandsdaten des Motors den zuletzt bekannten Kurbelwellenwinkel – oft einfach als Kurbelwinkel bezeichnet – und/oder den zuletzt bekannten Wert für den Luftmassestrom und/oder den zuletzt bekannten Wert für die eingespritzte Kraftstoffmenge und/oder den zuletzt bekannten Wert für das Verbrennungsluftverhältnis und/oder eine zeitliche Ableitung der vorgenannten Größen verwendet Abgesehen vom Kurbelwellenwinkel handelt es sich bei diesen Zustandsgrößen um Größen, die im Regelfall eine geringere Dynamik aufweisen und daher nicht zwingend von der zweiten Recheneinheit erfasst werden müssen, so dass die zweite Recheneinheit hier entlastet werden kann. Insbesondere das über die Lambdasonde gemessene Verbrennungsluftverhältnis wird nur in zeitlich relativ großen Abständen ermittelt Bei den zuletzt bekannten Werten kann es sich auch um geschätzte Werte handeln, dies trifft beispielsweise häufig auf die eingespritzte Kraftstoffmenge zu.
-
Bei der Realisierung des zuvor beschriebenen Verfahrens hat es sich als besonders vorteilhaft herausgestellt, wenn die erste Recheneinheit unter Verwendung wenigstens eines Prozessors oder Mikrocontrollers realisiert wird und wenn die zweite Recheneinheit unter Verwendung wenigstens eines programmierbaren Logikbausteins realisiert wird, insbesondere unter Verwendung eines Field Programmable Gate Arrays (FPGA). Prozessoren bzw. Mikrocontroller sind sequentiell arbeitende programmierbare Recheneinheiten, mit denen sich zwanglos auch Gleitkomma-Operationen ausführen lassen, jedoch sind die erzielbaren Abtastraten eher gering, jedenfalls bei Prozessoren, die üblicherweise in Steuergeräten zum Einsatz kommen. Programmierbare Logikbausteine erlauben hingegen als ”hart verdrahtete” Logik auch die parallele Bearbeitung von Berechnungen, so dass hier erheblich schnellere Abtastraten erzielbar sind, auch Abtastraten, die deutlich unter dem Mikrosekundenbereich liegen, beispielsweise im Bereich von Nanosekunden. In dieser zeitlichen Auflösung ist es beispielsweise möglich, schnell veränderliche Informationen über den Zylinderdruck zu erhalten und weiterzuverarbeiten.
-
Ein besonderer Vorteil des erfindungsgemäßen Verfahrens ist gemäß einer weiteren Ausgestaltung dadurch gegeben, dass die erste Recheneinheit die mit den vergangenen Zustandsdaten berechneten Steuerimpulsmuster zeitlich ungebunden berechnet, so dass auch überschneidende Steuerimpulsmuster erzeugt und zur zweiten Recheneinheit übertragen werden. Die zweite Recheneinheit verwendet dann jeweils das aktuellste empfangene Steuerimpulsmuster. Die erste Recheneinheit wird damit asynchron zu der zweiten Recheneinheit betrieben. Sie kann beispielsweise auch dann mit der Berechnung eines Steuerimpulsmusters beginnen, wenn sich bestimmte Zustandsgrößen über ein bestimmtes Maß hinaus geändert haben. Durch diese auch von äußeren Einflüssen oder durch bestimmte interne Ereignisse ausgelöste Neuberechnungen von Steuerimpulsmustern können der zweiten Recheneinheit in variierenden Abständen neue berechnete Steuerimpulsmuster zur Verfügung gestellt werden, es ist also keine feste zeitliche Kopplung zwischen den Berechnungen auf der ersten Recheneinheit und der zweiten Recheneinheit erforderlich.
-
Die zuvor hergeleitete Aufgabe wird bei der eingangs beschriebenen Steuereinheit zur Berechnung und Ausgabe von Steuerimpulsen an einen Verbrennungsmotor, wobei die Steuereinheit eine erste Recheneinheit und eine zweite Recheneinheit aufweist, dadurch gelöst, dass die erste Recheneinheit im Betriebszustand der Steuereinheit mit vergangenen Zustandsdaten des Motors mit einer ersten Abtastrate ein Steuerimpulsmuster mit Auslöseinformationen für mehrere zukünftige Steuerimpulse berechnet und das berechnete Steuerimpulsmuster zur zweiten Recheneinheit überträgt, dass die zweite Recheneinheit im Betriebszustand der Steuereinheit mit einer zweiten Abtastrate, die größer als die erste Abtastrate der ersten Recheneinheit ist, mit aktuellen Zustandsdaten des Motors die Auslöseinformationen der aktuell auszugebenden Steuerimpulse korrigiert und dass Steuerimpulse von der Steuereinheit auf Grundlage der korrigierten Auslöseinformationen an den Motor ausgegeben werden.
-
Vorzugsweise sind die erste Recheneinheit und die zweite Recheneinheit durch Programmierung so ausgestaltet, dass sie das zuvor ausführlich beschriebene Verfahren zur Berechnung und Ausgabe von Steuerimpulsen im Betriebszustand der Steuereinheit ausführen. Besonders vorteilhaft ist, wenn die erste Recheneinheit als Prozessor oder Mikrocontroller realisiert ist und wenn die zweite Recheneinheit als ein programmierbarer Logikbaustein realisiert ist, insbesondere als Field Programmable Gate Array (FPGA).
-
Im Einzelnen gibt es nun eine Vielzahl von Möglichkeiten, das erfindungsgemäße Verfahren und die erfindungsgemäße Steuereinheit auszugestalten und weiterzubilden.
-
Dazu wird verwiesen einerseits auf die dem Patentanspruch 1 nachgeordneten Patentansprüche sowie auf die Patentansprüche 9 und 10, andererseits auf die folgende Beschreibung von Ausführungsbeispielen in Verbindung mit der Zeichnung. In der Zeichnung zeigen
-
1 schematisch ein aus dem Stand der Technik bekanntes Verfahren zur Berechnung und Ausgabe von Steuerimpulsen durch eine Steuereinheit an einen Verbrennungsmotor sowie eine entsprechende Steuereinheit,
-
2 schematisch das erfindungsgemäße Verfahren zur Berechnung und Ausgabe von Steuerimpulsen sowie eine erfindungsgemäße Steuereinheit,
-
3 die sequentielle Berechnung und Ausgabe von Steuerimpulsen durch die zweite Recheneinheit der Steuereinheit,
-
4 kollidierende Steuerimpulse und Strategien zur Kollisionsbeseitigung und
-
5 verschiedene Varianten der Berechnung von Steuerimpulsmustern auf der ersten Recheneinheit zur Verdeutlichung der asynchronen Durchführung von Berechnungen auf der ersten Recheneinheit und der zweiten Recheneinheit.
-
In 1 ist ein aus dem Stand der Technik bekanntes computerimplementiertes Verfahren 1 zur Berechnung und Ausgabe von Steuerimpulsen 2 durch eine Steuereinheit 3 und eine ebensolche Steuereinheit 3 dargestellt, wobei die Steuereinheit 3 eine erste Recheneinheit 4 und eine zweite Recheneinheit 5 aufweist und wobei die Steuerimpulse 2 von der Steuereinheit 3 an einen Verbrennungsmotor 6 ausgegeben werden.
-
Im dargestellten Ausführungsbeispiel ist die Steuereinheit 3 ein Motorsteuergerät mit einer im Einzelnen nicht dargestellten I/O-Schnittstelle, über die die Steuereinheit 3 zum einen zur Beeinflussung des Verbrennungsmotors 6 – und ggf. anderer Komponenten eines Fahrzeugs – Signale ausgibt und zum anderen Signale einliest, um Informationen über den zu beeinflussenden Prozess zu erhalten. Bei den Signalen kann es sich um analoge Spannungen, Schaltsignale, Signalmuster (z. B. pulsweitenmodulierte Signale) oder auch komplexe binäre Daten in Form von Nachrichten im Protokoll einer Buskommunikation handeln. Für die dargestellte Motorsteuerung sind insbesondere die Zustandsdaten ZE des Motors 6 von Interesse. Typische Zustandsdaten ZE des Verbrennungsmotors 6 sind der Kurbelwinkel, der Luftmassestrom, die eingespritzte Kraftstoffmenge, das Verbrennungsluftverhältnis, die Pedalstellung usw.
-
Bei der ersten Recheneinheit 4 und der zweiten Recheneinheit 5 der Steuereinheit 3 in 1 handelt es sich um Mikrocontroller, die jeweils mit einem Echtzeitbetriebssystem ausgestattet sind. Welche Berechnungen auf der ersten Recheneinheit 4 und der zweiten Recheneinheit 5 ausgeführt werden, ist hier im Detail nicht von Interesse. Die Zustandsgrößen ZE des Verbrennungsmotors 6 weisen sehr unterschiedliche Dynamiken auf, zum Teil, weil sich die Zustandsgrößen auf Grund der herrschenden physikalischen sehr unterschiedlich schnell verändern, zum Teil aber auch, weil verschiedene Zustandsgrößen in sehr unterschiedlichen Abtastintervallen – also mit unterschiedlichen Abtastraten – erfasst werden. So ist beispielsweise der Zylinderinnendruck – sofern er denn erfasst wird – eine sich extrem schnell verändernde Zustandsgröße, deren zeitliche Auflösung eine Abtastung im Bereich unter einer Mikrosekunde erfordert, wohingegen das Verbrennungsluftverhältnis nur in erheblich größeren zeitlichen Abständen aktualisiert wird. Die Unterschiede, in denen sich verschiedene Zustandsgrößen ZE eines Verbrennungsmotors zeitlich verändern können, können ohne weiteres mehr als drei Zehnerpotenzen überstreichen; systemtheoretisch betrachtet ist ein Verbrennungsmotor ein sehr steifes System.
-
Im Stand der Technik ist es üblich, dass mehrere Steuerimpulse im Wege einer Vorsteuerung beispielsweise für einen vollständigen Motorzyklus berechnet werden und dann, wie einmal festgelegt, an den Verbrennungsmotor 6 ausgegeben werden, ohne dass eine möglicherweise in dem Motorzyklus bereits veränderte Drehzahl – oder eine andere zwischenzeitlich veränderte Zustandsgröße – in Betracht gezogen wird.
-
Dieser Problematik lässt sich mit dem in den 2 bis 5 dargestellten Verfahren 1 zur Berechnung und Ausgabe von Steuerimpulsen 2 begegnen.
-
Das in 2 dargestellte Verfahren 1 zur Berechnung und Ausgabe von Steuerimpulsen 2 zeichnet sich dadurch aus, dass die erste Recheneinheit 4 mit vergangenen Zustandsdaten ZE,old des Motors 6 mit einer ersten Abtastrate ein Steuerimpulsmuster S mit Auslöseinformationen sr, sf für mehrere zukünftige Steuerimpulse berechnet und das berechnete Steuerimpulsmuster S zur zweiten Recheneinheit 5 überträgt. Das Steuerimpulsmuster S ist in der ersten Recheneinheit 4 nochmals dargestellt mit einem Vektor von Auslöseinformationen sr, sf, wobei dieser Vektor n Auslöseinformationen sr, sf enthält. Im vorliegenden Fall handelt es sich bei den Auslöseinformationen sr, sf jeweils um den Startwinkel und den Endwinkel eines Zündimpulses. Das in der ersten Recheneinheit 4 berechnete Steuerimpulsmuster S beruht im Gänze auf vergangene Zustandsdaten ZE,old des Motors 6. Das Steuerimpulsmuster S kann also hinsichtlich der zugrundeliegenden Datenbasis vergangener Zustandsdaten ZE,old als konsistent bezeichnet werden. Die zweite Recheneinheit 5 erhält das Steuerimpulsmusters S vollständig.
-
Des weiteren ist vorgesehen, dass die zweite Recheneinheit 5 mit einer zweiten Abtastrate, die größer als die erste Abtastrate der ersten Recheneinheit 4 ist, mit aktuellen Zustandsdaten ZE,new des Motors 6 die Auslöseinformationen sr, sf der aktuell auszugebenden Steuerimpulse 2 korrigiert Die zweite Recheneinheit 5 ist also in der Lage, die Korrekturen mit größerer Geschwindigkeit durchzuführen und aktuelle Zustandsdaten ZE,new des Motors 6 bzw. zu erfassen, als dies der ersten Recheneinheit 4 möglich ist. Durch diese Maßnahme wird es möglich, auf Zustandsänderungen des Motors 6 zu reagieren und zwar innerhalb des Zeitbereichs, der von dem von der ersten Recheneinheit 4 berechneten Steuerimpulsmuster S überstrichen wird. Die zweite Recheneinheit 5 kann also jeden einzelnen zukünftigen Steuerimpuls an neue Zustandsdaten ZE,new des Motors 6 anpassen, so dass korrigierte Auslöseinformationen sr', sf', resultieren. Schließlich werden Steuerimpulse 2 von der Steuereinheit 3 auf Grundlage der korrigierten Auslöseinformationen sr', sf' an den Motor 6 ausgegeben.
-
3 verdeutlicht diesen Vorgang noch einmal. Aus 3 wird insbesondere deutlich, dass die zweite Recheneinheit 5 korrigierte Auslöseinformationen sr', sf', sequentiell berechnet und als Steuerimpulse 2 an den Motor 6 ausgibt, während die Recheneinheit 5 das Steuerimpulsmuster S quasi als ein Informationspaket – auf einmal – erhält.
-
Die in 2 dargestellte Steuereinheit 3 ist so ausgestaltet, dass die zweite Recheneinheit 5 überprüft, ob ein Steuerimpuls 2 mit einer korrigierten Auslöseinformation sr', sf' mit einem nachfolgenden Steuerimpuls 2 kollidiert 4a zeigt zur Verdeutlichung einer möglicherweise auftretenden Kollision von Steuerimpulsen 2 zunächst zwei Steuerimpulse 2 mit den Auslöseinformationen sr,2, sf,2; sr,3, sf,3. Die Auslöseinformationen in 4a sind berechnet worden von der ersten Recheneinheit 4 und sie definieren die beiden dargestellten Auslöseintervalle. Diese Auslöseintervalle der Steuerimpulse 2 seien hinreichend voneinander beabstandet, es handelt sich um Auslöseinformationen sr, sf eines Steuerimpulsmusters S.
-
4b zeigt die Situation nach einer Korrektur der Auslöseinformationen sr,2, sf,2, zu den korrigierten Auslöseinformationen sr,2', sf,2'. Der korrigierte Steuerimpuls 2 nähert sich hier sehr stark an den nachfolgenden und aus der Vorsteuerung berechneten Steuerimpuls 2 mit den Auslöseinformationen sr,3, sf,3 an. Im vorliegenden Fall wird der Abstand zwischen den beiden Steuerimpulsen 2 gemäß 4b als kollidierend erkannt, beispielsweise weil ein Minimalabstand für Steuerimpulse 2 vorgegeben ist und diese Grenze unterschritten wird.
-
In den 4c und 4d werden zwei Möglichkeiten aufgezeigt, wie die Steuereinheit 3 bzw. die Recheneinheit 5 der Steuereinheit 3 mit einer solchen Kollision umgeht. Im Falle von 4c wird die Situation dadurch gelöst, dass die Steuerimpulse 2 mit kollidierenden Auslöseinformationen sr,2', sf;2' und sr,3', sf,3 zu einem einzigen Steuerimpuls 2 mit gemittelter Auslöseinformation sr,m, sf,m zusammengefasst werden.
-
Bei der Lösung gemäß 4d ist alternativ vorgesehen, dass alle bis auf einen der kollidierenden Steuerimpulse 2 verworfen werden, vorliegend bleibt der Steuerimpuls 2 mit den Auslöseinformationen sr,2', sf,2', erhalten, der Steuerimpuls 2 mit den Auslöseinformationen sr,3, sf,3 wird verworfen.
-
In 5 ist schließlich dargestellt, dass die erste Recheneinheit 4 die mit den vergangenen Zustandsdaten ZE,old berechneten Steuerimpulsmuster S zeitlich ungebunden berechnet, so dass auch überschneidende Steuerimpulsmuster S erzeugt und zur zweiten Recheneinheit 5 übertragen werden, wobei die zweite Recheneinheit 5 im vorliegenden Fall das aktuellste empfangene Steuerimpulsmuster S verwendet, also insbesondere für die Korrektur verwendet. In 5a sind zunächst zwei gleich lange Steuerimpulsmuster S1, S2 gezeigt Die zeitliche Erstreckung der in den Steuerimpulsmustern S1, S2 enthaltenen aber im Einzelnen nicht dargestellten Auslöseinformationen wird durch die Breite der jeweils zugehörigen Klammern veranschaulicht Die vertikalen Pfeile an den sich öffnenden Klammern zeigen den Zeitpunkt an, zu dem das jeweilige Steuerimpulsmuster S von der ersten Recheneinheit 4 zu der zweiten Recheneinheit 5 vollständig übertragen sein muss. Es ist einleuchtend, dass die Steuerimpulsmuster S, da sie ja zukünftige Steuerimpulse 2 enthalten, spätestens zu Beginn des frühesten Auslöseintervalls auf der zweiten Recheneinheit 5 vorliegen müssen, damit diese entsprechende Korrekturen vornehmen kann. Die Steuerimpulsmuster S1, S2, S3 werden überlappungsfrei berechnet und der zweiten Recheneinheit 5 von der ersten Recheneinheit 4 zur Verfügung gestellt.
-
In 5b ist zu erkennen, dass die von der Recheneinheit 4 auf Grundlage der vergangenen Zustandsdaten ZE,old des Motors 6 berechneten Steuerimpulsmusters S1, S2, S3 unterschiedlich große zukünftige Zeiträume umfassen. Im vorliegenden Fall geht in die Entscheidung, wie weitreichend Steuerimpulsmuster S mit zukünftigen Auslöseinformationen berechnet werden, die ermittelte Änderungsgeschwindigkeit interessierender Zustandsdaten ZE des Motors 6 ein.
-
Schließlich ist in 5c dargestellt, dass die Steuerimpulsmuster S1, S2, S3 von der ersten Recheneinheit 4 so berechnet werden, dass sich überschneidende Steuerimpulsmuster S1, S2, S3 entstehen. Wenn von der ersten Recheneinheit 4 beispielsweise das Steuerimpulsmuster S2 berechnet worden und der Recheneinheit 5 zur Verfügung gestellt worden ist, verwirft die Recheneinheit 5 das Steuerimpulsmuster S1 und führt die weitere Korrektur der Auslöseinformationen auf Grundlage der in dem Steuerimpulsmuster S2 enthaltenen Auslöseinformationen durch. Insbesondere an diesem Beispiel ist gut zu erkennen, dass die Berechnungen, die auf der ersten Recheneinheit 4 und auf der zweiten Recheneinheit 5 ausgeführt werden, voneinander entkoppelt sind und die erste Recheneinheit 4 und die zweite Recheneinheit 5 asynchron zueinander arbeiten können.
-
Bei der Steuereinheit 3 gemäß 2 ist die erste Recheneinheit 4 unter Verwendung eines Mikrocontrollers realisiert und ist die zweite Recheneinheit 5 unter Verwendung eines programmierbaren Logikbausteins realisiert, vorliegend unter Verwendung eines Field Programmable Gate Arrays (FPGA). Damit ist es der zweiten Recheneinheit 5 möglich, Abtastzeiten deutlich unterhalb des Mikrosekunden-Bereichs zu realisieren, womit beispielsweise auch Zylinderdruckkurven ich Echtzeit ausgewertet werden und für die Regelung innerhalb eines Vorsteuerzyklus nutzbar gemacht werden können.
-
Die zweite Recheneinheit 5 verwendet als aktuelle Zustandsdaten ZE,new des Motors 6 den aktuellen Kurbelwellenwinkel und den jeweils aktuellen Zylinderdruck.
-
Die erste Recheneinheit 4 hingegen verwendet als vergangene Zustandsdaten ZE,old des Motors 6 den zuletzt bekannten Kurbelwellenwinkel, den zuletzt bekannten Wert für den Luftmassenstrom und den zuletzt bekannten Wert für das Verbrennungsluftverhältnis.