FM Radio Modul RDA5807M

Gast #3387940
Lesenswert?

Michael Graf schrieb:
> Mir fehlt gerade ein wenig die Fantasie -- angenommen, ich habe bereits
> ein Radio (oder mehrere), deren Klang vermutlich um einiges besser ist
> als das, was man mit diesem Modul zusammenlöten kann -- was mache ich
> dann damimt?

Die Frage stellt sich hier bei ziemlich vielen Projekten.
Ich hatte z.b. an ein schönes Radio mit LCD Display und Touch Tasten 
gedacht. Klar, es wird wahrscheinlich ein klanglich besseres Radio für 
weniger Geld im handel geben aber nach solchen Kriterien frag ich nicht 
;)
Gast #3391303
Lesenswert?

Harald A. schrieb:
> So schnell angekommen? Der Versender aus Deutschland?

Ja.
Also es war nicht groß schwierig wenn man schonmal I2C benutzt hat geht 
es relativ Einfach. Ich hatte bis jetzt allerdings nur Kopfhöher dran, 
will man mehr braucht man wohl noch einen Verstärker.

http://www.szspw.com/PIC/PIC/20127271747330.pdf
Das ist das Datenblatt. Ab Seite 9 fangen die Registerdefinitionen an. 
Dann hab ich halt alles so eingestellt wie ich es für richtig erachtet 
habe, einen starken Sender bei mir aus der Umgebung ausgewählt und plopp 
war der Ton da :)
Die zusätzlichen Möglichkeiten wie Sendersuchlauf oder die Übertragung 
von Daten hab ich jetzt allerdings noch nicht ausprobiert.
Gast #3392394
Lesenswert?

Also der "Klang" eines Radios hängt heutzutage doch wohl eher an den 
Endstufen und den verwendeten Lautsprechern, weniger am Empfangsteil.

Aber ich finde das Modul auch cool. Man müsste mal eine richtig schöne 
Design-Studie machen, mit Alu und so. Abgesehen von den klassichen 
19-Zoll Anlagen wie Denon, Yamaha usw. ist das Aussehen der meisten 
Radios heutzutage eher ein Grund, den "Designer" standrechtlich zu 
erschießen ...
Gast #3392497
Lesenswert?

Frank schrieb:
> Man müsste mal eine richtig schöne
> Design-Studie machen, mit Alu und so.

Der eigentlich anspruchsvollste Teil beim Design derartiger Produkte 
scheint mir heutzutage eher das Entwerfen einer intuitiven und 
spielerisch-selbsterklärenden Benutzerschnittstelle zu sein.

Wenn ich mir da aber selbst vermeintlich "einfache" Geräte a la 
"Küchenradio" o.ä. ansehe, dann ist die eindeutige Mehrzahl dieser 
Möhren inzwischen ohne Bedienungsanleitung praktisch unbenutzbar - ein 
kollektives Armutszeugnis für die ganze Branche.
Gast #3392576
Lesenswert?

Paul Baumann schrieb:
> Ja, mir.
>
> (Windows 7 und Winzip als Entpacker)

Habe es gerade auf einem anderen Rechner probiert (Win7 mit 7-zip) -> 
ging wieder nicht.

Frank schrieb:
> Ich habe es auf dem iMac problemlos ausgepackt und erneut eingepackt, s.
> Anhang ...

Aber das hat dieses komische 7-zip jetzt gefressen.

Viel Dank euch beiden!
7-zip heißt bei mir ab sofort 08/15-zip :-)
Gast #3394624
Lesenswert?

Anfänger schrieb:
> Hi Eumel, magst Du nicht mal Deinen Code hochladen? Das wäre für so
> manchen Anfänger bestimmt ganz interessant und hilfreich.
> Danke und schönen Gruß

Bin momentan nicht an dem Rechner auf dem ich den code habe aber wenn 
interesse daran besteht kann ich die Konfiguration die ich verwendet 
habe angeben.
Gast #3399671
Lesenswert?

Hier meine Konfiguation, Code habe ich gerade nicht zur Hand aber mit 
I2C ein paar Bytes rüberschieben ist ja keine Hexenwerk.

Reg: OOH da steht die Chip ID in 15:8 drin der Wert ist 0x58, so kann 
man erstmal checken ob die Verbindung läuft

Reg: 02H
Bits: 11000100 00000001

Reg: 03H
Bits: Die ersten 10 bit sind die Epfangsfrequenz da muss man halt einen 
starken Sender aus der Umgebung auswählen. 00000

Reg: 04H
Bits: 00000000

Reg: 05H
Bits: 10001000 00001111

Das sollte erstmal reichen ums was zu hören, der Rest wird dann für 
andere Features gebraucht z.b. die Datenübermittlung.
Gast #3402524
Lesenswert?

Hat hier wer vielleicht ein Minimalbeispiel, wie man das Teil zum laufen 
bekommt? Ich versuche das Teil an einem Arduino zum laufen zu bekommen.

Bei mir funktioniert es noch nicht. Könnte allerdings auch an den 
Arduino Wire.h Libraries liegen, die ich benutze.

Falls da wer was hat, wäre es sicher hilfreich.
Gast #3405886
Lesenswert?

Habe gerade einfach mal das Beispiel mit Arduino ausprobiert:

http://www.instructables.com/id/FM-Radio-the-easy-way/

Bin ja sonst kein Arduino-Fan, hatte aber auch keine Lust, ein 
Testprogramm mit einem ARM LPC aufzusetzen.

Auf jeden Fall bin ich von der Empfangsleistung, Klang (testhalber 
direkt auf hochwertige Kopfhörern) und Rauschfreiheit BEGEISTERT.

6 Bytes per I2C hin und schon spielt dat Dingens. Macht echt Laune!

Wenn man mal bedenkt, dass die Platinen auf Aliexpress für 50 Cent 
gehandelt werden, was mag der Chip verhandelt in Stückzahlen kosten? 5 
Cent?
Gast #3405887
Lesenswert?

Kennt jemand eine fertige RDS-Library? Der RDA5807 spuckt ja schon die 
4x16 Bit direkt aus, die müsste man "nur noch" decodieren. Leider ist 
das, wenn man es richtig machen möchte (ASCII-Codetables etc.), schon 
relativ aufwändig.
Gast #3405893
Lesenswert?

Ich bin in Sachen analoge Elektronik ziemlich unbeholfen. Mit Köpfhörern 
klappt alles soweit aber was für eine Schaltung wäre geeignet um z.b. 
zwei 8 Ohm 1 Watt Lautsprecher anschließen zu können? Das würde ja für 
normales zimmerlautes Radio lauschen locker reichen.
#3405943
Lesenswert?

Such mal auf Aliexpress oder dx.com nach PAM8403, das ist eine Class-D 
Endstufe 2x3 Watt, extrem günstig.

http://www.technobase.jp/eclib/OTHER/DATASHEET/pam8403.pdf

Suche auch PAM8403 auf youtube, da gibt es ein paar Videos dazu.

Fertige Boards z.B. hier:
http://dx.com/s/pam8403

Wenn Du magst kann ich Dir wohl 1-2 "nackte" SMD-IC PAM8403 zukommen 
lassen. Die Schaltung müsstest Du aber selbst aufbauen, mit einem SO-16 
auf DIL Adapter aber kein Problem. Diesmal habe ich mich eingeloggt, 
Adresse bitte per PN.

Fraglich ist noch, ob die Digitalendstufe negative Auswirkungen auf die 
Empfangsleistung hat.
Gast #3406582
Lesenswert?

Danke für den Tipp!
Hab mir auch erstmal so ein Ding bei EBay gekauft, mich interessieren 
vor allem die RDS Daten.

Das verlinkte Datenblatt ist nett, fett "Confidential" drüber. :-)
Aber beim Hersteller bekommt man das Datenblatt leider auch nicht direkt 
zum Download.
Gast #3408761
Lesenswert?

SE schrieb:
> Das Modul sieht sehr interessant aus.
> Hab direkt eins bei ebay bestellt.
>
> Hier übrigends noch 7 Stück für je 2,50 (inkl. Versand) aus Detmold:
> http://www.ebay.de/itm/200984492148

Falls noch jemand schnell eins möchte:
http://www.ebay.de/itm/200988394597

Der Preis hat sich allerdings verdoppelt. Da hat wohl jemand kleine 
Dollarzeichen vor den Augen. :-)
Falls der Verkäufer allerdings noch eine Ladung in China bestellt hat 
und verkaufen will, ist es rechtlich gesehen vermutlich kein 
Privatverkauf mehr (-> Gewinnerzielungsabsicht).
Gast #3410184
Lesenswert?

Habe jetzt mal den RDS Modus aktiviert und mir die Rohdaten ausgeben 
lassen, d.h. einfach nur die PI in Block A und die (meist) ASCII Daten 
in Block C und D. Man kann sehen, dass da auf jeden Fall verwertbare 
Daten ankommen. Wenn man nur die nötigsten Daten aus dem RDS beziehen 
möchte und auf internationale ASCII-Codetables verzichtet, ist das 
Decoding nicht einmal besonders aufwändig.
Gast #3410802
Lesenswert?

Sicher, kann ich heute noch einstellen, ist aber eben nur 
Rohdaten-Ausgabe. Das RDS Decoding (sortieren der Daten) ist noch nicht 
enthalten. Das Decoding werde ich machen, wenn ich den Code von Arduino 
auf eine ernstzunehmende Plattform portiert habe.
#3411429
Lesenswert?

Sooo, wie heute Mittag versprochen in der Anlage der Arduino-Testcode.

