RDS-Projekt   #6 "Layer 2": Extraktion der RDS Informationen

von Torsten Krieger

Inhalt

Projektbeschreibung
In diesem Teilprojekt werden aus den sequentiell eintreffenden 4-Block-Gruppen die relevanten Daten ausgewählt, extrahiert und in eine genormte Form gebracht, um dann an den PC weitergeleitet zu werden.
Beim Aufruf des Programms werden als erstes Daten aus den 4 Blöcken extrahiert, die in allen Blöcken auftreten: Programme Identification, Traffic Programme Identification code und Programme Type Code. Diese Daten werden sofort in die Schnittstellenvariable für HP-Vee geschrieben (Teilprojekt 8).
Danach wird der Gruppentyp bestimmt, indem die Bits 11-15 in Block B kontrolliert werden. Wenn keine der Gruppen 0A/B, 2A/B, 4A oder 15B vorliegt, wird die Bearbeitung sofort beendet. Anderenfalls werden mit einem der speziellen 'Unterprogramme' weitere Daten extrahiert und in die Schnittstelle für HP-Vee(s.u.) geschrieben.

Die Unterprogramme erledigen die folgenden Aufgaben:
Gruppe 0A
Aus dem Block C werden die alternativen Frequenzen ausgelesen und an die richtige Stelle in der Schnittstelle geschrieben (aktuelle Position oder wieder an den Anfang der Liste der AFs, entspricht Byte 49). Eventuell werden die alternativen Frequenzen allerdings verworfen, falls sie zu einer Liste gehören, die nicht AFs der Senderfrequenz darstellen. Dies wird durch einen Schalter in der HPVee Oberfläche gesteuert (Teilprojekt 7). Danach wird mit dem Unterprogramm 0B fortgefahren.
Gruppe 0B
Music Speech code und Traffic Announcement code werden ausgelesen und in die Schnittstelle übertragen. Dann werden zwei Buchstaben des Sendernamens gelesen und an die durch die Bits 0 und 1 in Block B festgelegte Position geschrieben. Am Ende wird die Steuerung wieder ans Hauptprogramm zurück gegeben.
Gruppe 2A
Anfangs wird das AB-Flag auf einen Wechsel überprüft und ggf. alle Radiotextbuchstaben gelöscht. Dann werden 4 Radiotextbuchstaben aus den Blöcken C und D eingelesen, und an die durch die Bits 0 bis 3 in Block B festgelegte Position geschrieben. Am Ende wird die Steuerung wieder ans Hauptprogramm zurück gegeben.
Gruppe 2B
Anfangs wird das AB-Flag auf einen Wechsel überprüft und ggf. alle Radiotextbuchstaben gelöscht. Dann werden 2 Radiotextbuchstaben aus dem Block D eingelesen, und an die durch die Bits 0 bis 3 in Block B festgelegte Position geschrieben. Am Ende wird die Steuerung wieder ans Hauptgrogramm zurück gegeben.
Gruppe 4A
Hier werden der Modified Julian Day code, der Universal Time code und der Local time offset aus den Blöcken B, C und D extrahiert und in die Schnittstelle geschrieben. Dabei ist zu beachten, daß der MJD code 17 Bit lang ist und daher in 2 Schnittstellenzellen übergeben wird. Danach wird die Steuerung wieder ans Hauptgrogramm zurück gegeben.
Gruppe 15B
Music Speech code und Traffic Announcement code werden ausgelesen und in die Schnittstelle übertragen. Danach wird die Steuerung wieder ans Hauptgrogramm zurück gegeben.

Einzelne Aufgaben, die in mehreren Unterprogrammen auf die gleiche Weise benötigt werden, sind als generelle Routinen zusammengefaßt und werden in den Unterprogrammen nur aufgerufen.
Nach der Rückkehr aus den diversen Unterprogrammen gibt das Hauptprogramm die Steuerung dann sofort wieder an Teilprojekt 5 zurück (Beenden des Programms).

Als vollkommen eigenständiger Teil werden Anfragen von Teilprojekt 7 bearbeitet. Dabei wird einfach der Schnittstellenbereich im X-Speicher für die Ausgabe vom DSP an den PC übertragen, und dort von HPVee weiterverarbeitet (Teilprojekt 8)


Blockschaltbild
Blockschaltbild Teilprojekt allgemein:

Blockschaltbild allgemein


Blockschaltbilder für die Unterroutinen:

Programm Teil 1

Programm Teil 2



Eingangsdaten der Stufe:
Von Teilprojekt 5 - fehlerkorrigierender Decoder - werden 4 Blöcke (4*16 Bit in 4 festgelegten globalen Speichervariablen) übergeben. Wenn die Fehlerkorrektur abgeschlossen ist und erfolgreich war, wird die Datenrückgewinnung gestartet. Hier werden die 4 Blöcke A bis D (ohne Unterscheidung von C bzw. C') übergeben. Diese 4 Datenblöcke werden dann im diesem Teilprojekt untersucht und weitergegeben.

Von Teilprojekt 7 - Messen/Steuern - werden 2 Werte (1Wort, 1Bit in festgelegten globalen Speichervariablen) übergeben. Die beiden Werte geben zum einen an, ob in der Liste der alternativen Frequenzen (s.u.) nur die AFs der eingestellten Frequenz erscheinen sollen oder alle, und zum anderen die eben erwähnte eingestellte Frequenz.

Ausgangsdaten der Stufe:
Dieses Teilprojekt übergibt auf Anfrage 148 Byte in einer fest definierten Schnittstelle an den PC und die HP-Vee-Anzeige. Hierzu ist anzumerken, daß die Wortgröße des DSP 24bit und die des PCs 16bit beträgt, deshalb werden von den 24bit des DSP nur die 16 MSBs übergeben (deshalb müssen alle Daten in den MSB Bereich verschoben werden).




Zurück Weiter