Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCESS AND DEVICE FOR MEASURING THE TIME ELAPSED BETWEEN TWO EVENTS
Document Type and Number:
WIPO Patent Application WO/1998/058300
Kind Code:
A1
Abstract:
Process and device for measuring the time elapsed between two events. The result can be represented as a number (360) with multiple digits. A first counting means (300) counts first pulses. A second counting means (310) counts second pulses. The second pulses are more spaced apart than the first pulses. The first half of the digits (OB) of the number (360) with multiple digits is determined from at least the content of the second counting means (310) and the second half of the digits (UB) of the number (360) with multiple digits is determined from the content of the first counting means (300).

Inventors:
RUEPING THOMAS (DE)
KOEHLER MICHAEL (DE)
BAEHREN THOMAS (DE)
Application Number:
PCT/DE1998/000743
Publication Date:
December 23, 1998
Filing Date:
March 13, 1998
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
RUEPING THOMAS (DE)
KOEHLER MICHAEL (DE)
BAEHREN THOMAS (DE)
International Classes:
G04F10/04; (IPC1-7): G04F10/04
Foreign References:
EP0051019A11982-05-05
US3304415A1967-02-14
US3264454A1966-08-02
Download PDF:
Claims:
Ansprüche
1. Verfahren zur Messung des Abstandes zwischen einem ersten und einen zweiten Ereignis, wobei das Ergebnis als mehrstellige Zahl (360) mit wenigstens 4 Stellen darstellbar ist, daß ein erstes Zählmittel (300) erste Impulse zählt, daß ein zweites Zählmittel (310) zweite Impulse zählt, wobei die zweiten Impulse einen größeren Abstand aufweisen, als die ersten Impulse, daß ausgehend von wenigstens einem Inhalt des zweiten Zählmittels (310) die erste Hälfte der Stellen (OB) der mehrstelligen Zahl (360) und ausgehend von wenigstens einem Inhalt des ersten Zählmittels (300) die zweite Hälfte der Stellen (UB) der mehrstelligen Zahl (360) bestimmt werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die zweiten Impulse ausgehend von den ersten Impulsen vorgebbar sind.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ausgehend von einem ersten Inhalt (FT1) des ersten Zählmittels (300), der beim Auftreten des ersten Ergebnisses vorliegt, und einem zweiten Inhalt (FT2) des ersten Zählmittels (300), der beim Auftreten des zweiten Ereignisses vorliegt, die zweite Hälfte der Stellen (UB) der mehrstelligen Zahl bestimmt wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die zweite Hälfte der Stellen (UB) durch Subtraktion des zweiten Inhalts (FT2) des ersten Zählmittels und dem ersten Inhalt (FT1) des ersten Zählmittels bestimmt werden.
5. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß ausgehend von dem Inhalt des zweiten Zählmittels (310), der beim Auftreten des ersten Ereignisses vorliegt und dem zweiten Inhalt des zweiten Zählmittels (310), der beim Auftreten des zweiten Ereignisses vorliegt, und weiteren Größen die erste Hälfte der Stellen (OB) der mehrstelligen Zahl (360) bestimmt werden.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß als weitere Größen, die zweiten Stellen der mehrstelligen Zahl, der Abstand der zweiten Impulse und/oder eine Konstante eingehen.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die erste Hälfte der Stellen (OB) gemäß der Formel OB = (GTA * TIUB + K)/216 bestimmt werden, wobei es sich bei den Größen TI und K um Konstanten handelt und die Größe GTA der Differenz des Inhalts des zweiten Zählmittels, der beim Auftreten des ersten Ereignisses vorliegt, und dem Inhalt des zweiten Zählmittels, der beim Auftreten des zweiten Ereignisses vorliegt, entspricht.
8. Vorrichtung zur Messung des Abstandes zwischen einem ersten und einen zweiten Ereignis, wobei das Ergebnis als mehrstellige Zahl mit wenigstens 4 Stellen darstellbar ist, mit einem ersten Zählmittel, das erste Impulse zählt, mit einem zweiten Zählmittel, das zweite Impulse zählt, wobei die zweiten Impulse einen größeren Abstand aufweisen, als die ersten Impulse, daß Mittel vorgesehen sind, die ausgehend von wenigstens einem Inhalt des zweiten Zählmittels die erste Hälfte der Stellen der mehrstelligen Zahl und ausgehend von wenigstens einem Inhalt des ersten Zählmittels die zweite Hälfte der Stellen der mehrstelligen Zahl bestimmen.
Description:
Verfahren und Vorrichtung zur Messung eines Abstandes zwischen einem ersten und einem zweiten Ereignis Stand der Technik Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Messung eines Abstandes zwischen einem ersten und einem zweiten Ereignis.

