270 likes | 372 Views
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
E N D
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 Imbedded RDS block RDS chip 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) Démodulateur 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) 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
57 kHz 57 kHz Démodulateur RDS Signal composite data & clock RDS Signaux binaires RDS 0 Symboles Manchester Suppression de l’ambiguïté de phase Costas loop Manchester decoder 57 kHz BPF BPSK demodulator differential decoder RDDA clock recovery Signal composite Signal RDS RDCL J-F Perotto
Décodeur RDS Données RDS (8 bytes) Buffer RDDA SDA I2C Décodeur RDS 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érateurg(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 : HTx code = 0 (syndrome nul) g(x) H = HTx (code + erreur) = HTx code + HTx erreur 0 syndrome de l’erreur J-F Perotto
Syndrome de l’offset HTx (code + erreur + offset) = HTx code + HTxerreur+ HTxoffset 0 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 0 0 0 0 0 0 0 1 0 0 0 0 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 » stop Attente d’un bloc A 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 A saisie • 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
Logique Synthèse 32 kHz 100 MHz LNA Ampli 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