MENÜ English Ukrainian Russisch Startseite

Kostenlose technische Bibliothek für Bastler und Profis Kostenlose technische Bibliothek


ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK
Kostenlose Bibliothek / Schemata von radioelektronischen und elektrischen Geräten

Dual-Tone-Multifrequenz-Generator (DTMF) am AVR. Enzyklopädie der Funkelektronik und Elektrotechnik

Kostenlose technische Bibliothek

Lexikon der Funkelektronik und Elektrotechnik / Telefonie

Kommentare zum Artikel Kommentare zum Artikel

Anderssein

  • Erzeugung sinusförmiger Signale mittels Pulsweitenmodulation (PWM)
  • Kombinieren verschiedener Sinussignale zu einem DTMF-Signal
  • Assembler- und C-Quellcodes
  • Entwickelt, um mit STK500 zu arbeiten
  • Programmcodegröße 260 Byte / Konstante Tabellengröße 128 Byte
  • Verwenden der Tabellenkonvertierungsmethode

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.

Dual Tone Multi-Frequency (DTMF) Generator am AVR. Schema des DTMF-Signalgenerators
Abbildung 1. Diagramm des DTMF-Signalgenerators

Tabelle 1. Tonformungsmatrix

fb/fa 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D

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.

Dual Tone Multi-Frequency (DTMF) Generator am AVR. Gleichspannungspegelerzeugung
Abbildung 2. Erzeugung des Gleichspannungspegels

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)

wo f ist die Frequenz des Sinussignals (1/T)
f1 - PWM-Frequenz (fCK/ 510)
T ist die Periode des sinusförmigen Hauptsignals;
fCK - Taktfrequenz des Timers;
NC - Anzahl der Proben (=12 in Abb. 3)

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.

Dual Tone Multi-Frequency (DTMF) Generator auf AVR
Abbildung 3. Erzeugung eines Sinussignals mittels PWM

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

Dual Tone Multi-Frequency (DTMF) Generator auf AVR
Abbildung 4. Verdoppelung der resultierenden Frequenz (XSW = 2)

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)

wo XLUT - vorherige Position in der Umrechnungstabelle;
X'LUT - aktuelle Position in der Nachschlagetabelle.

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)

wo XLUTa, geb - aktuelle Position des Elements in der Konvertierungstabelle (aktuelles Format);
XLUTa,bExt - die vorherige Position des Elements in der Konvertierungstabelle (erweitertes Format);
ROUND - Rundungsfunktion.

Dual Tone Multi-Frequency (DTMF) Generator am AVR. Moduldiagramm zum Anschluss an STK500
Abbildung 5. Schema des Moduls zum Anschluss an STK500

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:

  1. Ermitteln der Saite der gedrückten Taste
    • Stellen Sie die untere Tetrade von Port B auf den Ausgang und stellen Sie das Protokoll ein. "0"
    • Konfigurieren Sie die High-Tetrade von Port B mit dem Anschluss von Pull-Up-Widerständen zum Eingang
    • Die Zeile mit der gedrückten Taste wird als Ziffer der höchsten Tetrade mit einem Protokoll definiert. „0“
  2. Ermitteln der Spalte für gedrückte Tasten
    • Konfigurieren Sie die Senior-Tetrade von Port B für den Ausgang und setzen Sie das Protokoll. "0"
    • Stellen Sie die untere Tetrade von Port B auf den Eingang mit der Verbindung von Pull-up-Widerständen
    • Die Spalte mit der gedrückten Taste wird als Ziffer der niedrigsten Tetrade mit einem Protokoll definiert. „0“

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.

Dual Tone Multi-Frequency (DTMF) Generator am AVR. Flussdiagramm des Hauptprogramms
Abbildung 6. Blockdiagramm des Hauptprogramms

Dual Tone Multi-Frequency (DTMF) Generator am AVR. Ablaufdiagramm für die Timer-Überlauf-Interrupt-Verarbeitung
Abbildung 7. Flussdiagramm für die Verarbeitung von Timer-Überlauf-Interrupts

Dual Tone Multi-Frequency (DTMF) Generator am AVR. Ablaufdiagramm des Probenleseverfahrens „GetSample“.
Abbildung 8. Flussdiagramm des Beispielleseverfahrens „GetSample“.

Veröffentlichung: cxem.net

Siehe andere Artikel Abschnitt Telefonie.

Lesen und Schreiben nützlich Kommentare zu diesem Artikel.

<< Zurück

Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik:

Das höchste astronomische Observatorium der Welt wurde eröffnet 04.05.2024