Bei der Steuerung von Brennkraftmaschinen, insbesondere von Dieselbrennkraftmaschinen erfolgt häufig eine Zeitmessung zwischen zwei Ereignissen. So ist beispielsweise zur Drehzahlerfassung die Zeitdauer zwischen zwei Signalimpulsen eines Sensors zu bestimmen. Dabei werden in der Regel 16- Bit-Register verwendet. Um eine möglichst gute Auflösung, d. h. eine genaue Zeiterfassung gewährleisten zu können, wird ein Zeitraster von 1 ys/Bit gewählt. Dies führt dazu, daß mit einem 16-Bit-Register nur Periodendauern bis maximal 2 _1 us = 65,535 ms meßbar sind. Sollen längere Periodendauern erfaßt werden, so muß die Auflösung reduziert werden. Dies ist aber mit einer ungenauen Zeitmessung verbunden.

Aufgabe der Erfindung Der Erfindung liegt die Aufgabe zugrunde, bei einem Verfahren und einer Vorrichtung zur Messung des Abstandes, zwischen einem ersten und einem zweiten Ereignis eine hohe Meßgenauigkeit zu erzielen, wobei gleichzeitig lange Periodendauern erfaßt werden können.

Vorteile der Erfindung Mit der erfindungsgemäßen Vorgehensweise können lange Periodendauern zwischen zwei Ereignissen mit hoher Genauigkeit bestimmt werden. Vorteilhafte und zweckmäßige Ausgestaltungen und Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.

Zeichnung Die Erfindung wird nachstehend anhand einer Zeichnung dargestellten Ausführungsformen erläutert. Es zeigen Figur 1 ein System zur Steuerung einer Brennkraftmaschine, Figur 2 über der Zeit aufgetragene Zählerstände, Figur 3 ein Blockdiagramm der erfindungsgemäßen Vorrichtung und Figur 4 ein Flußdiagramm der erfindungsgemäßen Vorgehensweise.

Beschreibung der Ausführungsbeispiele In Figur 1 ist ein Steuergerät 100 zur Steuerung einer Brennkraftmaschine insbesondere einer selbstzündenden Brennkraftmaschine dargestellt. Mit 100 ist das Steuergerät bezeichnet. Dieses umfaßt die eigentliche Steuerung 110, die mit dem Ausgangssignal einer Zeitdauerberechnung 120 und mit weiteren Größen 115 beaufschlagt wird. Die Zeitdauerberechnung 120 wird vom Ausgangssignal eines Taktgebers 125 beaufschlagt.

Die Steuerung 100 beaufschlagt ein Stellelement 130 mit dem Ausgangssignal der Steuerung 110. Der Steuerung wird das Ausgangssignal eines Sensors 140, der die Zähne eines Geberrades 145 abtastet, zugeführt. Diese Auswertung erfolgt durch die Zeitdauerberechnung 120.

Zur Steuerung einer Brennkraftmaschine müssen verschiedene Stellelemente 130 abhängig von verschiedenen Signalen angesteuert werden. So wird beispielsweise ein Stellglied zur Steuerung der eingespritzten Kraftstoffmenge, abhängig von der Drehzahl angesteuert.

Hierzu tastet der Sensor 140 Markierungen, die auf einem Geberrad 145 angeordnet sind, ab. Bei jedem Vorbeilauf einer Markierung des Geberrades gibt der Sensor 140 einen Impuls ab. Dieser Impuls löst in der Steuerung einen sogenannten Interrupt aus. Der Abstand zwischen zwei Signalimpulsen des Sensors ist ein Maß für die Drehzahl der Brennkraftmaschine.

Das Geberrad ist vorzugsweise auf der Kurbelwelle und/oder auf der Nockenwelle angeordnet.

