Hallo, ich habe den Radio/TV-Tuner FM1216ME aus einer alten PCI-Karte ausgelötet. Der Tuner kann Radio sowie TV Empfangen und wird über den i2c-Bus angesprochen. Ich will den Tuner als Radio verwenden und mit einem Atmega16 ansteuern. Die Verbingung per i2c klappt, ich kann senden und auch das Statusbyte auslesen, leider bekomme ich aber keinen Ton aus den Tuner. Vielleicht hat jemand Erfahrung mit der Ansteuerung des Tuners. Danke
Hallo, das Datenblatt habe ich auch, habe mit das ganze vergangene Wochenende damit beschäftigt. Nach einigen Stunden hat auch die Kommunikation über dem I2C-Bus geklappt, nur leider bekomme ich keinen Ton aus dem Tuner, nicht einmal Rauschen. Ich habe den Tuner wie folgt angeschlossen. Pin: 3 (+5V) - 5 Volt 4 (SCL) - SCL ATmega (über 4,7 KOhm Pull-Up) 5 (SDA) - SDA ATmega (über 4,7 KOhm Pull-Up) 6 (AS ) - GND (Address Select) 9 (AF-R) - geht an den Eingang eines NF-Verstärkers 13 (VCC) - 5 Volt und GND ligen am Gehäuse an.
Sven Die genaue Bezeichnung des Tuners ist sehr wichtig denn bei der Programmierung gibt es einige Unterschiede. Guck mal auf den Sticker, meist ist das Original vom Kartenhersteller überklebt. Ein Foto wäre hilfreich. Ich glaube nicht das es ein MK3 Tuner ist so wie Stephan's Link suggeriert. Die verwenden fast alle einen externen TEA576x Chip für FM Radio. (Wenn doch, hast Du einiges zu tun: der IF-Demod TDA9887 möchte auch noch initialisiert werden). Weil Du erwähnt hast, das der Tuner aus einer älteren Karte stammt, denke ich eher an den FM1216MK2. Ist aber nur eine Vermutung. Torsten
Die genaue Bezeichnung ist FM1216ME/I - das steht auf dem Aufkleber des Herstellers. Kannst Du mir einen Tip zum TDA9887 geben, wie steuere ich dem an, das ist im Datenblatt etwas unübersichtlich beschrieben. Danke
Ok, also doch mit dem TDA9887. Dann ist Stephan's Datenblatt goldrichtig. > ..wie steuere ich dem an.. Ab Seite 15 gehts los ;) Beachten mußt Du, das der Chip eine eigene I2C-Adresse hat (0x86). Dann die Werte wie in der Tabelle auf Seite 16 (FM Modes) beschrieben via I2C schreiben. Ärgerlich ist, das man die Register nicht wieder auslesen kann, alles read-only. Wenn Du Dich etwas in C auskennst hilft das vielleicht: http://linuxtv.org/hg/v4l-dvb/file/dff42ce32609/linux/drivers/media/video/tda9887.c Trotzdem meine ich das im Tunergehäuse ganz versteckt noch ein dritter Chip sitzt der FM-Stereo dekodiert. Denn der TDA9887 ist nur für den ZF-Teil und Mono-(TV)Ton verantwortlich. Verdächtige Typen sind TEA57xx. Da hilft nur aufmachen und nachgucken. Kleine Anmerkung: der Tuner zieht ordentlich Strom, ~200mA. Für Video ist das in Ordnung weil das HF-Zeug ganz schön aufwendig ist. Aber nur zum Radio hören, hmm. Mit Batterien kann man den Tuner nicht versorgen.
Danke für die Tips, habe den Tuner gestern noch zum laufen bekommen und heute ein LCD-Display und ein paar Tasten angeklemmt - jetzt kann ich Sender über die Taster auswählen. Das mit dem Stero habe ich nicht ganz verstanden, ich nehme doch an das aus dem Tuner FM-Stereo kommt, immerhin sind ja die anschlüsse AF-L und AF-R vorhaden und FM-Steri lässt sich doch auch definieren, dann sollte doch auch Sterro aus dem Tuner kommen - oder nicht ? Habe mich ein wenig in die Abkürzungen eingelesen und habe so auch ein wenig Übersicht über die Funktionsweise bekomen. Meine Frage ist nur wie ich einen Sendersuchlauf programmieren kann, wie kann ich feststellen ob auch der definieren Frequenz ein Sender ist oder nicht. Im Datenblatt des TDA9887 ist Bit D5 als Carrier Detect definiert, beim FM1216ME kann man aber kein Carrier Detect auslesen, hägt die Sache mit dem Flag-Bit zusammen. Danke
> Das mit dem Stero habe ich nicht ganz verstanden, ich nehme doch an das > aus dem Tuner FM-Stereo kommt, immerhin sind ja die anschlüsse AF-L und > AF-R vorhaden und FM-Steri lässt sich doch auch definieren, dann sollte > doch auch Sterro aus dem Tuner kommen - oder nicht ? Diese Frage kannst Du nur selbst beantworten. Probier' es doch einfach mal aus (Zweifel...).
Ich habe jetzt einige Tage mit der Programmierung des FM1216ME verbracht, und der Tuner läuft wie gewünscht - ich kann die Frequenz mittels Taster anwählen. Angesteuert wird der Tuner mit einem ATmega16 und soll nur zum Radiohören benutzt werden. Allerdings ist es mir bis jetzt nicht gelungen einen Sendersuchlauf zu Programmieren, denn ich habe folgendes Problem: Wie kann ich feststellen ob auf der seleketierten Frequenz ein Sender ist und ob der Gelauf auf enben jener Frequenz ist. Beispiel: Auf 101,0 MHz ist ein Sender, diesen Sender kann man aber auch Empfangen wenn die Frequenz auf 100,9 Mhz oder 101,1 MHz eingestellt ist. Wie kann ich feststellen das die Sendefrequenz 101,0 MHz ist ? Danke für einen Tip ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.