-
Die
Erfindung bezieht sich allgemein auf das Empfangen von Nachrichten
in einer RDS TMC Nachrichtenumgebung (RDS TMC = Radio Data System
Traffic Message Coding (Funkdatensystem-Verkehr-Nachrichtencodierung)). Die
Nachrichten werden über
verschiedene geographisch verteilte Sendestationen ausgestrahlt
und können
verschiedene Informationsgegenstände,
die zur Benachrichtigung von innerhalb des Sendebereichs befindlichen
Fahrzeugen und ihren Fahrern über
bestimmte Verkehrsverhältnisse
dienen, sowie damit verbundene Daten enthalten, die relevant für diese
Empfänger-Entitäten sein
könnten.
Ein bestimmtes Nachrichtenformat könnte ein Ereignis (11 Bit),
einen Standort (16 Bit), eine Richtung (1 Bit), einen Umfang (3
Bit), eine Dauer (3 Bit) und einen Umgehungsratschlag (1 Bit) oder insgesamt
35 Bit enthalten. Um die Wahrscheinlichkeit des korrekten Empfangs
zu erhöhen,
wird jede Nachricht in der vorliegenden Ausführungsform dreimal unmittelbar
hintereinander wiederholt. Des Weiteren könnte jederzeit ein bestimmter
Sender einen Zyklus verschiedener unterschiedlicher Nachrichten vorlegen,
welcher Zyklus so lange wiederholt wird, wie an der allgemeinen
Information keine Änderung benötigt wird.
Insofern als der geographische Bereich, für den eine bestimmte Nachricht
relevant sein könnte,
sich oft über
den für
einen bestimmten Sender erreichbaren Bereich hinaus erstreckt, könnte die gleiche
Nachricht von vielen Stationen parallel ausgesendet werden. Es besteht
jedoch keine Synchronisation weder zwischen den verschiedenen Sendern,
noch zwischen einem bestimmten Sender und einem bestimmten Empfänger, insofern
als ein Empfänger
dynamisch zwischen verschiedenen Stationen umschalten kann, wie
zum Beispiel, wenn er nach der besten Empfangsqualität sucht.
Der Kürze halber wird
im Folgenden der im Nachrichtenpaket enthaltene Fehlerschutz und
die Rangcodierung zwischen den einander entsprechenden und wiederholt gesendeten
Nachrichten innerhalb eines einzigen Zyklus als Stand der Technik
betrachtet.
-
Insbesondere
nun bezieht sich die Erfindung auf ein Verfahren zur Verarbeitung
eines Zyklus von Nachrichten, wobei jede Nachricht mehrmals nacheinander
als Teilfolge dieses Zyklus wiederholt wird, wobei das Verfahren
folgende Schritte aufweist: Empfangen einer Nachricht und Prüfen derselben
auf Korrektheit; Weiterleiten der korrekten Nachricht zur Weiterverarbeitung;
nach dem Prüfen
Vergleichen der letzten Nachricht mit ihrem unmittelbaren Vorgänger, und
bei Übereinstimmung
der beiden Nachrichten Weiterleiten des Vorgängers, begleitet von einem
Validierungssignal, wenn entdeckt wird, dass der Vorgänger die
erste korrekte Nachricht ihrer tatsächlichen Teilfolge war.
-
Die
US 4277838 offenbart eine
Datenempfangsvorrichtung zum Empfang von wiederholt gesendeten Datenblöcken. Die
Datenempfangsvorrichtung speichert Daten in einem Register. Durch
einen Komparator wird jedes empfangene Byte in den Eingangsdaten
mit dem entsprechenden gespeicherten Byte verglichen. Wenn die entsprechenden
Byte miteinander übereinstimmen,
wird eines der Byte zur Speicherung ausgewählt, und im Register wird für dieses
Byte ein Validierungsbit gesetzt. Wenn die entsprechenden Byte nicht
miteinander übereinstimmen,
wird, falls das Validierungsbit gesetzt ist, das neue Byte zur Speicherung
ausgewählt,
und falls das Validierungsbit nicht gesetzt ist, das alte gespeicherte
Byte zur Speicherung ausgewählt,
und das Validierungsbit für
dieses Byte im Register wird zurückgesetzt.
-
Wie
aus dem oben Gesagten hervorgeht, werden die Nachrichten fortlaufend
empfangen, es ist jedoch möglich,
dass viele dieser Nachrichten beim Empfang defekt sind und demzufolge
sofort verworfen werden sollten, ohne überhaupt die Relevanz ihres
Informationsinhalts in Betracht zu ziehen. Diese Beseitigung könnte durchaus
durch den Gesamtnavigationsprozessor selbst erfolgen. Dies bedeutet
jedoch eine große
zeitliche Belastung für
die kostbare Verarbeitungszeit, die besser komplizierteren Aufgaben
hätte zugewiesen
werden können.
Außerdem sollte
der Übertragungsmechanismus
zwischen dem eigentlichen TMC Empfänger und dem Prozessor hinsichtlich
des Übertragens
von Datenposten entlastet werden, die hätten verworfen werden können.
-
Demzufolge
besteht unter anderem ein Ziel der vorliegenden Erfindung darin,
einen kurzzeitigen Verwerfungsmechanismus zu einem frühen Zeitpunkt
in der RDS TMC Verarbeitung bereitzustellen, um dadurch Verarbeitungs-
und Übertragungseinrichtungen,
die viel Energie verbrauchen, für
andere Aufgaben freizugeben, die diese Einrichtungen unbedingt benötigen.
-
Folglich
ist nun die Erfindung gemäß eines ihrer
Aspekte durch den folgenden Schritt gekennzeichnet: Auslassen des
Weiterleitens, wenn entdeckt wird, dass der Vorgänger nicht die erste korrekte
Nachricht ihrer tatsächlichen
Teilfolge war.
-
Die
Erfindung bezieht sich ferner auf eine Vorrichtung, die für die Implementierung
eines Verfahrens nach Anspruch 1 vorgesehen wird. Weitere vorteilhafte
Aspekte der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Diese
und weitere Aspekte und Vorteile der Erfindung werden im Folgenden
in größerem Detail unter
Bezugnahme auf die Offenbarung bevorzugter Ausführungsformen, und insbesondere
unter Bezugnahme auf die beigefügten
Zeichnungen beschrieben, in denen
-
1 ein
Blockdiagramm einer erfindungsgemäßen Vorrichtung zeigt;
-
2 Beispiele
eines optimalen Empfangs zeigt;
-
3 Beispiele
eines gestörten
Empfangs zeigt;
-
4 ein
Ablaufdiagramm einer bevorzugten Ausführungsform zeigt.
-
1 stellt
ein Blockdiagramm einer erfindungsgemäßen Vorrichtung dar. Die RDS
TMC Sendestation 20 sendet Nachrichtenzyklen gemäß der obigen
Ausführungen.
Der Empfänger 22 stellt
sich auf das korrekte Sendeband ein, und Block 24 konvertiert
durch Synchronisieren und Thresholding das eingehende Signal in
einen Bitstrom und in eine Taktfolge CL, die den Takt für die gesamte
nachfolgende Verarbeitung entlang nicht dargestellten Zwischenverbindungen
angibt. Der Bitstrom wird sequentiell in ein Puffer-Arrangement
geladen, das Elemente 26, 28, 30, 32, 34 aufweist,
die weiter unten beschrieben werden sollen. Die Busmittel 36 verbinden
das Puffer-Arrangement mit dem Prozessormodul 38 und anderen
Modulen 40 wie Sensoren, GPS, Datenbankmechanismen und
(Benutzer) E/A-Mechanismen. Das Prozessormodul könnte die beste zu befolgende
Fahrroute feststellen und außerdem
nach anderer Information suchen, um diese dem Benutzer zu präsentieren
oder direkt das Fahrzeug zu steuern.
-
In
dieser Ausführungsform
nun ist der Empfänger
mit zwei kleinen Puffern 26, 32 versehen, die jeweils
gerade nur so groß sind,
dass sie die Bit-Zeichenkette einer atomischen Datennachricht (DM)
wie zum Beispiel A speichern können
(es wird darauf hingewiesen, dass die vier Nachrichten A–D in 2 spezifisch
die gleiche Länge
aufweisen). Der Puffer 32 kann ein Validierungs-Flag VF
bei Schritt 34 speichern. Insbesondere ist 4 ein
Ablaufdiagramm einer bevorzugten Ausführungsform. Nach Empfang einer
ersten Datennachricht (50, 52) wird diese nun im
Puffer 26 gespeichert. In der Ausführungsform ist der Puffer ein
Bit-Getaktetes Schieberegister, und die tatsächliche Speicherinstanz wird
durch Detektionsmechanismus 28 erkannt, der auf der Ebene
der allgemeinen Nachricht synchronisiert und es erlaubt, die Kopfzeile,
den Fehlerschutz und ähnliche
Synchronisierungsbit anschließend
zu verwerfen. Bei nachfolgendem Empfang einer nächsten Datennachricht weiß der Detektionsmechanismus 28,
wann er die eigentlichen Datenbit durch seinen Schwungradmechanismus
erwarten kann und verschiebt demzufolge den Inhalt von Puffer 26 in
den Puffer 32 und zum gleichen Zeitpunkt die neue Nachricht
in den Puffer 26 (52). Der Komparator 30 prüft (54)
nun die Identität
des Dateninhalts der beiden Puffer 26 und 32.
Bei Gleichheit mit dem Validierungs-Flag (34) 0 (56)
wird dieses auf 1 (60) gesetzt, was eine Anforderung für ein Busübertragungssignal
darstellt und bewirkt, dass der Inhalt von Puffer 32 zusammen
mit dem damit verbundenen Validierungs-Flag (34) (64) in
den Speicher von Prozessor 38 übertragen wird. Wenn die beiden
Nachrichten von einander abweichen (58), wobei das Validierungs-Flag
bereits auf „1" steht, wird das
Flag auf „0" zurückgesetzt,
so dass die Busübertragung
nicht angefordert wird, und das Validierungs-Flag bleibt auf Null
(68). Die Vorrichtung in der Ausführungsform weist zwei Puffer
vom Schieberegistertyp auf. Ein in der Technik bewanderter Fachmann
wird erkennen, dass eine entsprechende Konfiguration mit Puffern
erreicht werden kann, die eine Eingangs-Demultiplexer-Einrichtung und eine Ausgangs-Multiplexer-Einrichtung aufweisen.
Die Konfiguration des Speicherns und Setzens/Zurücksetzens der Flags müsste dann
in unkomplizierter Weise angepasst werden. Desgleichen könnte die Erfindung
anstelle von serieller Lade-/Entlade- und Schieberegistertechnologie
durch paralleles Laden/Entladen der Pufferregister implementiert
werden.
-
Nach
Empfang einer nächstfolgenden
Nachricht (A oder B) wird der Inhalt von Puffer 26 wieder
in den Puffer 32 übertragen,
während
die neue Nachricht in Puffer 26 gespeichert wird. Wenn die
beiden Nachrichten wieder gleich sind, die „1" des Validierungs-Flags jedoch anzeigt,
dass die frühere
Version bereits an den Prozessor übertragen wurde, würde die
neue Nachricht keiner solchen Übertragung
unterzogen, und das Validierungs-Flag würde auf „0" zurückgesetzt.
Demzufolge würde
die Übertragung nicht
stattfinden, welches auf dieser Ebene eine Busübertragung eines Richtwerts
einsparen würde,
was allgemein nicht nützlich
wäre.
-
Wenn
die beiden Puffer einen nicht-identischen Inhalt (58) aufweisen,
und das Validierungs-Flag Null (62) ist, wird der Inhalt
von Puffer 32 an den Prozessor geschickt, insofern als
diese Nachricht das erste Mal im tatsächlichen Zyklus vorkommt. Aus
diesem Grunde wird das tatsächlich
auf „0" stehende Validierungs-Flag
mit dem Identitätssignal
von Komparator 30 kombiniert, um ein Busanforderungssignal
zu erzeugen, welches der Kürze
halber nicht im einzelnen in 1 dargestellt
wurde. Am Ende der Prozedur wird für jede empfangene Teilfolge
die letzte Version der Nachricht in Richtung des Puffers 32 (66, 70)
verschoben.
-
Wiederholung:
Wenn A mit VF = 0 markiert ist, wird A zusammen mit VF = 0 an das
PM zur dortigen Speicherung übertragen.
Die nächste
Nachricht B wird in 32 gespeichert. Wenn die dritte Nachricht
B ist, erhält
B in 32 VF = 1. Wenn die dritte Nachricht ⇒B ist (das
heißt,
wenn diese Nachricht A oder C ist), erhält B in Puffer 32 VF
= 0.
-
Angenommen,
die dritte Nachricht ist A, dann wird bei Empfang der vierten Nachricht
A in den Puffer 32 verschoben. Wenn dann die vierte Nachricht
auch A ist, erhält
die Nachricht A in Puffer 32 wiederum VF = 1, gefolgt von
einer Übertragung
von A mit VF = 1 an den Prozessor (das Gleiche wie nach der oben
beschriebenen zweiten Nachricht). Wenn die vierte Nachricht nicht
gleich A ist, erhält
A in Puffer 32 VF = 0, und dieses VF = 0 wird bei Empfang der
fünften
Nachricht an den Prozessor weitergereicht. Wenn dies geschieht,
erhält
im Prozessor die bereits (mit einem VF = 0) gespeicherte Nachricht
A ein geändertes
Verifikations-Flag VF = 1. Zusammenfassend ist zu sagen, dass die
beiden Puffer die kurzzeitige Verifikation durchführen, während das Prozessormodul
sich um die langzeitige Validierung kümmert. Die Prozedur verbessert
die Zuverlässigkeit,
während
nur wenig Verarbeitungskraft und Speicherkapazität verbraucht wird.
-
2 zeigt
Beispiele eines optimalen Empfangs eines Zyklus von vier Nachrichten
A, B, C, D, die jeweils dreimal hintereinander in unmittelbarer Teilfolge übertragen
werden, wie durch AAA angezeigt, woraufhin der gesamte Zyklus wiederholt
wird. Der Kürze
halber werden Synchronisations-Information,
Zyklus-Kopfzeilen, Fehlerschutz-Information und verschiedene andere
Posten ignoriert, die auf der Ebene der Sendeschicht wirken. Allgemein
gesagt bedeutet optimaler Empfang, dass jede Nachricht, separat
genommen, nach Decodierung den korrekten Inhalt aufweist. Die erste
Nachricht einer Dreiergruppe wurde also in der zweiten Zeile durch einen
Kleinbuchstaben entsprechender Identität wie a, b, undsoweiter angezeigt.
Nach Decodieren der zweiten Nachricht einer Dreiergruppe werden
genau die gleichen Ergebnisse wie bei der ersten Nachricht erhalten,
angezeigt durch den Großbuchstaben
gleicher Identität
A, B, undsoweiter. In diesem Augenblick kann die Nachricht an die
Hauptverarbeitung zur weiteren Betrachtung übertragen werden. In dem Beispiel
von 2 wurde dies dargestellt als die Nachricht Nummer
2 (Second) im zweiten Puffer, wie durch die zwei Punkte darüber angezeigt.
Nach Abschluss des ersten Zyklus fährt der Prozess fort, wie durch
das „^" Symbol angezeigt.
-
Im
Weitergang zu dem oben Gesagten zeigt 3 verschiedene
Beispiele eines gestörten
Empfangs. Von der ersten Dreiergruppe wird die erste Nachricht überhaupt
nicht empfangen, die zweite wird inkorrekt empfangen, und die dritte
wird möglicherweise korrekt
empfangen (a). Dies bedeutet, dass der Vergleich nie Gleichheit
ergibt, und es wird keine Nachricht von Puffer 26 weitergeleitet,
in dem sie letztlich residieren würde, angezeigt durch einen einzelnen
Punkt. Von der zweiten Dreiergruppe ist nur die erste vermutlich
korrekt, aber insofern als das tatsächliche Verifikations-Flag
auf Null stand, wird nichts gesendet. Das Gleiche ist der Fall für die dritte Dreiergruppe,
bei der wiederum nur eine korrekt empfangen wird. Die vierte Dreiergruppe
erzeugt zwei korrekte Empfänge
direkt aufeinanderfolgender Nachrichten, so dass der zweite Empfang
eine Übertragung
aus dem Puffer 32 (wie durch zwei Punkte dargestellt) erzeugt.
Die dritte Version der Nachricht ist wiederum ein Fehlschlag, so
dass sich die Speicherbedingung nicht ändert. Wiederum beginnend mit
den A Nachrichten ist die erste sofort erfolgreich.