Die Zeitdauerberechnung 120 bestimmt den Abstand zweier Ereignisse, in dem es die Anzahl der Impulse des Taktgebers 125 zählt. In dem dargestellten Ausführungsbeispiel ist es der Abstand zweier Signalimpulse des Sensors 140. Die Impulse des Taktgebers 125 werden auch als Feinimpulse bezeichnet. Ausgehend von dieser Zeitdauer ergibt sich die Drehzahl. Die Steuerung 110 bestimmt ausgehend von der Drehzahl und unter der Verwendung der weiteren Größen 115 das Ansteuersignal zur Beaufschlagung des Stellers 130.

Die Erfindung ist nicht auf dieses Ausführungsbeispiel beschränkt. Sie kann bei allen Zeitmessungen eingesetzt

werden, bei denen der Abstand zwischen zwei Zeitpunkten erfaßt wird.

In Figur 2 ist der Zählerstand des Zählers, der den Abstand zählt, über der Zeit t aufgetragen. Dabei wird ein Zähler mit 16-Bit verwendet. Der Taktgeber gibt einen Impuls pro Hs aus. Dies bedeutet, der Zähler durchläuft die Zählerstände von 0-65535. Dies entspricht einem Zeitraum von 65,535 ms. Nach 65536As erreicht der Zähler erneut den Wert 0.

Ferner sind verschiedene Ereignisse mit den Zeitpunkten Tl, T2, T3 und T5 bezeichnet. Die Messung der Zeitabstände erfolgt beim Stand der Technik wie folgt. Der Zähler läuft von 0 bis 65535 durch und startet dann erneut bei 0.

Desweiteren ist vorgesehen, daß bei jedem Rücksetzen des Zählers auf Null ein Interrupt ausgelöst wird. Von der Zähleinrichtung wird mittels des Interrupts festgestellt, wie oft der Zähler zurückgesetzt wird.

Bei dieser Vorgehensweise können in bestimmten Betriebszuständen Probleme auftreten. So kann es z. B. aufgrund der Prioritätsvergabe der Interrupts und Asynchronitäten der Ereignisse, insbesondere wenn mehrere Ereignisse mittels eines Zählers erfaßt werden sollen, zu Problemen führen. Auch Verzögerungen im Prozessor führen zu Fehlern. Dies ist beispielsweise dann der Fall, wenn der Überlauf des Zählers und der entsprechende Interrupt nicht gleichzeitig erfolgen. Erfolgt zwischen dem Überlauf des Zählers und dem Interrupt ein Ereignis so führt dies zu einem fehlerhaften Zählergebnis.

Bei jedem Ereignis werden die Zählerstände in ein Register eingelesen. Wegen der begrenzten Bitzahl des Zählers ist der Wert des Registers zum Zeitpunkt T3 gleich dem Wert zum

Zeitpunkt T5. Die Zeitpunkte T3 und T5 können nur anhand der gezählten Timerüberläufe unterschieden werden. Bei der Messung der Abstände zwischen den Ereignissen T1 und dem Ereignis T2 ist lediglich eine einfache Differenzbildung nötig.

Erfindungsgemäß ist nun vorgesehen, daß zwei Zähler verwendet werden, wobei der erste Zähler eine Feinmessung und der zweite Zähler eine Grobmessung durchführt. Durch Vergleich der beiden Messungen wird auf die Anzahl der Timer-Überläufe geschlossen.

In dem dargestellten Ausführungsbeispiel erfolgt die Grobzählung in einem Zeitraster von 10 ms. Diese sind in Figur 2 mit senkrechten Strichen markiert. Die Feinzählung erfolgt in einem Zeitraster von 1 Us. Diese Werte der beiden Zeitraster sind nur beispielhaft gewählt es können auch andere Zeitraster verwendet werden.

Erfindungsgemäß wird das Ergebnis der Messung des Abstandes zwischen den zwei Ereignissen als mehrstellige Zahl dargestellt. Dabei bestimmen der Inhalt des groben Zählers die erste Hälfte der Stellen und der Feinzähler die zweite Hälfte der Stellen. Beim dargestellten Ausführungsbeispiel ist das Ergebnis als 32-Bit-Wert dargestellt.

