www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DTMF-Ton-Auswertung mit Atmel


Autor: Kai Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute, hat damit schon jemand erfahrung? wie kann ich es machen,
daß ein dtmf-signal erkannt wird und ein atmel die auswertet (pin setzt
etc)....

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibt es passende IC's für. Guck dir mal den MT8870 an.

http://perso.wanadoo.fr/arquie-composants/data/mt8870.pdf

gruß
chris

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

in der aktuellen Elektor ist eine solche Schaltung drin. Ich glaube
auch mit oben genanntem IC.

Gruß,

Ralf

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Prinzip sollte es auch mit einer FFT gehen. Ich hab' mir das mal
flüchtig angeschaut, bin mir aber nicht sicher, wieviel RAM man dazu
braucht.

Wenn Du davon keine Ahnung hast, dann ist der Chip sicher die
einfachere Lösung.

Markus

Autor: Gerhard Schmidt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Noch eine Lösung, nur mit einem AVR:

Hardware (siehe gif):
  - Analogsignal über C an Spannungsteiler 2*10k auf halbes VCC ziehen.
  - Spannungsteiler an positiven Eingang.
  - Spannungsteiler über längeres RC-Glied an negativen Eingang.
Effekt: Analog Comparator Interrupt bei jeder positiven Halbwelle.

Software:
  - Timer-Vorteiler so einstellen, dass der niedrigste Ton gerade nicht
den Timer zum Überlaufen bringt und der höchste Ton wenigstens einige
Zählschritte hat. (8-Bit-Timer: <255, 16-Bit-Timer: <65535).
  - Beim Analog-Comparator-Int den Timer auslesen und auf Null setzen.
  - Ausgelesenen Timer-Wert mit Wert in einer Tabelle vergleichen und
entsprechendes Resultat ausgeben.
  - Erfolgt ein Timer-Überlauf-Interrupt, dann liegt kein Ton an.

Viel Erfolg beim Ausprobieren.

MfG
Gerd

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gerhard:
Dir ist klar, daß bei DTMF zwei Frequenzen gleichzeitig gesendet
werden?

Ich hab' mir mal einen Sourcecode angeschaut, ich denke eine FFT zur
Erkennung der DTMF ist auch auf einem AVR machbar.

Markus

Autor: Gerhard Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus

Habe ich erst hinterher gemerkt. Durfte meinen Beitrag aber nicht
löschen.

MfG
Gerd

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde den Chip vorziehen, es gibt auch noch den MT8880 (mal
Googeln) der kann auch DTMF erzeugen, Telefonwählgerät oder Rückruf
usw...

http://www.mike-tronik.de ist ein Beispiel mit nem MCS51

Mike

Autor: xy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab den mt 8880 mir ist aber leider nicht klar wie ich die Leitungen 
R/W; RS0; Phi2 und IRQ/CP anschließen soll.
Ich glaube das IRQ/CP auf Low gesetzt wird sobald ein signal erkannt 
wird.
Auserdem weiß ich nicht wie ich ein Microfon an den Eingang anschließen 
kann. Ich hab nen spannungsteiler aus Mikro und nem 2,2kWiederstand 
allerdings wird an den Ausgängen nix angezeigt. Ich weiß nicht wo der 
Fehler liegt. Die Restlliche Beschaltung ist wie die im Datenblatt.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

xy schrieb:
> Ich hab den mt 8880 mir ist aber leider nicht klar wie ich die Leitungen
> R/W; RS0; Phi2 und IRQ/CP anschließen soll.
Datenblatt? R/W ist Read/Write, irgendwie muß der µC ihm ja sagen, ob 
gelesen oder geschrieben wird.
RS0 Register Select, entscheidet, ob Daten oder Kommandos
PHI2 Takt, damit der MT8880 läuft

> Ich glaube das IRQ/CP auf Low gesetzt wird sobald ein signal erkannt
> wird.
Ja.

> Auserdem weiß ich nicht wie ich ein Microfon an den Eingang anschließen
> kann. Ich hab nen spannungsteiler aus Mikro und nem 2,2kWiederstand
> allerdings wird an den Ausgängen nix angezeigt. Ich weiß nicht wo der
> Fehler liegt. Die Restlliche Beschaltung ist wie die im Datenblatt.

Was soll denn in da Mikro rein? Pfeifst Du die DTMF-Töne? ;-)
Für die mindestens 21,8mV mußt Du ziemlich lauft pfeifen...

Mein MT8870 will an der Eingangsbeschaltung bestimmt so 100mV damit er 
reagiert.

Gruß aus Berlin
Michael

Autor: xy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
R/W und so hab ich rausbekommen aber bei Phi2 binn ich am verzweifeln.
Ist das die Leitung die den 8880 die Daten an den Leitungen übernehmen 
lässt?
Was hast du für eine Verstärkerschaltung an deinem 8870? Geht die auch 
für den 8880?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
xy schrieb:
> R/W und so hab ich rausbekommen aber bei Phi2 binn ich am verzweifeln.
> Ist das die Leitung die den 8880 die Daten an den Leitungen übernehmen
> lässt?

Ja, ähnelt dem E-Signal bei den LCD-Displays.
R/W, RS, Daten setzen, Phi2 nach min. 23ns von L auf H, für 110ns auf H 
lassen, beim Lesen Daten holen, auf L setzen.

Diagramme und Tabellen am Ende des Datenblattes.

> Was hast du für eine Verstärkerschaltung an deinem 8870? Geht die auch
> für den 8880?

Keine... Mein 8870 bekam die Signale aus der Tonspur einer DVD, ein AVR 
hat dann damit was ausgelöst und per Relais die Audiosignale vom 8870 
zum Verstärker umgeschaltet. Nach einer vom gelesenen Code bestimmten 
Zeit wurde dann wieder zurückgeschaltet und auf die nächsten Codes 
gewartet.

War irgend so ein Kunstprojekt, wo das mal lief.

Gruß aus Berlin
Michael

Autor: xy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich Daten schreib muss es also immer auf High bleiben oder nur als 
kurzer impuls?

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.