DTMF-Ton-Auswertung mit Atmel

Gast #48037
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
Gast #48038
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
Angehängte Dateien:
Gast #48039
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
Gast #1601773
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.
#1602129
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
Gast #1608525
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?
#1608553
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

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