www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FM-Tuner Sendersuchlauf


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe vor einigen Wochen einen TV/FM-Tuner (FM1216ME) an meinen 
ATmega16 angeschlossen, der MC tauscht Daten mit dem Tuner mittels des 
I2C-Busses aus. Ich nutze nur den FM-Teil des Tuners, dies plappt auch 
alles ganz gut ich kann eine Freuquenz mittels Tasten einstellen und 
diese wird auf einen LCD-Display angezeigt. Alles wie bei einen 
"normalen" Radio.

Was ich noch in das Projekt Einbringen möchte ist ein Sendersuchlauf, 
also wenn man eine Taste drückt wird der nächste Sender gesucht. Ich 
habe versucht eine möglichkeit zu finden wie man dieses realisiert, 
allerdings erfolglos. Ich hoffe mir kann jemand diesbezüglich einen Tip 
geben, wie man eben dieses realisieren kann.

Vielen Dank für einen Tip

Autor: Omega G. (omega) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt Seite 15 Bit 6. So habe ich das glaube ich mal gelöst.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt:

http://dl.ivtvdriver.org/datasheets/tuners/FM1216ME_MK3.pdf

Siehe Seite 17/18

Gruß,
Magnetus

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hat mit den Seiten 17 / 18 zu tun, ich habe auch schon einiges 
versucht - aber es klappt nicht. Denn ich habe folgendes Problem: Wie 
kann ich herrausfinden das die Frequenz des Sender z.B. genau 101,0 MHz 
ist? Mann das z.B. diesen Sender auch auf 101,1 MHz Empfangen aber dies 
sich nicht die genaue Frequenz des Senders.

Das Statusbyte ist immer gleich, egal ob die Frequenz 101,0 MHz oder 
101,1 MHz ist. Das einzige was "zappelt" sind die 4 AFC-Bits, aber dies 
tun sie auch wenn die Frequnz genau auf den Sender eingestellt ist.

Das ist es was mir nicht ganz klar ist.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde für den Sendersuchlauf das AFCWIN-Bit auswerten. Wenn das Bit 
== 1 ist hat sich die AFC gelocked. In diesem Falle hälts du deinen 
Sendersuchlauf einfach an und beginnst die AFC-Bits auszuwerten und über 
sie die Feineinstellung vorzunehmen.

Gruß,
Magnetus

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, wenn AFCWIN-Bit=1 ist, dann ist die PLL "eingerastet". Der 
PLL-regelt dann permanent die Frequenz nach von Soll - 187,5 KHz bis 
Soll + 187,5 Khz. Aber auch wenn die Soll-Frequenz auf der Ist-Freuqenz 
ist, dann regelt der PLL auch nach, zwar in einem kleineren Bereicht, 
aber immerhin. Wie kann ich ersehen, das die eingestellte Frequenz die 
Ist-Frequenz ist.

Dazu fällt mir nichts ein, obwohl ich schon an diesem Ansatz "gebastelt" 
habe, aber funktionieren tun es bei mir nicht.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was die Auswertung der AFC-Bits angeht:

Wenn du das AFC4-Bit (D4) invertierst erhältst du einen (unsigned) Wert, 
der direkt proportional zur Abweichung der Empfangsfrequenz von der 
gewählten Frequenz ist. Diesen Wert würde ich an deiner Stelle mitteln 
und die eingestellte Frequenz nachregeln bis der Wert im Mittel 0b0111 
oder 0b1000 ist.

Gruß,
Magnetus

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt: Die AFC-Bits ausmitteln. Wenn die AFC in der Mitte pendelt 
ist es perfekt. Die Frequenz wird nie 100%ig stimmen.

Gruß,
Magnetus

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ausserdem solltest du bedenken, dass das empfangene Signal ja 
Frequenzmoduliert ist. Daher kommt ja auch die Abkürzung FM.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für Deine Antworten Magnus, kannst Du mir noch eben kurz 
einen Tip geben was Du genau mit "ausmitteln" meinst.

Danke

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies die AFC-Bits von mir aus 16x aus und summiere sie auf. Die Summe 
teilst du dann wieder durch 16 und du hast den Mittelwert aus 16 
"Messungen". Für höhere Genauigkeit solltest du die Anzahl der 
"Messungen" ggf. erhöhen. Aber bitte vergiss nicht, die Summe dann auch 
durch die höhere Anzahl an Messungen zu teilen.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das werde ich gleich mal programmtechnis umsetzen, nochmals vielen Dank.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.