Noch zur weiteren Erläuterung: Man kann den RDA5807 auf drei 
verschiedenen Adressen ansprechen:
0x60 : TEA5767 compatible mode
0x10 : RDA5807 mode, sequential register address
0x11 : RDA5807 mode, random access mode.

Beim ersten Modus kann man den RDA ansprechen wie ein TEA5767, d.h. bei 
einer bestehenden Schaltung kann man ohne SW-Anpassung den RDA5807 
einsetzen (clevere Idee, senkt die Hemmschwelle beim Schaltungswechsel)

Bei 0x10 kann man bei jeder neuen Übertragung ab 0x02 schreiben und ab 
0x0A lesen. Die Adresse wird immer wieder neu gesetzt. Man spart sich 
die Übertragung des Registers und die Umschaltung des Write/Read beim 
Lesen aus den Registern.

Im Beispiel habe ich den letzteren random-access gewählt, das ist am 
flexibelsten.

Auf der seriellen Konsole werden einfach nur die RDS-Infos ausgegeben.

Viel Spaß!
Angehängte Dateien:
Gast #3411560
Lesenswert?

Hallo,
vielen Dank für den Code.
Ich kann es gerade nicht ausprobieren, werde es aber die Tage mal 
testen.
Das schöne in diesem Modus ist dann auch, dass man die Lautstärke 
digital regeln kann.
Ich habe mir zusätzlich noch DS1307 Echtzeitmodul und ein LCD gekauft.

Das ganze kostet ja nicht viel.
#3411736
Lesenswert?

Habe oben noch die Beschreibung des "random access" mode vergessen, den 
ich im Beispiel verwende. Dort ist es so, dass man ähnlich einem 
EEPROM-Zugriff nach der Startadresse die gewünschte Registeradresse 
übergibt. Bei Lesezugriff muss ich zunächst den Device-Code (R/W=0) 
senden, dann die Registeradresse, einen I2C-Restart, nochmals den 
Device-Code (R/W=1) und dann kann ich von dieser Adresse lesen, beliebig 
viele Bytes bis zum Stop.

Alle Register sind als 16-bit organisiert.

Leider sind die Datenblätter sehr rar, dazu nicht komplett. Einiges habe 
ich mir auch aus dem chinesischen Programming Manual zusammengereimt, 
z.B. die verschiedenen Adressierungsmodi.

Noch etwas zum RDS:
Wenn man entsprechend googelt, findet man bereits verwendbaren Code. Es 
geht eigentlich nur noch darum, dass man anhand des GT (group type) die 
ASCII-Bytes richtig zusammenpuzzelt, schon hat man Sendername, Radiotext 
und Uhrzeit. Vorher muss man noch in den RDA5807-Registern prüfen, ob 
die Daten gültig sind. Den ganzen Aufwand davor mit dem Bitmultiplexing 
und der Fehlerkorrektur kann man sich dagegen sparen, das macht der RDA 
schon intern. Wie bereits oben beschrieben sind in den einfachen 
RDS-Decodern keine ASCII-Codetables enthalten, d.h. es könnte bereits 
bei franzözischen oder belgischen Sendernamen (oder deutschen Umlauten?) 
problematisch werden (Vermutung).
Gast #3427460
Lesenswert?

Habe ein Programm geschrieben, das zeigt, was mit dem Winzling alles
moeglich ist:
- Tune to FixStation
- Volume Tune
- Senderinfo
- Uhrzeit auslesen
- Radiotext anzeigen

Als Ardunio habe ich einen NANO 328 verwendet,
als Terminal Putty
Angehängte Dateien:
Gast #3427966
Lesenswert?

Sieht sehr gut aus, schöne Arbeit! Danke fürs Einstellen!

Wie sind deine Erfahrungen bzgl. der Empfangsleistung? Am Anfang dachte 
ich super Empfang, mittlerweile sehe ich das aber als durchaus 
durchwachsen an. Wenn man den Specs glauben kann liegt die 
Empfindlichkeit bei ca. 2µV, die besten Autoradios hatten früher ca. 
0.5µV.
Gast #3447853
Lesenswert?

Hoermann schrieb:
> Habe ein Programm geschrieben, das zeigt, was mit dem Winzling alles
> moeglich ist:
> - Tune to FixStation
> - Volume Tune
> - Senderinfo
> - Uhrzeit auslesen
> - Radiotext anzeigen
>
> Als Ardunio habe ich einen NANO 328 verwendet,
> als Terminal Putty

Super, vielen Dank dafür! Wirklich tolle Module. Meine sind schon 
"alle". Leider hat der Verkäufer keine mehr, nur LCDs. Werd ich mir wohl 
welche in China bestellen müssen. Hat einer Erfahrung ob die noch vor 
dem Neujahresfest kommen wenn ich jetzt bestelle?
#3449415
Lesenswert?

Hoermann schrieb:
> Habe ein Programm geschrieben, das zeigt, was mit dem Winzling alles
> moeglich ist:
> - Tune to FixStation
> - Volume Tune
> - Senderinfo
> - Uhrzeit auslesen
> - Radiotext anzeigen
>
> Als Ardunio habe ich einen NANO 328 verwendet,
> als Terminal Putty

Danke für das Programm.
Ich habe es für den Duemilanove w/ATmega328 kompiliert.
Leider wird egal welcher Befehl eingetippt wird immer nur folgendes 
ausgegeben:
"I dont know howto"

Der String "s_cmd" ist immer leer.
Hat das Problem noch jemand?
Scheint wohl ein Problem mit der Stringverarbeitung zu sein?
Gast #3470676
Lesenswert?

Ich hab mir auch mal zwei Module bestellt.
Jetzt stellt sich mir aber ne große Frage:
Das Modul läuft ja mit 3,3 Volt, der I2C vom Arduino aber mit 5 Volt - 
gibts da keine Probleme?
Wenn ja, würd ich das ganze schnell auf nem Breadboard mit nem ATMega8 
und 3,3 Volt aufbauen, aber an den Arduino ist das ganze halt schnell 
angeschlossen.
Gast #3470810
Lesenswert?

Andreas schrieb:
> Das Modul läuft ja mit 3,3 Volt, der I2C vom Arduino aber mit 5 Volt -
> gibts da keine Probleme?

Du darfst das RDA5807M-Modul auf keinen Fall mit 5V betreiben.

Schließe es an 3,3V an und verbinde die beiden I2C-Leitungen mit den 
entsprechenden Arduino-Pins und zusätzlich jeweils über einen 
4,7k-Widerstand mit 3,3V (Pull-Ups). Erfahrungsgemäß funktioniert dies - 
es kommt eben darauf an, ob der Arduino den entspr. Level noch als High 
ansieht.

Mehr Infos (u.a. zuverlässigere, aber aufwändigere Methoden):
http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter
Gast #3470979
Lesenswert?

Super, vielen Dank.
Der Weg mit den 4k7-Widerständen reicht für meine Zwecke vorerst aus. 
Wenns damit nicht klappten sollte, weiss ich ja was zu tun ist.
Jetzt fehlen nur noch die Module aus China :)
#3547451
Lesenswert?

Unabhängig von diesem Thread hier hab ich heute mit den beiden 
"Radio-Chips" TDA7021 (keine Controllersteuerung) und dem RDA5807 
"herumgespielt". Genau wegen der Empfangsempfindlichkeit dieser 
Chips(der RDA5807 wird mit ATmega168   und AVR-GCC Programm angefahren).

Weil die Eingangsempfindlichkeit der Antenne wirklich nicht soooooo der 
"Bringer" ist hab ich eben genau daran "gespielt".

Ich kann zwar (mangels Meßgeräten) nicht den db- Gewinn angeben die 
meine Schaltung erreicht, ich kann nur sagen, dass der Empfang (sehr) 
merklich besser geworden ist.

Wer die Schaltung also gebrauchen kann: Bitte bedienen (für die Benutzer 
des RDA5807 hier: der Ausgang des Verstärkers ist Pin 5 des RDA5807 
anzuschließen).

Zu den Transistoren: Sie sind deshalb gewählt worden, weil ich sie hatte 
(smile sie waren halt schon sehr lange die preiswertesten die Rei**** 
im Sortiment hat).

Viel Erfolg, Ralph
Angehängte Dateien:
Gast #3574525
Lesenswert?

Mir ist noch eine Anwendung für den RDA5807 eingefallen, die vielleicht 
zunächst einmal nicht sofort auf der Hand liegt.
Und zwar als Zeitzeichenempfänger als Ersatz für ein DCF-Modul! Die DCF 
Geschichten sind ja hier und da recht hakelig im Betrieb. Im Falle des 
RDA5807 stelle ich mir das folgendermaßen vor.

- Autotuning bis Sender gefunden
- RDS Informationen vorhanden? Falls nein, weiter tunen.
- wenn gültige RDS-Daten vorhanden, RDS-Multiplexer für Zeit abwarten
- Optional noch Datum auslesen
- Fehlerbits prüfen, evtl. noch einmal Uhrzeit plausibilisieren.
- Ruhezustand bis zum nächsten Abgleich mit der internen Uhr


Im Ergebnis ein sehr günstiger Zeitzeichenempfänger mit I2C, 
stromsparend und mit einfacher Antenne. Vom Programmieraufwand in einer 
kleinen Statemachine realisierbar.

Nur als Anregung zu verstehen, ich selbst habe derzeit keine Anwendung 
und auch keine konkreten Fragen.
#3607218
Lesenswert?

