Un récepteur RDS sur une seule puce J-F Perotto, T.Melly, E.Leroux, J.Gerrits, Q.Xu, P.Volet, D.Ruffieux, P.Vuilleumier, C.Piguet CSEM, Neuchâtel, Switzerland
RDS = Radio Data System Transmission de données numériques dans la bande FM 88 – 108 MHz Couverture mondiale (RBDS = Radio Broadcast Data System aux USA) 45 caractères ASCII par seconde Large variété d’informations : Nom de la station (tracking) Type de programme, de musique, … Informations météo, traffic routier, bourse, … Heure locale etc… J-F Perotto
Applications des récepteurs RDS Auto-radio : recherche automatique de programmes, informations routières, etc… PDA, laptop, tel. mobile : mise à l’heure automatique. Récepteurs GPS : differential GPS reference data. J-F Perotto
Motivation pour un récepteur RDS « low power » La durée de vie des batteries est un paramètre important dans les équipements portables. Les circuits commerciaux actuels consomment beaucoup trop. Radio Démod. RDS 34 mW TDA7021: 2V - 6 mA SAA6579: 3.6V - 6 mA J-F Perotto
Comment sont transmises les données RDS ? Une sous-porteuse 57 kHz (inaudible) est modulée BPSK par les données RDS. Un mécanisme de détection-correction d’erreurs augmente la fiabilité des transmissions. Spectre du signal multiplex : J-F Perotto
Structure d’une trame RDS (1) 87 ms (11.4 groupe/s) J-F Perotto
Structure d’une trame RDS (2) Groupe Bloc A Bloc A Bloc B Bloc B Bloc C Bloc C Bloc D Bloc D Données (32 bits) Type du groupe ( 100 types) Identificateur de station J-F Perotto
Utilisation dans un produit commercial Application chip RDS chip Imbedded RDS block RDS block Application chip Chip RDS J-F Perotto
Architecture du circuit RDS Récepteur FM-RDS 32 kHz registres Interface I2C bus I2C mux Décodeur RDS registres Circuit RDS J-F Perotto
Partie radio (1) Récepteur FM Démodulateur 88 – 108 MHz RDS stéréo Récepteur FM 88 – 108 MHz Démodulateur RDS RDDA RDCL Signal composite Signaux RDS Architecture faible consommation orientée RDS - Filtrage de canal peu sélectif (faible ordre) - Basse fréquence intermédiaire (250 kHz v.s. 10.7 MHz) J-F Perotto
Partie radio (2) channel selection FM demod RDS demod LNA & gain freq IF 250 kHz Bus analogique RDDA channel selection FM demod RDS demod LNA & gain RDCL 100 MHz freq synthetiser select Signal composite 32’768 Hz J-F Perotto
Démodulateur RDS Signal composite data & clock RDS 57 kHz BPF BPSK Signaux binaires RDS Symboles Manchester Suppression de l’ambiguïté de phase Costas loop 57 kHz BPF BPSK demodulator Manchester decoder differential decoder RDDA Signal composite Signal RDS clock recovery RDCL 57 kHz 57 kHz J-F Perotto
Décodeur RDS Buffer Décodeur RDS I2C Données RDS (8 bytes) INT RDDA SDA Décodeur RDS I2C RDCL SCL status, settings INT J-F Perotto
Buts du codage des informations RDS détecter le début des groupes (synchronisation) identifier les blocs A, B, C, D à l’intérieur d’un groupe détecter et corriger les erreurs de transmission codage données check m = 16 p = 10 Code initial + offset m p’ Code transmis c25 c0 J-F Perotto
Codage à la transmission Le codage RDS est basé sur un code de bloc cyclique dont le polynôme générateur g(x) est : C’est un code systématique Capacité de détection/correction d’erreurs : 1 erreur simple ou 3 erreurs groupées (burst) Le code c(x) transmis par l’émetteur est généré de la façon suivante : données 16 bits check 10 bits offset 10 bits J-F Perotto
Génération du syndrome à la réception Méthode polynômiale Méthode matricielle Propriété de H : HT x code = 0 (syndrome nul) g(x) H = HT x (code + erreur) = HT x code + HT x erreur syndrome de l’erreur J-F Perotto
Syndrome de l’offset HT x (code + erreur + offset) = HT x code + HT x erreur + HT x offset syndrome de l’erreur syndrome de l’offset Les offsets ne représentent pas des patterns d’erreurs valides ! J-F Perotto
Synchronisation du décodeur La réception est supposée sans erreur 26 bits shifter RDS data flow code 26 HT x code Simple dans GF(2) ! syndrome de l’offset 10 = S(A) = S(B) = S(C) = S(C’) = S(D) = S(E) No synchro 1 Bloc B reçu J-F Perotto
Correction des erreurs de transmission Le décodeur est supposé synchronisé 26 bits shifter RDS data flow reg code avec erreur correcteur on / off code corrigé HT x code syndrome offset + syndrome erreur suppression du syndrome de l’offset # bloc syndrome de l’erreur reg J-F Perotto
Graphe de principe du décodeur RDS start pas de synchro après 52 bits reçus synchroniser sur le 1er bloc reçu interrupt « pas de synchro » stop si bloc A si bloc A si bloc A Syndrome 0 réception bloc B interrupt « erreur de réception » Attente d’un bloc A stop réception blocs C et D si wanted group REG temp interrupt « groupe reçu » si pas wanted group réception bloc A J-F Perotto
Le décodeur RDS J-F Perotto
Graphe du décodeur RDS synchro initiale et saisie groupe A attente groupe B saisie groupe C saisie groupe D saisie groupe A J-F Perotto
Interface application (partie RDS) J-F Perotto
Récepteur RDS - technologie TSMC 180 nm 2 mm 2 mm J-F Perotto
Démodulateur FM Démodulateur BPSK Clock recovery Synthèse 32 kHz 100 MHz Logique Ampli LNA MIX Filtrage canal PTAT control Limiteurs & RSSI Démodulateur FM Démodulateur BPSK Clock recovery J-F Perotto
Résultats et conclusion (1) Récepteur Sensibilité : Dynamique : Consommation : 10 composants externes (self & capa) Antenne miniature développée spécifiquement pour ce produit -86 dBm (10 mV / 50 W) @ BERR = 10-3 90 dB 1.5 mA typ @ 1 – 1.6 V J-F Perotto
Résultats et conclusion (2) Circuit complet Technologie : TSMC 180 nm Surface : 4 mm2 Partie analogique : 15’000 MOS Partie digitale : 15’000 MOS Testabilité Partie radio : bus analogique Partie digitale : test complet au travers de I2C (10 ms @ 1 MHz) J-F Perotto