Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK Dual-Tone-Multifrequenz-Generator (DTMF) am AVR. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Telefonie Anderssein
Einführung In diesem Dokument wird beschrieben, wie DTMF-Signale (Dual Tone Multi-Frequency) mit einem beliebigen AVR-Mikrocontroller erzeugt werden, der einen Pulsweitenmodulationsblock (PWM) und SRAM enthält. Diese Signale werden häufig in der Telefonie verwendet, wo sie abgespielt werden, wenn Sie die Wähltasten des Telefonapparats drücken. Um ein DTMF-Signal korrekt zu erzeugen, müssen zwei Frequenzen überlagert werden: eine niedrige Frequenz (fb) und eine hohe Frequenz (fa). Tabelle 1 zeigt, wie verschiedene Frequenzen gemischt werden, um DTMF-Töne zu erzeugen, wenn verschiedene Tasten gedrückt werden.
Tabelle 1. Tonformungsmatrix
Die Zeilen von Tabelle 1 stellen niedrige Frequenzwerte dar und die Spalten zeigen hohe Frequenzwerte. Die Matrix zeigt beispielsweise, dass durch Drücken der Taste „5“ die Frequenzen fb = 770 Hz und fa = 1336 Hz gemischt werden sollen. Durch die Addition zweier Sinussignale unterschiedlicher Frequenz entsteht ein DTMF-Signal (1) wobei das Amplitudenverhältnis K=A istb/Aa Quellsignale müssen die Bedingung erfüllen (2) Arbeitsprinzip Neben allgemeinen Informationen zum Einsatz der Pulsweitenmodulation erfahren Sie im Folgenden, wie Sie mit der Pulsweitenmodulation sinusförmige Signale erzeugen können. Im folgenden Absatz wird beschrieben, wie Sie mithilfe der Basis-PWM-Frequenz unterschiedliche Frequenzen erhalten. Nach Betrachtung der theoretischen Grundlagen erfolgt eine Beschreibung des DTMF-Signalgenerators selbst. Erzeugung sinusförmiger Signale Abhängig vom Verhältnis der Dauer der hohen VH- und niedrigen VL-Spannungspegel ändert sich der Durchschnittswert am PWM-Ausgang. Wird das Verhältnis zwischen den Dauern beider Pegel konstant gehalten, so wird als Ergebnis ein konstanter Spannungspegel VAV erzeugt. Abbildung 2 zeigt ein pulsweitenmoduliertes Signal.
Der Spannungspegel wird bestimmt durch den Ausdruck: (3) Ein sinusförmiges Signal kann erzeugt werden, vorausgesetzt, dass sich der Durchschnittswert der durch die Pulsweitenmodulation erzeugten Spannung in jeder PWM-Periode ändert. Das Verhältnis zwischen High- und Low-Pegel muss entsprechend dem Spannungspegel des Sinussignals zum entsprechenden Zeitpunkt eingestellt werden. Abbildung 3 veranschaulicht diesen Prozess. Die Anfangsdaten für die PWM werden für jede ihrer Perioden berechnet und in der Umrechnungstabelle (TP) aufgezeichnet. Abbildung 3 veranschaulicht auch die Beziehung zwischen der Frequenz der Grundsinuswelle und der Anzahl der Abtastwerte. Je höher die Anzahl der Abtastwerte (Nc), desto höher ist die Modellierungsgenauigkeit des resultierenden Signals: (4)
Die PWM-Frequenz hängt von der PWM-Auflösung ab. Bei einer 8-Bit-Auflösung beträgt der Endwert (Top of Count) des Timers 0xFF (255). Weil Damit der Timer auf- und abzählt, muss dieser Wert verdoppelt werden. Daher kann die PWM-Frequenz durch Teilen des Timer-Takts f berechnet werdenCK um 510. Bei einer Timer-Taktfrequenz von 8 MHz beträgt die resultierende PWM-Frequenz also 15.6 kHz.
Ändern der Frequenz eines Sinussignals Gehen Sie davon aus, dass die sinusförmigen Abtastwerte nicht nacheinander, sondern einzeln aus der Nachschlagetabelle gelesen werden. In diesem Fall wird bei gleicher Abtastrate ein Signal mit doppelter Frequenz erzeugt (siehe Abbildung 4).
Analog dazu, wenn Sie nicht jeden zweiten Wert lesen, sondern jeden dritten, vierten, fünften (jeweils die Schrittweite beträgt 3, 4, 5 ...) usw. Es ist möglich, Nc-Frequenzen im Bereich [1/T Hz .. 0 Hz] zu erzeugen. Beachten Sie, dass die resultierende Wellenform bei hohen Frequenzen nicht sinusförmig ist. Die Schrittweite gemäß Umrechnungstabelle wird mit X bezeichnetSWWo (5) Die Berechnung der aktuellen Position im TP für die nächste PWM-Periode (wenn der Timer überläuft) erfolgt mit Ausdruck (6). Neuer Wert an der X-PositionLUT hängt von seinem vorherigen Zustand an Position X' abLUT mit der Hinzufügung der Schrittweite XSW (6)
Hinzufügen verschiedener Frequenzen, um ein DTMF-Signal zu erhalten Das DTMF-Signal kann mit den Ausdrücken (1) und (2) generiert werden. Zur Vereinfachung arithmetischer Operationen wird der Wert des Koeffizienten K mit 0.75 angenommen, um die arithmetische Operation durch logische Verschiebungen zu ersetzen. Unter Berücksichtigung von Ausdruck (6) kann der aktuelle Wert für die PWM-Steuerung durch den Ausdruck berechnet werden: (7) und unter Berücksichtigung von XLUT=X'LUT + XSW,XLUTb=X'LUTb + XSWb, schreiben wir endlich (8) Implementieren eines DTMF-Generators In diesem Anhang wird der Aufbau eines DTMF-Tongenerators unter Verwendung eines 8-Bit-PWM-Ausgangs (OC1A) und einer Tabelle mit 128 Sinusfunktionsproben (Nc) erläutert, die jeweils durch 7 Bits (n) spezifiziert sind. Die folgenden Ausdrücke zeigen diese Abhängigkeit und zeigen auch, wie die Elemente der Nachschlagetabelle berechnet werden: (9) Der Vorteil der Verwendung von 7 Bit besteht darin, dass die Summe der Hoch- und Niederfrequenzsignalwerte ein Byte groß ist. Um den vollständigen Satz an DTMF-Tönen zu unterstützen, müssen 8 Werte für jede DTMF-Frequenz aus Tabelle 1 berechnet und in eine Umrechnungstabelle eingegeben werden. Um eine höhere Präzision zu erreichen, wurde die folgende Lösung gefunden: Die durch Ausdruck 5 berechneten Werte benötigen nur 5 Bytes. Um alle 8 Bytes zu nutzen und so den Rundungsfehler zu reduzieren, wird dieser Wert mit 8 multipliziert. Ein Zeiger auf die Konvertierungstabelle wird auf die gleiche Weise geschrieben. In diesem Fall sind jedoch zwei Bytes erforderlich, um den 8-fachen Wert zu speichern. Das bedeutet, dass 3 Rechtsverschiebungen und eine Nc-Basis-Modulo-Operation (logische Multiplikation mit Nc-1) durchgeführt werden müssen, bevor diese Bytes als Zeiger auf Sinuswerte in verwendet werden (10)
Das PWM-Signal wird am OC1A (PD5) Pin erzeugt. Ein zusätzlicher Ausgangsfilter hilft dabei, die Sinuswellenform besser anzupassen. Da die PWM-Frequenz abnimmt, kann es notwendig sein, einen Filter mit steilerem Frequenzgang zu verwenden, um ein gutes Ergebnis zu erzielen. Der Anschluss der Tastatur ist in Abbildung 1 dargestellt. Die Bedienung der Tastatur muss so organisiert sein, dass eine Feststellung der gedrückten Taste möglich ist. Dies kann mit dem folgenden Algorithmus erfolgen:
Hinweis: Der STK200 verfügt über Widerstände in Reihe zwischen den PORTB-Anschlussstiften und den Mikrocontroller-Stiften BP5, PB6 und PB7 (siehe STK200-Schaltplan). Dies führt zu Problemen, wenn eine Tastatur an den PORTB-Anschluss angeschlossen ist. Abbildung 6 veranschaulicht die Funktionsweise des Unterprogramms zur Ermittlung der gedrückten Taste. Abhängig von der gedrückten Taste wird die Dauer des Intervalls bestimmt. Die Interrupt-Routine verwendet diesen Wert, um die PWM-Einstellungen für die beiden DTM-Ton-Sinuswellen zu berechnen. Das Verfahren zur Interrupt-Verarbeitung ist in den Abbildungen 7 und 8 dargestellt. Diese Routine berechnet einen Wert, der mit der Timer-Ausgabe für die nächste PWM-Periode verglichen wird. Die Interrupt-Routine berechnet zunächst die Position des nächsten Abtastwertes in der Nachschlagetabelle und liest den dort gespeicherten Wert. Die Position der Probe in der Nachschlagetabelle wird durch die Pulsdauer bestimmt, und die tatsächliche Pulsdauer wird durch die erzeugte Frequenz bestimmt. Der Endwert, der in das Timer-Vergleichsregister geschrieben wird, wird anhand der Formel (7) ermittelt, die die Abtastwerte beider DTMF-Frequenzen berücksichtigt.
Veröffentlichung: cxem.net Siehe andere Artikel Abschnitt Telefonie. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Das höchste astronomische Observatorium der Welt wurde eröffnet
04.05.2024 Steuern von Objekten mithilfe von Luftströmungen
04.05.2024 Reinrassige Hunde werden nicht häufiger krank als reinrassige Hunde
03.05.2024
Weitere interessante Neuigkeiten: ▪ Bewohner von Ländern mit Migranten lächeln häufiger ▪ Schlaf verdoppelt die Gedächtnisleistung ▪ Wi-Fi wird in der Geschwindigkeit verdoppeln ▪ Der Körper verstärkt den Ton News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Abschnitt der Website Audiotechnik. Artikelauswahl ▪ Artikel von Sigismund (Sigmund) Shlomo Freud. Berühmte Aphorismen ▪ Artikel Schneiden von Zähnen auf Leinwänden. Heimwerkstatt ▪ Artikel Quarzoszillator. Enzyklopädie der Funkelektronik und Elektrotechnik ▪ Artikel nepalesische Sprichwörter und Sprüche. Große Auswahl
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |