Décodeur RDS à 68hc11
Réalisation du décodeur : Hardware & software: 1- Introduction et principe du RDS.
2- La Démodulation F.M. et RDS.
3- Le Schéma complet du décodeur RDS.
4- Les Organigrammes du programme rds.asm V1.0.
5 - La nouvelle source commentée de rdsf1.asm V2.x.
6- La nouvelle version V2.x débugguée.
7- Les adresses (trés) utiles pour décoder le RDS.
8 - Encore plus sur le RDS ?
9 USA standard RDS (en anglais)
10 USA norme RDS 1999 ( rdbs1998.pdf )
11 RDS HC11 (AN495.pdf)
12 ASSEMBLEUR 68HC11
Depuis 1988, de nombreuses stations de radio de la bande F.M. (88 MHz – 108 MHz) émettent outre le signal audio stéréophonique, également un signal R.D.S.. Grâce au R.D.S. (Radio Data System = système de transmission de données par radio), les émetteurs F.M. fournissent des informations additionnelles concernant le programme en cours. Ainsi les stations F.M. communiquent aux récepteurs les noms de la station, les fréquences de dégagement, l'heure, le type de musique diffusée. Dernièrement certaines radios utilisent ce système pour diffuser des brefs messages textes tels que des slogans publicitaires ou des informations pour des concerts et des spectacles. Les récepteurs RDS commencent à se développer considérablement en Europe (autoradios, récepteurs mobiles, mini - chaînes, chaînes Haute fidélité et cartes tuner F.M. sur ordinateur) malgré un léger retard par rapport en Amérique du Nord.
Dans le cas de notre réalisation, pour des raisons de simplifications évidentes, la démodulation est entièrement réalisée par un circuit intégré fabriqué par la société SGS-Thomson. Il s'agit du démodulateur RDS+Filtre le TDA7330. Ce composant intègre de nombreuses fonctions telles qu'un filtre à capacités commutées du 8 ième ordre centré autour de 57 kHz, une boucle à verrouillage de phase, un oscillateur basé sur un quartz de 4.332 MHz propre à l'application de démodulation RDS. Le dessin suivant montre le spectre du signal FM tel qu'il doit sortir du tuner radio. Il faut bien veiller à ce que le recepteur radio NE FILTRE PAS le signal de 20Hz à 15KHz...
Ce circuit dont nous ne détaillerons pas le fonctionnement fourni en sa sortie plusieurs signaux numériques : le signal d'horloge (1187.5 Hz), le signal de données RDS synchronisé avec l'horloge, un signal de qualité qui indique par un état haut si le signal multiplex reçu contient ou non des données RDS. Les données sortant du démodulateur sont représentées sur le chronogramme ci-dessous. Une période d'horloge est de 1/1187.5=842µs ce qui est ici la durée d'un bit de donnée RDS. L'importance de la durée du bit est primordiale pour effectuer une acquisition correcte des données. De plus, les données sont accessibles 4.3µs après un front montant d'horloge et le temps de verrouillage du démodulateur est de l'ordre de 100 ms après l'arrivée d'un signal RDS. Tous ces paramètres devront être pris en compte par notre programme de décodage.
3- Le Schéma complet du décodeur RDS.
Les composants montés autour du TDA7330 sont ceux spécifiées par le constructeur garantissant ainsi un bon fonctionnement du montage. Le schéma retenu est donc celui ci-dessous est fonctionne trés bien avec la carte 68HC11F1 proposée sur ce site. Le programme a d'ailleur été écrit pour...
Les composants classiques tels que 68HC11 et afficheur LCD sont courants. En revanche, à titre indicatif, le TDA7330 est disponible chez Electronique 33 Bordeaux (Electronique diffusion) Tél :05 56 52 14 18, le quartz de 4.332MHz est disponible en stock chez DAHMS ELECTRONIC, 11 rue Ehrman 67000 STRASBOURG. Tél :03 88 36 14 89.
Les organigrammes sont donnés ci-dessous : cliquer sur les images pour les voir en plus grand ou utilisez la touche shift+clic gauche (ou clic droit, save link as...) pour sauvegarder les images si votre navigateur rencontre des difficultées à les afficher.
- Organigramme principal en 3 pages :
1/3 2/3 3/3
- Organigramme de calcul du syndrome :
_Syndrome
- Organigrammes d'acquisition 1 bit, 25 bits et sauvegarde d'1 bit :
_Acqui1 _Acqui2 _Sauvebit
- Organigrammes d'affichage, validation et tempos :
_Affichage _Valc _Vald
_Tempo 120µs _Tempo 4.5 ms
5 - La nouvelle source commentée de rdsf1.asm.
Les fichiers source .ASC et S-record .S19 sont téléchargeables en cliquant avec le mulot sur le lien ci-dessous :
Cliquez pour la source commentée du décodeur RDS V2.3 pour la carte 68HC11F1 à 8MHz - : rds2.zip (15ko).
Ouvrir ce programme ASSEMLBEUR (rdsf1.asc)
6- Le programme rds V2.x débuggué. Le programme proposé marche enfin ! Le débuggage a été commencé le 18/08 et fini le 19/08 !
Petite historique : le programme rds.asm V1.0 a été écrit au mois d'Avril 1999 durant les séances de travaux de réalisation par le groupe B3 de l'IUT GEII de Bordeaux-Talence promo 99. Le programme rds V1.0 est identique à rds V1.1 excepté dans le calcul du syndrome. Le premier programme était basé sur une routine de calcul optimisée en taille mémoire mais pas en vitesse. Il provenait d'un programme écrit à la base pour les microcontrôleurs PIC16F84 (paru dans Circellar). Rappelons que le calcul bit par bit du syndrome doit être exécuté en moins de 842µs (durée d'1 bit RDS). Le deuxième programme était optimisé en vitesse car la boucle de calcul du syndrome a été "déroulée". Cette variante vient de la note d'application de Motorola an460.pdf. Les dernières versions (V2.x) proposées sur le site marchent finalement trés bien et le calcul du syndrome a était amélioré par l'utilisation de tout les registres du 68HC11. La routine du calcul du syndrome vient de la note d'application an495.pdf. Il s'agit d'une note d'application disponible sur le site de MOTOROLA probablement depuis courant Mai-Juin99 et qui propose un décodeur RDS avec un 68HC11 (voir les liens plus bas pour l'adresse).
Les programes V2.x sont adaptés pour fonctionner sur la carte 68HC11F1 en mode étendu avec PCBUG11 v3.42. La version 2.3 gère pour l'instant le PI code (identificateur de la station), le PS name (le nom de la station), l'indicateur Music/Speech, le PTY (type de programme), l'heure et le RadioTexte. Le développement du programme continu et proposera la gestion du traffic routier, le PIN (Program Item Number, similaire au système PDC pour les magnétoscopes) ainsi que d'autres informations intéressantes...
L'image ci-dessous reproduit fidèlement l'affichage du décodeur RDS V2.3 : sur la première ligne à gauche le nom de la station (PSname : 8 caractères reçu par paire) à droite l'heure de la station (raffraichi toutes les minutes). Ensuite sur la deuxième ligne, il existe 2 modes d'affichage :
- aucune pression sur SW1 : à gauche le PI code de la station (trés utile pour débugger !), au milieu l'indicateur Musique/Parole (trés rarement utilisé) et à droite le TYpe de Programme (PTY : style de la station : Rock, Info, Sport, Musique, variétés...).
- une pression sur SW1 : défilement du message RadioTexte (64 caractères) aprés sa réception complète (environ 15s maxi aprés la réception d'une station qui diffuse le RadioTexte). Aprés le défilement du message, les informations PTY et PI code sont réaffichées. L'appui à nouveau sur SW1 provoque à nouveau le défilement du Radio Texte. Si la station ne diffuse pas de RadioTexte ou bien si le message n'est pas intégralement reçu, l'affichage ne sera pas modifié:
L'équipe remercie les mails qui ont été adressés pour participer au débuggage en éclaircissant le principe du décodage du syndrome. Remerciements particuliers à FP pour les sources et les explications !
7- Les adresses (trés) utiles pour décoder le RDS.
Nouveau : publication par MOTOROLA d'un decodeur RDS avec 68HC11- (fichiers an494.pdf et an495.pdf) MOTOROLA Application Note List (68HC05/68HC08) - (fichiers an460.pdf)
Toute la théorie : absolument indispensable !!! en anglais: (fichier rbds1998.pdf)
Le site de SGS Thomson : datasheet du TDA7330.
Pulsar FM Radio Pages (RDS) et TDA7330. Voir ici !
RDS Forum - Contents -
Un autre site pour faire un décodeur RDS (le programme est disponible ici...;-) )http://members.xoom.com/i2c/RDS/RDS.htm
68HC11F1: Ouvrir le programme ASSEMLBEUR (rdsprog.asm)
Ouvrir le programme ASSEMLBEUR (rdsf1.asc)
68HC811E2: (Pessac) Ouvrir le programme ASSEMLBEUR (rds_hc11E2_000.asm)
68HC811E2: (Pessac) Ouvrir le programme ASSEMLBEUR (rds_hc11E2_Lefeur.asm)
Des questions ? Vous trouvez que la version anglaise est effrayante ? Oui, so send an E-mail to the author :
Author : Groupe B3 IUT GEII TALENCE France - Projet de TR; 1998-99
This page URL is HTTP://www.chez.com/mickeyque/rds_fr.htm