DE19860378A1 - Einrichtung zur Signalauswertung - Google Patents

Einrichtung zur Signalauswertung

Info

Publication number
DE19860378A1
DE19860378A1 DE1998160378 DE19860378A DE19860378A1 DE 19860378 A1 DE19860378 A1 DE 19860378A1 DE 1998160378 DE1998160378 DE 1998160378 DE 19860378 A DE19860378 A DE 19860378A DE 19860378 A1 DE19860378 A1 DE 19860378A1
Authority
DE
Germany
Prior art keywords
angle
mcu
event
pll
signal
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.)
Withdrawn
Application number
DE1998160378
Other languages
English (en)
Inventor
Martin Huch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE1998160378 priority Critical patent/DE19860378A1/de
Publication of DE19860378A1 publication Critical patent/DE19860378A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/24457Failure detection
    • G01D5/24461Failure detection by redundancy or plausibility
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/009Electrical control of supply of combustible mixture or its constituents using means for generating position or synchronisation signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
    • G01P3/489Digital circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

Es wird eine Einrichtung zur Signalauswertung angegeben, die vorzugsweise bei einer Brennkraftmaschine eingesetzt wird und die Ausgangssignale eines Kurbelwellenwinkel- und eines Nockenwellenwinkelsensors auswertet zur Ermittlung der Winkelstellung der Wellen der Brennkraftmaschine. Die Ausgangssignale (S1 und S2) der beiden Sensoren werden dabei in einer Auswerteschaltung, die wenigstens eine Winkeluhr, eine PLL-Schaltung zur Signalverfeinerung und eine Mikrocontrollereinheit (MCU) umfaßt, zugeführt und in dieser verarbeitet.

Description

