-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zum Steuern
eines AD-Wandlers für
ein System zum Steuern einer Brennkraftmaschine
-
AD-Wandler
sind ausgebildet zum Umwandeln von Analogsignalen in Digitalsignale,
die die digitale Daten beziehungsweise einen digitalen Datenstrom
repräsentieren.
Ein Analog-Digital-Wandler quantisiert
ein kontinuierliches Eingangssignal, insbesondere ein Spannungssignal,
sowohl in der Zeit als auch in seiner Amplitude. Jeder AD-Wandler
hat eine vorgegebene Auflösung
in Bit und die Auflösung stellt
auch die Genauigkeitsgrenze für
die Umwandlung dar. AD-Wandler sind in verschiedenen Ausprägungen bekannt,
so zum Beispiel als Single-Slope-Wandler,
als Dual-Slope-Wandler oder als Multi-Slope-Wandler, als Delta-Sigma-verfahrensbasierte
Wandler, als Wandler basierend auf der sukzessiven Approximation,
als Parallel-Wandler,
als Pipeline-Wandler, als Hybrid-Wandler oder als Tracking-Wandler.
Jeder AD-Wandler weist eine vorgegebene Latenzzeit auf, die charakteristisch
ist für eine
Zeitdauer, die der AD-Wandler benötigt zum Wandeln eines Analogsignals
zu einem vorgegebenen Abtastzeitpunkt in einen entsprechenden Digitalwert
eines Digitalsignals.
-
AD-Wandler
finden breiten Einsatz, beispielsweise in Steuersystemen, wie sie
beispielsweise in Fahrzeugen zum Steuern von Brennkraftmaschinen
eingesetzt werden. So werden beispielsweise im Rahmen der Zumessung
von Kraftstoff Einspritzventile angesteuert zu Zumessen von Kraftstoff. Im
Rahmen dieses Steuervorgangs erfolgt gegebenenfalls eine Rückkopplung
verschiedener Messgrößen, wie
beispielsweise von Messgrößen, die
repräsentativ
sind für
eine Ladung, die einem Piezoaktuator des Einspritzventils zugeführt wurde.
Darüber hinaus
kann beispielsweise in diesem Zusammenhang auch eine elektrische
Spannung an dem Piezoaktuator oder ein Strom durch den Piezoaktuator
erfasst werden.
-
In
diesem Zusammenhang soll regelmäßig ein
analoges Signal, das einen angenommenen charakteristischen Verlauf
hat, an vorgegebenen charakteristischen Signalpunkten, denen entsprechende Zeitpunkte
zugeordnet sind, abgetastet werden und mittels des AD-Wandlers gewandelt
werden. Insbesondere dann, wenn derartige charakteristische Signalpunkte
zeitlich sehr nahe beieinander liegen, kann es vorkommen, dass der
AD-Wandler, insbesondere bedingt
durch seine Latenzzeit, zwei aufeinander folgende Aufforderungen
zum Starten eines derartigen Abstastvorgangs nicht unterscheiden
kann und somit beispielsweise statt zwei beabsichtigten aufeinander folgenden
Abtastvorgängen
dann lediglich einen einzigen durchführt. Insbesondere ist dies
der Fall, wenn der AD-Wandler noch mit dem Wandeln der letzten Abtastung
beschäftigt
ist, während
bereits die nächste
erfolgen soll.
-
Die
Aufgabe, die der Erfindung zugrunde liegt, ist ein Verfahren und
eine Vorrichtung zum Steuern eines AD-Wandlers für ein System zum Steuern einer
Brennkraftmaschine zu schaffen, das bzw. die einfach einen zuverlässigen Betrieb
des AD-Wandlers
gewährleisten
kann.
-
Die
Aufgabe wird gelöst
durch die Merkmale der unabhängigen
Patentansprüche.
-
Die
Erfindung zeichnet sich aus durch ein Verfahren und eine korrespondierende
Vorrichtung zum Steuern eines AD-Wandlers für ein System zum Steuern einer
Brennkraftmaschine, bei dem eine Aufforderung zum Starten eines
Abtastvorgangs des AD-Wandlers
dann verzögert
weitergeleitet wird an den AD-Wandler,
wenn seit dem letzten Weiterleiten einer vorangegangenen Aufforderung
zum Starten eines Abtastvorgangs noch nicht eine vorgegebene Mindestzeitdauer
vergangen ist, und zwar verzögert bis
mindestens zum Ablauf der Mindestzeitdauer. Auf diese Weise ist
einfach sichergestellt, dass bei geeigneter Wahl der Mindestzeitdauer
die jeweilige Aufforderung zum Starten des Abtastvorgangs des AD-Wandlers
durch diesen dann auch umgesetzt werden kann. Damit kann dann einfach
sichergestellt werden, dass ein jeweiliges ein Ausgangssignal des AD-Wandlers
bildendes Digitalsignal mit einem digitalen Datenstrom zu jeder
Aufforderung zum Starten des Abtastvorgangs des AD-Wandlers als
ein zugeordneter digitaler Datensatz erzeugt wird und somit bei
einer weiteren Signalverarbeitung alle benötigten digitalen Datensätze vorhanden
sind. Damit kann auch verhindert werden, dass einzelne digitale
Datensätze
aufgrund fehlender Datensätze
falschen Aufforderungen zum Starten des Abtastvorgangs zugeordnet
werden. Eine Aufforderung zum Starten eines Abtastvorgangs des AD-Wandlers
kann so unverzögert
an den AD-Wandler weitergeleitet werden, wenn seit dem letzten Weiterleiten
einer vorangegangenen Aufforderung zum Starten eines Abtastvorgangs
bereits die vorgegebene Mindestzeitdauer vergangen ist
-
In
einer vorteilhaften Ausgestaltung ist die Mindestzeitdauer so vorgegeben,
dass ein einen Puls und eine Pulspause umfassendes Aufforderungssignal,
das jeweils an den AD-Wandler weitergeleitet wird zum Signalisieren
des gewünschten Startens
eines Abtastvorgangs, eine vorgegebene minimale Pulspause aufweist.
Auf diese Weise kann einfach sichergestellt werden, dass bei einem
beispielsweise flankengesteuerten Erkennens der Aufforderung zum
Starten des Abtastvorgangs durch den AD-Wandler eine solche sicher
erkannt werden kann durch den AD-Wandler.
-
Ausführungsbeispiele
der Erfindung sind im Folgenden anhand der schematischen Zeichnungen näher erläutert.
-
Es
zeigen:
-
1 ein
System mit einem AD-Wandler,
-
2 charakteristische
Signalverläufe,
-
3 ein
Ablaufdiagramm eines Programms,
-
4 ein
weiteres Ablaufdiagramm eines Programms und
-
5 noch
ein weiteres Ablaufdiagramm eines Programms.
-
Elemente
gleicher Konstruktion oder Funktion sind figuren-übergreifend
mit den gleichen Bezugszeichen gekennzeichnet.
-
Ein
System (1) mit einem AD-Wandler ADW
umfasst eine erste Steuereinheit CT1 und eine zweite Steuereinheit
CT2 neben dem AD-Wandler ADW. Das System ist insbesondere vorgesehen
zum Steuern einer Brennkraftmaschine. Die erste Steuereinheit CT1
ist ausgebildet zum Erzeugen einer Aufforderung REQ_AD zum Starten
eines Abtastvorgangs des AD-Wandlers ADW. Die erste Steuereinheit
CT1 umfasst bevorzugt einen Speicher zum Speichern von Programmanweisungen
und gegebenenfalls Daten und eine Recheneinheit zum Abarbeiten der
Programmanweisungen. Die erste Steuereinheit CT1 kann so beispielsweise
ausgebildet sein zum Erzeugen von einem oder mehreren Steuersignalen
zum Ansteuern eines Stellantriebs, der einem Stellglied, wie beispielsweise
einem Einspritzventil einer Brennkraftmaschine, einer Zündkerze,
einem Abgasrückführventil
oder einem weiteren Stellglied zugeordnet ist. Dabei wird beispielsweise
das jeweilige Stellsignal abhängig
von Betriebsgrößen einer Brennkraftmaschine
ermittelt und dessen Verlauf entsprechend in der ersten Steuereinheit
CT1 erzeugt. Als Folge des so erzeugten Steuersignals ergibt sich dann
idealer Weise ein erwarteter Verlauf eines Analogsignals A_SIG,
dessen tatsächlicher
Verlauf in der 2 beispielhaft dargestellt ist.
Dabei bezeichnet t die Zeit und u das elektrische Potential.
-
Zu
vorgegebenen Zeitpunkten t1, t2, t3, t4, die zu erwarteten charakteristischen
Signalpunkten korrespondieren, wird in der ersten Steuereinheit CT1
jeweils eine Aufforderung REQ_AD zum Starten des Abtastvorgangs
erzeugt und diese einer zweiten Steuereinheit CT2 zugeführt. Die
zweite Steuereinheit CT2 umfasst ebenso bevorzugt einen Speicher zum
Speichern von Programmanweisungen und gegebenenfalls Daten und eine
Recheneinheit. Die zweite Steuereinheit CT2 kann grundsätzlich auch eine
Baueinheit zusammen mit der ersten Steuereinheit CT1 umfassen und
beispielsweise den gleichen Speicher und/oder die gleiche Recheneinheit
nutzen. Somit unterscheidet sich in einer Ausgestaltung die zweite
Steuereinheit CT2 im Wesentlichen nur funktionell von der ersten
Steuereinheit CT1, umfasst jedoch die gleichen Hardwareressourcen.
Eine hardwaremäßige Trennung
ist jedoch ebenso möglich.
-
Besonders
bevorzugt umfasst die erste und/oder die zweite Steuereinheit CT1,
CT2 einen Mikrocontroller. Die zweite Steuereinheit CT2 umfasst
ein Programm, das ausgebildet ist zum Erzeugen eines Aufforderungssignals
TRIG_AD, dessen beispielhafter Verlauf in der 2 dargestellt
ist. Das Aufforderungssignals TRIG_AD wird dann von der zweiten
Steuereinheit CT2 an den AD-Wandler ADW weitergeleitet.
-
Der
AD-Wandler ADW ist ausgebildet abhängig von dem Aufforderungssignal
eine Wandlung eines an seinem Eingang anliegenden Analogsignals A_SIG
durchzuführen
und so ein Digitalsignal D_SIG ausgangsseitig bereitzustellen. Eine
derartige Wandlung kann auch als Abtastvorgang bezeichnet werden.
Bevorzugt ist der AD-Wandler ADW ausgebildet zum Erkennen einer
Aufforderung zum Starten eines Abtastvorgangs anhand einer Flanke
des Aufforderungssignals TRIG_AD. Der AD-Wandler ADW kann so beispielsweise
ausgebildet sein zum Starten eines Abtastvorgangs, wenn er eine
positive Flanke des Aufforderungssignals TRIG_AD eingangsseitig
erkennt. Entsprechend kann er jedoch auch ausgebildet sein zum Durchführen der
Wandlung bei Erken nen einer entsprechenden negativen Flanke oder auch
sowohl bei einer negativen als auch bei einer positiven Flanke.
-
Ein
beispielhaftes Programm, dessen Programmanweisungen in dem Speicher
der zweiten Steuereinheit CT2 gespeichert sind und bei dem Betrieb
der zweiten Steuereinheit CT2 durch die Recheneinheit abgearbeitet
werden, ist anhand des Ablaufdiagramms der 3 näher erläutert. Das
Programm wird in einem Schritt S1 gestartet, in dem gegebenenfalls
Variablen initialisiert werden. In einem Schritt S3 wird geprüft, ob eine
Aufforderung REQ_AD zum Starten eines Abtastvorgangs eingegangen
ist. Ist dies nicht der Fall, so wird die Bearbeitung in einem Schritt
S5 fortgesetzt, in dem das Programm für eine vorgegebene erste Wartezeitdauer T_W1
verharrt und während
derer beispielsweise dann andere Programme abgearbeitet werden können. Die
vorgegebene erste Wartezeitdauer T_W1 ist dabei bevorzugt geeignet
kurz vorgegeben und zwar derart, dass eine jeweils eingehende Aufforderung REQ_AD
zum Starten des Abtastvorgangs mit einer geeignet geringen Verzögerung in
dem Schritt S3 detektiert werden kann. Die erste Wartezeitdauer
T_W1 kann auch einen Wert von in etwa null annehmen.
-
Ist
die Bedingung des Schrittes S3 hingegen erfüllt, so wird in einem Schritt
S6 geprüft,
ob eine Zeitdauer T seit einer letztmaligen Abarbeitung eines Schrittes
S7 größer ist
als eine vorgegebene Mindestzeitdauer T_MIN. Die Mindestzeitdauer
T_MIN ist bevorzugt so vorgegeben, dass sie größer ist als eine Latenzzeitdauer
des AD-Wandlers ADW und insbesondere im Falle einer Ausprägung des
Aufforderungssignals TRIG_AD als Signal mit Pulsen und Pulspausen
sicherstellt, dass das Aufforderungssignal zwischen zwei aufeinander
folgenden Pulsen eine vorgegebene minimale Pulspause aufweist. Dies
ermöglicht
dann ein zuverlässiges
Erkennen des jeweiligen Pulses durch den AD-Wandler, was, wie bereits
oben erläutert,
beispielsweise flankengesteuert erfolgen kann.
-
Ist
die Bedingung des Schrittes S6 nicht erfüllt, so wird die Bearbeitung
in einem Schritt S9 fortgesetzt, in dem das Programm für eine vorgegebene zweite
Wartezeitdauer T_W2 verharrt, die ebenfalls geeignet kurz gewählt ist
um in diesem Fall sicherzustellen, dass das Überschreiten der Zeitdauer
T_MIN durch die Zeitdauer T mit geeigneter geringer Verzögerung erfasst
werden kann. Während
des Verharrens des Programms in dem Schritt S9 kann korrespondierend
zu dem Schritt S5 die Rechenkapazität der zweiten Steuereinheit
CT2 für
andere Zwecke genutzt werden.
-
Ist
die Bedingung des Schrittes S5 hingegen erfüllt, so wird in dem Schritt
S7 das Aufforderungssignal TRIG_AD erzeugt, also beispielsweise
ein Puls, dessen ansteigende und/oder abfallende Flanke dann von
dem AD-Wandler ADW erkannt wird mit der Folge des Startens eines
Abtastvorgangs. Nach dem Schritt S7 wird dann die Bearbeitung in
dem Schritt S5 weiter fortgesetzt.
-
In
der 2 ist eine Folge von Pulsen des Aufforderungssignals
TRIG_AD aufgetragen, wie sie sich, beeinflusst durch das Programm
gemäß der 3 ergibt.
Zu Zeitpunkten t1, t2, t3, t4 erfolgt jeweils durch die erste Steuereinheit
CT1 eine Aufforderung REQ_AD zum Starten eines Abtastvorgangs. Zu
dem Zeitpunkt t3 ist jedoch die Bedingung des Schrittes S5 noch
nicht erfüllt,
so dass erst zu einem Zeitpunkt t3', bei dem dann die Bedingung des Schrittes
S5 erfüllt
ist, das entsprechende Aufforderungssignal TRIG_AD erzeugt wird,
also verzögert
erzeugt wird.
-
Dies
hat zur Folge, dass keine Aufforderung durch die erste Steuereinheit
verloren geht und sichergestellt werden kann, dass jeweils eine
Abtastung auch tatsächlich
durch den AD-Wandler
ADW durchgeführt
wird. Dabei ist in Kauf zu nehmen, dass die Abtastung verzögert, das
heißt
erst zum Zeitpunkt t3' erfolgt.
In der Praxis hat es sich jedoch gezeigt, dass dies geringere negative
Auswirkungen hat als den kompletten Verlust eines Abtastwertes mit
der Folge unter Umständen
einer erfolgenden falschen Zuordnung der einzelnen abgetasteten
Datenwerte.
-
Weitere
beispielhafte alternative oder zusätzliche Programme, deren Programmanweisungen in
dem Speicher der zweiten Steuereinheit CT2 gespeichert sind und
bei dem Betrieb der zweiten Steuereinheit CT2 durch die Recheneinheit
abgearbeitet werden, sind anhand der Ablaufdiagramme der 4 und 5 näher erläutert.
-
Das
Programm gemäß der 4 wird
in einem Schritt S10 gestartet, in dem gegebenenfalls Variablen
initialisiert werden. In einem Schritt S11 wird geprüft, ob eine
Aufforderung REQ_AD zum Starten eines Abtastvorgangs eingegangen
ist. Ist dies nicht der Fall, so wird die Bearbeitung erneut in
dem Schritt S11 fortgesetzt. Ist die Bedingung des Schrittes S11 hingegen
erfüllt,
so wird in einem Schritt S12 ein Zähler CTR inkrementiert, bevorzugt
um eins. Anschließend
wird die Bearbeitung erneut in dem Schritt S9 fortgesetzt. Das Programm
gemäß der 4 kann beispielsweise
in Form einer Interrupt-Prozedur abgearbeitet werden.
-
Quasi
parallel zu dem Programm gemäß der 4 wird
das Programm gemäß der 5 abgearbeitet,
das in einem Schritt S13 gestartet wird, in dem gegebenenfalls Variablen
initialisiert werden. In einem Schritt S15 wird geprüft, ob der
Zähler
einen Wert größer als
einen vorgegebenen Wert, wie z. B. null, hat. Ferner wird geprüft, ob zusätzlich auch
die Zeitdauer T seit einem letztmaligen Erzeugen des Aufforderungssignals
TRIG_AD größer ist
als die vorgegebene Mindestzeitdauer T_MIN. Sind die Bedingungen
des Schrittes S15 nicht erfüllt,
so wird die Bearbeitung in dem Schritt S15 erneut aufgenommen. Andernfalls
wird ein Schritt S17 ausgeführt,
in dem das Aufforderungssignal TRIG_AD erzeugt wird, die Zeitdauer
T wieder zurückgesetzt
wird, insbesondere mit dem Wert null belegt wird, und der Zähler CTR dekrementiert
wird, insbesonde re um eins verringert wird. Im Anschluss an die
Bearbeitung des Schrittes S17 wird die Bearbeitung erneut in dem
Schritt S15 aufgenommen.