Ein Blockdiagramm der erfindungsgemäßen Zeitdauerberechnung 120 ist in Figur 3 dargestellt. Bereits in Figur 1 beschriebene Elemente sind mit entsprechenden Bezugszeichen bezeichnet.

Ein Feinzähler 300 wird von dem Taktgeber 125 mit Zeitsignalen beaufschlagt. Entsprechend wird ein Grobzähler 310 ebenfalls von dem Taktgeber 125 mit Zeitsignalen beaufschlagt. Einer Steuerung 320 werden die Ausgangssignale

des Sensors 140 zugeleitet. Der Sensor 140 wird im Folgenden auch als Interruptgeber 140 bezeichnet. Die Steuerung 320 beaufschlagt den Feinzähler 300 und den Grobzähler 310 mit Signalen.

Der Feinzähler 300 steht mit einem ersten Speichermittel 330 und einem zweiten Speichermittel 335 in Verbindung. Der Inhalt FT1 des ersten Speichermittels 330 und der Inhalt FT2 des zweiten Speichermittels 335 werden von einer ersten Berechnung 340 verarbeitet. Diese erste Berechnung 340 beaufschlagt die zweite Hälfte der Stellen OB eines Registers 360, in daß das Ergebnis eingeschrieben wird. Die zweite Hälfte der Stellen OB entsprechen den Speicherzellen 365-368. In der Figur sind nur 8 Speicherzellen des 16 Bit Registers dargestellt.

Der Grobzähler 310 beaufschlagt eine zweite Berechnung 350 mit dem Wert GT. Ausgehend von diesem Wert und dem Inhalt der Speicherzellen 365-368 bestimmt die Berechnung 350 den Wert der ersten Hälfte OB der Speicherzellen 361-364. Die Inhalte des Registers 360 werden von der Steuerung 110 weiter verarbeitet.

In Figur 4 wird die Funktionsweise dieser Einrichtung anhand eines Flußdiagrammes beschrieben. In einem ersten Schritt 400 wird ein Merker IR1 mit Null gesetzt. Im anschließenden Schritt 410 wird der Inhalt FT des Feinzählers 300 um 1 erhöht. Die Abfrage 420 überprüft anschließend, ob ein Interrupt IR aufgetreten ist. Ein solcher Interrupt wird durch ein Signal des Interruptgebers 140 ausgelöst. Ist dies nicht der Fall, so erfolgt erneut Schritt 410 in dem der Feinzähler 300 erneut um 1 erhöht wird.

Erkennt die Abfrage 420, daß ein Interrupt IR aufgetreten ist, so überprüft die Abfrage 430, ob der Merker IR1 mit

Null gesetzt ist. Ist dies der Fall, so bedeutet dies, daß dies der erste Interrupt ist. In diesem Fall wird in Schritt 440 der Merker IR1 mit 1 gesetzt. Dies zeigt an, daß ein erster Interrupt aufgetreten ist. Anschließend wird in Schritt 445 der aktuelle Wert des Grobzählers 310 als erster Inhalt GT1 des Grobzählers abgespeichert.

Anschließend wird in Schritt 455 der aktuelle Wert des Feinzählers 300 als erster Inhalt FT1 des ersten Speichers 330 abgespeichert. Anschließend erfolgt erneut Schritt 410.

Erkennt die Abfrage 430, daß der Merker IR1 ungleich Null ist, d. h. daß der in Schritt 420 erkannte Interrupt der zweite Interrupt ist, so folgt Schritt 460.

In Schritt 460 wird der zweite Inhalt GT2 mit dem aktuellen Wert GT des Grobzählers gesetzt. Entsprechend wird in Schritt 462 der zweite Inhalt FT2 des zweiten Speichers 335 mit dem aktuellen Wert FT des Feinzählers 300 gesetzt.

Bei einer Ausgestaltung, die in Figur 2 dargestellt ist, kann vorgesehen sein, daß der Grobzähler beim Auftreten des ersten Ereignissen startet. In diesem Fall entspricht der erreichte Zählerstand GT2 der Anzahl GTA der Grobimpulse.

Im Schritt 463 erfolgt die Berechnung der zweiten Hälfte der Stellen UB des Ergebnisses gemäß der folgenden Formel.

UB = FT2-FT1.

Anschließend wird in Schritt 464 die Anzahl GTA der Grobimpulse durch Differenzbildung des Zählerstandes des Grobzählers bei Auftreten des ersten und des zweiten Interrupts bestimmt.

Anschließend wird in Schritt 466 der Inhalt ersten Hälfte der Stellen OB des Ergebnisse gemäß der folgenden Formel bestimmt : OB = (GTA * TI-UB + K)/2 Das ganzzahlige Ergebnis dieser Division mit 216 liefert die oberen 16-Bit des 32-Bit-Ergebnisses des Ausdrucks OB* = GTA * TI-UB + K. Der Wert TI entspricht der Anzahl der Impulse des Taktgebers, die zwischen der Erhöhung des Grobzählers um den Wert 1 liegen. Die Konstante K nimmt bei dem dargestellten Ausführungsbeispiel den Wert 32767 an.

Anschließend endet das Programm in Schritt 470.

Eine Realisierung des Grobzählers ist in Figur 4b dargestellt. Parallel zu diesem Ablauf wird in Schritt 482 bei jeden Impuls des Taktgebers 125 der Inhalt eines Zeitzählers t um 1 erhöht. Die sich anschließende Abfrage 484 überprüft, ob der Inhalt des Zählers t größer als der Wert TI ist. Ist dies nicht der Fall so erfolgt erneut Schritt 482. Ist der Inhalt des Zählers t größer als TI, so wird der Inhalt GT des Grobzählers 310 um 1 erhöht.

Anschließend erfolgt erneut Schritt 482. Es kann aber auch vorgesehen sein, daß der Grobzähler völlig unabhängig von dem Feinzähler arbeitet. Wesentlich ist, daß der Grobzähler in einem größeren Zeitraster als der Feinzähler zählt. Wobei dieses Zeitraster wesentlich kleiner ist als die Timerüberläufe des Feinzählers.

Tritt ein Ereignis auf, d. h. tritt ein Impuls des Sensors auf, so wird ein Interrupt ausgelöst und der aktuelle Wert des Feinzählers als erster Wert FT1 abgespeichert. Tritt das zweite Ereignis auf, dessen Abstand zum ersten Ereignis gezählt werden soll, wird der Inhalt des Feinzählers als

aktueller Wert FT2 abgespeichert. Entsprechend wird beim Grobzähler vorgegangen.

Dann wird die Differenz zwischen dem ersten Wert FT1 und dem zweiten Wert FT2 des Feinzählers ermittelt. Besonders vorteilhaft ist es, wenn eine sogenannte unsigned-Arithmetik verwendet wird. Dadurch ergeben sich immer positive Werte.

Wird das Ergebnis als 32-Bit-Wert dargestellt, so stellt dieses Ergebnis die unteren 16-Bit, d. h. die zweite Hälfte mehrstelligen Zahl dar.

Die oberen 16-Bit, d. h. die erste Hälfte der mehrstelligen Zahl, ergeben sich ausgehend von den gezählten Grobimpulsen, die zwischen den beiden Ereignissen gezählt wurden, der Anzahl der Feinimpulse, die zwischen zwei Grobimpulsen liegen, der Differenz UB zwischen dem ersten Wert FT1 und dem zweiten Wert FT2 des Feinzählers und einer Konstanten K.

In den dargestellten Ausführungsformen laufen die Zähler ständig durch. Tritt ein Ereignis auf, so wird jeweils der Aktuelle Zählerstand des Grob-und des Feinzählers abgespeichert. Ausgehend von den abgespeicherten Werten wird dann der Abstand zwischen zwei Ereignissen bestimmt. Bei einer Ausgestaltung der Erfindung kann auch vorgesehen sein, daß ein oder beide Zähler beim ersten Ereignis starten und beim zweiten Ereignis stoppen. Ausgehend von den aktuellen Zählerständen wird dann der Abstand bestimmt.

Die erste Ausführungsform besitzt den Vorteil, daß die Abstände zwischen mehreren Ereignissen mit zwei Zählern bestimmt werden können. Bei jedem Ereignis werden die beiden Zählerstände abgespeichert. Anschließend kann ausgehend von den abgespeicherten Zählerständen der Abstand zwischen beliebigen Ereignissen bestimmt werden.