RDS-dekoder

Radio Data System har funnits i ca 20 år, och av vissa skäl kommet att associeras med bilradio. Men funktioner som att visa den inställda kanalens namn på en display kan man ha nytta av även i hemmet. Den RDS-dekoder som presenteras här har förutom en standard LCD även en serieport dit all avkodad data skickas. Kopplar man in en PC och kör rätt monitorprogram kan man på ett bekvämt sätt analysera och presentera all data som en radiokanal sänder ut. Allt är inte avsett för direkt visning, men kan ändå vara intressant att se.

Den dekoder jag har byggt består av ett demodulatorchip, TDA7313, som man matar med MPX-signalen (se info nedan) och som ger DATA och CLK ut på två ben. Man slipper alltså tänka på analoga filter och dylikt (kursen heter ju digitala projekt). Data kommer med 1187.5 bps och måste processas genom en CRC-beräkning för att utvinna informationen. Detta gör jag med en AT90S2313 från Atmel. Denna MCU för ca 30 kr klockas på 8 MHz och har inbyggd UART. Det hade varit fullt möjligt att använda en HC11 från Motorola (de som vanligen används på kursen) men AT2313 är billigare och har programmet lagrat i ett flashminne, dvs är omprogrammerbar.

Ovan ses huvudkomponenterna i dekodern: dekoderchip, MCU, LCD-modul och nivåshiftare för serieporten. Anslutningen till radiomottagaren kräver viss modifiering av radion då det mesta av RDS-signalen filtreras bort i stereodekodern. Enklast är att leta reda på stereodekodern (oftast allt i ett chip) och mäta på varje ben med oscilloskop tills man hittar något som liknar en audiosignal med överlagrad 57 kHz pilotton. Hittar man datablad på stereodekoderchipet kan man direkt hitta rätt ben att ansluta sig till.

Detta projekt är till stora delar ett mjukvarujobb, där synkronisering med CRC är den mest intressanta biten. Förkunskaper som underlättar är Datorkommunikation eller Radio. Rent teoretiskt skulle man kunna köra in bitströmmen på PC:ns parallellport och göra avkodningen i en PC, men jag ville ha en fristående enhet att ställa bredvid radion. Monitorprogrammet som syns ovan är DOS-baserat, men då serieporten används skulle det inte vara några problem att skriva motsvarande program i Windows-miljö (men ta mycket längre tid).

Den som vill veta mer om RDS rekommenderas läsa specifikationen (finns på institutionen).

Andreas Nilsson 2001

kontakt