Go back to Yannick's Home HOME PAGE.

68hc11 based RDS decoder


Last update on :  
french version Version française disponible ici.

Realization of the decoder: Hardware & software:

1- Introduction and principle of the RDS.
2- FM demodulation and the RDS.
3- The complete Diagram of RDS decoder.
4- RDS format and Flow charts of the program rds.asm V1.0.
5- The source (with accompanying notes) of rdsf1.asm V2.x.src
6- History of the RDS decoder.
7- Some PI codes of French and other countries FM radio stations.
8- Addresses (very) useful to decode the RDS.

1- Introduction and principle of the RDS.


Since 1988, many FM radio stations (88 MHz - 108 MHz) emit in addition to the stereophonic audio signal, also a R.D.S. signal. Thanks to the R.D.S. (Radio Data System = system of data transmission per radio), FM transmitters provide additional informations concerning the program in progress. Thus radio stations communicate to the receivers the name of the station, the alternate frequencies , the hour, the type of diffused music. Lately certain radios use this system to diffuse brief message-texts (RadioText) such as advertising slogans or information for concerts and spectacles. Receivers RDS start to develop considerably : car radios, receivers mobile, chains, high fidelity channels and cards tuner F.M. on computer and Your FuTuRe RDS DeCoDeR !


2 FM Demodulation and the RDS.

In the case of our realization, for reasons of obvious simplifications, the demodulation is entirely carried out by an integrated chip manufactured by SGS-Thomson company. It is the RDS + Filter demodulator : the TDA7330. This chip contents lot's of functions such as a capacity filter commutated of the 8th order centered around 57 kHz, a phase locking loop, an oscillator based on a quartz of 4.332 MHz suitable for the application of RDS demodulation. The following drawing shows the spectrum of the signal FM such as it must comes out of the radio tuner. It should well be taken care that the radio receiver DOES NOT FILTER the signal from 20Hz to 15KHz...

FM Multiplex spectrum

This chip where we will not detail the internal operations provides in its output several numerical signals : the clock signal (1187.5 Hz), the signal of data RDS synchronized with the clock, a signal of quality which indicates by a high state if the signal received contains RDS data. The data coming out of the demodulator are shown on the chronogram below. One period of clock is of 1/1187.5=842µS what is here the duration of a RDS data bit. The importance of the duration of the bit is of primary importance to carry out a correct acquisition of the data. Moreover, the data are accessible 4.3µS after a rising edge of the clock and the time of locking of the demodulator is about 100 ms after the arrival of a RDS signal. All these parameters will have to be taken into account by our decoding program.

timing signals

Yokogawa's screenshot


3- The complete Diagram of RDS decoder.

The components assembled around the TDA7330 are specified by the manufacturer thus guaranteeing a correct operation of the assembly. The following diagram was designed to work properly with 68HC11F1 card proposed on this site. The program rds2x.asm was written for...

RDS decoder

The traditional components such as 68HC11 and display LCD are available anywhere. On the other hand, as an indication, the TDA7330 is available at Electronique 33 Bordeaux (Electronic diffusion - Bordeaux France) Phone:05 56 52 14 18, the quartz of 4.332MHz is available in stock at DAHMS ELECTRONIC, 11 rue Ehrman 67000 STRASBOURG - France . Phone:03 88 36 14 89.


4- RDS format and Flow charts of the program rds.asm V1.0.

The RDS format is not explained here but it's fully explained in rbds1998.pdf. You will find above some pictures extracted from rbds1998.pdf, this datasheet is essential to understand rds.asm program !

all  RDS blocks
zoom on a  RDS block

The flow charts are given below: click on the following images to see in full size or use shift+left click (or right clic, save link as...) to save the pictures if your browser can't display it.

organigram12  organigram22  organigram32

1/3                          2/3                        3/3



acqui1  acqui2 sauvebit 

_Acqui1                _Acqui2                _Sauvebit

affichage  valc  vald

_Affichage                 _Valc                     _Vald

tempo120  tempo45 

_Tempo 120µs              _Tempo 4.5 ms


5- The source (with accompanying notes) of rdsf1.asm.

The source files ASC and S-record S19 are downloadable via the mulot (cool french mouse) on following the link: src