Kann es sein, daß die RDA5807M extrem taub sind und einen Verstärker vor 
dem Antenneneingang benötigen oder bin ich nur zu blöd?
Bei fünf verschiedenen Modulen bekomme ich mit Wurfantenne gar keinen 
Sender, bei angeschlossenem Kabelanschluß liegen die Sender da wo sie 
sein sollten, gehen aber im Rauschen unter (RSSI ausgelesen aus 0x0b bei 
5-6).
Gibt es da irgendwo ein Bit das ich übersehen habe oder hab ich Ausschuß 
geliefert bekommen?
Gast #3658792
Lesenswert?

Hi,
the attached program is a great help for who's starting! Thank you 
Harald. Keep us informed on further development.

Answering to MG, I was in trouble too with command input. Than I solved 
change the line (587):

  if (i_key==13){CLI_exec();  }

to

  if (i_key==10){CLI_exec();  }
Gast #3670921
Lesenswert?

@Oliver: der RDA5807 ist sicher nicht das empfangsstärkste Radio auf 
diesem Planeten, aber eigentlich lassen sich die starken Sender relativ 
gut empfangen. Vielleicht stört der Mikrocontroller, mit dem Du das 
Modul betreibst? Sind die I2C-Flanken vielleicht zu steilflankig und 
eine häufige Kommunikation stört den Empfang. Evtl. nach dem Init mal 
den uC abschalten?

@Ivan: Thank you, but since then I have made no progress. It was just a 
project for a few hours to check the performance. Maybe I continue soon 
with a small project where the RDA5807 acts as a nice and convenient 
replacement for a DCF time receiver. Keep you informed here.
Gast #3671104
Lesenswert?

Guten Tag!
Mozhete unterstützen die Arbeit an RDA5807FP . Es scheint zu 
funktionieren , aber irgendwie seltsam:
1) Kein Team Ergebnisse:
Register_02H : =% 11000011 ;
Register_02L : =% 00000101 ;
Register_03H : =% 00000000 ;
Register_03L : =% 00001000 ;
Register_04H : =% 01000010 ;
Register_04L : =% 00010000 ;
Register_05H : =% 10001000 ;
Register_05L : =% 10001111 ;

SREG_I_bit : = 0;
TWI_Init (100.000) ;   Initialisieren TWI -Kommunikation
TWI_Start ();
TWI_Write (% 00100001 );
Register_0AH : = TWI_Read (1);
Register_0AL : = TWI_Read (1);
Register_0BH : = TWI_Read (1);
Register_0BL : = TWI_Read (0);
TWI_Stop ();
TWI_Close ();
SREG_I_bit : = 1;


Findet Kanäle, sondern in einer fremden Sequenz MHz : 76,6 -> 109,9 -> 
102,2 -> 106,6 -> 102,2 -> 106,6 -> 101,1 -> 102,2 -> 76,6 -> 109,9 -> 
106,6 -> 101,1

In der Regel einige Unsinn ohne Logik .

2) Es ist die Formel für die Bestimmung der Frequenz Datenblatt nicht 
funktioniert:

BAND = 1 oder 2
Frequenz = Kanalabstand (kHz) x READCHAN [ 09.00 ] + 76,0 MHz

Aber es funktioniert und erkennt die richtige Frequenz : Frequenz = 
READCHAN [ 09.00 ] + 76,0 MHz

Lesen Register so getan habe:
Vorgehensweise RDA5807FP_read ();
beginnen
SREG_I_bit : = 0;
TWI_Init (100.000) ;   Initialisieren TWI -Kommunikation
TWI_Start ();
TWI_Write (% 00100001 );
Register_0AH : = TWI_Read (1);
Register_0AL : = TWI_Read (1);
Register_0BH : = TWI_Read (1);
Register_0BL : = TWI_Read (0);
TWI_Stop ();
TWI_Close ();
SREG_I_bit : = 1;
zu beenden;

Bestimmung der Frequenz:

tmp : = Register_0AL ;
wenn Register_0AH.0 = 1, dann tmp : = tmp 256 ;
wenn Register_0AH.1 = 1, dann tmp : = tmp 512 ;

tmp : = 760 + tmp;

FREQ : = tmp;

Wenn nicht schwer , zeigen Sie mir bitte.

Sergey Shteynle
Gast #3671106
Lesenswert?

Sorry, im letzten Bericht, anstelle des Befehls Schreib-, Lese-Befehl 
aufgezeichnet. Suche Befehl sieht wie folgt aus:

Register_02H: =% 11000011;
Register_02L: =% 00000101;
Register_03H: =% 00000000;
Register_03L: =% 00001000;   10 = 76 bis 108 MHz (weltweit), 00 = 100 
kHz
Register_04H: =% 01000010;
Register_04L: =% 00010000;
Register_05H: =% 10001000;
Register_05L: =% 10001111;

TWI_Init (100.000);   Initialisieren TWI-Kommunikation
TWI_Start ();
TWI_Write (% 00100000);
TWI_Write (Register_02H);
TWI_Write (Register_02L);
TWI_Write (Register_03H);
TWI_Write (Register_03L);
TWI_Write (Register_04H);
TWI_Write (Register_04L);
TWI_Write (Register_05H);
TWI_Write (Register_05L);
TWI_Stop ();
TWI_Close ();
SREG_I_bit: = 1;

Sergey Shteynle
Angehängte Dateien:
Gast #3688498
Lesenswert?

Lebkuchenesser schrieb:
> Man müsste die Schaltung versuchshalber vielleicht mal mit einem
> zusätzlichen HF-Vorverstärker ausstatten. Hat das mit dem RDA5807 schon
> mal einer getestet?

Ralph S. schrieb:
> Weil die Eingangsempfindlichkeit der Antenne wirklich nicht soooooo der
> "Bringer" ist hab ich eben genau daran "gespielt".
>
> Ich kann zwar (mangels Meßgeräten) nicht den db- Gewinn angeben die
> meine Schaltung erreicht, ich kann nur sagen, dass der Empfang (sehr)
> merklich besser geworden ist.
>
> Wer die Schaltung also gebrauchen kann: Bitte bedienen (für die Benutzer
> des RDA5807 hier: der Ausgang des Verstärkers ist Pin 5 des RDA5807
> anzuschließen).

Vielen Dank, den Thread hatte ich ja völlig aus den Augen verloren. 
Sobald ich wieder gesund bin, werde ich das mal ausprobieren.

Sergey schrieb:
> Die Frage wird entfernt, alles funktionierte -
> Youtube-Video "VID 20140602 211231"

Sehr schickes Radio, das Du da gebaut hast! Nackig, aber sexy ;-)
Gast #3714874
Lesenswert?

Harald schrieb:
> TEA5767 oder SI4684

Naja, der SI4684 scheint zumindest tot zu sein.
Und NXP kennt den TEA5767 garnicht.

Die Frage war jetzt weniger, ob es sowas mal gegeben hat. :-)

> Aber warum sollte ausgerechnet das Interface eine Rolle im Projekt
> spielen?

Weil I2C zumindest mit den AVRs stinkt weil es viel zu Software-lastig 
ist.
Gast #3715486
Lesenswert?

Du fragtest, ob es so etwas mit SPI gibt. Gibt es.

Silabs FM Tuner waren schon immer etwas schwierig in der 
Direktbeschaffung. Muss man schon ein wenig Aufwand treiben. Problem ist 
da eher die Doku unter NDA.

TEA5767-Module gibt es bei aliexpress und ebay bis zum Abwinken zum 
Spotpreis.

I2C als Master ist mit AVR ein Klacks, außerdem gibt es zig fertige 
Libs. Das ist nun wirklich leichter als Brot essen. Außerdem könnte man 
ja auch einen zeitgemäßen Controller wählen.
Gast #3715655
Lesenswert?

Harald schrieb:
> TEA5767-Module gibt es bei aliexpress und ebay bis zum Abwinken zum
> Spotpreis.

Naja, ich kaufe einfach keine toten Chips.

> I2C als Master ist mit AVR ein Klacks, außerdem gibt es zig fertige
> Libs. Das ist nun wirklich leichter als Brot essen.

I2C ist mit den AVRs blöd weil die TWI-Unit einem quasi garnichts 
abnimmt, jedes einzelne Byte das übertragen wird muss man bewerten und 
entsprechend reagieren, da ändert eine Library so überhaupt nichts dran.

Da ist SPI einfach besser, dadurch das die Bausteine direkt per Select 
angesprochen werden fällt der Adressierungs-Overhead weg und SPI ist 
auch noch schneller so das die Übertragungszeit so kurz ist das man 
schonmal drauf warten kann ohne alles zu blockieren.

Eine TWI-Einheit wie die CAN-Controller oder auch die neueren 
LIN-Einheiten hätte was gehabt, aber so wie es ist fasse ich I2C nicht 
wieder an.
Gast #3716077
Lesenswert?

Oliver R. schrieb:
> Kann es sein, daß Du nur mit Tinys und USI gearbeitet hast?

Nope, und das ist mal richtig übel, SPI bei dem man den Takt selber 
generieren darf.

> Schau Dir mal Megas mit echtem TWI an

Ich empfehle Dir, das selber mal zu tun und I2C zu implementieren damit 
anstatt Code anderer Leute aufzurufen.

Abdul K. schrieb:
> Nimm einfach eine der vielen Bitbanging-Libs.

Autsch.
Aber das traurige an Atmels TWI Unit ist, dass das nichtmal wirklich 
einen Unterschied machen würde.
Gast #3716170
Lesenswert?

Hier, das meinte ich damit das man jedes einzelne übertragene Byte 
bewerten und entsprechend reagieren muss.
Das finde ich schon ganz schön übel für eine Interrupt-Funktion einer 
Hardware-Unit.

Da ziehe ich SPI einfach vor und wäre immer noch interessiert an einem 
FM Radio Chip der vor allem auch RDS kann, der nicht nur auf dem 
Grabbeltisch existiert und der auch beschaffbar ist.
Angehängte Dateien:
Gast #3716457
Lesenswert?

Na dann ist ja alles gut. Gott sei Dank bestehst Du auf RDS. Sonst 
müsstest Du ja noch einen Projektstart "befürchten", sobald Dir jemand 
nachweist, dass der TEA5767 bei NXP doch nicht abgekündigt und "full 
production" ist.

Lass diesen Thread doch bitte nicht in einen Glaubenskrieg ausarten, in 
dem Du der Welt kundtust, dass SPI doch viel geiler als I²C ist.
Gast #3716551
Lesenswert?

Och naja, ich habe doch nur gefragt, ob es sowas auch mit SPI gibt.
Mein Fehler war jetzt die Frage nach dem warum zu beantworten.

Den TEA5767 kann ich bei NXP einfach nicht finden.
Weder über die Suche, noch über die Produkte.

Ich finde nur, dass der TEA5767HL/V2 2007 abgekündigt wurde und der 
TEA5767HN/V3 der Ersatz-Typ sein soll.

Bei Digikey werden die gelistet, ohne Bestand, da gibt es sogar ein 
Datenblatt, Rev. 05 vom Januar 2007.
Ganz oben steht der Hinweis drüber, dass ab August 2008 die Wireless 
Operations von NXP in eine neue Firma verschoben wurden: "ST-NXP 
Wireless".

Mit einem Link auf http://www.stnwireless.com

Aber was auch immer da zu sehen ist, das hat nichts mit Chips zu tun. 
:-)
Persönliche Seite #3717062
Lesenswert?

Rudolph schrieb:
>> Schau Dir mal Megas mit echtem TWI an
>
> Ich empfehle Dir, das selber mal zu tun und I2C zu implementieren damit
> anstatt Code anderer Leute aufzurufen.
>
> Abdul K. schrieb:
>> Nimm einfach eine der vielen Bitbanging-Libs.
>
> Autsch.
> Aber das traurige an Atmels TWI Unit ist, dass das nichtmal wirklich
> einen Unterschied machen würde.

Nach dieser Ansage wirst du nicht mehr viel Hilfe bekommen, schätze ich.
Der Ton ist falsch und rein technisch ist deine Behauptung auch sehr 
fragwürdig.

Was ist schwer daran einfach i2c_init i2c_start i2c_sendByte i2c_RecAck, 
usw. i2c_stop aufzurufen und vorher dem Compiler noch zu sagen welche 
Pins er doch benutzen soll?
Auf der Ebene würde es bei SPI ziemlich genau gleich aussehen!

Was die Hersteller implementieren kann man halt nicht großartig 
beeinflussen. Bei NXP würde man auch automatisch an i2c denken ;-)


Was den TEA angeht, digikey halt zwar fast alles aber nicht alles.
Da scheint die momentane Liste von NXP zu sein:
http://www.nxp.com/technical-support-portal/#/tid=50812,sid=50821,tab=datasheets


Vielleicht findest du in Fernost was besseres mit SPI :-)
Gast #3717395
Lesenswert?

Abdul K. schrieb:
>> Aber das traurige an Atmels TWI Unit ist, dass das nichtmal wirklich
>> einen Unterschied machen würde.
>
> Nach dieser Ansage wirst du nicht mehr viel Hilfe bekommen, schätze ich.

Gut das ich nicht um Hilfe mit I2C gebeten habe.

> Was ist schwer daran einfach i2c_init i2c_start i2c_sendByte i2c_RecAck,
> usw. i2c_stop aufzurufen und vorher dem Compiler noch zu sagen welche
> Pins er doch benutzen soll?
> Auf der Ebene würde es bei SPI ziemlich genau gleich aussehen!

An der Ebene bin ich nicht interessiert und das kann ich so auch nicht 
gebrauchen, eine Ebene tiefer macht es einen deutlichen Unterschied.

> Was den TEA angeht, digikey halt zwar fast alles aber nicht alles.

Anders herum, ich habe nicht bei Digikey speziell gesucht sondern nur 
bei Digikey gelistet gefunden.

> Vielleicht findest du in Fernost was besseres mit SPI :-)

Fernost ist irgenwie immer noch nicht besser als vor 15 Jahren, selbst 
wenn der Hersteller eine Homepage haben sollte bekommt man normalerweise 
weder die Bauteile noch irgendwelche Infos.
Gast #3751229
Lesenswert?

Moin!

Ich habe gestern (und heute Morgen) endlich mal mit dem RDA5807 
gespielt.
Um nur mal schnell die Grundfunktion zu testen habe ich die 
Initialisierung aus dem instructables Link genommen.
Aber es tat sich nichts.
Ich habe auch kein Ack vom Chip bekommen, wenn ich ihn mit der Adresse 
0x60 anspreche.

Beim durchwühlen des Datenblatts
http://www.electrodragon.com/w/images/5/5f/RDA5807M_datasheet_v1.pdf
ist mir aufgefallen, das hier nur die 7-Bit Adresse "0010000b" angegeben 
wird.
Mit R/~W Flag also "00100000b" also 0x20.
Wenn ich den Chip damit anspreche, bekomme ich ein Ack.

Aber wie kommen dann diese Adressen zustande:

Harald A. schrieb:
> Noch zur weiteren Erläuterung: Man kann den RDA5807 auf drei
> verschiedenen Adressen ansprechen:
> 0x60 : TEA5767 compatible mode
> 0x10 : RDA5807 mode, sequential register address
> 0x11 : RDA5807 mode, random access mode.

Und wo kann man den TEA kompatiblen Modus nachlesen?

Wenn ich dann den Chip mit 0x21 Adressiere und auslese, sind ein Teil 
der Registerwerte schlüssig. Zum Beispiel die default-Werte von 0x0C bis 
0x0F passen.
Initialisieren kann ich jedoch nicht. Der 32kHz Quarz ist still und der 
Audio-Out ebenfalls.

----------------
Als Hardware nutze ich ein Arduino Mini Pro, welchen ich normal über ISP 
und AVR Studio programmiere. Die Arduino Software (inkl. Bootloader) 
habe ich geöscht.
Für I2C nutze ich die I2C Library von Peter Danegger aus dem Forum.
----------------

Hat jemand noch weitere Datenblätter? Gibt es ein Applikation Note zu 
dem Teil?

Vg!
SE
Gast #3752120
Lesenswert?

Ein paar Selbsterkenntnisse:

Nr.1: Die Arduino "Wire" Bibliothek wird in den Beispielen immer mit 
7-Bit Adressen befüttert.
Ich selbst arbeite "schon immer" mit 8-Bit Adressen. (Bei mir gehört das 
R/~W Flag schon immer dazu.)
Mit den sortierten Adressen funktioniert alles wie gehabt.

Nr.2: Bei meiner Platine ist der Quarz defekt !!!
Die Controlregister konnte ich schreiben und lesen, aber am Ausgang und 
am Quarz tat sich nichts...
Den habe ich ersetzt gegen einen aus der Grabbelkiste und schon hörte 
ich Musik. :-)

Nr.3: Es gibt anscheinend nur das ominöse Chinesische Programming Guide, 
wo jedes 10te Zeichen Latein ist.
Aber mit den Super Beispielen aus diesem Thread kann man sich alles 
nötige zusammenreimen.
Gast #3823451
Lesenswert?

Die Silabs Si4705 und Si4706 gehen wirklich gut. Empfindlichkeit sehr 
gut. Und die Voreinstellungen der Register auch.

Bei Philips bekommt man nicht mal ein Datenblatt. Auf deren 
Internetseiten sind nicht mehr als Übersichtsfolder ohne Details. 
Anfragen selbst von Firmen werden offensichlicht direkt auf dev/null 
geschoben. Silabs dagegen bietet alle Infos (fast) inklusive allgemeiner 
AppNotes zum Thema jedem zum Download.

Die Infos zum RDA5807 fand ich auch ziemlich spärlich.
#3971624
Lesenswert?

Ich brauche mal eure Hilfe. Und zwar versuche ich den Arduino Code in 
nicht-Arduino Code zu übersetzen.

Gegeben:
1
void RDA5807_ReadW(int i_cnt)
2
{
3
   Wire.beginTransmission(RDA5807_adrr);            // Device 0x11 for random access
4
   Wire.write(0x0C);                                // Start at Register 0x0C
5
   Wire.endTransmission(0);                         // restart condition
6
   Wire.requestFrom(RDA5807_adrr,2*i_cnt, 1);       // Retransmit device address with READ, followed by 8 bytes
7
   for (int i=0; i<i_cnt; i++)                      // Loop for Read data    
8
   {aui_RDS[i]=256*Wire.read()+Wire.read();}        // Read Data into Array of Unsigned Ints
9
   Wire.endTransmission();                  
10
}

