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


von Kai Schmidt (Gast)


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)....

von Chris (Gast)


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

von Ralf (Gast)


Lesenswert?

Hi,

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

Gruß,

Ralf

von Markus Kaufmann (Gast)


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

von Gerhard Schmidt (Gast)


Angehängte Dateien:

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

von Markus Kaufmann (Gast)


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

von Gerhard Schmidt (Gast)


Lesenswert?

@Markus

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

MfG
Gerd

von Mike (Gast)


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

von xy (Gast)


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.

von Michael U. (amiga)


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

von xy (Gast)


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?

von Michael U. (amiga)


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

von xy (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.