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.
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...
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.
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...
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 !
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.
Main flow chart in 3 pages :
1/3 2/3 3/3
Flow chart of calculation of the syndrome (rds.asm v1.0, simplified in the v2.x) :
_Syndrome
Flow charts of acquisition 1 bit, 25 bits and backup of 1 bit :
_Acqui1 _Acqui2 _Sauvebit
Flow charts of display, validation and delays :
_Affichage _Valc _Vald
_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:
Click 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...).
- 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.
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.
Stations PI Stations PI Stations PI RFI F101 France Inter F201 France Culture F202 France Musique F203 FIP F204 France Info F206 Radio Bleue F207 RTL F211 RFM F212 Europe 1 F213 Skyrock F214 RTL2 F215 RMC F216 Fun Radio F217 Nostalgie F218 Europe 2 F219 NRJ F220 Radio Classique F221 Autoroute FM F222 Autoroute Info F222 107.7 F222 TSF F223 Chérie FM F224 MFM F225 Rire & Chansons F226 BFM F227 Radio Courtoisie F228 Radio Fr Bx Gironde F805 Wit FM FD34 Radio Black Box FD45 Sud Radio F650 Orient FE51
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.
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.