-
Die
Erfindung bezieht sich auf ein Verfahren zum Betreiben eines Datenübertragungssystems
mit Daten in einem Datenpaket, das zwischen einer Sendevorrichtung
und einer Empfangsvorrichtung versandt wird. Die Erfindung bezieht
sich ferner auf ein Datenübertragungssystem
mit einer Sendevorrichtung zum Senden von Informationen und einer
Empfangsvorrichtung zum Empfangen von Datenpaketen, wobei die Sendevorrichtung
eine Senderuhr und die Empfangsvorrichtung eine Empfängeruhr
aufweist. Die Erfindung bezieht sich auch auf ein Computerprogrammprodukt,
das in einen Programmspeicher mit Programmbefehlen von einem Mikrocomputer
ladbar ist.
-
Stand der Technik
-
Es
ist bekannt, Daten in Datenpaketen über Datenstrecken zu versenden,
beispielsweise über
einen CAN-Bus zur Kommunikation zwischen verschiedenen Steuergeräten in einem
Kraftfahrzeug. Bei einem CAN-Bus stehen die in einem regelmäßigen Takt
versendeten Daten als Informationen, wie beispielsweise Messsignale
oder interne Größen der Steuergeräte, allen
an dem Bus angehängten
Steuergeräten
zur Verfügung.
-
Ist
die Datenstrecke zu einem beabsichtigten Sendezeitpunkt belegt oder
werden von einer anderen Sendevorrichtung zeitgleich Daten höherer Priorität gesendet,
so kommt es zu Verzögerungen
beim Versand. Ferner können
zusätzliche
Verzögerungen durch
unterschiedliche Arbeitstakte der Sendervorrichtung und der Empfangsvorrichtung
verursacht werden. Folglich entstehen in der Dauer unbekannte Verzögerungen,
und zwar insbesondere bei der Datenübertragung entlang der Datenstrecke
oder auch bei einem Datenverarbeitungsschritt zwischen der Erfassung
einer Größe in der
Sendevorrichtung bis zum vollständigen
Empfang oder bis zur Verarbeitung dieser Größe in der Empfangsvorrichtung.
Die Nachrichtenübermittlung
auf dem CAN-Bus ist nicht zeitsynchron. Insgesamt sind also Aussagen über die Laufzeit
der gesendeten Daten beziehungsweise Datenpakete sind nicht möglich und
damit fehlt eine wichtige Größe bei der
Bestimmung des Alters der Daten.
-
Es
ist Aufgabe der Erfindung, ein Verfahren, ein Datenübertragungssystem
und ein Computerprogrammprodukt der eingangs genannten Art derart weiterzubilden,
um Informationen von dem Zeitpunkt der Erfassung genauer zu bestimmen.
-
Offenbarung der Erfindung
-
Erfindungsgemäß wird die
Aufgabe durch den Gegenstand der Patentansprüche 1, 9 und 10 gelöst. Die
abhängigen
Ansprüche
definieren bevorzugte Weiterbildungen der Erfindung.
-
Bei
vielen Anwendungen ist die zeitliche Zuordnung von Messsignalen
von Bedeutung. Zum einen kann dies wichtig sein, um in Form einer
Prädiktion
den richtigen Zeitpunkt eines Ereignisses aus vorangegangenen Messwerten
vorherzubestimmen. Zum anderen sind Schwankungen oder einzelne Abweichung
in der Laufzeit von Bedeutung, beispielsweise wenn eine Drehzahlanalyse
einer elektrischen Maschine in Form einer Frequenzanalyse der Daten durchgeführt werden
soll. Das erfindungsgemäße Verfahren
kann also besonders vorteilhaft angewandt werden, wenn Datenerfassung
und Datenauswertung auf zumindest zwei, über die Datenstrecke verbundene
Vorrichtungen verteilt sind und der genaue Zeitpunkt der Datenerfassung
von Bedeutung ist.
-
Das
erfindungsgemäße Datenübertragungssystem
umfasst zumindest eine Sende- und eine Empfangsvorrichtung, die
jeweils entsprechende Zeitinformationen mittels einer Sender- beziehungsweise
einer Empfängeruhr
ermitteln. Vorzugsweise sind dies eigenständige, insbesondere auch voneinander unabhängige, Uhren.
Solche Uhren können
technisch einfach realisiert werden, beispielsweise als elektronische
Bauelemente oder Baugruppen jeweils in der Sende- beziehungsweise
in der Empfangsvorrichtung.
-
Gemäß einem
Gedanken der Erfindung wird zur Bestimmung des Alters von Daten
zumindest die Dauer der Übertragung,
nachfolgend Laufzeit genannt, des Datenpakets mit den Daten mittels
der Sende- und Empfangsvorrichtung bestimmt, und zwar indem dem
Datenpaket zusätzlich
zu den Daten eine Sendezeitinformation vor dem Senden zugefügt und anschließend eine
Empfangszeitinformation beim Empfang des Datenpakets bestimmt wird.
Diese Zeitinformationen markieren dabei den zeitlichen Beginn und
das zeitliche Ende der Übertragung,
also die Laufzeit, und zwar insbesondere bezüglich zweier, vorzugsweise
eigenständiger,
durch die beiden Uhren vorgegebener Zeitachsen, sodass erfindungsgemäß die Laufzeit
aus der Abweichung zwischen diesen beiden Zeitinformationen gewonnen
wird. In diesem Sinn kann die Laufzeit also länger als die reine Verweildauer
der Daten auf der Datenstrecke sein. Ferner kann das Alter der Daten
der Laufzeit entsprechen, beispielsweise falls die Daten unmittelbar
nach ihrer Erfassung oder Generierung gesendet werden, oder die
Laufzeit kann auch nur einen Teil des Alters ausmachen.
-
Das
erfindungsgemäßen Computerprogrammprodukts
führt ein
zuvor und/oder nachfolgend beschriebenes Verfahren auf einem Mikrocomputer des
Datenübertragungssystems
aus, wobei das Computerprogrammprodukt in einen Programmspeicher
mit Programmbefehlen von dem Mikrocomputer ladbar ist. Dabei können die
Sendevorrichtung und die Empfangsvorrichtung jeweils einen Mikrocomputer
aufweisen, wobei das Computerprogrammprodukt zwei Teilprodukte,
nämlich
für jeweils
den Mikrocomputer der Sende- beziehungsweise der Empfangsvorrichtung,
aufweisen kann.
-
Erfindungsgemäß wird die
Sendezeitinformation dem Datenpaket bereits vor dem Senden zugefügt, da das
Senden, insbesondere bei einer seriellen Datenübertragung, eine gewisse Zeitdauer
erfordert, beispielsweise um die Daten des Datenpakets der Datenstrecke
zuzuführen.
Vorzugsweise ist bereits zum Zeitpunkt des Sendebeginns das zu sendende
Datenpaket vollständig
zusammengefügt,
insbesondere also die Sendezeitinformation und die zu übertragenden
Daten dem Datenpaket hinzugefügt.
-
Dabei
kann eine, möglicherweise
unbekannte, Verzögerung
zwischen dem Einfügen
der Sendezeitinformation oder auch dem Zeitpunkt, den die Sendezeitinformation
widerspiegelt, und dem Sendebeginn auftreten, beispielsweise weil
ei ne bevorzugte Sendevorrichtung das Datenpaket mithilfe eines sequenziell
arbeitenden Mikrocomputers aufbaut. Die Sendezeitinformation kann
also eine von dem Sendebeginn oder auch von dem Einfügezeitpunkt der
Sendezeitinformation in das Datenpaket abweichende Zeitinformationen
darstellen. Ferner können auch
weitere Verzögerung
auftreten, beispielsweise durch Berechnungen oder sonstigen Arbeitsschritten der
Sendevorrichtung. Solche Verzögerungen
tragen zu dem Alter der Daten bei und können im Sinne der Erfindung
ein Bestandteil der Laufzeit sein.
-
Die
Empfangszeitinformation wird anhand der Empfängeruhr beim Empfang eines
Datenpakets bestimmt. Hier trifft die vorhergehende Beschreibung bezüglich der
Verzögerungen
beim Sendevorgang analog zu. Im Übrigen
kann auch die Empfangszeitinformation einen, vorzugsweise geeignet
gewählten, Zeitpunkt
während
der Datenübertragung
charakterisieren. Beispielsweise kann ein Zeitpunkt, der den Beginn
oder den Abschluss eines Empfangsvorgangs oder auch einen, vorzugsweise
möglichst
frühen,
besonders bevorzugter Weise ersten Be- oder Verarbeitungsschritt des Datenpakets
in der Empfangsvorrichtung widerspiegelt, als Empfangszeitinformation
festgelegt werden.
-
Somit
ermöglicht
die Erfindung, die Laufzeit insbesondere mittels der erfindungsgemäßen Sendezeitinformation
in einem Datenpaket zu bestimmen und damit das Alter, zumindest
jedoch eine wichtige Größe bei der
Bestimmung des Alters der Daten zu gewinnen.
-
Allerdings
können
solche eigenständige
Uhren einen Gangunterschied aufweisen. Die Laufzeit kann also auch
nicht unmittelbar der Abweichung zwischen den Zeitinformationen
entsprechen, beispielsweise wegen der Eigenständigkeit der Uhren und dem
daraus resultierenden Gangunterschied. Vorzugsweise wird der Gangunterschied
zwischen der jeweiligen Senderuhr und der Empfängeruhr in einem ersten Schritt
bestimmt, sodass in einem nachfolgenden Schritt die gesuchte Laufzeit
eines empfangenen Datenpakets aus der Abweichung zwischen Sende-
und Empfangszeitinformationen berechnet wird, indem die Abweichung
um den zuvor bestimmten Gangunterschied korrigiert wird.
-
Dazu
kann, vorzugsweise wie nachfolgend erläutert, der Gangunterschied
zwischen der Senderuhr und der Empfängeruhr aus einer Mehrzahl
von übertrage nen
Datenpaketen mit Daten ermittelt werden. Dadurch kann insbesondere
bei einer räumlichen
Trennung der Vorrichtungen entlang der Datenstrecke beispielsweise
der Material- und/oder Montageaufwand für den Zugriff auf eine zentrale
Uhr oder eine Vorrichtung eigens zur Synchronisation oder Bestimmung
des Gangunterschieds der Uhren entfallen.
-
Dann
können
bei einer bevorzugten Ausführungsform
die Laufzeiten der Datenpakete über
die Datenstrecke eine Häufigkeitsverteilung
aufweisen, beispielsweise aufgrund der oben erläuterten Verzögerungen
beim Senden und Empfangen. Insbesondere können zumindest zwei Datenpakete
unterschiedliche Laufzeiten bei der Übertragung entlang der Datenstrecke
besitzen.
-
Hier
bedeutet ”eine
Häufigkeitsverteilung aufweisen”, dass
die Laufzeit eine Größe ist,
deren konkreter Wert jeweils für
ein bestimmtes Datenpaket nicht vorausgesagt werden kann und/oder
vorbestimmt ist, und unter ”Häufigkeitsverteilung” ist ein Maß für die Wahrscheinlichkeit,
dass ein Datenpaket eine bestimmte Laufzeit aufweist, zu verstehen.
-
Dabei
weist vorzugsweise eine bestimmte Datenstrecke eine jeweils charakteristische,
bekannte Häufigkeitsverteilung
auf, die auch durch einen Zufallsprozess bedingt sein kann. Die
Form der Häufigkeitsverteilung
kann insbesondere auch durch die technische Realisierung der Datenstrecke,
die Anzahl und Sendefrequenz weiterer Sendevorrichtungen, die Priorität der Datenpakete
oder den Datenstrom auf der Datenstrecke bestimmt sein und beispielsweise
eine Gauß-Kurven-Form aufweisen.
-
Unter
der Voraussetzung, dass die Laufzeit eine Häufigkeitsverteilung aufweist,
kann der Gangunterschied ermittelt werden, indem bei einer Mehrzahl
von empfangenen Datenpaketen aus den jeweiligen Abweichungen zwischen
Sende- und Empfangszeitinformation eine zweite Häufigkeitsverteilung bestimmt
wird und aus der Ersten, nämlich
der Häufigkeitsverteilung
der Laufzeit, und der Zweiten, nämlich
der Häufigkeitsverteilung
der Abweichung, der Gangunterschied bestimmt wird. Dies ist möglich, da
die zweite Häufigkeitsverteilung
eine Information über
die erste Häufigkeitsverteilung
enthält,
und zwar sind die Abweichungen zwischen Sende- und Empfangszeitinformation
sowohl durch die Laufzeit eines Datenpakets als auch durch den Gangunterschied zwischen
Senderuhr und Empfängeruhr
bestimmt.
-
Bei
dieser Ausführungsform
können
also Sende- und Empfangsvorrichtung, beziehungsweise deren Uhren,
mittels der Mehrzahl von empfangenen Datenpaketen synchronisiert
werden, und zwar vorzugsweise bereits vor einem zeitkritischen Zustand, also
wenn die zeitliche Zuordnung der Daten gerade nicht relevant oder
von geringerer Bedeutung ist. Somit kann die Laufzeit dieser und/oder
auch weiterer, insbesondere nachfolgender Datenpakete bestimmt werden
und so die Bestimmung deren Alters verbessert werden.
-
Eine
bevorzugte Ausgestaltung dieser Ausführungsform sieht vor, jeweils
bei einem Datenpaket die Abweichung zwischen Sende- und Empfangszeitinformation
als Summe des Gangunterschieds und der Laufzeit festzulegen beziehungsweise
zu modellieren. Im Übrigen
kann diese Summe noch um weitere Zeitkomponenten, beispielsweise
eine Verzögerung
zwischen der Datenerfassung und dem Zeitpunkt entsprechend der Sendezeitinformation,
ergänzt
werden, je nachdem welche Zeitpunkte durch die Sende- und Empfangszeitinformation,
wie zuvor und nachfolgend beschrieben, wiedergegeben werden. Dann
kann der Gangunterschied bestimmt werden, indem er so gewählt wird,
dass die beiden zuvor genannten Häufigkeitsverteilungen in Deckung
gebracht werden. Da beide Häufigkeitsverteilung
sich auf zeitabhängige
Größen beziehen,
nämlich
auf die Laufzeit und auf die Abweichung zwischen der Sende- und
der Empfangszeitinformation, und sich diese Größen also zumindest um den Gangunterschied
unterscheiden, kann die zweite Häufigkeitsverteilung durch
Variation des Gangunterschiedswertes entlang der Zeitachse verschoben
und so der gesuchte Gangunterschied durch einen Vergleich der beiden Häufigkeitsverteilungen
bestimmt werden.
-
Der
Begriff ”in
Deckung bringen” steht
hier für
eine Vielzahl von Verfahren, die beiden Häufigkeitsverteilung zu vergleichen.
So kann beispielsweise der Gangunterschied als Differenz der Mittelwerte, Mediane,
Maxima oder anderer Lageparameter oder auch entsprechender Flanken
oder Fußpunkte
der Häufigkeitsverteilungen
bestimmt werden. Außerdem
können
die Häufigkeitsverteilungen,
die auf einer begrenzten Anzahl von untersuchten Datenpaketen beruhen,
verglichen werden, indem die diskreten Verteilungen mittels einer
Variation des Para meters Gangunterschied numerisch angenähert werden
und so der gesuchte Gangunterschied bestimmt wird.
-
Dann
kann mit dem Gangunterschied die Laufzeit aus einer Differenz von
Empfangs- und Sendezeitinformation bestimmt werden, indem die Differenz
um den Wert des Gangunterschieds korrigiert wird.
-
Die
Uhren können
so ausgebildet sein, dass sie eine relative Zeitinformation, also
keine absolute Uhrzeit, messen beziehungsweise liefern, und können gegenüber Uhren,
welche die absolute Uhrzeit messen, günstiger hergestellt werden.
-
In
einer weiteren bevorzugten Ausführungsform
kann die Senderuhr und/oder auch die Empfängeruhr jeweils einen Zähler aufweisen,
der einen jeweiligen Zählbereich
zyklisch durchläuft
und kann als Sende- beziehungsweise Empfangszeitinformation der
jeweilige Zählerstand
gewählt
werden. Die nachfolgende Beschreibung ist auf die Zähler bezogen, kann
jedoch auch analog auf die Uhren bezogen werden, wobei ein Zählerstand
einer Uhrzeit entspricht.
-
Bei
dem erfindungsgemäßen Verfahren
können
die Zähler
zu einem Zeitpunkt unterschiedliche Zeitinformationen, d. h. Zählerstände, also
den genannten Gangunterschied, aufweisen.
-
Vorzugsweise
arbeiten die Zähler
mit möglichst
gleichen Zählerfrequenzen,
um eine Drift des Gangunterschieds gering zu halten und so einen Fehler
bei der Altersbestimmung zu reduzieren kann.
-
Außerdem kann
ein solcher Zähler
während seines
Betriebs zyklisch bei einem ersten Zählerstand, beispielsweise mit
der Inbetriebnahme der Sende- beziehungsweise der Empfangsvorrichtung, mit
dem Zählen
beginnen, um mit der Zählerfrequenz weiterzuzählen, und
zwar bis zu einem maximalen beziehungsweise minimalen Zählerstand,
woraufhin ein sogenannter Zählerüberlauf
stattfinden und der Zähler
bei einem minimalen beziehungsweise maximalen Zählerstand das Zählen fortsetzten
kann. Ferner kann der Zähler
während
des Betriebs rücksetzbar
sein. Im Übrigen
können
die Zähler
der Sender- und der Empfängeruhr
unabhängig
voneinander zählen
und können
insbesondere unterschiedliche Zählbereiche,
also auch unterschiedliche minimale beziehungsweise maximale Zählerstände, aufweisen.
-
Vorzugsweise
ist die Zyklendauer der Zähler länger als
eine maximale Laufzeit der Datenpakete. Dann können bei der Bestimmung der
Laufzeit die genannten Zählerüberläufe berücksichtigt
werden und insbesondere kann bei einer wie zuvor beschrieben bestimmten
Laufzeit ein Zählerüberlauf
erkannt und die Altersbestimmung korrigiert werden: Unterschreitet
die ermittelte Laufzeit einen vorgegeben minimalen Wert beziehungsweise
ist sie sogar negativ, ist der Zähler
der beziehungsweise die Empfängeruhr übergelaufen,
sodass bei der Bestimmung der Laufzeit der ermittelte Gangunterschied
zwischen den Uhren um den maximalen Zählerstand der Empfängeruhr
erhöht
werden kann. Überschreitet
die ermittelte Laufzeit einen vorgegeben maximalen Wert, ist der
Zähler
der beziehungsweise die Senderuhr übergelaufen, sodass bei der
Bestimmung der Laufzeit der ermittelte Gangunterschied zwischen
den Uhren um den maximalen Zählerstand
der Senderuhr reduziert werden kann. Führen beide Korrekturen nicht
zu einem plausiblen Ergebnis, können
beide Zähler
beziehungsweise Uhren übergelaufen
sein und können
beide Korrekturen durchgeführt
werden. Die gesamte Korrektur lässt
sich also mit zwei Schritten durchführen, wobei in einem Schritt
die Laufzeit um den maximalen Wert des Zählers der Empfängeruhr
erhöht
wird, falls die Laufzeit einen vorgegebenen minimalen Wert unterschreitet,
und in einem davon unabhängigen
Schritt die Laufzeit um den maximalen Wert des Zählers der Senderuhr vermindert wird,
falls die Laufzeit einen vorgegebenen maximalen Wert überschreitet.
-
Außer durch
die oben genannten Verzögerungen
beim Sendevorgang, kann das Alter der Daten auch durch weitere Verzögerungen
in der Sendevorrichtung mitbedingt sein, etwa durch eine Berechnungsdauer
nach dem Erfassen eines Messsignals. Vorzugsweise kann dann dem
Datenpaket vor dem Senden auch eine Erfassungszeitinformation über einen
Erfassungszeitpunkt der Daten und/oder auch eine Berechnungszeitinformation über die
Dauer zwischen der Erfassung und der Berechnung der Daten beziehungsweise
zwischen der Erfassung und dem zugehörigen Zeitpunkt der Sendezeitinformation
hinzugefügt
werden. Durch diese zusätzliche(n)
Zeitinformation(en) lässt
sich die Altersbestimmung der Daten weiter verbessern, insbesondere
wenn in der Sendevorrichtung bereits Verarbeitungsschritte der Daten
erfolgen.
-
Ferner
können
die Daten auch von einem Zeitpunkt ihrer Erfassung zu einem Zeitpunkt
der Berechnung des Datenpakets oder auch zu dem Zeitpunkt der Sendezeitinformation
hin extrapoliert werden. Dadurch kann quasi eine zeitliche Aktualisierung
der Daten zu dem Zeitpunkt hin erfolgen, der dem erfindungsgemäß bestimmten
Alter der Daten entspricht, und es kann die Altersbestimmung verbessert
werden. Dies kann beispielsweise durch lineare Extrapolation über die
letzten beiden oder auch durch eine Extrapolation über eine
Vielzahl von der Sendeeinrichtung zuvor bearbeiteter oder erfasster Daten
erfolgen. Auch kann ein bekannter Verlauf der Daten genutzt werden,
um aus zuvor ermittelten Daten zu den genannten Zeitpunkten hin
zu extrapolieren. So kann man also quasi aktuellere, zeitlich möglichst
der Sendezeitinformation entsprechende, Daten erzeugen. Dabei kann
der Zeitpunkt der Berechnung möglichst
früh nach
dem Zeitpunkt der Datenerfassung erfolgen, um möglichst aktuelle Daten zu erhalten
und die Fehler der Extrapolation zu verringern.
-
Vorzugsweise
wird die Datenstrecke in einem regelmäßigen Takt betrieben. Bei einer
getakteten Datenstrecke lassen sich Laufzeiten beispielsweise als
Vielfaches des Taktes durch Zählen
bestimmen und eine genaue Zeitmessung kann entfallen. Ferner wird
vorzugsweise pro Takt höchstens
ein Datenpaket gesendet und kann das Senden des Datenpakets nach
dem Speichern der Sendezeitinformation so lange verzögert werden,
bis ein freier Takt zur Verfügung
steht. So lässt
sich der Aufwand, die Laufzeit eines speziellen Datenpaketes zu
bestimmen reduzieren, da dieses durch den vorgegeben Takt von weiteren
Datenpaketen zeitlich getrennt ist.
-
Im Übrigen ist
vorzugsweise die Datenstrecke als ein CAN-Bus und/oder auch die
Sende- und Empfangsvorrichtung jeweils als ein an den CAN-Bus angeschlossenes
Steuergerät
realisiert. Die Nachrichtenübermittlung
auf dem CAN-Bus
ist nicht zeitsynchron, sodass konventionell keine Aussagen über die
Laufzeit eines einzelnen Datenpakets möglich sind und das erfindungsgemäße Verfahren bei
diesem häufig
verwendeten Bus besonders vorteilhaft ist, um die Altersbestimmung
der Daten zu verbessern.
-
Insbesondere
bei dem CAN-Bus, aber auch bei anderen Datenstrecken, können also
verschiedene Steuergeräte
mit dem erfindungsgemäßen Verfahren
syn chronisiert werden und kann dann die Sendezeitinformation in
dem Datenpaket beim Empfang des Datenpakets im Bezug auf die Empfangszeitinformation
richtig zugeordnet und somit die Bestimmung des Alters der Daten
verbessert werden.
-
Bei
einer besonders bevorzugten Ausführungsform
umfasst das erfindungsgemäße Datenübertragungssystem
zwei durch einen CAN-Bus verbundene Steuergeräte zur Steuerung einer Startvorrichtung
einer Brennkraftmaschine in einem Kraftfahrzeug. Dann können nach
dem zuvor beschriebenen Verfahren von einem ersten Steuergerät als Sendevorrichtung
zeitkritische Informationen über
die Drehgeschwindigkeit der Startvorrichtung und/oder auch der Brennkraftmaschine
erfasst werden, und diese Daten können an ein zweites Steuergerät als Empfangsvorrichtung
zur oder auch als Steuerung eines Startvorgangs der Brennkraftmaschine
gemäß dem erfindungsgemäßen Verfahren übertragen
werden, um beispielsweise die Startvorrichtung optimal in die Brennkraftmaschine
einzuspuren.
-
Es
versteht sich, dass die vorstehend genannten und nachstehend noch
zu erläuternden Merkmale
nicht nur in der jeweils angegebenen Kombination, sondern auch in
anderen Kombinationen verwendbar sind.
-
Kurze Beschreibung der Zeichnungen
-
Die
Erfindung wird im Folgenden unter Bezugnahme auf die Zeichnungen
näher erläutert. Es zeigen:
-
1 eine
schematische Darstellung eines erfindungsgemäßen Datenübertragungssystems mit zwei
Steuergeräten
und einem CAN-Bus,
-
2 eine
schematische Übersicht
einiger Komponenten des Alters der Daten bei der Datenübertragung
-
3 eine
schematische Darstellung der Arbeitstakte der Steuergeräte,
-
4 Häufigkeitsverteilungen
von Laufzeiten auf dem CAN-Bus,
-
5 eine
schematische Darstellung eines erfindungsgemäßen Verfahrens zur Bestimmung
des Alters von Daten,
-
6 einen
Vergleich der Häufigkeitsverteilungen
der Laufzeiten und der Abweichungen zwischen einer Sende- und der
Empfangszeitinformation eines Datenpakets,
-
7 eine
schematische Darstellung eines Verlauf von Zählerständen einer Sender- und Empfängeruhr
und
-
8 schematisch
eine Extrapolation der Daten bei einem weiteren Ausführungsbeispiel.
-
Die 1 bis 7 zeigen
ein erstes Ausführungsbeispiel,
wobei die 1 eine schematische Darstellung
eines erfindungsgemäßen Datenübertragungssystems
mit zwei Steuergeräten 25, 26,
nämlich
einer Sendevorrichtung 25 zum Senden und einer Empfangsvorrichtung 26 zum
Empfangen von Datenpaketen über
einen CAN-Bus 29 als Datenstrecke, zeigt. Die Sendevorrichtung 25 und
die Empfangsvorrichtung 26 weisen jeweils einen nicht dargestellten
Mikrocomputer mit einem Programmspeicher mit Programmbefehlen auf,
um zumindest die nachfolgend erläuterten
Arbeitsschritte mittels eines entsprechend ausgebildeten und in
den Programmspeicher geladenen Computerprogrammprodukts auszuführen. Außerdem weist
die Sendevorrichtung 25 eine Senderuhr 27 auf,
aus der eine Sendezeitinformation 6 gewonnen und in das
Datenpaket eingefügt
wird, und die Empfangsvorrichtung 26 weist eine Empfängeruhr 28 auf,
anhand der beim Empfang eines Datenpakets eine Empfangszeitinformation 7 bestimmt
wird.
-
Die
Sender- 27 und Empfängeruhr 28 weisen jeweils
einen Zähler
auf, der einen jeweiligen Zählbereich
zyklisch durchläuft,
wobei der Zählerstand
der Senderuhr 27 zum Zeitpunkt t3 als Sendezeitinformation 6 in
das Datenpaket geschrieben wird und der Zählerstand der Empfängeruhr 28 zum
Zeitpunkt t6 als Empfangszeitinformation 7 ermittelt wird.
Beide Uhren 27, 28 starten mit der Inbetriebnahme
des jeweiligen Steuergeräts 25, 26 mit
einem Zählerstand Null
und zählen
dann bis zu einem jeweiligen maximalen Zählerstand ts,max,
te,max der Sender- 27 bzw. Empfängeruhr 28,
die voneinander verschieden sind. Nach Erreichen der jeweiligen
maximalen Zählerstände ts,max, te,max findet,
wie in der 6 dargestellt, jeweils ein Zählerüberlauf
statt und der Zählvorgang beginnt
erneut bei dem Zählwert
Null.
-
Die 2 zeigt
eine schematische Übersicht einiger
Möglichkeiten
für einen
Verzug beziehungsweise Komponenten des Alters der Daten bei der
Datenübertragung,
wobei entlang einer Zeitachse t Arbeitstakte 1 der Sendevorrichtung 25 oberhalb
von Arbeitstakten 2 der Empfangsvorrichtung 26 aufgetragen
sind. Dabei kann jeder, nur ein Teil oder auch überhaupt kein Verzug auftreten,
messbar oder von praktischer Bedeutung sein. Die Arbeitstakte 1, 2 sind
in der 3 näher
erläutert.
In diesem Ausführungsbeispiel
werden als Daten eine Drehzahl einer Brennkraftmaschine erfasst,
die von einem nicht dargestellten Sensor anhand eines Impulssignals 3 ermittelt
wird, wobei das Impulssignal 3 durch die Zähne eines
rotierenden Zahnrades bestimmt ist. Bei der Bestimmung der Drehzahl
tritt ein erster Verzug T1 auf, da die Drehzahl nur aufgrund von
zwei Impulssignalen 3 ermittelt werden kann und sie deshalb
einer mittleren Drehzahl zu einem Zeitpunkt t1 zwischen diesen Impulssignalen 3 entspricht.
Aufgrund der Arbeitstakte 1 der Sendevorrichtung 25 ergibt
sich eine gewisse Abtastfrequenz, sodass die Drehzahl als Messsignal 5 mit
einem Verzug T2 von der Sendevorrichtung 25 zum Zeitpunkt
t2 erfasst wird. Ferner tritt ein Verzug T3 während eines Verarbeitungstaktes 10 zwischen
dem Erfassen des Messsignals 5 und einem Sendetakt 11 und
ein Verzug T4, der der Dauer eines Übertragungstaktes 12 der
Daten entlang des CAN-Busses 29 entspricht, auf. Schließlich tritt
ein Verzug T5 zwischen dem Einlesen des Datenpakets in der Empfangsvorrichtung 26 und
einer Berechnung unter Benutzung der empfangenen Daten auf.
-
Die 3 zeigt
schematisch entlang der Zeitachse t die Datenübertragung mit dem erfindungsgemäßen Datenübertragungssystem,
wobei hier nur jeweils ein Teil eines Zyklus der zyklisch ausgeführten Arbeitstakte 1 der
Sendevorrichtung 25 und Arbeitstakte 2 der Empfangsvorrichtung 26 dargestellt
sind.
-
Bei
diesem Ausführungsbeispiel
tritt zu dem Zeitpunkt t2 ein Ereignis, nämlich das Messsignal 5, auf,
das von der Sendevorrichtung 25 erfasst und in einem Verarbeitungstakt 10 verarbeitet
wird. Zum Zeitpunkt t3 wird eine Sendezeitinformation 6 bestimmt
und es beginnt der Sendetakt 11, in dem die Sendezeitinformation 6 dem
Datenpaket hinzugefügt wird
und die Sendevorrichtung 25 auf einen freien Takt des CAN-Busses 29 wartet.
Die Dauer zwischen den Zeitpunk ten t4 und t3 ist maßgeblich
durch die Auslastung des Busses 29 und durch Kollisionen
mit anderen Datenpaketen höherer
Priorität
bestimmt. Ab dem Zeitpunkt t4 wird das Datenpaket über den CAN-Bus 29 seriell übertragen,
wobei die Datenübertragung
bis zum Zeitpunkt t5 erfolgt. Die Empfangsvorrichtung 26 empfängt das
Datenpaket und ermittelt bis zum Ende eines Verarbeitungstaktes 14 die Empfangszeitinformation 7.
-
In
diesem Ausführungsbeispiel
beträgt
die erfindungsgemäße Laufzeit 15 die
Dauer zwischen den Zeitpunkten t3 und t6, die der Sendezeitinformation 6 und
der Empfangszeitinformation 7 entsprechen, wobei die Laufzeit 15 also
eine Gesamtverzögerung
aufgrund des Sendetakts 11, des Übertragungstakts 12 und
des Verarbeitungstakts 14 ist.
-
Die 4 zeigt Häufigkeitsverteilungen 20, 20' der Laufzeiten 15 auf
dem CAN-Bus 29,
wobei die Wahrscheinlichkeit W aufgetragen ist, dass ein Datenpaket
eine bestimmte Laufzeit 15 der Zeit t benötigt. Insbesondere
aufgrund der zuvor erläuterten Mechanismen
treten Verzögerungen
auf und kann die Laufzeit 15 eines Datenpaketes nicht vorherbestimmt
werden. Sie ist also eine Zufallsgröße. Die 4 gibt
hier nur exemplarisch zwei mögliche
Häufigkeitsverteilung 20, 20' wieder, da
die Verteilungsform von dem jeweiligen Betriebszustand des CAN-Busses 29,
insbesondere auch der Anzahl, der Sendefrequenz und der Priorität weiterer
Sendevorrichtungen beziehungsweise Datenpakete abhängt, wobei
die dadurch bestimmten, charakteristischen Häufigkeitsverteilungen 20, 20' insbesondere
eine minimale und maximale Laufzeit tl,min,
tl,max und ein Maximum 23 aufweisen.
Insbesondere kann auch eine Gauß-Kurven-Form,
wie in 4b) gezeigt, als Häufigkeitsverteilungen 20' auftreten.
-
Die 5 zeigt
schematisch das erfindungsgemäße Verfahren
zur Bestimmung des Alters von Daten, bei dem in einem Schritt 30 eine
Mehrzahl Datenpakete zwischen den Steuergeräten 25, 26 über den
CAN-Bus 29 übertragen
werden, wobei wie zuvor erläutert
zumindest die Sendezeitinformation 6 übertragen und die Empfangszeitinformation 7 bestimmt
wird. In einem Folgeschritt 31 werden jeweils die Sendezeitinformation 6 und
die Empfangszeitinformation 7 der Datenpakete verglichen
und aus deren Abweichungen eine zweite Häufigkeitsverteilung 21 ermittelt,
die später
näher erläutert wird.
In einem weiteren Schritt 32 wird die zweite Häufigkeitsverteilung 21 mit
der ersten, nämlich
der Häufigkeitsvertei lung 20, 20' nach der 4, verglichen und durch den Vergleich
ein Gangunterschied 22 zwischen Sender- 27 und
Empfängeruhr 28 bestimmt.
Der Vergleich und die Bestimmung des Gangunterschiedes 22 wird
ebenfalls nachfolgend erläutert.
Schließlich wird
in einem Schritt 33 die Laufzeit 15 eines Datenpaketes
aus der Abweichung zwischen Sende- 6 und Empfangszeitinformation 7 bestimmt,
indem diese Abweichung um den zuvor ermittelten Gangunterschied 22 korrigiert
wird.
-
Die 6 zeigt
den Vergleich der ersten Häufigkeitsverteilung 20 der
Laufzeiten 15 auf dem CAN-Bus 29 und der zweiten
Häufigkeitsverteilung 21 der
Abweichungen zwischen der Sende- 6 und der Empfangszeitinformation 7 der
jeweiligen übertragenen
Datenpakete.
-
Die
Abweichungen zwischen der Sende- 6 und der Empfangszeitinformation 7 sind
neben der Laufzeit 15 des zugehörigen Datenpakets auch durch
den Gangunterschied 22 zwischen der Senderuhr 27 und
der Empfängeruhr 28 bestimmt.
Deshalb zeigt der Vergleich der beiden Häufigkeitsverteilungen 20, 21 eine
Verschiebung auf der Zeitachse t, die gerade dem Gangunterschied 22 entspricht.
Zur Ermittlung des Gangunterschieds 22 gemäß dem Schritt 32 in 5,
genügt
es also, die Häufigkeitsverteilungen 20, 21 zu
vergleichen. So wird in diesem Ausführungsbeispiel der Wert des
Gangunterschieds 22 im Prinzip bestimmt, indem er geeignet
gewählt wird,
sodass die Häufigkeitsverteilung 21 bei
einer Verschiebung entlang der Zeitachse t um den gewählten Wert
nach links in Deckung mit der Häufigkeitsverteilung 20 gebracht
wird, und konkret bestimmt, indem von der Empfangsvorrichtung 26 die Differenz
der Maxima 23, 24 der Häufigkeitsverteilungen 20, 21 berechnet
wird. Somit kann der Gangunterschied unmittelbar durch den Vergleich
der Häufigkeitsverteilungen 20, 21 ermittelt
und nachfolgend die jeweiligen Sendezeitinformationen 6 in
Bezug auf die Empfangszeitinformationen 7 richtig zugeordnet werden.
-
Die 7 zeigt
schematisch den Verlauf 60 des Zählerstandes der Senderuhr 27 und
den Verlauf 61 des Zählerstandes
der Empfängeruhr 28 entlang der
Zeitachse t. Ferner ist die Laufzeit 15 eines Datenpakets,
der Zählerstand
ts der Senderuhr 27 zum Zeitpunkt
t3 der Sendezeitinformation 6, der Zählerstand te der
Empfängeruhr 28 zum
Zeitpunkt t6 der Empfangszeitinformation 7 und der Gangunterschied 22 zwischen
der Senderuhr 27 und der Empfängeruhr 28 während der
Laufzeit 15 dargestellt.
-
Bei
diesem Ausführungsbeispiel
wird die Laufzeit 15 des Datenpakets aus der Differenz
des Zählerstandes
te der Empfängeruhr 28 und des
Zählerstandes
ts der Senderuhr 27 berechnet,
indem zusätzlich
der Gangunterschied 22 addiert wird.
-
Ferner
ist in diesem Ausführungsbeispiel
die Dauer zwischen zwei Überläufen 63, 64 eines
jeden Zählers
deutlich größer als
die maximale Laufzeit tl,max eines Datenpakets
auf dem CAN-Bus 29. Deshalb erkennt die Empfangsvorrichtung 26 einen
solchen Überlauf 63, 64 anhand
eines unplausiblen Wertes der berechneten Laufzeit 15.
Dann wird in einem ersten Schritt die Laufzeit 15 um den
maximalen Wert te,max des Zählers der
Empfängeruhr 28 erhöht, falls
die Laufzeit 15 einen vorgegebenen minimalen Wert unterschreitet,
der kleiner als die kleinste Laufzeit tl,min ist.
In einem zweiten Schritt wird unabhängig von dem ersten Schritt
die gegebenenfalls bereits korrigierte Laufzeit 15 um den
maximalen Wert ts,max des Zählers der
Senderuhr 27 verringert, falls die Laufzeit 15 einen
vorgegebenen maximalen Wert, der größer als die maximale Laufzeit
tl,max ist, überschreitet.
-
Ein
zweites Ausführungsbeispiel
ist gegenüber
dem zuvor beschriebenen um einen weiteren Verfahrensschritt ergänzt ist,
um die Bestimmung des Alters der Daten weiter zu verbessern. Es
trifft dementsprechend die vorhergehende Beschreibung des ersten
Ausführungsbeispiels
uneingeschränkt auch
auf das zweite Ausführungsbeispiel
zu. Wie zuvor in 2 und 3 erläutert, tritt
in der Sendevorrichtung 25 ein Verzug zwischen dem Zeitpunkt
t2 der Erfassung des Messsignals 5 und dem Zeitpunkt t3 der
Sendezeitinformation 6 auf. Deshalb werden die zu dem Erfassungszeitpunkt
t2 erfassten Daten zu dem Zeitpunkt t3 der Sendezeitinformation 6 hin
extrapoliert, und zwar durch eine lineare Extrapolation 72 jeweils über die
letzten beiden empfangenen Messsignale.
-
Die 8 zeigt
schematisch die Extrapolation 72, mit der ein quasi aktuelleres
Messsignal 70 berechnet wird, das nach dem vorbekannten
Verlauf 71 der zugehörigen
Messgröße zum Zeitpunkt
t3 der Sendezeitinformation 6 zu erwarten ist. Die Werte
für die
Extrapolation 72 werden beispielsweise aus einer Funktions- oder Steigungsberechnung
des Verlaufs 71 und/oder früherer Messwerte abge leitet.
Durch diesen Verfahrensschritt wird also eine genaue Bestimmung
des Alters der Daten möglich,
da sie genau dem bekannten Zeitpunkt t3 entsprechen. Es ist jedoch
zu beachten, dass dann die Daten mit einem Fehler aufgrund der Extrapolation 72 behaftet
sind. Vorteilhafterweise wird der Zeitpunkt, auf den extrapoliert
wird, möglichst
früh nach
dem Erfassungszeitpunkt t2 gewählt,
um den Fehler der Extrapolation 72 möglichst gering zu halten.
-
Alternativ,
jedoch nicht in einer Figur dargestellt, wird in einem weiteren
Ausführungsbeispiel
die Extrapolation 72 auch auf einen Zeitpunkt innerhalb des
Schrittes der Datenverarbeitung 11 hin erfolgen, sofern
das Messsignal 5 bereits in der Sendevorrichtung 25 für eine Berechnung
herangezogen wird.
-
Bei
einem weiteren, nicht dargestellten, Ausführungsbeispiel, das eine Weiterbildung
des ersten Ausführungsbeispiels
ist, wird, um die Altersbestimmung weiter zu verbessern, in das
Datenpaket zusätzlich
eine Erfassungszeitinformation über
den Zeitpunkt t2 der Datenerfassung 5 aufgenommen. Das
Alter der Daten, die durch das Messsignal 5 bestimmt sind,
entspricht der Differenz der Zeitpunkte t6 und t1. Somit kann die
Empfangsvorrichtung 26 das Alter der Daten bis auf die
Dauer zwischen den Zeitpunkten t1 und t2, also einen Fehler, der
durch die Abtastrate der Sendevorrichtung 25 bedingt ist,
vollständig
bestimmen.
-
Alternativ
dazu wird bei einem weiteren Ausführungsbeispiel die Zeit von
dem Erfassungszeitpunkt t2 bis zu einer Berechnung der Daten im
Verarbeitungstakt 10 bestimmt und als Erfassungszeitinformation
in dem Datenpaket gespeichert werden. In diesem Fall liegt der Zeitpunkt
der Berechnung möglichst
spät im
Verarbeitungstakt 10 und der Sendebeginn möglichst
früh im
Sendetakt 11, um den unbekannten Verzug zwischen diesen
beiden Zeitpunkten zu minimieren.
-
Alle
Figuren zeigen lediglich schematische, nicht maßstabsgerechte Darstellungen.
Im Übrigen wird
insbesondere auf die zeichnerische Darstellungen für die Erfindung
als Wesentlich verwiesen.