RDS
April 2000

Im UKW-Rundfunk werden neben den Audio-Signalen zusätzlich auch Daten übertragen, die mit geeigneten Empfängern dekodiert und ausgewertet werden können. So werden im Radio Daten System z.B. der Sendername, Programmtyp und Verkehrsfunksignalisierung übertragen. Eine Übersicht der von den verschiedenen Sendern ausgestrahlten RDS Daten findet man beim Institut für Rundfunktechnik.

Die Datenbits sind mit einer Datenrate von 1,1875 kHz auf einen 57 kHz Unterträger moduliert. Jeweils 26 Bits bilden einen Block, der wiederum aus 16 Datenbits und 10 Prüfbits besteht. Mit Hilfe der Prüfbits können die Blockgrenzen und die Art des Blocks detektiert werden. Jeweils vier Blöcke (ABCD bzw. ABC'D) bilden eine RDS-Gruppe.

Die Spezifikationen findet man in der DIN-Norm

  DIN EN50067, Spezifikation des Radio-Daten-Systems (RDS),
  Deutsche Fassung EN50067:1992, Beuth Verlag GmbH, Berlin.
oder auch in RDS description (in Französisch). Auch beim Bayerischen Rundfunk gibt es etwas zum Thema.

In Block A wird immer die 16 Bit Sender-ID (program information PI) übertragen. In Block B findet man den Programmtyp (PTY), einen Indikator für Verkehrsfunk (TP) und die Gruppennummer, die über die Bedeutung der restlichen fünf Bits des Blocks B und der 32 Bits von Block C und D Auskunft gibt.

       Block A              Block B
  +----------------+ +----+-+-+-----+-----+
  |................| |1011|0|1|.....|.....|
  +----------------+ +----+-+-+-----+-----+
          PI            11 A T  PTY  

Für DGPS sind die RDS-Gruppen 3A und 11A (teilweise auch noch 5A) interessant. Wenn Gruppe 3A (application identification AID) mit der ID 0x4AA1 existiert, wird dort festgelegt, in welcher RDS-Gruppe die im RASANT-Format kodierten DGPS-Daten übertragen werden (im Beispiel also Gruppe 11A).

          Block B             Block C              Block D
  +----+-+------+----+-+ +----------------+ +----+----+----+----+
  |0011|0|......|1011|0| |................| |0100|1010|1010|0001|
  +----+-+------+----+-+ +----------------+ +----+----+----+----+
      3 A          11 A                        4    A    A    1

In Gruppe 11A stehen dann die letzten fünf Bits von Block B und die 32 Datenbits aus Block C und D für die DGPS-Daten zur Verfügung.

         Block B              Block C            Block D
  +----+-+-+-----+-----+ +----------------+ +----------------+
  |1011|0|T|-PTY-|.....| |................| |................|
  +----+-+-+-----+-----+ +----------------+ +----------------+
     11 A

Zur Dekodierung der RDS-Bits aus dem Rundfunksignal stehen verschiedene integrierte Schaltungen zur Verfügung. Ich habe zunächst mit dem Philips RDS-Decoder IC SAA6579T experimentiert. Zur Dekodierung findet man im Internet verschiedene Links für Motorola Microcontroller:
RDS decoder using a 68HC11 (in Französisch)
Motorola AN460 An RDS Decoder using the MC68HC05E0
Motorola AN494 An HC11-controlled Multiband RDS Radio
Motorola AN495 RDS decoding for an HC11-controlled radio
RDS - Radio Data System - HW Server (in Tschechisch)

Daraus habe ich eine Dekodierungsoftware für den von mir eingesetzten Microchip Microcontroller 16F84 entwickelt.

Rückseite Inzwischen habe ich das Philips RDS-Decoder IC SAA6588T entdeckt, das die Dekodierung der RDS-Blöcke bereits auf dem Chip erledigt und damit den Microcontroller entlastet.

Nachdem mir immer wieder der Speicher ausging, erfolgt die Dekodierung der DGPS-Daten nun mit dem leistungsfähigeren Atmel Microcontroller AT90S8535.

Das Multiplex-Signal wurde zunächst im Autoradio abgegriffen. Da es aber nur wenig Radiosender gibt, die man freiwillig anhören will, mußte ein eigener Tuner für den DGPS-Empfang her, um das Radio wieder frei zu bekommen. Philips hat mit dem Matchbox-Tuner OM5610 einen interessanten, winzigen Tuner im Programm, der über die Firma Flextronics International in Österreich (EMail) zu beziehen ist. Da es mir damals nicht gelang, eine Bezugsquelle für den OM5610 zu finden, habe ich aus einer billigen Radio-Karte für den PC den Tunerteil herausgesägt. Er besteht hauptsächlich aus dem Philips-IC TEA5757, das vermutlich auch im OM5610 verwendet wird.

Board
Schaltung des DGPS-Empfängers, links befindet sich der Microcontroller, darunter ein Schaltnetzteil für die +5V. In der Mitte der RDS-Dekoder als Steckmodul, rechts der Tuner, der Rest befindet sich in SMD-Technik auf der Unterseite. Anschlüsse im Uhrzeigersinn: Spannung und GPS, LCD, Programmierinterface, Temperatursensoren, Klimaanlage, I2C-Bus.
Mittelkonsole
Die Bedieneinheit mit LCD-Display und Drehgeber findet in der Mittelkonsole des Autos auf dem Basisteil des Funkgeräts Platz. Neben der Steuerung des DGPS-Empfängers wurden auch Funktionen eines Bordcomputers implementiert. Hiermit wird nun auch die Anzeige der Bordspannung und von verschiedenen Temperaturen möglich, nur das Abspielen von MP3-Files fehlt noch...

Weitere RDS Gruppen

         Block B              Block C            Block D
  +----+-+-+-----+---+--+ +----------------+ +--------+--------+
  |0000|0|T|-PTY-|...|II| |................| |CCCCCCCC|CCCCCCCC|
  +----+-+-+-----+---+--+ +----------------+ +--------+--------+
      0 A
Gruppe 0A enthält den Stationsnamen (PSN, program station name)
I: Index for character position
C: 2 characters (insgesamt 8)
         Block B              Block C            Block D
  +----+-+-+-----+-----+ +--------+--------+ +--------+--------+
  |0010|0|T|-PTY-|.IIII| |CCCCCCCC|CCCCCCCC| |CCCCCCCC|CCCCCCCC|
  +----+-+-+-----+-----+ +--------+--------+ +--------+--------+
      2 A
Gruppe 2A enthält Radiotext (RT), max. 64 Bytes 16*4
I: Index for character position
C: 4 characters, string is NULL terminated (?)
Der Radiotext ist recht langweilig, da stehen nur so Sachen wie, "Wir sind das Super-Radio" oder "Sie können uns anrufen unter..."
          Block B               Block C               Block D
  +----+-+-+-----+---+--+ +--------+-------+-+ +----+----+--+-+-----+
  |0100|0|T|-PTY-|...|DD| |DDDDDDDD:DDDDDDD|H| |HHHH|MMMM:MM|S|OOOOO|
  +----+-+-+-----+---+--+ +--------+-------+-+ +----+----+--+-+-----+
      4 A
Gruppe 4A enthält Datum und Uhrzeit (CT, clock time data)
D: date (MJD) H: hour M: minute
S: sign of offset O: time offset in 30 minutes
Der Algorithmus für das Datum ist etwas komplizierter, aber in der Norm ausführlich beschrieben.
         Block B              Block C            Block D
  +----+-+-+-----+-----+ +----------------+ +----------------+
  |1000|0|T|-PTY-|.....| |................| |................|
  +----+-+-+-----+-----+ +----------------+ +----------------+
      8 A
Gruppe 8A enthält ??
Line
Document Revision:   23 Jul 2007
(c) 2007 Rolf Bleher
e-mail
Valid HTML 4.01! Prev Home Next