fritzler-avr.de
DTMF

Mit einer Fritzbox funktioniert auch ein altes W48 Wählscheibentelefon an ISDN. Jedoch kann man so nur raustelefonieren, für die Nebenstellfunktionen wie weiterleiten oder Anrufe übernehmen wird dann doch DTMF benötigt (oder schonmal ne Wälscheibe mit nem Stern gesehen?).

Daher musste ein Gerät her, welches DTMF Töne erzeugt und in die a/b Leitung einspeist. Ein wenig Komfort muss auch dabei sein, deshalb muss man nicht selber "*09" wählen um einen Anruf zu übernehmen.
Werden nur 2 Ziffern gedrückt, handelt es sich um eine Komfortfunktion, zB. "11" zum Anruf übernehmen. Oder "73" um Nebenstelle 1 anzurufen.
1, 4, 7 bilden die Hauptfunktionen (holen, weiterleiten, anrufen)
3, 6, 9, # sind die 4 Nebenstellen auf denen die Funktion ausgeführt wird
2, 5, 8, 0 sind die Anrufbeantworter der 4 Nebenstellen und können nur angerufen werden

Von Atmel selbst gibt es eine Appnote wie mithilfe eines AVR DTMF Töne erzeugt werden können, darauf baut das Projekt auf. (Appnote) Der Atmelcode erzeugt aber aus dem Tastendruck direkt den Ton, bei diesem Projekt soll aber erst untersucht werden ob es sich um eine Komfortfunktion handelt. Daher werden die Tasteneingaben erst zu einem String concateniert, auf Komfortfunktion untersucht und dann erst wird gewählt.

Die Erzeugung des Tones ist ziemlich simpel. Ein Timer läuft im Phase PWM und die Überlauf ISR holt sich immer den nächsten Wert aus einer Sinustabelle. Dieser Sinus hätte 245Hz bei 16Mhz Systemtakt (16MHz/510Zählschritte/128Samples). Daher werden je nach gewünschter Frequenz Samples übersprungen um diese zu erhalten. Da DTMF pro Ziffer aus 2 Tönen besteht, werden 2 voneinander getrennte Schwingungen generiert und addiert.
Für genauere Infos ins Appnote gucken oder mich kontaktieren.

Der Ton wird per PWM erzeugt, daher wird der 3 stufige Tiefpass aus R1-3 und C1-3 benötigt um die PWM Grundfrequenz zu filtern. Es müssen 3 Stufen sein, sonst stört die Grundfrequenz von 31kHz die DTMF Erkennung. C4/5 entkoppeln die Offsetspannung vom Übertrager, der den Ton in die a/b Leitung einspeist. Der Übertrager ist in Reihe mit dem Telefon damit nicht dauernd Schleifenstrom fließt und das Relais als R Taste fungieren kann. D1/2 schließen die Klingelspannung an der Sekundärseite des Übertragers kurz, damit der AVR nicht gegrillt wird.

Im Schaltplan ist schon eine Nulldurchgangserkennung zur Rufnummernanzeige (CLIP) vorhanden, allerdings noch nicht in der Software vorgesehen.

Datenblatt Mega8
Datenblatt Übertrager
Datenblatt 7805
Download Appnote
Download Firmware
Download Schaltplan/Layout

Nicht vergessen den EEPROM Inhalt zu übertragen!

Home

Kontakt - Haftungsausschluss - Impressum