Und hier meine Übersetzung mit Fleury Lib i2cmaster.h:
1
void RDA5807_ReadW(int i_cnt)
2
{  int readL, readH;
3
   char buffer[50];
4

5
   i2c_start(RDA5807_adrr);                    // Device 0x11 for random access
6
   i2c_write(0x0C);                                // Start at Register 0x0C
7
   i2c_rep_start(RDA5807_adrr+I2C_READ);                         // restart condition
8
   for (int i=0; i<i_cnt; i++)                      // Loop for Read data    
9
   {  readH=i2c_readNak();
10
      readL=i2c_readNak();
11
      aui_RDS[i]=256*readH+readL;
12
    sprintf(buffer,"Read: aui_RDS[%i]=%x\n",i,aui_RDS[i]);
13
    uart_puts(buffer);
14

15
    }        // Read Data into Array of Unsigned Ints
16
   i2c_stop();                  
17
}

Ich bekomme komische Werte heraus, daher ist meine Abfrage wohl falsch.
Read: aui_RDS[0]=18ff
Read: aui_RDS[1]=ffff
Read: aui_RDS[2]=ffff
Read: aui_RDS[3]=ffff

Da die Fleury_Lib mit 8-bit i2c-Adressen arbeitet, ist 
RDA5807_adrr=0x11<<1;
#4010187
Lesenswert?

Irgendwie funktioniert das seekup/seekdown bei dem RDA5807 nicht.
1
int RDA5807_SeekUp()
2
{
3
  uart_puts("Seek Up\n");
4
  aui_RDA5807_Reg[2]=aui_RDA5807_Reg[2] | 0x0300;   // Enable Seekup
5
  aui_RDA5807_Reg[2]=aui_RDA5807_Reg[2] & 0xFFBF;   // Seek-Wrap enable
6
  RDA5807_Write();
7
  aui_RDA5807_Reg[2]=aui_RDA5807_Reg[2] & 0xFCFF;   // Disable Seekup
8
  return 0;
9
}

Bit 8+9 werden gesetzt und dann verschwindet auch die eingestellte 
Radiostation. Also es passiert etwas (aktuelle Station verschwindet), 
aber das Modul findet keine neue Station.
Bit 7 sollte eigentlich dafür sorgen, dass ein Überlauf beim Seek 
stattfindet.
Ein Dump der Freqeuenz sagt 119Mhz, hmmm.

Hat jemand eine Ahnung, ob noch mehr Parameter eingestellt werden 
müssen?
#4010273
Lesenswert?

Ich habe mir mal die RAM-Werte des 02H Registers ausgeben lassen vor dem 
Seek und nach dem Seek:

----- Status -----
R02=D00B //vor Seek
R03=2950
R04=1400
R05=84D1
R06=4000
R07=0
Mhz=103.60  PI=-11432  Stereo NoRDS  RSSI

2 Sekunden Pause nach dem Write der Register:

----- Status -----
R02=84D1 // nach Seek
R03=2950
R04=1400
R05=84D1
R06=4000
R07=0
Mhz=103.60  PI=-11432  Mono   NoRDS  RSSI

Da wird irgendwie der CLK_Mode von 000 auf 110 gesetzt (?).
Und Mute wird auch gesetzt.
#4010396
Lesenswert?

Anbei ein Programming Manual für RDA7805P. Werde mich mit Google 
Translate mal durchkämpfen. Da scheint auch etwas über Seek 
drinzustehen:

Step1:
-  Mov 0x0150, 03H //Set channel number to 87.5MHz, space to 100KHz, 
band to 87_108MHz
*Wait for GPIO2=0 //optional, wait for tune complete, if use
interrupt
*Wait for STC=1 //optional, wait for tune complete, if use polling 
method
- Read 0A, 0BH //read stauts
- Wait 1ms //guarantee STC is cleared

Step2:
- Mov 0xD381, 02H // set SEEK and SEEKUP for seek operation
*Wait for GPIO2=0 //optional, wait for seek complete, if use
interrupt
*Wait for STC=1 //optional, wait for seek complete, if use polling 
method
- Read 0A, 0BH //read stauts
- Wait 1ms //guarantee STC is cleared
- If SF=1, go to step3; else memorize READCHAN and go to step2.

Step3:
- Stop Seek
Angehängte Dateien:
Gast #4690721
Lesenswert?

Der Thread ist schon Jahre alt, aber wenn Martin ihn schon neu 
aufgemacht hat - ein paar Warnungen:
Der RDA5807 scheint eine mäßige Kopie des Silab-Chips zu sein, selbst 
die Register sind nahezu identisch. Wenn er denn einen Sender empfängt 
ist er soweit OK, aber Sendersuchlauf oder RDS-Empfang sind sehr buggy. 
Dafür nicht zu gebrauchen.
Da man mittlerweile die diversen Silab-Chipsman diversen Ecken bekommt, 
würde ich absolut zum Original raten.
Gast #5597982
Lesenswert?

Ralph S. schrieb:
> Unabhängig von diesem Thread hier hab ich heute mit den beiden
> "Radio-Chips" TDA7021 (keine Controllersteuerung) und dem RDA5807
> "herumgespielt". Genau wegen der Empfangsempfindlichkeit dieser
> Chips(der RDA5807 wird mit ATmega168   und AVR-GCC Programm angefahren).
>
> Weil die Eingangsempfindlichkeit der Antenne wirklich nicht soooooo der
> "Bringer" ist hab ich eben genau daran "gespielt".
>
> Ich kann zwar (mangels Meßgeräten) nicht den db- Gewinn angeben die
> meine Schaltung erreicht, ich kann nur sagen, dass der Empfang (sehr)
> merklich besser geworden ist.
>
> Wer die Schaltung also gebrauchen kann: Bitte bedienen (für die Benutzer
> des RDA5807 hier: der Ausgang des Verstärkers ist Pin 5 des RDA5807
> anzuschließen).
>
> Zu den Transistoren: Sie sind deshalb gewählt worden, weil ich sie hatte
> (smile sie waren halt schon sehr lange die preiswertesten die Rei****
> im Sortiment hat).
>
> Viel Erfolg, Ralph

Hallo,

ich weiß, dass der Beitrag schon 4 Jahre alt ist. Dennoch benötige ich 
hierzu Hilfe.

Und zwar habe ich den Vorverstärker von Ralph S. nachgebaut. allerdings 
habe ich statt dem BF241 Transistor einen BF494 benutzt. Jetzt bekomme 
ich keinen Empfang und frage mich, was ich anpassen muss.
Ich habe leider von Empfangstechnik sehr wenig Ahnung.

Ab und zu kommt es vor, dass der Vorverstärker funktioniert und ich 
einen super Empfang habe. Besser als bei jedem anderem Radio. Es kommt 
nur sehr selten vor.

Ich bin dankbar um jede Hilfe. Habe schon einige Tage bzw. sehr viel 
probiert.

Vielen Dank im Vorraus!
Anbei der Schaltplan von Ralph S.

Gruß
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #5601133
Lesenswert?

Carsten schrieb:
> allerdings habe ich statt dem BF241 Transistor einen BF494 benutzt.
Der erstere hat eine Transitfrequenz von knapp 500MHz, der zweitere 
120MHz. Da ist sogar der BC547 noch besser...
https://www.edaboard.com/showthread.php?131619-What-is-fT-of-a-transistor

Zudem ist in dem geposteten Bild auch kein BF241 zu sehen. Aber auch der 
dortige BF324 hat 450MHz..
Gast #5601274
Lesenswert?

unbekannt schrieb:
> setze einen SI4703 ein - damit wird es wenigstens was.
> RDS hatte ich nie richtig zum gelaufen gebracht - aber mit den SI4703
> war dass kein Problem

Ich habe vor über einem Jahr mit dem RDA5807 gespielt, der Radioempfang 
meiner Regionalsender ist recht manierlich. Carsten will wohl Radio 
hören, das sollte gehen. Aber: Eine HF-Vorstufe, da lasse ich die Finger 
weg, dazu braucht man Erfahrung und Meßtechnik.

Meine Idee war aber, mir per RDS die Uhrzeit zu holen - da habe ich 
viele Stunden drin versenkt und dann aufgegeben. Egal, was ich probiert 
habe, es kamen niemals stabile Daten aus dem Ding heraus.
Gast #5601591
Lesenswert?

Hallo,

Vielen Dank für die Antworten!
Ich habe nochmal in den letzten Ecken meiner Elektroniker-Bestände 
gesucht und tatsächlich einen bf241 gefunden. Jetzt kann ich super Radio 
hören. Zudem habe ich noch etwas an der Spule herumgebogen (nur sehr 
leicht).

Danke für den Tipp mit der Transitfrequenz. Ist mir jetzt auch 
einleuchtend.

Bevor ich auf den SI4703 umsteige probiere/teste ich noch ein wenig. 
Dennoch danke für den Vorschlag!

Gruß

Carsten
Gast #5612788
Lesenswert?

gibts solch Radio fix und fertig ohne den Arduino-Scheiß? Ich will sowas 
kaufen, einschalten und staunen, was es alles kann! Mir nützt weder  der 
Arduino, Rasperry oder wie das Zeuch heißt, etwas, ich hab keine Ahnung 
von diesem Schlaugetuezeugs. Ich kann weder was programmieren, noch kann 
ich mit solchen Texten und Libs was anfangen!

Ich such ganz einfach ein fertig aufgebautes Radio mit RDS und bissel 
Schnickschnack, was man auch mal reparieren kann, wenns einen Defekt 
oder andre Macken aufweiist!. YKann aus Silabs, RDA,Beken- Chipserierien 
sein, Hauptsache das Ding hat Stereo,  Display mit RDS und 
Mp3-Wiedergabe inclusive IR-Fernbedienung. Meinetwegen 
spezifischließlich Akkubetrieb und portable nutzbar. Erwähnte ich schon 
dass keine Arduino und Rasperrysch
.. das sein darf?

