-
Die vorliegende Erfindung betrifft eine Schaltungsanordnung und ein entsprechendes Verfahren zur Realisierung eines Mechanismus zur einfachen Bestimmung von Position-Minus-Zeit in einer komplexen Befehlsfolge.
-
Stand der Technik
-
In derzeit bekannten Motorsteuergeräten stehen oft nur eine komplexe Softwarearchitektur und sehr komplexe Regelalgorithmen zur Verfügung, die umfangreiche Rechenressourcen benötigen. Die zur Verfügung stehenden Regelalgorithmen müssen dabei in der Regel hochdynamische Eingangsdaten verarbeiten und Ausgangskenngrößen berechnen, die auch physikalische Eigenschaften von jeweiligen Aktuatoren mit einbeziehen. Eine solche Ausgangskenngröße ist bspw. bei Ansteuerung eines Aktuators die Trägheit oder Verzögerungseigenschaft des Aktuators, die es erforderlich macht, bspw. eine bestimmte Zeit bevor ein Motor einen spezifischen Drehwinkel erreicht, bei welchem ein Ereignis eingetreten sein soll, dieses Ereignis bzw. eine damit assoziierte Operation auszulösen. Der Motor wird sich dabei je nach Beschleunigung oder Verzögerung unterschiedlich schnell drehen, so dass davon wiederum abhängig der Drehwinkel (Position) zu einem anderen Zeitpunkt erreicht sein wird. Der dem Drehwinkel zugeordnete Zeitpunkt ändert sich deshalb je nach Änderung der Parameter. Eine sogenannte Position-Minus-Zeit-Berechnung erlaubt es vorherzusagen, wann, ausgehend von aktuellen Zeit- bzw. Zustandsparametern, ein Zustand erreicht ist, in dem eine geplante durchzuführende Operation durchzuführen ist bzw. ausgelöst werden muss.
-
Es ist bspw. denkbar, dass im Falle einer Einspritzpumpe, die jeweilige Einspritzung in Abhängigkeit von einer jeweiligen Beschleunigung bzw. Verzögerung des Motors stets nur in einer bestimmten Winkelposition der mit der Einspritzpumpe gekoppelten Welle erfolgen kann, so dass ausgehend von einem momentanen aktuellen Zustand der Welle vorhergesagt werden kann, wann die entsprechende Winkelposition erreicht wird, so dass dann die Einspritzung erfolgen kann. Hierbei ist jedoch die o. g. Trägheit oder Verzögerungseigenschaft des Aktuators zu berücksichtigen und ferner der Gesamtzustand aller, diese durchzuführende Operation beeinflussenden Parameter, wie bspw. eine Beschleunigung oder Verzögerung des Motors selbst.
-
Bisher werden sogenannte Position-Minus-Zeit-Berechnungen in der Regel in Software durchgeführt und zeichnen sich dadurch aus, dass die Position-Minus-Zeit-Berechnung so lange neu berechnet wird, bis ein optimaler Positions/Zeit-Wert bekannt ist. Dies erfordert jedoch ein schnelles Interruptverhalten der dem System zur Verfügung stehenden CPU und nimmt darüber hinaus einen großen Bedarf an Rechenzeit in Anspruch. Dies wird insbesondere dann zu einem Problem, wenn hohe Motordrehzahlen vorliegen.
-
Vor diesem Hintergrund war es nun eine Aufgabe der vorliegenden Erfindung, die oben beschriebenen Nachteile der softwarebasierten Position-Minus-Zeit-Berechnung auszugleichen und demgegenüber eine zuverlässige Berechnung der entsprechenden Werte auch bei hohen Motordrehzahlen zur Verfügung zu stellen und gleichzeitig die dem System zur Verfügung stehende CPU von einer hohen Interruptlast und komplexen Berechnungen weitestgehend zu entlasten.
-
Offenbarung der Erfindung
-
Vor diesem Hintergrund werden eine Schaltungsanordnung gemäß Patentanspruch 1 und ein entsprechendes Verfahren mit den Merkmalen von Patentanspruch 8 bereitgestellt.
-
Die erfindungsgemäß vorgesehene Schaltungsanordnung sowie auch das erfindungsgemäß vorgesehene Verfahren können bspw. in einer datenverarbeitenden Architektur implementiert sein und eine dem datenverarbeitenden System zur Verfügung stehende CPU in geeigneter Weise entlasten. Geeignete Ausführungsformen der erfindungsgemäß vorgestellten Schaltungsanordnung sowie des erfindungsgemäß vorgestellten Verfahrens ergeben sich aus den jeweils abhängigen Ansprüchen und der Beschreibung.
-
Kern und Vorteile der Erfindung
-
Gemäß Patentanspruch 1 wird eine Schaltungsanordnung für ein datenverarbeitendes System zur Vorhersage einer Koordinate, wie bspw. eines Zeitpunktes oder eines Winkels, für mindestens eine durchzuführende Operation bereitgestellt, wobei die Vorhersage mit mindestens einem Eingangssignal, wie bspw. einem Sensorsignal von einem Geberrad, verbunden ist und von einem vorgegebenen ersten Zeitwert und von mindestens einem vorgegebenen ersten Wert, der eine andere physikalischen Größe repräsentiert, abhängt. Die bereitgestellte Schaltungsanordnung ist dazu konfiguriert, bei jeder Änderung des mindestens einen Eingangssignals mittels jeweiligen aktuellen Zeit- und/oder anderen Zustandsparametern, wie bspw. einer Drehzahl, jeweils aus dem ersten Wert einen zweiten Zeitwert zu berechnen und den ersten Zeitwert von dem zweiten Zeitwert unter Bildung eines dritten Zeitwerts abzuziehen und/oder aus dem ersten Zeitwert einen zweiten Wert zu berechnen und den zweiten Wert von dem ersten Wert unter Bildung eines dritten Werts abzuziehen, um aus dem dritten Zeitwert und/oder dem dritten Wert einen Zustand, bei dem die mindestens eine Operation auszulösen ist, zu bestimmen.
-
Bei dem vorgegebenen ersten Zeitwert kann es sich bspw. um eine Verzögerungsdauer handeln, die eine Trägheit eines entsprechenden Aktuators wiederspiegelt. Diese Verzögerungsdauer bzw. der erste Zeitwert ist bei einer Kalkulation bzw. einer Vorhersage, wann eine Operation auszulösen ist, mit zu berücksichtigen. Der vorgegebene erste Wert einer anderen physikalischen Größe kann bspw. eine vorgegebene Winkelposition einer Welle sein, in welcher die durchzuführende Operation durchzuführen ist. Es kann sein, dass die durchzuführende Operation nur in einer oder wenigen spezifischen Winkelpositionen einer entsprechenden Welle durchgeführt werden kann, so dass diese Winkelpositionen entsprechend vorgegeben sind und in die Berechnung jeweils als hier genannter vorgegebener erster Wert, der eine andere physikalische Größe repräsentiert, eingehen. Somit kann ausgehend bspw. von einem aktuellen Zeitwert bzw. einer aktuellen Winkelposition bestimmt werden, wann zunächst ohne Berücksichtigung der Trägheit bzw. Verzögerungsdauer des Aktuators, die bestimmte, nämlich dem vorgegebenen ersten Wert entsprechende Winkelposition der Welle erreicht ist, wodurch der zweite Zeitwert bestimmt ist. Berücksichtigt man nun allerdings zusätzlich noch die Verzögerungsdauer, entsprechend dem ersten Zeitwert, so muss dieser erste Zeitwert von dem zweiten berechneten Zeitwert abgezogen werden, um ermitteln zu können, welche Zeitdauer entsprechend dem dritten Zeitwert verbleibt, bis die durchzuführende Operation eingeleitet bzw. ausgelöst werden muss.
-
Eine derartige Bestimmung kann alternativ auch ausgehend von dem ersten Zeitwert durchgeführt werden, nämlich dadurch, dass man auf Grundlage des ersten Zeitwerts entsprechend der Verzögerungsdauer des entsprechenden Aktuators eine in dieser Zeit zurückgelegte Winkeldrehung und damit einhergehend eine erreichte Winkelposition bestimmt, diese Winkelposition von der vorgegebenen Winkelposition, welche angibt, wann die durchzuführende Operation tatsächlich auszuführen ist, abzieht und somit eine Winkelposition als dritten Wert erhält, welche vorgibt, dass sobald diese Winkelposition erreicht ist, die durchzuführende Operation einzuleiten ist. Das bedeutet, dass aus den berechneten dritten Werten, sei es der dritte Zeitwert und/oder der dritte Wert einer anderen physikalischen Größe, ein Zustand bestimmt werden kann, bei dem die mindestens eine Operation auszulösen bzw. einzuleiten ist.
-
In einer möglichen Ausführungsform der vorgeschlagenen Schaltungsanordnung ist ferner vorgesehen, aus dem dritten Zeitwert den dritten Wert oder aus dem dritten Wert den dritten Zeitwert zu bestimmen und mindestens einen der Werte; dritter Zeitwert oder dritter Wert, an eine Ausgabeeinheit weiterzuleiten. Die Ausgabeeinheit kann dabei Teil der vorgeschlagenen Schaltungsanordnung sein oder aber extern an die Schaltungsanordnung in geeigneter Weise angekoppelt sein.
-
Es ist denkbar, dass die Ausgabeeinheit dazu ausgelegt ist, den erhaltenen dritten Zeitwert mit einer Zeitbasis und/oder den erhaltenen dritten Wert der anderen physikalischen Größe mit einer entsprechenden Basis der anderen physikalischen Größe zu vergleichen und in Abhängigkeit von einem solch durchgeführten Vergleich einen Wechsel eines entsprechenden Ausgangssignals vorzunehmen.
-
Ferner ist es denkbar, dass durch die Schaltungsanordnung der Ausgabeeinheit ein vierter Zeitwert und/oder ein vierter Wert der anderen physikalischen Größe übergeben wird, um den vierten Zeitwert oder den vierten Wert der anderen physikalischen Größe für einen Wechsel eines Ausgabesignals zu berücksichtigen.
-
Dabei ist es denkbar, dass die Schaltungsanordnung dazu konfiguriert ist, der Ausgabeeinheit mindestens ein zusätzliches Steuersignal zu übergeben, welches entscheidet, welche der dritten oder vierten Werte mit der Zeitbasis bzw. mit einer Basis der anderen physikalischen Größe zu vergleichen sind.
-
Es ist denkbar, dass die Ausgabeeinheit dazu konfiguriert ist, ein Statussignal auszugeben, das Informationen über die Entscheidung für die dritten oder vierten Werte gibt.
-
Ferner ist in einer weiteren Ausführungsform der erfindungsgemäß vorgeschlagenen Schaltungsanordnung vorgesehen, dass die Ausgabeeinheit ein Kontrollbit umfasst und dazu konfiguriert ist, in Abhängigkeit von dem Kontrollbit eine zur Durchführung eines Vergleichs für die Basis der anderen physikalischen Größe konfigurierte Vergleichseinheit zwischen einem ersten und einem zweiten Vergleichsmodus umzuschalten, wobei im ersten Vergleichsmodus auf ”größer” oder ”größer/gleich” und im zweiten Vergleichsmodus auf ”kleiner” oder ”kleiner/gleich” verglichen wird.
-
Ferner betrifft die vorliegende Erfindung ein Verfahren für ein datenverarbeitendes System zur Vorhersage mindestens einer durchzuführenden Operation, wobei die Vorhersage mit mindestens einem Eingangssignal verbunden ist und von einem vorgegebenen ersten Zeitwert und von mindestens einem vorgegebenen ersten Wert, der eine andere physikalische Größe repräsentiert, abhängt. Das Verfahren umfasst dabei alle Schritte, die von einer voranstehend eingeführten und vorgeschlagenen Schaltungsanordnung durchgeführt werden können.
-
Weitere Vorteile der Ausgestaltung der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnungen.
-
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder alleine verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
1 zeigt eine Ausführungsform der erfindungsgemäßen Schaltungsanordnung zugrundeliegende Struktur zur Durchführung einer Position-Minus-Zeit-Berechnung;
-
2 zeigt eine weitere Ausführungsform der erfindungsgemäßen Schaltungsanordnung.
-
Ausführungsform der Erfindung
-
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird unter Bezugnahme auf die Zeichnung schematisch ausführlich beschrieben. Dabei wird eine detaillierte Beschreibung in Aufbau und Funktion gegeben.
-
Das erfindungsgemäß vorgeschlagene Verfahren bzw. die erfindungsgemäß vorgesehene Schaltungsanordnung können bspw. in einer Kombination eines Multi Channel Sequencers (MCS) 10, einer Ausgabeeinheit 30 und eines Digital Phase Lock Loop (DPLL) 20 implementiert sein. Diese Architektur wird als mögliche Ausführungsform für die erfindungsgemäß vorgeschlagene Schaltungsanordnung im Folgenden näher beschrieben. Das bedeutet, die Schaltungsanordnung umfasst in dieser Ausführungsform eine Verarbeitungseinheit, wie bspw. einen Multi Channel Sequencer 10, eine DPLL-Einheit 20 und eine Ausgabeeinheit 30.
-
Um eine durchzuführende Operation durchführen zu können, müssen bspw. zunächst gewünschte anzunehmende Positionswerte, an welchen die Operation durchgeführt werden soll, und entsprechende zeitliche Vorhaltewerte bestimmt werden. Die gewünschten anzunehmenden Positionswerte werden dabei jeweils durch einen ersten Wert einer anderen physikalischen Größe repräsentiert. Die zeitlichen Vorhaltewerte entsprechen jeweils einem ersten Zeitwert. Zur Vorgabe dieser Werte wertet eine dem System zur Verfügung stehende CPU (Central Processing Unit) entsprechende Randbedingungen, wie bspw. Drehzahl, Temperatur, Batteriespannung, Rail Druck und Abgaswerte aus. Die entsprechenden Werte und auch Randbedingungen werden dem Multi Channel Sequencer MCS 10 übermittelt. Der MCS 10 entscheidet dann, ob eine unmittelbare Operation wegen eventuell vorrangiger Bedingungen (Zeit- oder Winkelwerte können schon so in der nahen Zukunft liegen, dass eine Berechnungsergebnis erst zu spät vorliegen würde) aufzuführen ist und sendet in diesem Fall Werte direkt über eine entsprechende Routing-Einheit (ARU-Advanced Routing Unit) zu einer Ausgabeeinheit 30 (ATOM-Advanced Timer Output Module). Die Ausgabe von MCS 10 zu ATOM 30 wird in 1 symbolisch über Signalpfad 13 gezeigt.
-
Wenn demgegenüber Position-Minus-Zeit-Berechnungen, d. h. wenn noch ausreichend Zeit zur Berechnung bleibt, erforderlich sind, sendet der Multi Channel Sequencer 10 Positions- und Zeit-Werte über eine Routing-Einheit (ARU) zu der gezeigten DPLL-Einheit 20. Die Ausgabe von MCS 10 zur DPPL-Einheit 20 wird in 1 symbolisch über Signalpfad 12 gezeigt. Die DPLL-Einheit 20 berechnet aus einem vorgegebenen Positionswert, wie bspw. einem Winkelwert als genanntem ersten Wert und der in der DPLL-Einheit 20 ermittelten Drehzahlinformation (zeitlicher Abstand der letzten zwei relevanten Eingangswechsel) einen Zeitwert, an dem der Winkelwert bzw. Positionswert vorliegen würde und zieht davon einen vorgegebenen ersten Zeitwert entsprechend bspw. einer Verzögerungsdauer ab. Dieser so berechnete dritte Zeitwert entspricht nunmehr demjenigen Zeitwert, nach welchem die durchzuführende Operation einzuleiten bzw. auszulösen ist, um dann zu erreichen, dass an dem vorgegebenen Positionswert bzw. dem Winkelwert als vorgegebenem erstem Wert die durchzuführende Operation tatsächlich durchgeführt wird. Alternativ ist es auch möglich, aus dem vorgegebenen Zeitwert entsprechend dem ersten Zeitwert einen zweiten Winkelwert bzw. Positionswert zu bestimmen, der von dem ersten Winkelwert abzuziehen ist, um somit einen dritten Winkelwert zu erhalten, der angibt, bis zu welcher Position die durchzuführende Operation eingeleitet werden muss, damit sie bei dem vorgegebenen Winkelwert entsprechend dem ersten Wert tatsächlich durchgeführt wird. Diesen berechneten dritten Zeitwert und/oder den ebenfalls zu diesem Zeitwert gehörenden berechneten Winkelwert als drittem Wert, kann die DPLL-Einheit 20 über die Routing-Einheit (ARU) einer Ausgabeeinheit 30 zur Verfügung stellen. Die Ausgabe von der DPLL-Einheit 20 zu ATOM 30 wird in 1 symbolisch über Signalpfad 23 gezeigt.
-
Dabei kann die Verbindung zwischen DPLL-Einheit 20 und ATOM 30 auch mittelbar über den MCS 10 erfolgen, wie in 2 symbolisch über Signalpfade 21 und 13 gezeigt. Dazu wird der Ausgabewert der DPLL-Einheit 20 zunächst zum Multi Channel Sequencer 10 mittels des symbolisch dargestellten Signalpfades 21 übertragen und anschließend überträgt der Multi Channel Sequencer 10 diese Daten, nachdem er diese ggf. auch modifiziert hat, über den symbolisch gezeichneten Signalpfad 13 zur Ausgabeeinheit 30. Die Ausgabeeinheit 30 kann basierend auf dem dritten Zeitwert bzw. dem dritten Winkelwert ein entsprechendes Ausgabesignal generieren, welches Kenntnis darüber gibt, wann, d. h. an welcher Position bzw. zu welchem Zeitpunkt die durchzuführende Operation einzuleiten ist. Auf dem Weg von der DPLL-Einheit 20 über den Multi Channel Sequencer 10 zum ATOM 30 kann der Multi Channel Sequencer 10 auch den dritten Zeitwert durch einen weiteren Winkelwert oder den dritten Wert durch einen weiteren Zeitwert ersetzen. Die Ausgabe der Ausgabeeinheit ist symbolisch durch Signalpfad 50 in den 1 und 2 dargestellt.
-
Es ist jedoch möglich, dass aufgrund von Änderungen bspw. in der Drehzahl aufgrund von Beschleunigungen oder Verzögerungen die voranstehend genannten, gemachten Berechnungen mehr oder weniger von den nunmehr tatsächlich vorliegenden Bedingungen abweichen. Deshalb kann vorgesehen sein, dass in der DPLL-Einheit 20 jede Information ausgewertet wird, die eine Präzisierung zulässt und damit die Vorhersage exakter macht. So sind bspw. neue Werte von einem Geberrad einer Kurbelwelle geeignet, Drehzeitinformation und damit entsprechende Voraussagewerte zu präzisieren, die dazu benutzt werden, vorzunehmende Operationen rechtzeitig einzuleiten. Diese Werte werden als Eingangssignal 40 der DPLL-Einheit 20 zur Verfügung gestellt.
-
Falls der berechnete Zeitwert entsprechend dem dritten Zeitwert gemäß der vorgeschlagenen Schaltungsanordnung in der Zukunft liegt, wird mit jeder neuen Eingangsinformation deshalb eine Neuberechnung vorgenommen, so dass die letztlich ausgegebenen Ausgabesignale durch die Ausgabeeinheit stets den aktuellen Bedingungen optimal angepasst sind.
-
Es ist festzuhalten, dass die DPLL-Einheit 20 nicht darüber entscheidet, ob es notwendig ist, auf einen durch sie berechneten Wert, sei es ein Zeitwert oder Positionswert oder ein Wert einer anderen physikalischen Größe, zu reagieren, sondern schickt diese berechneten Werte, ggf. auch in noch unpräziser Form und weit in der Zukunft liegend, an die Ausgabeeinheit 30. In der Ausgabeeinheit 30 wird dann geprüft, gemäß einer Ausführungsform der vorgeschlagenen Schaltungsanordnung, ob die vorgegebenen Positions- und/oder Zeitwerte schon erreicht sind, um dann mit einem Signalwechsel am Ausgang entsprechen zu reagieren. Gleichzeitig fordert die Ausgabeeinheit 30 stets neue berechnete Werte von der DPLL-Einheit 20 an.
-
Ferner ist es denkbar, dass durch die Schaltungsanordnung der Ausgabeeinheit 30 ein vierter Zeitwert und/oder ein vierter Positionswert übergeben wird, um den vierten Zeitwert oder den vierten Positionswert für einen Wechsel eines Ausgabesignals zu berücksichtigen.
-
Dabei ist es denkbar, dass die Schaltungsanordnung dazu konfiguriert ist, der Ausgabeeinheit 30 mindestens ein zusätzliches Steuersignal zu übergeben, welches entscheidet, welche der dritten oder vierten Zeitwerte mit der Zeitbasis bzw. welche der dritten oder vierten Positionswerte mit einer entsprechenden Winkelbasis zu vergleichen sind.
-
Es ist denkbar, dass die Ausgabeeinheit 30 dazu konfiguriert ist, ein Statussignal, was durch Signalpfad 31 in den 1 und 2 kenntlich gemacht ist, auszugeben, das Informationen über die Entscheidung für die dritten oder vierten entsprechenden Werte gibt.
-
Im Unterschied zu anderen an die Routing-Einheit (ARU) gekoppelten Quellen bzw. Modulen, kann die DPLL-Einheit 20 auch als eine nichtblockierende Quelle im Sinne einer Datenquelle ausgebildet sein, die auch mehrfach ein Lesen von gleicher Information zulässt. Dadurch ist es auch möglich, dass auch der Multi Channel Sequencer 10 und andere Einheiten die gleichen Informationen wie die Ausgabeeinheit 30 von der DPLL-Einheit 20 abholen, ohne eine Verzögerung durch eine andernfalls vorzusehende Broadcast-Einheit in Kauf nehmen zu müssen.
-
Sobald die DPLL-Einheit 20 neue Werte, d. h. die genannten dritten Zeitwerte bzw. Werte einer anderen physikalischen Größe berechnet hat und diese mittelbar oder unmittelbar zum ATOM 30 übertragen wurden, werden automatisch diese neuen Werte in der Ausgabeeinheit 30 für einen dort durchzuführenden Vergleich herangezogen. In der Ausgabeeinheit 30 werden die seitens der DPLL-Einheit 20 übermittelten Werte gegenüber einer entsprechenden Wertebasis verglichen. Das bedeutet, dass berechnete Zeitwerte gegenüber einer Zeitbasis und Werte einer anderen physikalischen Größe gegenüber einer entsprechenden Basis der anderen physikalischen Größe verglichen werden. Dieser Vergleich wird sodann genutzt, um ein entsprechendes Ausgabesignal auszugeben bzw. zu prüfen, ob in Abhängigkeit eines derartigen Vergleichs ein Wechsel des Ausgabesignals vorgenommen werden muss. Letztlich wird ein Wechsel des Ausgabesignals in der Regel einem Wechsel bzw. einer Änderung des Eingangssignals gerecht. Das bedeutet, dass bspw. bei Treten eines Gaspedals zur Beschleunigung eines Motors als ein weiteres Eingangssignal zum Beispiel an die CPU ein Ausgabesignal ausgegeben wird, welches bewirkt, dass letztlich entsprechend mehr Treibstoff zu bestimmten Zeiten eingespritzt wird, wie nachfolgend noch genauer beschrieben wird. Die daraus resultierende Beschleunigung schlägt sich im Eingangssignal 40 der DPLL-Einheit 20 nieder, indem die Sensorsignale vom Geberrad mit höherer Frequenz eintreffen.
-
Wenn, wie oben bereits erwähnt, eine stärkere Beschleunigung gewünscht wird und damit mehr Treibstoff eingespritzt werden soll, dann sind ggf. auch neue Position-Minus-Zeit-Werte durch eine dem System zur Verfügung stehende CPU vorzugeben. Über den Multi Channel Sequencer 10 erhält dann die DPLL-Einheit 20 neue Werte, selbst wenn die bisher berechneten Werte, d. h. der dritte Zeitwert und/oder der dritte Wert der anderen physikalischen Größe noch in der Zukunft liegen, d. h. durch das System noch nicht erreicht sind. Diese inzwischen überholten Werte, werden in der DPLL-Einheit 20 ersetzt und neue Zeitwerte als dritte Zeitwerte bzw. Positionswerte als dritte Werte einer anderen physikalischen Größe berechnet. Dabei ist aus Datenkonsistenzgründen ein Empfang neuer Position-Minus-Zeit-Werten nur dann möglich, wenn innerhalb der DPLL-Einheit 20 gerade keine Berechnungen stattfinden. Eine neue Berechnung kann unter Umständen nur starten, wenn ein neuer Input von den Sensorsignalen, wie bspw. vom Geberrad einer Kurbelwelle vorliegt, weil mit diesem Ereignis andere wichtige Berechnungen stattfinden, die nicht verpasst werden können. So muss bspw. auf den Eingangssignalwechsel unmittelbar mit der Ausgabe von Impulsen für die Basis der zweiten physikalischen Einheit reagiert werden. Wie diese unmittelbare Reaktion erreicht werden kann ist aber abhängig von der Implementierung der DPLL-Einheit 20. Erst nachdem diese Berechnungen stattgefunden haben, steht eine ausreichende Zeit für eine Berechnung neuer Zeit- bzw. Positionswerte zur Verfügung, bis wieder mit einem neuen Input-Ereignis gerechnet werden muss. Es sind aber auch Implementierungen der DPLL-Einheit 20 möglich, die nach einer ersten Berechnung ständig neue Position-Zeit-Werte verarbeiten können, unabhängig davon, ob in der Zwischenzeit ein neuer Eingangssignalwechsel eingetreten ist.
-
Die berechneten dritten Zeitwerte bzw. Positionswerte werden bei nichtblockierender Realisierung so lange über die Routing-Einheit (ARU) für die Ausgabeeinheit 30 bereitgestellt, bis die berechneten Zeitwerte in der Vergangenheit liegen oder die berechneten Werte der anderen physikalischen Größen wie bspw. Positionswerte erreicht wurden. Dann wird in der Regel kein Wert mehr ausgegeben, bis neue Positions-Minus-Zeit-Vorgaben zu einer Neuberechnung geführt haben. Bei einer blockierenden Realisierung wird jeder neu berechnete Wert nur einmal zur Verfügung gestellt. Sobald der Wert zum Beispiel vom ATOM 30 abgeholt wurde, wird er nicht mehr bereitgestellt, bis eine Neuberechnung auf Grund von neuen Eingangssignalen oder neuen Position-Zeit-Werten stattgefunden hat.
-
Es ist auch möglich, die jeweiligen berechneten Zeitwerte in entsprechende Positionswerte umzurechnen und dann diese berechneten Positionswerte von den vorgegebenen Positionswerten abzuziehen. In der Folge wird dann in der Ausgabeeinheit 30 geprüft, ob dieser ausgerechnete Positionswert erreicht ist.
-
Um sehr spät in den Ablauf einer Positions-Minus-Zeit-Berechnung und Ausgabe von darauf basierenden Ausgabesignalen eingreifen zu können, muss eine entsprechende CPU in die Lage versetzt werden, die Ausgabe direkt über die Ausgabeeinheit 30 zu steuern. Dazu ist ein Verriegelungsmechanismus in der Ausgabeeinheit 30 vorgesehen, der ein ständiges Nachladen von Werten aus der Routing-Einheit (ARU) unterbrechen kann und stattdessen Werte von der CPU entgegen nehmen kann. Für ein solches Eingreifen der CPU in den Ablauf der Ausgabeeinheit gibt es ein Schreib-Anfrage-Bit WR_REQ, das die CPU setzt, wenn sie bspw. neue Vergleichswerte in ein Operationsregister der Ausgabeeinheit 30 schreiben möchte. Die Vergleichswerte, die die Ausgabeeinheit 30 bereits von der Routing-Einheit (ARU) bekommen hat und die durch ein gesetztes Datenaktuell Bit (DV-data valid) gekennzeichnet sind, werden dabei jedoch nicht verworfen, sondern die Ausgabeeinheit 30 vergleicht weiterhin auf die in einem entsprechenden Vergleichsregister gespeicherten Vergleichswerte, fordert aber keine weiteren neueren Vergleichswerte von der Routing-Einheit (ARU) an. Die CPU kann jetzt die neuen Vergleichswerte in Schattenregister der Ausgabeeinheit 30 schreiben und über ein Zwangsupdate Bit (FORC_UPDATE), der Ausgabeeinheit 30 signalisieren, dass die Ausgabeeinheit die Vergleichswerte in entsprechende Vergleichsregister übernehmen kann.
-
Wenn das genannte Schreib-Anfrage-Bit WR_REQ gesetzt ist, und ein Vergleichsereignis zuschlägt, blockt die Ausgabeeinheit 30 jeglichen Schreibzugriff auf Schatten- und Vergleichsregister und die aktuellen Zeit- und Positionswerte werden in die Schattenregister übernommen. Wenn die CPU noch nicht das genannte Zwangsupdate Bit (FORC-UPDATE) gesetzt hatte, wird dies über ein Schreibfehlschlag-Bit (WRF-write failed) angezeigt bzw. signalisiert. Die WR_REQ und die DV Bits werden bei einem Vergleichsereignis von der entsprechenden Hardware zurückgesetzt.
-
Die CPU kann erkennen, dass ihr spätes ”Update” der Vergleichswerte erfolgreich war, wenn die Bits WR_REQ, DV und WRF nach ihrer Zwangsupdate-Anfrage nicht gesetzt sind. Ist das WRF Bit gesetzt, war die CPU mit ihrem Zwangsupdate nicht erfolgreich.
-
Es ist ferner möglich, dass die Berechnung von insbesondere Positionswerten sowohl für Vorwärts- als auch für Rückwärtslauf genutzt werden. Vergleichswerte für die Ausgabeeinheit für die Zeitbasis sind davon unabhängig ob ein Vorwärtslauf oder ein Rückwärtslauf vorliegt. Für Positionswerte und deren entsprechende Basis trifft dies jedoch nicht zu, weil diese bei einem Rückwärtslauf immer kleiner werden. Das heißt, dass um mit einer für die Zukunft vorgegebenen Position verglichen werden zu können, muss man bei Rückwärtslauf deshalb auf ”kleiner” oder auf ”kleiner oder gleich” vergleichen, während bei Vorwärtslauf auf ”größer” oder ”größer oder gleich” verglichen wird. Ein zusätzliches Steuersignal ist dazu vorgesehen, die Richtung anzuzeigen und damit eine Umschaltung des in der Ausgabeeinheit bereitgestellten Vergleichsmoduls vorzunehmen. Wenn Winkel-Zeit Berechnungen der DPLL-Einheit 20 sich auf einen zu vergleichenden Zeitwert beziehen, dann ergeben sich keine Änderungen gegenüber dem Vorwärtslauf, nur bei einem zu machenden Vergleich einer ggf. auch berechneten Position als Wert einer anderen physikalischen Größe.