Die Erfindung betrifft eine Einrichtung zur Signalauswertung nach der Gattung des Hauptanspruchs.
Stand der Technik
Bei der Auswertung von Signalen, beispielsweise von Rechtecksignalen, die mit Hilfe geeigneter Sensoren gewonnen werden, ist es üblich, den Abstand zwischen vorgebbaren Flanken der Signale mit Hilfe von Zählern zu bestimmen. Diese Zähler zählen ihnen zugeführte höherfrequente Signale. Der jeweils erreichte Zählerstand ist ein Maß für den Abstand zwischen vorgebbaren Flanken des Signales.
Besonders im Zusammenhang mit der Bestimmung des Drehwinkels einer Welle wird eine wie vorstehend beschriebene Signalauswertung eingesetzt. Beispielsweise wird zur Bestimmung der Winkellage der Kurbelwelle oder der Nockenwelle einer Brennkraftmaschine eine Signalauswertung durchgeführt, bei der das im wesentlichen rechteckförmige Ausgangssignal eines Sensors ausgewertet wird. Ein solcher Sensor umfaßt üblicherweise einen feststehenden Aufnehmer, der ein mit der Kurbel- bzw. Nockenwelle verbundenes Geberrad mit einer charakteristischen Oberfläche abtastet und ein die Oberfläche wiederspiegelndes Rechtecksignal abgibt. Durch Ausmessung der Zeitabstände vorgebbarer Flanken des entstehenden Rechtecksignales kann die Winkellage der Welle sowie die Drehzahl bestimmt werden. Eine Einrichtung zur Signalauswertung, bei der eine solche Winkellagebestimmung erfolgt, ist aus der DE-OS 39 27 967 bekannt.
Aus der genannten Druckschrift ist weiterhin bekannt, daß das Steuergerät einer Brennkraftmaschine aus den Signalen einer Kurbel- und/oder eines Nockenwellensensors die für die Regelung der Brennkraftmaschine benötigten Ausgangsgrößen berechnet. Da die Auflösung der Winkelsignale für das Steuergerät zu gering ist, wird weiterhin vorgeschlagen, mit Hilfe eines einstellbaren Frequenzteilers ein Rechtecksignal zu erzeugen, das eine höhere Frequenz als das ursprüngliche Signal aufweist. Mit dem höherfrequenten Signal läßt sich eine genauere Winkelbestimmung durchführen, sofern der eingesetzte Zähler zum Originalwinkel der betreffenden Welle, deren Winkelstellung ermittelt werden soll, synchronisiert ist. Sofern weiterhin die Periodizität so eingestellt ist, daß ein Rücksetzen bei Erreichen von 360° erfolgt, simuliert der Zählerstand des Zählers den Originalwinkel, beispielsweise den Originalkurbelwellenwinkel. Eine Einrichtung mit einem derartig arbeitenden Zähler wird üblicherweise als "Winkeluhr" bezeichnet. Die Realisierung der bekannten Einrichtung ist beispielsweise in Verbindung mit einem Mikroprozessor möglich, in den die Winkeluhr integriert ist, ein Datenaustausch kann beispielsweise über einen parallelen Bus erfolgen. Das Gerät, in welchem die bekannte Signalauswertung abläuft, ist beispielsweise das Steuergerät einer Brennkraftmaschine.
Vorteile der Erfindung
Die erfindungsgemäße Einrichtung zur Signalauswertung mit den Merkmalen des Anspruchs 1 hat den Vorteil, daß eine besonders hohe Auflösung erzielt werden kann. Besonders vorteilhaft ist dabei, daß keinerlei Rundungsfehler auftreten, so daß nach einer Synchronisation eine kontinuierliche Signalauswertung ablaufen kann, ohne daß Driftprobleme auftreten können.
Erzielt werden diese Vorteile mit Hilfe der in Anspruch 1 angegebenen Merkmale.
Besonders vorteilhaft ist, daß die erfindungsgemäße Einrichtung universell einsetzbar ist und eine Anpassung an die jeweiligen Erfordernisse durch Einstellung von Parametern erfolgen kann. In Verbindung mit der Bestimmung der Lage einer Brennkraftmaschine durch laufende Bestimmung der Winkelstellung der Kurbel- und der Nockenwelle der Brennkraftmaschine ist eine einfache Anpassung an die Art der eingesetzten Geberräder, die gewünschte Winkelauflösung, optimale Filterung der Signale oder die Hardware wie eingesetzter Rechner oder Art bzw. Anzahl von Zählern möglich. Die Einrichtung zur Winkelbestimmung kann daher als universelle Winkeluhr bezeichnet werden.
Zeichnung
Ausführungsbeispiele der Erfindung sind in den sechs Figuren der Zeichnung dargestellt und werden in der nachfolgenden Beschreibung näher erläutert.
Beschreibung
In Fig. 1 sind die für das Verständnis der Erfindung erforderlichen Größen beispielhaft im Zusammenhang mit der Winkelerfassung bei einer Brennkraftmaschine dargestellt. Dabei sollen mit der universellen Winkeluhr 10, die Bestandteil des Steuergerätes 11 der Brennkraftmaschine sein kann, die Winkelinformationen bezüglich der Stellung der Kurbelwelle 12 und der Nockenwelle 13 gebildet werden. Auf der Kurbelwelle 12 ist ein Kurbelwellengeberrad 14 befestigt, das mit der Kurbelwelle 12 umläuft und an seiner Oberfläche eine Anzahl gleichartiger Winkelmarken 15 und dazwischenliegenen Lücken 16a, 16b aufweist. Die größeren Lücken 16b werden auch als Synchronisationslücken bezeichnet, über die die Zuordnung zwischen Kurbel- und Nockenwellenstellung hergestellt werden kann. Das Geberrad 14 wird mit Hilfe eines feststehenden Sensors 17 abgetastet, der ein Ausgangssignal S1 abgibt, das die Oberfläche der Geberscheibe 14 wiederspiegelt. Das Ausgangssignal S1 des Sensors 17 wird der universellen Winkeluhr 10 zur Auswertung zugeführt.
Mit der Nockenwelle 13 ist ein Nockenwellengeberrad 18 verbunden, das beim Ausführungsbeispiel eine lange Winkelmarke 19 und eine kurze Winkelmarke 20 mit dazwischenliegenden Lücken 21, 22 aufweist. Das Geberrad 19 wird von einem feststehenden Sensor 23 abgetastet, der ein Signal S2 an die universelle Winkeluhr 10 abgibt, das der Oberfläche des Geberrades 19 entspricht. In der universellen Winkeluhr 10 werden die Pulse des Kurbelwellensignales S1 und des Nockenwellensignales S2 ausgewertet und in ein Winkelsignal S3 gewandelt. Das Winkelsignal S3 ist ein w-Bit-breites-Binärsignal, das als Maß für die Winkellagen der Wellen der Brennkraftmaschine (Kurbelwelle und Nockenwelle) dient. Das Signal S3 kann vom Steuergerät 11 verarbeitet werden oder es kann anderen Einrichtungen der Brennkraftmaschine zur Verfügung gestellt werden. Die universelle Winkeluhr 10 gibt im übrigen noch ein Taktsignal S4 ab, das auch als Tick bezeichnet wird und dessen Verwendung noch näher beschrieben wird.
Mit dem im folgenden beschriebenen Auswerteverfahren erzeugt die universelle Winkeluhr keinerlei Rundungsfehler, so daß eine kontinuierliche Winkelauswertung nach der Synchronisation ohne Drift garantiert ist. Die Synchronisation erfolgt, sobald das Steuergerät 11 aus der zeitlichen Abfolge der Pulse der Signale S1 und S2 die Zuordnung der Stellung von Kurbel- und Nockenwelle erkennt. Die Synchronisation ist in dem beschriebenen System erforderlich, da sich die Kurbelwelle 12 in einem Arbeitsspiel der Brennkraftmaschine zweimal dreht und die Nockenwelle 13 nur einmal. Im Ausführungsbeispiel wird beschrieben, wie die universelle Winkeluhr in Verbindung mit der Bestimmung der Lage der Wellen einer Brennkraftmaschine eingesetzt wird. Selbstverständlich kann die universelle Winkeluhr auch für andere Anwendungen eingesetzt werden, eine entsprechende Anpassung ist dann erforderlich.
Bei dem in Fig. 1 dargestellten Ausführungsbeispiel erzeugt der Sensor 17, der der Kurbelwelle 12 zugeordnet ist, eine Anzahl von Impulsen pro Arbeitszyklus der Brennkraftmaschine, der kleiner ist als der darzustellende Bereich. Die Zählrate des Sensors ist kleiner als die Inkrementrate der Winkeluhr. Die maximale Inkrementierungsrate der Winkeluhr ist ¼ Zählzyklen. Diese Größen sind vorgegeben, alle anderen Parameter, die in die Signalauswertung einfließen, können mit Hilfe eines geeigneten Rechnerprogramms gesetzt werden. Die universelle Winkeluhr ist in einen Rechner implementiert, dieser Rechner führt auch das Programm zur Eingabe der Parameter durch. Einstellbare Parameter sind:
Art des Kurbelwellenrades (z. B. n - 2)
Größe des Nockenwellenrades
Erforderliche Auflösung (z. B. 12 oder 15 Bit)
Anzahl und Art der Segmentzähler
Art der Flankenfilterung.
In der Beschreibung wird die w-Bit-weite binäre Darstellung der Position der Brennkraftmaschine als Winkeluhr bezeichnet. Ein relevanter Impuls vom Kurbelwellensensor wird als Ereignis bezeichnet. Jedes Inkrement der Winkeluhr wird als "Tick" bezeichnet. Ein Zyklus oder Clock-Cycle oder System-Clock-Cycle ist definiert als eine Periode des externen Clock-Signales. Ein Instruction-Cycle umfaßt vier Clock-Zyklen (0, 1, 2, 3). Ein Maschinenzyklus erstreckt sich über ein Arbeitsspiel, also über eine Periode von zwei Umdrehungen der Kurbelwelle bzw. des Kurbelwellenrades, dies ist gleichbedeutend mit einer Umdrehung der Nockenwelle bzw. des Nockenwellenrades.
Beschreibung der Funktionsweise
Die universelle Winkeluhr (UWU) 10 umfaßt eine Impulsvervielfachung, die als Phase-Locked-Loop-Schaltung aufgebaut ist (PLL) und eine Microcontrollereinheit (MCU), die die PLL-Schaltung mit Parametern versorgt. Ein Blockschaltbild ist in Fig. 3 dargestellt.
PLL-Schaltung
Mit Hilfe der PLL-Schaltung wird aus den zugeführten Signalen eine geeignete Anzahl von Impulsflanken (Ticks) während einer Maschinenumdrehung erzeugt. Die Impulsflanken werden in einem sogenannten Winkelzähler, der Bestandteil der Winkeluhr 10 ist, gezählt. Dieser Winkelzähler erreicht nachdem eine komplette Drehung der Kurbelwelle 12 erfolgt ist, einen vorgebbaren Wert, der zunächst von der Anzahl der Winkelmarken der auf dem Kurbelwellengeberrad abhängt. Dieser Wert ist üblicherweise durch 2 teilbar. Während einer Umdrehung der Kurbelwelle erzeugt der Sensor, der das Kurbelwellengeberrad abtastet, eine Anzahl von Ereignissen, die als Eingangssignal für die universelle Winkeluhr 10 dienen. Für jede Anwendung der universellen Winkeluhr sind zwei Werte definiert:
die Anzahl der Ereignisse (events)pro Maschinenumdrehung und die Anzahl der Flanken (Ticks) pro Maschinenumdrehung.
Aus diesen beiden Werten wird eine Größe gebildet, die als TPE bezeichnet ist und wie folgt definiert ist:
TPE = Anzahl der Flanken pro Umdrehung/Anzahl der Ereignisse pro Umdrehung.
Die Periode des ankommenden Sensorsignals, die auch Ereigniszeit genannt wird, wird gemessen, indem die Zahl der Impulse einer systemeigenen Impulsfolge zwischen zwei Ereignissen des Signales des Kurbelwellensensors bestimmt wird. Die Frequenz dieser Impulsfolge (System-Clock- Frequenz) ist dabei viel höher als die Frequenz des Signales des Kurbelwellensensors.
Mit Hilfe eines programmierbaren Frequenzteilers wird die System-Clock-Frequenz durch einen Faktor f geteilt. Die gemessene Periodendauer wird verwendet, um diesen Teilungsfaktor für die nächste Periode zu bestimmen. Es gilt also:
f = Ereigniszeit/TPE.
Die Schwierigkeiten bei der Hardwarerealisierung werden wie folgt behoben: Sofern der vordefinierte Endwert für den Winkeluhrzähler nicht ein Vielfaches der Zahl der Ereignisse pro Maschinendrehzahl ist, ist der berechnete Wert TPE keine Integer-Zahl. Falls TPE offline berechnet wird und einen Rundungsfehler hat, der sich fortsetzt in der Berechnung des Teilungsfaktors f für jedes Ereignis, tritt eine Drift in der Winkeluhr auf, die vermieden werden soll.
Dazu wird, wie in der nächsten Gleichung dargestellt ist, der Faktor f festgelegt ohne explizite Berechnung der Größe TPE. Es wird dabei f nach folgender Bedingung berechnet:
f = Ereigniszeit * Anzahl der Ereignisse pro Maschinenumdrehung/Anzahl der Flanken (Ticks) pro Maschinenumdrehung
Die zugehörige Hardware-Einrichtung, mit der der Faktor f bestimmt werden kann, muß so aufgebaut werden, daß sie die folgende Gleichung lösen kann:
f = Zahl der Clock-Zyklen pro Ereignis * Zahl der Winkelmarken auf dem Geberrad/Winkeluhrbereich
Wird die Größe TPE nach dieser Gleichung berechnet, werden in vorteilhafter Weise keine Rundungsfehler gemacht, solange die Zahl der Flanken pro Maschinenumdrehung eine Vielzahl von 2 ist. Ein Frequenzteiler, der den Wert f ohne Abschneiden irgendwelcher Bits bzw. ohne Ganzzahligmachung benutzt, erzeugt immer die korrekte Zählrate.
Zur Vereinfachung wird nun angenommen, daß die Wortlängen der Hardware bzw. Rechenmittel dieselbe ist, wie die Wortlänge w der Winkeluhr. Wie später noch dargelegt wird, kann diese Annahme verallgemeinert werden für alle Werte von n < = w.
Der Teilerfaktor von f wird in einem Register CTNK der Winkeluhr berechnet, in dem die Gleichung:
CTNK = CTNK + AZ
berechnet wird. Dabei wird jeder Zyklus mit AZ = Zahl der Ereignisse pro Maschinenumdrehung gesetzt. Wenn der berechnete Wert für CTNK überläuft, wird das Register CTVK für den Integerteil von f inkrementiert bzw erhöht. Am Ende der Ereigniszeit enthalten die Zähler CTVK und CTNK die Zahl der Impulse zwischen zwei Flanken (Ticks), die sie durch Auszählen der hochfrequenten Zählimpulse erhalten haben. Beim Auftreten eines Ereignis werden die Zählerstände in die Register TVK und TNK geschoben.
Die Frequenzteilung um den Faktor f erfolgt mit einem Abwärtszähler CTICK, der die Impulsflanken (Ticks) zählt und immer dann, wenn er 0 erreicht, eine Flanke erzeugt. Der Teil von f im Register TNK wird dann zur Variablen CTPLUS addiert. Wenn bei dieser Addition ein Überlauf auftritt, wird CTICK mit dem Integerteil von f aus dem Register TVK wieder geladen, andernfalls wird CTICK mit TVK-1 wieder geladen und das Abwärtszählen beginnt erneut.
Wenn die Wortgröße n der Hardware größer ist als die Wortgröße w der Winkeluhr, wird der Wert für die Zahl der Ereignisse pro Maschinenumdrehung AZ einfach nach links verschoben (n-w) bits, der Rest der Berechnungen bleibt davon unberührt.
Während des Betriebs bei konstanter Maschinengeschwindigkeit arbeitet die PLL ohne Rundungsfehler. Wenn die Ereigniszeiten von Winkelmarke zu Winkelmarke variieren, können Rundungsfehler auftreten, wenn zu viele Flanken (Ticks) pro Ereignis erzeugt werden, dies gilt insbesonders sofern die Ereigniszeit beim Bremsen ansteigt oder beim Beschleunigen der Brennkraftmaschine abfällt. Es wird daher in einer übergeordneten Einheit, die als Mikrocontrollerunit (MCU) bezeichnet wird, die exakte Anzahl der Flanken bestimmt und an die PLL weitergeleitet. Die PLL-Schaltung kennt somit die Anzahl der Flanken, die für jede Winkelmarke erzeugt werden müssen. Wenn die gegebene Anzahl von Flanken vor dem Auftreten des nächsten Ereignisses erreicht wird, werden die verspätet erzeugten Flanken unterdrückt bis zum nächsten Ereignis. Wenn die vorgegebene Anzahl von Flanken bis zum nächsten Ereignis nicht erreicht worden ist, werden die verbleibenden Flanken so schnell als möglich nach dem Ereignis addiert.
Die Mikrocontrollereinheit erhöht den Wert für AZ für reguläre Winkelmarken und die Lücke. Im Fall eines Geberrades mit n-x Winkelmarken wird durch n/x Winkelmarken ein sogenanntes Segment gebildet. Sofern n/x keine Integerzahl ist, tritt ein kleiner Rundungsfehler auf. Eine Fehleransammlung über eine längere Zeit sowie eine Drift wird dagegen von der MCU verhindert.
Mikrocontrollereinheit (MCU)
Als Mikrocontrollerunit MCU kann beispielsweise ein 16-Bit- RISC Mikrocontroller eingesetzt werden. Die Funktion der Mikrocontrollereinheit MCU hängt von den speziellen Erfordernissen ab. Üblicherweise umfaßt die MCU die noch zu beschreibenden Einheiten einschließlich Segmentzeitzählern sowie Filtermittel sowie alle Einrichtungen, die nicht zwingend als Realtime- Einrichtungen arbeiten. Die Arbeitsweise der Mikrocontrollereinrichtung MCU wird im folgenden für zwei verschiedene Verfahren beschrieben, die jedoch letztendlich beide zum selben Ziel führen, nämlich zur Auswertung der Ausgangssignale des Kurbelwellen- und des Nockenwellensensors zur fortlaufenden Bestimmung der Lage der Zylinder der Brennkraftmaschine, die bei bekannter Stellung der Kurbel- und der Nockenwelle ermittelbar ist. Da die Funktion der MCU von der Art der eingesetzten Kurbel- und Nockenwellenräder abhängig ist, wird ein angepaßter Mikrocode in die MCU geladen. Die MCU ist somit generell an beliebige Geberräder anpaßbar.
1. Kontinuierliche Winkeluhr
Der Wert für die Flanken pro Ereignis (TPE) wird in der PLL offline berechnet und in die MCU als 16-Bit-Integer- Konstante tpevk eingegeben. Ein möglicherweise auftretender 16-Bit-Rest wird mit tpenk bezeichnet. Für jedes Ereignis addiert die MCU den Rest in ein GENTPE-Register und setzt den Wert TPE auf tpevk + 1, sofern ein Überlauf auftritt und auf tpevk, falls kein Überlauf auftritt. Zur Synchronisation zeigt die MCU an, wieviele Flanken seit dem letzten Ereignis erzeugt wurden. Sofern signifikant mehr als tpevk Flanken aufgetreten sind, vermutet die MCU, daß das nächste Ereignis zum Ende der Lücke gehört und synchronisiert beim übernächsten Ereignis. Bei der Synchronisation ermittelt die MCU den Synchronisationswert für die Winkeluhr an die PLL, der Synchronisationswert hängt davon ab, welchen Status (high oder low) das Nockenwellensensorsignal aufweist bzw. welcher Status am NW-Eingang anliegt.
Nach dem Übergang zur kontinuierlichen Arbeitsweise, also nachdem die universelle Winkeluhr synchronisiert ist, wird ein Winkelmarkenzähler ZZ aktiviert, der der MCU anzeigt, wenn die nächste Lücke auftritt. Die MCU berechnet die Werte für TPE und AZ, die nach dem nächsten Ereignis benutzt werden, abhängig davon, ob die Lücke aufgetreten ist oder nicht. Da tpenk einen Rundungsfehler hat, muß das Sammelregister für tpenk das mit GENTPE bezeichnet ist, einmal pro Umdrehung der Brennkraftmaschine korrigiert werden, um eine Drift der Winkeluhr zu vermeiden. Wenn ein Ereignis während der kontinuierlichen Arbeitsweise zu spät auftritt, wird vermutet, daß eine Synchronisation verlorenging und die universelle Winkeluhr wird an der nächsten Lücke erneut synchronisiert. Ein Beispiel ist in Fig. 2 dargestellt.
2. Nichtkontinuierliche Winkeluhr
Die Funktionsweise der nichtkontinuierlichen Winkeluhr entspricht im wesentlichen der Funktionsweise der kontinuierlichen Winkeluhr, wobei der Unterschied darin besteht, daß die PLL bei jedem Ereignis synchronisiert wird.
Systembeschreibung der Universellen Winkeluhr UWU und Beschreibung der Verknüpfung von PLL und MCU
In Fig. 2 ist der Aufbau des Gesamtsystems als Blockschaltbild dargestellt. Die UWU besteht im wesentlichen aus den zwei miteinander in Verbindung stehenden Blöcken PLL und MCU. Die PLL erzeugt die Flanken (Ticks) für die Winkeluhr und enthält die Winkeluhr selbst. Die PLL führt alle Aktionen durch, die eine direkte Verbindung mit den Clock Zyklen aufweisen. Der Mikrocontroller führt alle Aktionen, die zwischen zwei Ereignissen auftreten durch. Fig. 3 zeigt ein Verfahren, das das Zusammenspiel von MCU und PLL erkennen läßt.
Die PLL und der Mikrocontroller werden beim Auftreten eines Ereignisses (event) synchronisiert ein solches Ereignis ist die aktive Flanke einer Winkelmarke des Kurbelwellengeberrades. Als aktive Flanke kann die Vorder- und/oder die Rückflanke definiert werden. Beim Auftreten des Signales erfolgt ein Neustart der MCU bei der Adresse 0 und es wird der PLL mitgeteilt, daß der laufende Zyklus (Instruction Cycle) der letzte der aktuellen Winkelmarke ist. Solange die PLL einen Ereignis-Zyklus abarbeitet, führt die MCU vier Hardware-Anweisungen durch. Währenddessen übermittelt die MCU der PLL die Zahl der ermittelten Flanken pro Ereignis für die kommenden Winkelmarke und erhält von der PLL die Ereigniszeit für die gerade abgelaufene Winkelmarke.
Ausser über diese Daten wird die PLL von der MCU nur noch über ein SYNC- und ein TIGHT-Signal gesteuert, wobei das SYNC-Signal die PLL zwingt, beim nächsten Ereignis zu synchronisieren und das TIGHT-Signal die Art der Synchronisation beim nächsten Ereignis bestimmt. Zusätzlich generiert die MCU noch Signale, die festlegen, welche Art von Flanken ein Ereignis darstellen. Bei ACCEPT-RISING wird die steigende Flanke gewählt, bei ACCEPT-FALLING die fallende.
Für das Zusammenwirken von MCU und PLL gilt, daß einige der PLL Register von der MCU im ersten Zyklus nach einem Ereignis (instruction cycle) geschrieben oder gelesen werden, es sind dies die Größen:
AZ: Zahl der Winkelmarken auf dem Kurbelwellengeberrad
WU: Synchronisierwert für Winkeluhr
TPE: Zähler für verbleibende Flanken bis zum nächsten Ereignis
CEVT: Zähler für Impulse seit dem letzten Ereignis
Einige andere PLL Register werden von der MCU während des normalen Auswerteverfahrens gelesen, ihre Bedeutung ist dann:
TPE: abgelaufene Flanken seit dem letzten Ereignis vor Berechtigung
CEVT: abgelaufene Impulse (clocks) seit dem letzten Ereignis
WU: aktuelle Winkeluhr
Nach dem Systemstart wird das PLL-Resetsignal auf inaktiv gehalten, bis das erste Ereignis auftritt. Während dieser Zeit arbeitet die MCU nach ihrer eigenen Resetsequenz. Bis zu nächsten Ereignis berechnet die MCU erstmals PLL Setup Parameter und die PLL mißt die erste Ereigniszeit. Das nächste Ereignis kann dabei noch keine Synchronisation auslösen. Erst nach dem nächsten Ereignis ist das System im betriebsbereiten Zustand und die MCU wartet auf die erste, zur Synchronisationslücke gehörende Fehlzeit und ermöglicht bei ihrem Auftreten eine Synchronisation.
Bei einer Fehlfunktion des Kurbelwellensensors, also bei fehlendem KW-Signal kann ein Notlauf ablaufen, der das System funktionsfähig hält. In diesem Fall erkennt die MCU die Fehlfunktion und unterdrückt die gegebenenfalls noch ankommenden Signale des Kurbelwellensensors und arbeitet nach einem internen Programm. Der PLL wird dann von der CPU der MCU ersatzweise das Signal des Nockenwellensensors zur Verfügung gestellt. Währen des Notlaufs sind dann die steigende und die fallende Flanke des Nockenwellensensorsignales die Ereignisse. Der AZ-Wert wird dann individuell für jedes Segment des Nockenwellengeberrades berechnet.
Das beschriebene System arbeitet letztendlich so, daß die universelle Winkeluhr die Dauer der Winkelmarke n mißt, daraus die Anzahl der Flanken (Ticks) für die Winkelmarke bestimmt und daraus die genaue Zahl der Flanken (Ticks), die für die Winkelmarke n+1 geliefert werden müssen, ermittelt, ebenso ihre Abstände.
Die MCU bestimmt die Zahl der Flanken (Ticks) für die nächste Winkelmarke n+1, wobei dies ohne Rundungsfehler geschieht, andernfalls gingen Winkeluhrflanken verloren und der Fehler würde sich akkumulieren. Die PLL verteilt die von der MCU berechneten Flanken (Ticks) für den aktuellen Zahn gleichmäßig über die Winkelmarkendauer, wobei dafür die für die Winkelmarke n-1 erhaltenen Informationen berücksichtigt werden.
Die PLL Zyklen, erstrecken sich über eine Schleife von vier Programmdurchläufen "instructions", wobei pro Programmdurchläufen maximal eine Flanke erzeugt werden kann. Die Maximalrate beträgt somit ¼ der Clockfrequenz. In Fig. 4 ist ein Blockdiagramm für eine erfindungsgemäß einsetzbare PLL-Schaltung, mit der der Abstand von Flanke (Tick) zu Flanke festgelegt wird, dargestellt. Die benötigten Mittel sind folgendermaßen definiert:
Die Register AZ und CTPE werden während der ersten Inbetriebnahme des Zyklus (cycleinstruction cycle) nach einem Ereignis von der MCU beschrieben. Im AZ Register ist die Zahl der Winkelmarken des Kurbelwellenrades abgelegt und CTPE ist auf die von der MCU für die nächste Winkelmarke berechnete Zahl von Flanken geladen. TVK und TNK sind der Ganze und der Bruchteil des Abstandes zwischen zwei Flanken (Ticks). Bei jedem Programmzyklus (instruction cycle) wird der AZ Wert im CTVK Register addiert. Der Wert ist unterschiedlich für eine reguläre Winkelmarke und die Synchronisationslücke.
Wenn der CTVK Zähler überläuft, wird das CTNK Register inkrementiert. Beim nächsten Ereignis hält CTVK die Zahl der Impulse (clocks) zwischen zwei Flanken und CTNK hält den Bruchteil. Diese Wetrte werden in die TVK und TNK Register übertragen. CTICK und CTPLUS sin die aktuellen Abwärtszähler zur Flankenerzeugung. Der Wert TVK wird in das CTICK Register geladen und bei jedem Programmzyklus (instructioncycle) heruntergezählt. Wenn CTICK Null erreicht, wird TNK zu CTPLUS addiert und CTICK wird entweder mit TVK oder TVK-1 neu geladen, abhängig vom Überlauf von CTPLUS.
Bei auftretender Beschleunigung wird dies erkannt und berücksichtigt. Wenn sich die Drehzahl der Brennkraftmaschine verringert, erhöht sich die Ereigniszeit für jede Winkelmarke. Sofern keine Maßnahmen getroffen werden, erzeugt die PLL mehr Flanken pro Ereignis als gewünscht. Es wird deshalb ein Zähler CTPE auf einen Wert TPE geladen, der von der MCU bei jedem Ereignis berechnet wird. Der Zähler CTPE zählt bei jeder regulären Flanke abwärts. Wenn er Null erreicht, werden weitere von der PLL berechnete Flanken unterdrückt, bis das nächste Ereignis auftritt. Bei Erhöhung der Drehzahl verringert sich die Zeit zwischen zwei Winkelmarken, wodurch weniger Flanken erzeugt werden, als gewünscht. Es wird daher, sofern ein Ereignis auftritt, bevor der Zähler CTPE Null erreicht hat, die Zahl der verbleibenden Flanken (Ticks) in CTPE in einen anderen Zähler NT addiert. Beim Auftreten des Ereignisses wird CTPE mit dem nächsten Wert von TPE geladen und das Programm beginnt erneut. Wenn ein PLL instruction cycle auftritt, für den keine Flanke berechnet wurde und wenn NT nicht gleich Null ist, wird eine zusätzliche Flanke eingefügt und NT wird dekrementiert.
Bei Verlust der Ereignissynchronisation wird eine Sicherheitsmaßnahme aktiviert. Da die genaue Zahl von Flanken (Ticks) pro Ereignis nicht unbedingt eine ganze Zahl (Integer) ist, existieren bei jedem Ereignis zwei fortlaufende Zählerstände, die beide einen Fehler, der kleiner als Eins ist, aufweisen. Der direkte Weg wäre, einen gerundeten Wert an die PLL zu geben, der beim laufenden Ereignis ein Maximum an TPE Flanken ergeben würde. Die fehlende Flanke könnte dann beim Beginn des nächsten Ereignisses eingefügt werden. Eine bessere Möglichkeit besteht jedoch darin, immer den ganzzahligen Anteil von TPE+1 an die PLL zu geben und zusätzliche Flanken nur einzufügen, falls beim Auftritt des nächsten Ereignisses mehr als eine Flanke fehlt. Im schlechtesten Fall ist der theoretische Wert TPE gleich TPE(INT)+E, die Winkeluhr ist dann um 1-E zu spät und die Drehzahl wird verringert. In diesem Fall werden bis zum nächsten Ereignis TPE(INT)+2 Flanken benötigt, der Fehler ändert sich dann von -(1-E) zu +(1-E).
Das Signal TIGHT von der MCU regelt, wie TPE von der PLL behandelt wird. Wenn TIGHT=1, wird CTPE zum NT Register addiert, falls beim Auftritt des Ereignis TIGHT<0 ist und die Flanke werden beim Beginn des nächsten Ereignisses addiert, bis TPE exakt erreicht ist. Wenn TIGHT=0, wird TPE-1 zum NT Register addiert, sofern beim nächsten Ereignis CTPE<0 und die Flanken werden beim Beginn des nächsten Ereignisses addiert, bis TPE-1 erreicht wird.
Die Messung der Ereigniszeit ist in Fig. 4 nicht dargestellt. Zur Messung der Ereigniszeit und der Segmentzeit werden die im Register CEVT seit dem abgelaufenen Ereignis gezählten Clock Impulse verwendet. Bei kleiner Drehzahl können die Abstände zwischen Ereignissen so lang weden, daß CEVT mehrfach überläuft. Die MCU muß daher die CEVT Register überwachen, um die Überläufe zu erfassen und zu zählen.
Die PLL Schaltung verwaltet auch die Winkeluhr. Wenn eine reguläre oder eine einzufügende Flanke berechnet wird, wird das WU Register inkrementiert und das TICKE Signal für einen PLL Zyklus auf high gesetzt.
Zur Synchronisation an einer erkannten Lücke gibt die MCU ein SYNC Signal an die PLL, wodurch diese beim nächsten Ereignis die Synchronisation auslöst. Bei der Synchronisation wird die Winkeluhr WU vom WUS Register geladen, das zuvor abhängig vom Zustand des Nockenwellensensorsignales gesetzt wurde. Der Wert des Registers WUS hängt also davon ab, ob vom Nockenwellensensor gerade eine Lücke oder eine Winkelmarke abgetastet wird. Bei der Synchronisation löscht die PLL den Inhalt des Registers CTPLUS um eine reproduzierbare Position für die erste Flanke zu erhalten. Der Zähler, der die fehlenden Winkelmarken zählt, wird ebenfalls zurückgesetzt. Üblicherweise wird die Synchronisation nach der der Lücke folgenden Winkelmarke ausgelöst, grundsätzlich sind aber auch andere Synchronisationspunkte (bei anderen Winkelmarken) möglich.
Die genaue Struktur des PLL Verfahrens wird ebenso wie das PLL Zuordnungsverzeichnis nicht näher beschrieben. Als Hardwareequipment reicht für die P11 ein Volladdierer und ein Inkrementierer (Zähler), der in einer Schleife mit vier Zyklen arbeitet, aus. In Fig. 5 ist schematisch der Datenfluß der PLL dargestellt. Insgesamt vier Busse bedienen die Arithmetische Logische Einheit ALU und den Inkrementierer. Die Daten für die PLL werden vom Ausgang des Inkrementierers geliefert. Die Logik ALU führt die folgenden Funktionen aus: A+B, A+B+CY und erzeugt die Ausgangsflags ZERO und CY. Diese flags werden gespeichert und erzeugen Übergangsbedingungen für die FSM und das endgültige Flankensignal (Final TICK Signal). Der Steuerteil ist eine festverdrahtete Zustandsapparatur mit vier Zuständen. Schreibsignale werden für jedes Register individuell generiert.
Der eingesetzte Mikrocontroller wird mit einem geeigneten Programmcode betrieben und beginnt mit der Abarbeitung bei Auftreten eines Ereignisses bei der Adresse 0 und muß alle kritischen Berechnungen vor dem Auftreten der nächsten Flanke beendet haben. Die Ereignisreaktion erfolgt so, daß der Rechner der MCU auf 0 gesetzt wird und die vier vorgegebenen Schritte durchgeführt werden, wobei dies in vier Impulszyklen (clock cycles) synchron zur PLL erfolgt. Die vier Zyklen sind:
  • 1. AZ = NAZ (Setzte Verfeinerungsfaktor für PLL)
  • 2. falls SYNC:
    TPE = NTPE (Wähle Zahl von Flanken pro kommendem Ereignis)
  • 3. EVT = CEVT nimm die letzte Ereigniszeit
  • 4. WU = WUS nimm den Synchronisationswert für WU.
Die wesentlichste Aufgabe der MCU besteht darin, die richtige Anzahl von Flanken (Ticks) pro Ereignis TPE für die nächste Winkelmarke zu berechnen. Dieser Wert kann offline berechnet werden, das Ergebnis hat einen ganzen Teil (INTEGER) tpevk und einen Bruchteil tpenk. Für jedes Ereignis wird berechnet:
Da der Bereich 0 . . . 1 von GENTPE wird durch eine 16 bit integer Zahl definiert wird, kann die GENTPE-Operation weggelassen werden und GENTPE<1 führt die vorherige Addition durch. Da tpenk ein gerundeter Wert ist, muß bei der Berechnung von GENTPE darauf geachtet werden, daß GENTPE einmal pro Umdrehung der Brennkraftmaschine auf seinen ursprünglichen Wert zurückgesetzt wird, damit wird eine Fehleranhäufung vermieden.
Bei der Wahl der MCU Architektur ist folgendes zu beachten:
Beim Auftreten eines Kurbelwellen-Ereignisses springt die MCU auf die Adresse 1. Ein Reset veranlaßt die MCU alle bits des FLAG Registers zu löschen und den Rechner von der Adresse 0 zu laden.
Im Speicher gibt es einen Block, der zur Abspeicherung des Programms dient, einen Block für allgemeine Register und einen Block für die Indexregister. Diese Blöcke sind untereinander verbunden und bilden einen linearen Adressraum, wobei die Größe der Blöcke je nach Anwendung variieren kann.
Das Indexregister ist ein 8 bit Index-Pointer-Register, es wird jeweils vor Benutzung um eine Position nach links verschoben. Der adressierbare Bereich umfaßt den gesamten Programm und Datenspeicherbereich.
In Fig. 6 ist der Aufbau der Mikrokontrollereinheit (MCU) dargestellt. Die MCU kann in einen 8-bit SRAM Block für den Microcode und die Speicher integriert sein. 256 Byte Speicher sind für die Zielanwendung ausreichend. Das Indexregister ist dem Programmspeicher zugeordnet und die untersteb 24 Bytes sind für 12 Register für allgemeine Daten reserviert. Wenn 16 Indexregister benutzt werden, bleiben 200 Bytes Programmspeicher. Die Daten, die aus den Speichern gelesen werden, sind entweder Speicherwerte oder direkte Operanden und können direkt zum B-Eingang der Arithmetischen Logik Einheit (ALU) geführt werden.
Anweisungen haben ein oder zwei Bytes. Die ADD und CMP Operationen setzen C, Z und N Flags. LD und ST Operationen setzen Z und N Flags. Der resultierende Datenweg läßt sich der Fig. 6 entnehmen.