Also hat jemand ein aufbaubares einfach fernbedienbares RDS-Radio mit 
Mp3-Wiedergabe von SD u USB? Ja, dann schreib den Preis hier. Bausatz 
kein Problem, Nur kann und will ich weder was erst programmieren 
muessen, wovon ich wie ne Kuh Fliegenschiß verstehe, noch soll das Ding 
für genau den ganz normalen Verbraucher mit Hyroglyphensprache nicht 
verständlich sein. Habt ihr sowas zum Verkauf anzubieten, was ich nur 
mit Strom versorgen und einschalten kann? Her damit.. Ihr tut doch immer 
alle so superschlaue Profis zu sein, so zeigt ,was ihr aufm Kasten habt 
oder schweigt lieber für immer. Wenn ihr so schlau seid, wie ihr hier 
rumprahlt, warte ich mal, ob es solche Schlautuer nur anonym oder 
tatsächlich ausgewiesene Profis sind, die sich im Netz tummeln. Von 
Lügnern,, Betrug, Beschiß und Abzockern halte ich nämlich ebensowenig, 
wie von Klugscheißermachos und selbsernannten  Machoprofis!
Gast #5613446
Lesenswert?

Ja,  ich kenne 3 Projekte die deinen Vorgaben entsprechen,  eines auch 
als Kit.

Aber bei deinem Tonfall werden die dir auch nicht zusagen.

Du mokierst dich über Pseudo..xxx,  bist aber selbst als Gast hier.

Somit kann ich dir keine Info per PM zukommem lassen.

Das Projekt mit Bauteilesatz hat zusätzlich noch Bluetooth,  muss aber 
nicht bestückt werden.

Stückliste ist bei Reichelt als Warenkorb verfügbar,
Platine beim Verfasser.
Gast #5616000
Lesenswert?

Kurze Rückmeldung für andere, die auch mit dem Modul experimentieren:

Ich konnte den Empfang noch einmal verbessern, indem ich in das Register 
05h 0xF0 (plus Lautstärke in den unteren 4 Bits) geschrieben habe.
Zusätzlich habe ich noch den "OPEN_Mode" 06h_bit<14,13> = 11 aktiviert.
RDS-Daten kommen jetzt schon fehlerfrei an (ohne Plausibilitätsprüfung 
o.Ä.).

Achja ich programmiere ohne Arduino und Raspberry, sondern verwende den 
PIC18F45K50. Einschalten und staunen...


Gruß
Persönliche Seite #5616774
Lesenswert?

Hallo Michael.

Michael G. schrieb:

> Mir fehlt gerade ein wenig die Fantasie -- angenommen, ich habe bereits
> ein Radio (oder mehrere), deren Klang vermutlich um einiges besser ist
> als das, was man mit diesem Modul zusammenlöten kann -- was mache ich
> dann damimt?

Du könntest Dir damit ein Radio bauen, das von der Bedienung her um 
einiges besser ist als die grottigen Implementierungen die Du kaufen 
kannst. ;O)

Das mit dem Klang liegt meistens an der Größe des Lautsprechers, und ob 
die Spannungsversorgung die Endstufe bei den Peaks im Bass noch 
ausreichend beliefern kann.

Der Klang ist tatsächlich auch für viele eher nebensächlich, die weniger 
Musik als zum Beispiel Nachrichtenlastige Programme wie DLF oder WDR5 
oder vergleichbares hören. Da legt man den Frequenzgang besser aus wie 
z.B. bei Handfunkgeräten.

Jedenfalls empfinde ich z.b. die Implementierung des FM-Radios in meinem 
Wouxun Handfunkgerät oder meinem SwissOne Handy als missglückt. Und auch 
mein neues "Küchenradio" hat zwar einen guten Klang, verweigert mir aber 
über die Rauschsperre und die AFC den Empfang von Programmen, die ich 
hier nur verrauscht empfange.

Merke: Gebaut wird kommerziell nur dass, was man meint, dass man es den 
Leuten gut anbieten kann. Das sind aber gerade im Konsumerbereich nur 
oberflächliche billig Lösungen. Weil gerade den "Konsumern" meistens 
auch die Fantasie fehlt, was möglich wäre und was sie damit machen 
können und deshalb auch nicht verlangt wird.

Beispiel: Bedienung nicht über Taster, sondern über Dreh- oder 
Schiebeschalter mit Knöpfen, deren Position sich gut erfühlen lässt.
Dann muss ich nicht zum Bedienen hinschauen. Wenn das ganze auch noch 
etwas schwergängiger und versenkt montiert ist, sind die Schalter auch 
gegen versehentliches Betätigen besser geschützt. AFC und Squelch müssen 
abschaltbar sein. Frequenzgang auf Sprache und nicht auf Musik 
ausgelegt. Robuste Versorgung aus verschiedenen Spannungsquellen. 
Robustes Gehäuse.

Dafür würde ich dann ein ein uncooleres optisches Design gerne in kauf 
nehmen. ;O)

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
#5616817
Lesenswert?

Bernd W. schrieb:
> Beispiel: Bedienung nicht über Taster, sondern über Dreh- oder
> Schiebeschalter mit Knöpfen, deren Position sich gut erfühlen lässt.
> Dann muss ich nicht zum Bedienen hinschauen. Wenn das ganze auch noch
> etwas schwergängiger und versenkt montiert ist,

mein Radio erfüllt diese Kriterien ... und funktioniert wieder richtig 
gut, nachdem 3 Kondensatoren und das magische Auge ersetzt wurden.

Mittlerweile steht das gute Stück im Wohnzimmer und hat dahinter über 
den TA Eingang eine Bluetoothbox und ein I-Net Radio zur Verfügung. 
Allerdings muß ich sagen, dass ich das relativ selten nutze.

Aus meiner Sicht der Dinge ist der Klang sensationell (und hat Bass und 
Höhe getrennt und, sehr fortschrittlich für 1959: Tasteneinstellbare 
Frequenzfilter für Sprache, Klassik, Solo und Jazz)
Angehängte Dateien:
Persönliche Seite #5616848
Lesenswert?

Hallo Bitch.

YourBitchpassed schrieb:

> Ich such ganz einfach ein fertig aufgebautes Radio mit RDS und bissel
> Schnickschnack, was man auch mal reparieren kann, wenns einen Defekt
> oder andre Macken aufweiist!. YKann aus Silabs, RDA,Beken- Chipserierien
> sein, Hauptsache das Ding hat Stereo,  Display mit RDS und
> Mp3-Wiedergabe inclusive IR-Fernbedienung. Meinetwegen
> spezifischließlich Akkubetrieb und portable nutzbar. Erwähnte ich schon
> dass keine Arduino und Rasperrysch
> .. das sein darf?

> Also hat jemand ein aufbaubares einfach fernbedienbares RDS-Radio mit
> Mp3-Wiedergabe von SD u USB?

Alles, was Du möchtest, RDS, "bissel Schnickschnack" Mp3 von SD/USB geht
 nur im Zusammenhang mit einem Kleinstrechner . Den haben auch die 
Geräte intern verbaut, die Du im Laden kaufen kannst. Es wird nur nicht 
explizit dazugeschrieben, aber die Funktionalität dieser Bauteile ist in 
etwa mit denen eines Arduinos oder Raspberrys vergleichbar.

Der einzige Unterschied ist, sie sind etwas abgespekter und dafür hast 
oft keine Chance, sie selber zu Programmieren (selbst wenn Du 
Programmieren gelernt hast) oder als Ersatzteil zu bekommen.


Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
Gast #5799282
Lesenswert?

Auch wenn der thread schon etwas älter ist: Ich bastele (für ein Projekt 
mit Schülern) auch gerade mit dem RDA5807 herum. Eigentlich funktioniert 
alles, (danke übrigens an Carsten mit dem Tipp "Register 05h 0xF0"), 
aber bei mir säuft das Ding wie ein Loch. Ich messe im Normal-Mode bis 
zu 70mA bei 3V und der Chip wird 45°C heiss. Das kann doch nicht normal 
sein. Im Datenblatt stehen ja typ. 20mA. Ich habe die Teile natürlich 
auch vom Chinesen, kann daher auch sein, dass es Ausschussware ist. Aber 
ich würde trotzdem mal gerne hören, ob Ihr ähnliche Erfahrungen gemacht 
habt, d.h. wie hoch die Stromaufnahme bei euren RDA5807 war/ist.

Da es ein Schülerprojekt werden soll, ist die Stromaufnahme wichtig, 
weil mit 2 AAA-Batterien versorgt werden soll.

Danke im voraus.
#6216742
Lesenswert?

Hallo zusammen,

ich versuche gerade solch ein Modulk zu nutzen. Ich kann mit ihm 
kommunizieren, aber es bleibt inaktiv, Strom ~0.012mA (trotz 
erfolgreicher I2C Com?).

-> Also, wie zu erwarten: Was mache ich falsch?

Chip ist RDA5807FP im SO16, Code:
1
void FM_init () {
2

3
  i2c_start_wait(FM+I2C_WRITE);
4
  i2c_write(0x02);
5
  i2c_write(0xC0);
6
  i2c_write(0x0D);    // seek enabled, RDS off
7
  i2c_stop();
8
  _delay_ms(100);
9

10
  }
11

12

13
void FM_setfreq (int frequency) {
14

15
  int freq_tmp;
16
  char freqH, freqL;
17

18
  freq_tmp = frequency - 870;
19
  freqH = freq_tmp>>2;
20
  freqL = (freq_tmp&3)<<6;                  // Shift channel selection for matching register 0x03
21

22
  i2c_start_wait(FM+I2C_WRITE);
23
  i2c_write(0x03);
24
  i2c_write(freqH);                     // write frequency into bits 15:6, set tune bit
25
  i2c_write(freqL + 0x10);
26
  i2c_stop();
27

28
  }