DownloadClick to download the source with accompanying notes of decoder RDS V2.3 for card 68HC11F1 with 8MHz - files : rds2.zip (15ko).


6- History of the RDS decoder.

The RDS decoder software is 100% working since the 08/19/2k !

Small history: the program rds.asm V1.0 was written in April 1999 during the lab work by the B3 group of IUT GEII of Bordeaux-Talence year 99. The program rds V1.0 is identical to rds V1.1 except in the calculation of the syndrome. The first program was based on a routine of calculation optimized in memory size but not in speed. It came from a program written at the base for microprocessors PIC16F84 (appeared in Circellar). Let us recall that calculation bit by bit of the syndrome must be carried out in less 842s (duration of 1 RDS bit). The second program was optimized of speed because the loop of calculation of the syndrome "was unrolled". This alternative comes from the application note of Motorola an460.pdf. The last versions (V2.x) proposed on the site works finally very well and the calculation of syndrome was improved by the use of all the registers of the 68HC11. The routine of the calculation of the syndrome comes from the application note an495.pdf. It is a datasheet available on the site of MOTOROLA probably since in May-Juin99 and which proposes a decoder RDS with a 68HC11 (see the lower links for the address).

The programes V2.x are adapted to function on a 68HC11F1 card in extend mode with PCBUG11 v3.42. Version 2.3 manages for the moment PI codes (station identifier), the PS name (the name of the station), the Music/Speech indicator, the PTY (Program TYpe), the hour and RadioText. The development program is stopped (I have no time :-( ) but it remains the implementation of the management of the traffic road, the PIN (Program Item Number, similar to system PDC for the video tape recorders) as well as others usefull informations ...

The image below accurately reproduces the display of decoder RDS V2.3: on the first line on the left the name of the station (PSname: 8 characters received per pair) on the right the hour of the station (refreshed every minute). Then on the second line, there are 2 views:

- no pressure on SW1: on the left, the PI code station (very useful for debug processes !), in the middle the Music/Speech indicator (very seldom used) and on the right the Program TYpe (PTY: style of the station: Rock'n'roll, Information, Sport, Music, varieties...).

display of decoder V2.3

- a pressure on SW1: display of the message RadioText (64 characters) after its complete reception (approximately maximum 15s after reception of a station which diffuses RadioText). After the run of the message, information PTY and PI code are displayed again. The press on SW1 again causes the view of the RadioText. If the station does not support RadioText or well if the message is not completely received, the display will not be modified.

Display of radiotexte V2.3
Display of radiotexte V2.3
Display of radiotexte V2.3

The team thanks the mails which were addressed to take part in the debug process and by the enlightments concerning the principle of the decoding of the syndrome. Special thanks to FP for the sources and the explanations!


7- Some PI codes of French FM radio stations.

In order to check the working of your RDS decoder software, you will find PI codes (in HEXADECIMALE base) but this is French radio stations... So if you are not French, send me an email with the PI codes of yours national radio stations or a web link where the websurfers can find these vital data during the debugging process ! Thanks.

France Inter
France Culture
France Musique
France Info
Radio Bleue
Europe 1
Fun Radio
Europe 2
Radio Classique
Autoroute FM
Autoroute Info
Chérie FM
Rire & Chansons
Radio Courtoisie
Radio Fr Bx Gironde
Wit FM
Radio Black Box
Sud Radio

More PI codes in picodes.zip [126Ko].


8- addresses (very) useful to decode the RDS.

New: publication by MOTOROLA of a RDS decoder with 68HC11- (files an494.pdf and an495.pdf)

MOTOROLA Application Notes List (68HC05/68HC08) - (files an460.pdf)

All the theory: absolutely essential!!! (file rbds1998.pdf)

The site of SGS Thomson: datasheet of the TDA7330.

RDS Forum - Contents -

Another site to make a RDS decoder (the program is available here)..;-) )
Download the program.

A FULLY FREE PIC876 based RDS Encoder.new



L'ensemble des textes et photographies présents sur ce site sont la propriété exclusive de leur auteur. Merci de respecter la propriété intellectuelle et le droit d'auteur. All pictures and page content Copyright © 2003-2013 Yannick Bénaben.