Claims (7)

1. Einrichtung zur Signalauswertung, insbesondere einer Brennkraftmaschine, mit einer von der Kurbelwelle angetriebenen Geberscheibe und einer von der Nockenwelle angetriebenen Geberscheibe, die beide Winkelmarken aufweisen, die mit Hilfe je eines Sensors abgetastet werden, mit einer Auswerteeinrichtung, der die Ausgangssignale (S1, S2) der beiden Sensoren zugeführt wird, zur Ermittlung einer Winkelinformation bezüglich der Kurbel- und/oder der Nockenwelle und wenigstens eine Winkeluhr umfaßt, dadurch gekennzeichnet, daß die Auswerteeinrichtung eine PLL-Schaltung und eine Mikrocontrollereinheit MCU umfaßt, die miteinander zusammenwirken und die universelle Winkeluhr bilden.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Mikrocontrollereinheit (MCU) der PLL-Schaltung Signale, insbesonders zur Synchronisation zuführt und über diese Signale eine Steuerung der PLL-Schaltung bewirkt.
3. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Winkeluhr als kontinuierlich arbeitende Winkeluhr aufgebaut ist.
4. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Winkeluhr als nicht kontinuierlich arbeitende Winkeluhr aufgebaut ist und daß die PLL- Schaltung bei jedem Ereignis synchronisiert wird.
5. Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Mikrocontrollereinheit (MCU) ein 16-Bit-Risc Mikrocontroller ist.
6. Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Mikrocontrollereinheit MCU die auszuwertenden Signale auf Plausibilität überwacht und bei erkannter Nichtplausibilität eines Signales ein Ersatzsignal unter Berücksichtigung eines vorhandenen zweiten Signales bildet und der PLL zur Verfügung stellt.
7. Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die für die Signalauswertung benötigten Informationen und/oder Daten von aussen zuführbar sind und eine Anpassung an herrschende Gegebenheiten ermöglichen.
DE1998160378 1998-12-28 1998-12-28 Einrichtung zur Signalauswertung Withdrawn DE19860378A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1998160378 DE19860378A1 (de) 1998-12-28 1998-12-28 Einrichtung zur Signalauswertung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1998160378 DE19860378A1 (de) 1998-12-28 1998-12-28 Einrichtung zur Signalauswertung