EDIT: Der 32k Quarz schwingt, ich koppel über einen kleinen Kerko direkt 
in einen 32 Ohm Kopfhörer aus.

Danke, Klaus.
Gast #6216941
Lesenswert?

Ohne jetzt in deinen Code einzusteigen, hast Du einen Logic Analyzer? 
Falls nein, kaufe dir dringend einen, kostet dich ca. 10€. Zur 
Fehlersuche bei genau solchen Problemen Gold wert. Es sind ja nur 
Codeschnipsel, das Problem kann ja auch ganz woanders liegen. Mit einem 
LA siehst Du genau, was der Chip bekommt und kannst mit dem Datenblatt 
bzw. anderen Tutorials aus dem Netz vergleichen.
Gast #6217129
Lesenswert?

Klaus R. schrieb:
> i2c_write(0x0D);    // seek enabled, RDS off

Das passt doch irgendwie nicht, Seek ist auf Bit 7. Mit 0x0D ist Bit 3, 
Bit 2 und Bit 0 gesetzt. Also RDS enable (macht nichts), „New Method“ 
und Enable.

Schreibe da doch zweimal rein, einmal mit Soft-Reset Enable und einmal 
ohne. Vielleicht hilft es.
Gast #6217299
Lesenswert?

Frank schrieb:
> Also der "Klang" eines Radios hängt heutzutage doch wohl eher an
> den
> Endstufen und den verwendeten Lautsprechern, weniger am Empfangsteil.
>
>

Völlig falsch!!!

Der Klang wird schon bei der Aufnahme im Studio vermurkst!

Da lässt sich nicht mehr viel verbessern.

Früher gab es Sprachschulen, diese Personen die RF und FS moderieren 
sind allesamt nicht geschult und haben grottenschlechte Stimmen.

Zudem!

Außerdem gab es Tontechniker die das Klangbild optimier n könnten.

Alles eingespart damit diese unverschämten Riesengehaelter und Pensionen
gezahlt werden können.
#6223681
Lesenswert?

Hm - das will auch mit einem neuen Modul einfach nicht klappen, so 
komplex sind die Register ja auch nicht. Also nochmal die Bitte um 
Hilfe:

1) der uC kommuniziert mit dem Modul, denn ändere ich die Adresse auf 
einen flaschen Wert bleibt er hängen
2) das modul hängt über 7.5k gg VCC und 1.5k in Serie an einem 5V uC 
System (falls relevant) - muss aber gehen, siehe 1) EDIT: Habe das Ganze 
mit reinem 3.3V System geprüft, neues Modul - selbes Ergebnis (wie 
erwartet)
3) der 32kHz Quarz schwingt (ist also nicht defekt - es soll Fälle gg 
haben, wo das so war und man trotzdem die Register schreiben konnte)
4) das modul nimmt leider nie mehr als 0.1mA auf, was zu wenig ist (aber 
passen kann, da es ja auch kein Audio gibt)

Code ist - auschnittsweise - wie folgt:
1
#define FM    0x21
2

3
int FM_freq=1043; // Energy zum Test
4

5
  FM_init();
6

7
  _delay_ms(500);
8

9
  FM_activate ();
10

11
  _delay_ms(500);
12

13
  FM_setfreq (FM_freq);
14

15

16
void FM_init () {
17

18
  i2c_start_wait(FM+I2C_WRITE);
19
  i2c_write(0x02);
20
  i2c_write(0xC0);
21
  i2c_write(0x03);
22
  i2c_stop();
23
  _delay_ms(100);
24

25
  i2c_start_wait(FM+I2C_WRITE);
26
  i2c_write(0x03);
27
  i2c_write(0x00);
28
  i2c_write(0x00);
29
  i2c_stop();
30
  _delay_ms(100);
31

32
  i2c_start_wait(FM+I2C_WRITE);
33
  i2c_write(0x04);
34
  i2c_write(0x0A);
35
  i2c_write(0x00);
36
  i2c_stop();
37
  _delay_ms(100);
38

39
  i2c_start_wait(FM+I2C_WRITE);
40
  i2c_write(0x05);
41
  i2c_write(0x88);
42
  i2c_write(0x0F);
43
  i2c_stop();
44
  _delay_ms(100);
45

46
  }
47

48
void FM_activate () {
49

50
  i2c_start_wait(FM+I2C_WRITE);
51
  i2c_write(0x02);
52
  i2c_write(0xC0);
53
  i2c_write(0x01);
54
  i2c_stop();
55
  _delay_ms(100);
56

57
  }
58

59
void FM_setfreq (int frequency) {
60

61
  int freq_tmp;
62
  char freqH, freqL;
63

64
  freq_tmp = frequency - 870;
65
  freqH = freq_tmp>>2;
66
  freqL = (freq_tmp&3)<<6;              // Shift channel selection for matching register 0x03
67

68
  i2c_start_wait(FM+I2C_WRITE);
69
  i2c_write(0x03);
70
  i2c_write(freqH);                     // write frequency into bits 15:6, set tune bit
71
  i2c_write(freqL + 0x10);
72
  i2c_stop();
73

74
  }

Danke für jegliche Unterstützung. ich rästel schon länger...

Klaus.
#6226695
Lesenswert?

...nun, vll hilft mir ja doch noch jmd:

Ich wollte die Chip-ID, laut DaBla 0x58, auslesen, bekomme aber 0x34 
zurück. Hm - merkwürdig. Also mal schnell nochn 24C08 dazu, um den Code 
zu testen - 10 Bytes mit irgendwas vollgeschrieben, dann wieder 
ausgelesen - passt. Ergo funktioniert auslesen grdstzl auch...

Ich habe jetzt 3 I2C Komponenten im System, tw aber aktuell im code 
deaktiviert wg momentanem debugging, mit KEINER gabe es Probleme, nur 
mit diesem verf**** RDA5807.

-> Was könnte ich noch testen? Wieso lese ich nicht 0x58 aus?

Klaus.
Gast #6228981
Lesenswert?

Klaus R. schrieb:
> das modul hängt über 7.5k gg VCC

Was heißt denn das? Kannst du das mal aufzeichnen und notfalls per Foto 
hier einstellen?

Klaus R. schrieb:
> Also mal schnell nochn 24C08 dazu, um den Code
> zu testen - 10 Bytes mit irgendwas vollgeschrieben, dann wieder
> ausgelesen - passt

Wenn Du parallel einen anderen Baustein dranhängst und der funktioniert 
heißt das das in Bezug auf den RDA nur wenig. Ich habe da deine 
Versorgung im Verdacht.
#6232981
Lesenswert?

So, nun mit Level Converter & neuem Modul - keine Änderungen.

- reagier nur auf die angg I2C Adressen bzw bleibt I2C_write sonst 
hängen (vermtl wg fehlendem ACK) -> ergo "lebt" das Modul...
- man ließt aus Register 0x00 nur 0x34 statt 0x58 aus (mit dem 24C08 hat 
das jedoch einwandfrei geklappt) -> es lebt, aber nicht "richtig"...

Ratlosigkeit. Klaus.
Gast #6233411
Lesenswert?

Also das mit dem 7k5 Widerstand war definitiv falsch. Mal doch bitte 
noch einmal auf, wie die neue Schaltung aussieht. Übrigens, wie 
versorgst Du den RDA5807? Ich denke nach wie vor, dass Du ein 
elektrisches Problem hast.
Dass der 32kHz schwingt heißt noch nicht viel, auch wenn sich das erst 
nach einem Befehl an das Modul einstellen sollte. Es könnte nämlich 
sein, dass der Baustein bis zu dieser Einstellung so gut wie nichts 
braucht und aufgrund eines Fehlers in der Versorgung ab dann nicht mehr 
richtig reagiert.
#6233474
Lesenswert?

...der 7.5k zieht SCL & SDA auf der 5V Seite ggf VCC, alle I2C slaves 
dort laufen auch - SCL + SDA gehen dann an einen HV/LV levelshifter mit 
BSS138, standardware von ebay. Doie LV Seite wird aus den 5V mit einem 
AMS1117-3.3 erzeugt (gefiltert mit 100nf).

Ich glaube auch, dass es nicht am Modul selbst liegt, allerdings habe 
ich die Module schon getauscht - ohne Ergebnis. Die Versorgung von 
extern bereitgestellt (Netzteil auf 3V) - ohne Ergebnis.

Der erste showstopper ist halt, dass ich aus Reg 0x00 nicht die Chip ID 
0x58 auslese, sondern immer & bei allen Modulen 0x34...beim 24C08 hat 
das schreiben & lesen hingegen ohne Probleme funktioniert, daher weiß 
ich, dass es nicht an der Leseroutine liegt (die ich sonst nicht 
benutze).

Ich komme wrkl nicht drauf, was in meiner Systematik noch falsch ist, um 
das Problem eingrenzen zu können.

Klaus.
Angehängte Dateien:
#6233497
Lesenswert?

...wie gesagt, bei einem 24C08 liest sie (TWI master von peter fleury) 
korrekt das aus, was ich rein schreibe. Bei dem RDA in allen Registern 
nur 0x34, egal was ich rein schreibe. So langsam wäre ein Referenzsystem 
interessant, um sicher sein zu können, dass die Module auch iO sind :)

Klaus.
Gast #6233508
Lesenswert?