Die Erforschung des Weltraums und seiner Geheimnisse ist eine Aufgabe, die die Aufmerksamkeit von Astronomen aus aller Welt auf sich zieht. In der frischen Luft der hohen Berge, fernab der Lichtverschmutzung der Städte, enthüllen die Sterne und Planeten ihre Geheimnisse mit größerer Klarheit. Mit der Eröffnung des höchsten astronomischen Observatoriums der Welt – dem Atacama-Observatorium der Universität Tokio – wird eine neue Seite in der Geschichte der Astronomie aufgeschlagen. Das Atacama-Observatorium auf einer Höhe von 5640 Metern über dem Meeresspiegel eröffnet Astronomen neue Möglichkeiten bei der Erforschung des Weltraums. Dieser Standort ist zum höchstgelegenen Standort für ein bodengestütztes Teleskop geworden und bietet Forschern ein einzigartiges Werkzeug zur Untersuchung von Infrarotwellen im Universum. Obwohl der Standort in großer Höhe für einen klareren Himmel und weniger Störungen durch die Atmosphäre sorgt, stellt der Bau eines Observatoriums auf einem hohen Berg enorme Schwierigkeiten und Herausforderungen dar. Doch trotz der Schwierigkeiten eröffnet das neue Observatorium den Astronomen vielfältige Forschungsperspektiven. ... >>

Steuern von Objekten mithilfe von Luftströmungen 04.05.2024

Die Entwicklung der Robotik eröffnet uns immer wieder neue Perspektiven im Bereich der Automatisierung und Steuerung verschiedener Objekte. Kürzlich präsentierten finnische Wissenschaftler einen innovativen Ansatz zur Steuerung humanoider Roboter mithilfe von Luftströmungen. Diese Methode verspricht, die Art und Weise, wie Objekte manipuliert werden, zu revolutionieren und neue Horizonte auf dem Gebiet der Robotik zu eröffnen. Die Idee, Objekte mithilfe von Luftströmungen zu steuern, ist nicht neu, doch die Umsetzung solcher Konzepte blieb bis vor Kurzem eine Herausforderung. Finnische Forscher haben eine innovative Methode entwickelt, die es Robotern ermöglicht, Objekte mithilfe spezieller Luftdüsen als „Luftfinger“ zu manipulieren. Der von einem Spezialistenteam entwickelte Algorithmus zur Luftstromregelung basiert auf einer gründlichen Untersuchung der Bewegung von Objekten im Luftstrom. Das Luftstrahl-Steuerungssystem, das mit speziellen Motoren ausgeführt wird, ermöglicht es Ihnen, Objekte zu lenken, ohne auf körperliche Anstrengung zurückgreifen zu müssen ... >>

Reinrassige Hunde werden nicht häufiger krank als reinrassige Hunde 03.05.2024

Die Sorge um die Gesundheit unserer Haustiere ist ein wichtiger Aspekt im Leben eines jeden Hundebesitzers. Allerdings wird allgemein davon ausgegangen, dass reinrassige Hunde im Vergleich zu Mischlingshunden anfälliger für Krankheiten sind. Neue Forschungsergebnisse unter der Leitung von Forschern der Texas School of Veterinary Medicine and Biomedical Sciences eröffnen eine neue Perspektive auf diese Frage. Eine vom Dog Aging Project (DAP) durchgeführte Studie mit mehr als 27 Begleithunden ergab, dass reinrassige und gemischte Hunde im Allgemeinen gleich häufig an verschiedenen Krankheiten leiden. Obwohl einige Rassen möglicherweise anfälliger für bestimmte Krankheiten sind, ist die Gesamtdiagnoserate in beiden Gruppen praktisch gleich. Der Cheftierarzt des Dog Aging Project, Dr. Keith Creevy, stellt fest, dass es mehrere bekannte Krankheiten gibt, die bei bestimmten Hunderassen häufiger auftreten, was die Annahme stützt, dass reinrassige Hunde anfälliger für Krankheiten sind. ... >>

Zufällige Neuigkeiten aus dem Archiv

Low-Dropout-Spannungsregler (0,4 V) 29.01.2006

INTERNATIONAL RECTIFIER, der weltweit führende Anbieter von Leistungselektronik, hat die Einführung einer neuen Reihe von Spannungsreglern mit niedrigem Dropout (0,4 V) mit fester Spannung oder einstellbarer Spannung angekündigt.

Eine Reihe von Reglern ist in der Tabelle dargestellt. Eine Besonderheit der Serie ist die Strahlungsbeständigkeit.

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

▪ Smart-Projektor Partaker M3

▪ 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 Wie war ein einfacher Kaufmann mit dem Beginn und dem Ende des amerikanischen Bürgerkriegs verbunden? Ausführliche Antwort

▪ 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:

Name:


E-Mail optional):


Kommentar:





Alle Sprachen dieser Seite

Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen

www.diagramm.com.ua

www.diagramm.com.ua
2000-2024