Publications (1)

Publication Number Publication Date
DE19860378A1 true DE19860378A1 (de) 2000-06-29

Family

ID=7892880

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998160378 Withdrawn DE19860378A1 (de) 1998-12-28 1998-12-28 Einrichtung zur Signalauswertung

Country Status (1)

Country Link
DE (1) DE19860378A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10022095B4 (de) * 2000-05-08 2005-07-14 Südzucker AG Mannheim/Ochsenfurt Gel aus einem Poly-α-1,4-Glucan und Stärke
DE10231081B4 (de) * 2002-07-04 2006-01-26 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren und Vorrichtung zur Signalauswertung
CN103973297A (zh) * 2013-02-06 2014-08-06 西门子公司 用于对递增计数器进行可信性检查的方法和评估装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10022095B4 (de) * 2000-05-08 2005-07-14 Südzucker AG Mannheim/Ochsenfurt Gel aus einem Poly-α-1,4-Glucan und Stärke
DE10231081B4 (de) * 2002-07-04 2006-01-26 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren und Vorrichtung zur Signalauswertung
CN103973297A (zh) * 2013-02-06 2014-08-06 西门子公司 用于对递增计数器进行可信性检查的方法和评估装置
EP2765392A1 (de) * 2013-02-06 2014-08-13 Siemens Aktiengesellschaft Verfahren und Auswerteeinrichtung für eine Plausibilitätsprüfung eines Inkrementalzählers
US9103883B2 (en) 2013-02-06 2015-08-11 Siemens Aktiengesellschaft Method and evaluation device for checking plausibility of an incremental counter
CN103973297B (zh) * 2013-02-06 2017-01-11 西门子公司 用于对递增计数器进行可信性检查的方法和评估装置

Similar Documents

Publication Publication Date Title
EP0188433B1 (de) Vorrichtung zur winkellageerfassung eines rotierenden teils
EP1087232B1 (de) Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens
DE3818546C2 (de)
DE3817704C2 (de)
EP2841882B1 (de) Sensorzeit-synchronisation
DE19609872C2 (de) Vorrichtung zur Steuerung des Betriebs einer Brennkraftmaschine
DE2645350C3 (de) Elektronische Vorrichtung zur Zündsteuerung für Brennkraftmaschinen
EP0683309A1 (de) Verfahren zur Notlaufsteuerung einer Brennkraftmaschine
DE2932050C2 (de) Drehzahl-Meßgerät für Brennkraftmaschinen bzw. Geschwindigkeits-Meßgerät für Fahrzeuge
DE102010003526B4 (de) Vorrichtung und Verfahren zur Verarbeitung von Signalen, die eine Winkelstellung einer Welle eines Motors repräsentieren
DE3401751C2 (de)
DE4107777C2 (de) Verfahren und Vorrichtung zur Messung der Geschwindigkeit eines Fahrzeugs
EP0097826B1 (de) Verfahren zur Steuerung eines Mikrorechners
EP2553399B1 (de) Verfahren zur systematischen behandlung von fehlern
DE3421640C2 (de)
DE3234575A1 (de) Verfahren und anordnung zum messen von frequenzen
EP0489022B1 (de) Elektronischer zähler
DE2225462B2 (de) Schaltung zur Berechnung des gemittelten Gesamtausgangssignals einer digitalen Signalquelle
DE2943227A1 (en) Device for measuring the frequency of a pulse generator and digital control system comprising such a device
DE3709395C2 (de)
DE2805293C2 (de) Elektronische Zündzeitpunkteinstellvorrichtung für Brennkraftmaschinen
DE19860378A1 (de) Einrichtung zur Signalauswertung
DE2941716A1 (de) Vorrichtung zum messen des kraftstoff-verbrauchs einer brennkraftmaschine
DE4035520C2 (de) Verfahren und Anordnung zur Messung der Geschwindigkeit eines Fahrzeuges
DE3641777A1 (de) Propellerdrehzahlmessvorrichtung

Legal Events

Date Code Title Description
8141 Disposal/no request for examination