Da war doch irgendwie noch die Sache mit der Interpretation der I2C 
Adresse. Manche Datenblätter definieren die Adresse inkl. R/W-Bit=0, 
manche ohne. Liegt da vielleicht das Problem?

Hast Du Arduino-Beispiele, die es ja zum RDA gibt, nachvollzogen?

Alle Register lesen 0x34? Was passiert, wenn man den RDA ganz entfernt. 
Liest Du dann auch noch 0x34?
#6233520
Lesenswert?

...so, ich lese zwar immer noch müll aus, aber zumindest "Energy" 
empfange ich nun sehr beschissen - ich befürchte fast, ich habe die I2C 
Adresse 10001 für "random access" falsch auf das 8 Bit Format 
transponiert* - iwo las ich mal 0x21, was aber nicht stimmen würde :/ 
Grmpf.

*) Was beim Rest der I2C slaves nicht passiert ist, weil ich mich da 
nicht auf iwieclhe Arduino libs verlassen habe, sondern selbst 
"nachgedacht".

Klaus.
Gast #6233548
Lesenswert?

Is ja auch noch keine gescheite Antenne dran, oder? Auf Dauer kann ich 
Dir sowieso empfehlen, auf das Original von Silabs zu wechseln, der RDA 
ist zwar billiger, aber er ist und bleibt eine schlechte Kopie. 
Spätestens wenn Du dich mit RDS beschäftigst (ganz interessant, nicht so 
schwierig) wende dich bitte vom RDA ab. Gerade im RDS sind so einige 
Bugs drin.
Der Umstieg auf das Original ist übrigens nicht schwierig, es kann fast 
alles so bleiben.
#6233569
Lesenswert?

Ja, Danke - hab im Rahmen der Probleme schon alles darüber gelesen :) 
RDS wäre "cool", aber erstmal reichen mir 6 feste Stationen und ein 
Such-Modus, das fkt nun, bis auf den beschissenen Empfang - Antenne ist 
eine Krokoklemme, da Energy hier "S9+" hat sollte das reichen...reicht 
aber nicht :/

Klaus.
Gast #6236072
Lesenswert?

Tja, mir ging es ähnlich, zunächst freut man sich über ein solch 
minimalistisches Radio, dann tritt die Ernüchterung ein. Empfangs- und 
RDS-Leistung sind dann aber doch relativ bescheiden. Aber egal, so aus 
reinem Bastelgedanken heraus eine nette Sache. Mich persönlich hat die 
Empfangstechnik ab Transistor ein Leben lang begleitet, es wurde immer 
integrierter und digitaler, mittlerweile baut man einen FM Empfänger 
samt RDS auf einem Quadratmillimeter - ohne Spulen und HF-Zeugs, 
faszinierend.
#6236490
Lesenswert?

...ja, es ist schon "geil" aber iwie auch gruselig - all in a box, man 
sieht nix, kann nix messen - man verzweifelt nur :) Was das Gehemnis mit 
dem 0xF0 in Reg 5 soll, erschließt sich mir aus dem DaBla auch nicht 
sofort - aber ohne ist es "Essig". Zumindest für meinen Anwendungsfall 
ist nun alles gut, auch wenn ich leider etwas viel Zeit dafür verbraten 
habe :)

Klaus.
#7378421
Lesenswert?

Hi, nachdem dieser Thread doch sehr hilfreich war, und ich jetzt trotzdem einige Stunden gekämpft habe, hier ein paar Hinweise, wie die Uhrzeitabfrage jetzt doch recht gut klappt:

  1. Recht hilfreich finde ich: http://www.g.laroche.free.fr/english/rds/groupes/listeGroupesRDS.htm

  2. In 5H low byte: 1011_1111 LNAP, LNA 3 mA, max volume Diese Einstellung bringt -jedenfalls in meinem Setup- max Signalstärke.

  3. Strategie für relativ zügiges Finden gültiger Daten: Die RDSdaten werden alle 10ms abgefragt. Wenn RDS synchronisiert gemeldet wird und nicht BlockE und weder in BlockA noch in BlockB Fehler gemeldet werden, dann werden die RDSDaten ausgewertet. Wenn dann zusätzlich Gruppe 4A (Zeit und Datum) vorliegt, dann werden die Stunde, korrigiert um den aktuellen Offset, und Minuten jeweils in 3 stufige Fifos geschrieben. Wenn die aktuell gemeldeten Stundendaten übereinstimmen mit solchen aus einer der 3 alten Positionen der Fifos, dann werden sie als gültig anerkannt und zum Stellen der Rechneruhr verwendet. Bei den Minuten wird auch anerkannt, wenn in einer der Fifo-Positionen die Vorminute steht.

Bei Signalstärke 163dez in 0Bhex high byte wird mit dieser Methode die Uhrzeit regelmäßig bei Minutenwechsel erkannt.

Gruß Christof

#7572375
Lesenswert?

So, doch noch mal ein update: Während die im letzten Post genannte Methode recht befriedigende Ergebnisse am "Entwicklungsstandort" bei ca 15km Distanz zum Sender gebracht hat, gab es unregelmäßig Schwierigkeiten am Zieleinsatzort mit 40km zum Sender. Soweit ich verstehe, wird immer wieder eine falsche Gruppe als 4A erkannt und dann fehlerfrei übertragene Daten völlig falsch als Zeit/Datum interpretiert.

Letztlich konnte ich das System nur damit zum stabilen Laufen bringen, dass ich zusätzlich eine Batterie- gepufferte Uhr installiert habe und Daten nur dann als gültig werte, wenn das Datum komplett stimmt und die Zeit nur wenig abweicht. Auch eine Stunde Abweichung ist zulässig für Sommer/Winterzeit. Zeitkorrektur jede Nacht um 4.00 Uhr.

#7572866
Lesenswert?

Christof schrieb:

Während die im letzten Post genannte Methode recht befriedigende Ergebnisse am "Entwicklungsstandort" bei ca 15km Distanz zum Sender gebracht hat, gab es unregelmäßig Schwierigkeiten am Zieleinsatzort mit 40km zum Sender. Soweit ich verstehe, wird immer wieder eine falsche Gruppe als 4A erkannt und dann fehlerfrei übertragene Daten völlig falsch als Zeit/Datum interpretiert.

Hier kommt NDR2 mit sehr guter Feldstärke, als simples Radio taugt der RDA5807, von dem es scheinbar auch Varianten gibt. Ich habe mich 2017 mehrere Tage mit dem Ding befasst, wollte aus per RDS die Uhrzeit holen. Es hätte ja einen Spielreiz, wenn eine µC-Anwendung nebenbei auch noch Radio quäken kann - die Modulchen kosteten etwa einen Dollar.

Ich hab's aufgegeben, der RDS-Decoder in dem IC taugt nichts und die gelieferten Werte waren dermaßen wirr, dass ich keine Plausibilitätskontrolle fertig gebracht habe.

#7779811
Lesenswert?

Moin,

ich grabe das Thema mal wieder aus...

Ber RDA5807 hinterläst gemischte Gefühe. In meinem Fall ist die FP-Variante, welche Audio auch digital via I2S ausgeben kann,

Die Empfangsleistung ist durchaus gut. Als reiner FM-Empfänger völlig ausreichend. RDS geht auch, setzt aber ein sauberes Eingangssignal voraus. Der Chip is sich selbst seine schlimmste Antenne, sprich selbst ganz ohne Antenne empfängt er im Nahfeld noch sehr viel - außer RDS, weil er auch alle Störungen einfängt, die im direkten Umfeld sind.

Mir fehlt der Verlgiech mit den billigen Fertigmodulen, da ich gleich ein eigenes Modul zusammengeschustert habe. Darauf wird der Chip anstelle des billigen Uhrenquartz durch einen weitaus stabileren TCXO getaktet. Am Anteneneingang vir per Bandpass vorgefiltert, ein zusätzlicher LNA gleicht die Dämpfung des Bandpasses wieder aus und anschließt erfolt noch eine Impedanzanpassung auf die rund 300 Ohm Eingangsimpedanz des Chips. Das ganze sitzt dann in einem Blechgehäuse.

Der RDS-Dekoder ist nur rudimentär. Die Fehlerkorrektur... naja. Aber er läuft und man bekommt brauchbare Daten raus. Der FIFO-Modus tuts nicht. Den sollte man besser ausgeschaltet lassen. Der wird auch nicht von allen Varianten unterstützt.

Weil irgendwo angemerkt wurde, dass die Fehlerschwelle frür die Gruppen C und D fehlen... Die Finden sich im undokumentiereten Read-Register 0x10 in Bit 15+14 für Gruppe C und in Bit 13+12 für Gruppe D.

Unter der Vorraussetzung, dass man die RDS-Daten nur dann als gültig betrachtet, wenn die entsprechenden Bits dies signalisieren (Read-Register 0x0A bit 12 (RDS synchronized) und bit 15 (RDS group ready)) und man die Daten nur dann verarbeitet, wenn alle 4 Gruppen mit NULL Fehlern dekodiert wurde, dann sind die Daten auch durchaus plausibel. Irgendwo in den read-Registern finden sich wahrscheinlich auch die Rohdaten vor der Fehlerkorrektur. Danach zu suchen, war mir allerdings zu müßig.

Eins, was mir noch aufgefallen ist... im Fall RDA5707FP sollte man nicht den I2S-Ausgang aktivieren, solange man die analogen Audioausgänge nutzt. Es sei denn, man will sich mit einem 12kHz Daueton auf den analogen Ausgängen quälen lassen.

Micha

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren