Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Generatore Dual Tone Multi-Frequency (DTMF) sull'AVR. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / telefonia

Commenti sull'articolo Commenti sull'articolo

Alterità

  • Generazione di segnali sinusoidali mediante modulazione di larghezza di impulso (PWM)
  • Combinando vari segnali sinusoidali in un segnale DTMF
  • Codici sorgente di assemblaggio e C
  • Progettato per funzionare con STK500
  • Dimensione codice programma 260 byte / Dimensione tabella costante 128 byte
  • Utilizzando il metodo di conversione delle tabelle

Introduzione

Questo documento descrive come generare segnali DTMF (Dual Tone Multi-Frequency) utilizzando qualsiasi microcontrollore AVR contenente un blocco PWM (Pulse Width Modulation) e SRAM. Questi segnali sono ampiamente utilizzati nella telefonia, dove vengono riprodotti quando si premono i pulsanti di composizione del telefono. Per generare correttamente un segnale DTMF è necessario sovrapporre insieme due frequenze: una bassa frequenza (fb) e una alta frequenza (fa). La tabella 1 mostra come le diverse frequenze vengono mescolate per produrre toni DTMF quando vengono premuti tasti diversi.

Generatore multifrequenza a doppio tono (DTMF) sull'AVR. Schema del generatore di segnali DTMF
Figura 1. Schema di un generatore di segnali DTMF

Tabella 1. Matrice di modellatura del tono

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

Le righe della Tabella 1 rappresentano i valori a bassa frequenza e le colonne mostrano i valori ad alta frequenza. Ad esempio, la matrice mostra che premendo il pulsante "5" dovrebbero mescolare le frequenze fb = 770 Hz e fa = 1336 Hz. Come risultato dell'aggiunta di due segnali sinusoidali di frequenze diverse, si forma un segnale DTMF

(1)

dove il rapporto di ampiezza K=Ab/Aa i segnali sorgente devono soddisfare la condizione

(2)

Il principio di funzionamento

Oltre alle informazioni generali sull'uso della modulazione di larghezza di impulso, di seguito verrà mostrato come la modulazione di larghezza di impulso consente di generare segnali sinusoidali. Il paragrafo seguente descrive come ottenere frequenze diverse utilizzando la frequenza base PWM. Dopo aver considerato i fondamenti teorici, verrà fornita una descrizione del generatore di segnali DTMF stesso. Generazione di segnali sinusoidali

A seconda del rapporto tra la durata dei livelli di tensione VH alto e VL basso, il valore medio all'uscita PWM cambia. Se il rapporto tra le durate di entrambi i livelli viene mantenuto costante, come risultato verrà generato un livello di tensione costante VAV. La Figura 2 mostra un segnale modulato in larghezza di impulso.

Generatore multifrequenza a doppio tono (DTMF) sull'AVR. Generazione del livello di tensione CC
Figura 2. Generazione del livello di tensione CC

Il livello di tensione è determinato dall'espressione:

(3)

È possibile generare un segnale sinusoidale a condizione che il valore medio della tensione generata dalla modulazione dell'ampiezza dell'impulso cambi ogni periodo PWM. Il rapporto tra i livelli alto e basso deve essere impostato in base al livello di tensione del segnale sinusoidale all'istante corrispondente. La Figura 3 illustra questo processo. I dati iniziali per PWM sono calcolati per ciascuno dei suoi periodi e registrati nella tabella di conversione (TP).

La Figura 3 illustra anche la relazione tra la frequenza dell'onda sinusoidale fondamentale e il numero di campioni. Maggiore è il numero di campioni (Nc), maggiore è la precisione di modellazione del segnale risultante:

(4)

dove f è la frequenza del segnale sinusoidale (1/T)
f1 - Frequenza PWM (fCK/ 510)
T è il periodo del segnale sinusoidale principale;
fCK - frequenza di clock del timer;
NC - numero di campioni (=12 in Fig. 3)

La frequenza PWM dipende dalla risoluzione PWM. Con una risoluzione a 8 bit, il valore finale (parte superiore del conteggio) del timer è 0xFF (255). Perché il timer conta in avanti e indietro, questo valore deve essere raddoppiato. Pertanto, la frequenza PWM può essere calcolata dividendo l'orologio del timer fCK di 510. Pertanto, con una frequenza di clock del timer di 8 MHz, la frequenza PWM risultante sarà di 15.6 kHz.

Generatore Dual Tone Multi-Frequency (DTMF) su AVR
Figura 3. Generazione di un segnale sinusoidale tramite PWM

Modifica della frequenza di un segnale sinusoidale

Supponiamo che i campioni sinusoidali vengano letti dalla tabella di ricerca non in sequenza, ma uno alla volta. In questo caso, alla stessa frequenza di campionamento, verrà generato un segnale con doppia frequenza (vedi Figura 4).

Generatore Dual Tone Multi-Frequency (DTMF) su AVR
Figura 4. Raddoppiare la frequenza risultante (XSW = 2)

Per analogia, se leggi non ogni secondo valore, ma ogni terzo, quarto, quinto (rispettivamente, la larghezza del passo è 3, 4, 5 ...), ecc. è possibile generare frequenze Nc nell'intervallo [1/T Hz .. 0 Hz]. Si noti che per le alte frequenze la forma d'onda risultante non sarà sinusoidale. La larghezza del passo secondo la tabella di conversione è indicata come XSWDove

(5)

Il calcolo della posizione corrente nel TP per il successivo periodo PWM (quando il timer va in overflow) viene eseguito utilizzando l'espressione (6). Nuovo valore alla posizione XLUT dipende dal suo stato precedente alla posizione X'LUT con l'aggiunta della larghezza del gradino XSW

(6)

dove XLUT - posizione precedente nella tabella di conversione;
X'LUT - posizione corrente nella tabella di ricerca.

Aggiunta di frequenze diverse per ottenere un segnale DTMF

Il segnale DTMF può essere generato utilizzando le espressioni (1) e (2). Per semplicità delle operazioni aritmetiche, il valore del coefficiente K è preso pari a 0.75 per sostituire l'operazione aritmetica con spostamenti logici. Tenendo conto dell'espressione (6), il valore corrente per il controllo PWM può essere calcolato dall'espressione:

(7)

e tenendo conto che XLUTa=X'LUTa + XSWa,XLUTb=X'LUTb + XSWb, finalmente scriviamo

(8)

Implementazione di un generatore DTMF

Questa appendice illustra come costruire un generatore di toni DTMF utilizzando un'uscita PWM a 8 bit (OC1A) e una tabella di 128 campioni di funzione seno (Nc), ciascuno specificato da 7 bit (n). Le seguenti espressioni mostrano questa dipendenza e mostrano anche come calcolare gli elementi della tabella di ricerca:

(9)

Il vantaggio dell'utilizzo di 7 bit è che la somma dei valori del segnale ad alta e bassa frequenza è di un byte. Per supportare il set completo di toni DTMF, è necessario calcolare 8 valori per ciascuna frequenza DTMF dalla Tabella 1 e inserirli in una tabella di conversione.

Per ottenere una maggiore precisione è stata adottata la seguente soluzione: i valori calcolati dall'espressione 5 richiedono solo 5 byte. Per utilizzare tutti gli 8 byte, che ridurranno l'errore di arrotondamento, questo valore viene moltiplicato per 8. Allo stesso modo viene scritto un puntatore alla tabella di conversione. Ma in questo caso, sono necessari due byte per memorizzare 8 volte il valore. Ciò significa che devono essere eseguiti 3 spostamenti a destra e un'operazione modulo base Nc (moltiplicazione logica per Nc-1) prima di utilizzare questi byte come puntatore a valori sinusoidali in

(10)

dove XLUTa, b - posizione corrente dell'elemento nella tabella di conversione (formato effettivo);
XLUTa,bEst - la precedente posizione dell'elemento nella tabella di conversione (formato esteso);
ROUND - funzione di arrotondamento.

Generatore multifrequenza a doppio tono (DTMF) sull'AVR. Schema modulo per collegamento a STK500
Figura 5. Schema del modulo per il collegamento a STK500

Il segnale PWM viene generato sul pin OC1A (PD5). Un filtro di uscita aggiuntivo contribuirà ad abbinare meglio la forma d'onda sinusoidale. Al diminuire della frequenza PWM, potrebbe essere necessario utilizzare un filtro con una risposta in frequenza più ripida per ottenere un buon risultato.

Il collegamento della tastiera è mostrato in Figura 1. Il funzionamento della tastiera deve essere organizzato in modo tale che sia possibile determinare il tasto premuto. Questo può essere fatto utilizzando il seguente algoritmo:

  1. Determinazione della stringa del tasto premuto
    • impostare la tetrade inferiore della porta B sull'uscita e impostare il registro. "0"
    • configurare la tetrade alta della porta B all'ingresso con il collegamento di resistenze di pull-up
    • la linea con il pulsante premuto è definita come la cifra della tetrade più alta con un logaritmo. "0"
  2. Determinazione della colonna tasto premuto
    • configurare la tetrade senior della porta B sull'output e impostare il registro. "0"
    • impostare la tetrade inferiore della porta B all'ingresso con il collegamento delle resistenze di pull-up
    • la colonna con il pulsante premuto è definita come la cifra della tetrade più bassa con logaritmo. "0"

Nota: l'STK200 dispone di resistori in serie tra i pin del connettore PORTB e i pin del microcontrollore BP5, PB6 e PB7 (vedere lo schema dell'STK200). Ciò causerà problemi se una tastiera è collegata al connettore PORTB.

La figura 6 illustra il funzionamento della subroutine per la determinazione del tasto premuto. A seconda del tasto premuto, viene determinata la durata dell'intervallo. La routine di interrupt utilizza questo valore per calcolare le impostazioni PWM per le due onde sinusoidali del tono DTM. La procedura di gestione degli interrupt è illustrata nelle figure 7 e 8.

Questa routine calcola un valore da confrontare con l'uscita del timer per il successivo periodo PWM. La routine di interrupt calcola prima la posizione del valore campione successivo nella tabella di ricerca e legge il valore memorizzato lì.

La posizione del campione nella tabella di ricerca è determinata dalla durata dell'impulso e la durata effettiva dell'impulso è determinata dalla frequenza generata.

Il valore finale, che viene scritto nel registro di confronto del timer, viene determinato utilizzando la formula (7), che tiene conto dei valori campione di entrambe le frequenze DTMF.

Generatore multifrequenza a doppio tono (DTMF) sull'AVR. Diagramma di flusso del programma principale
Figura 6. Schema a blocchi del programma principale

Generatore multifrequenza a doppio tono (DTMF) sull'AVR. Diagramma di flusso dell'elaborazione dell'interruzione dell'overflow del timer
Figura 7. Diagramma di flusso dell'elaborazione degli interrupt di overflow del timer

Generatore multifrequenza a doppio tono (DTMF) sull'AVR. Diagramma di flusso della procedura di lettura del campione "GetSample".
Figura 8. Diagramma di flusso della procedura di lettura del campione "GetSample".

Pubblicazione: cxem.net

Vedi altri articoli sezione telefonia.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Pelle artificiale per l'emulazione del tocco 15.04.2024

In un mondo tecnologico moderno in cui la distanza sta diventando sempre più comune, mantenere la connessione e un senso di vicinanza è importante. I recenti sviluppi nella pelle artificiale da parte di scienziati tedeschi dell’Università del Saarland rappresentano una nuova era nelle interazioni virtuali. Ricercatori tedeschi dell'Università del Saarland hanno sviluppato pellicole ultrasottili in grado di trasmettere la sensazione del tatto a distanza. Questa tecnologia all’avanguardia offre nuove opportunità di comunicazione virtuale, soprattutto per coloro che si trovano lontani dai propri cari. Le pellicole ultrasottili sviluppate dai ricercatori, spesse appena 50 micrometri, possono essere integrate nei tessuti e indossate come una seconda pelle. Queste pellicole funzionano come sensori che riconoscono i segnali tattili di mamma o papà e come attuatori che trasmettono questi movimenti al bambino. Il tocco dei genitori sul tessuto attiva i sensori che reagiscono alla pressione e deformano la pellicola ultrasottile. Questo ... >>

Lettiera per gatti Petgugu Global 15.04.2024

Prendersi cura degli animali domestici può spesso essere una sfida, soprattutto quando si tratta di mantenere pulita la casa. È stata presentata una nuova interessante soluzione della startup Petgugu Global, che semplificherà la vita ai proprietari di gatti e li aiuterà a mantenere la loro casa perfettamente pulita e in ordine. La startup Petgugu Global ha presentato una toilette per gatti unica nel suo genere in grado di scaricare automaticamente le feci, mantenendo la casa pulita e fresca. Questo dispositivo innovativo è dotato di vari sensori intelligenti che monitorano l'attività della toilette del tuo animale domestico e si attivano per pulirlo automaticamente dopo l'uso. Il dispositivo si collega alla rete fognaria e garantisce un'efficiente rimozione dei rifiuti senza necessità di intervento da parte del proprietario. Inoltre, la toilette ha una grande capacità di stoccaggio degli scarichi, che la rende ideale per le famiglie con più gatti. La ciotola per lettiera per gatti Petgugu è progettata per l'uso con lettiere idrosolubili e offre una gamma di accessori aggiuntivi ... >>

L'attrattiva degli uomini premurosi 14.04.2024

Lo stereotipo secondo cui le donne preferiscono i "cattivi ragazzi" è diffuso da tempo. Tuttavia, una recente ricerca condotta da scienziati britannici della Monash University offre una nuova prospettiva su questo tema. Hanno esaminato il modo in cui le donne hanno risposto alla responsabilità emotiva degli uomini e alla volontà di aiutare gli altri. I risultati dello studio potrebbero cambiare la nostra comprensione di ciò che rende gli uomini attraenti per le donne. Uno studio condotto da scienziati della Monash University porta a nuove scoperte sull'attrattiva degli uomini nei confronti delle donne. Nell'esperimento, alle donne sono state mostrate fotografie di uomini con brevi storie sul loro comportamento in varie situazioni, inclusa la loro reazione all'incontro con un senzatetto. Alcuni uomini hanno ignorato il senzatetto, mentre altri lo hanno aiutato, ad esempio comprandogli del cibo. Uno studio ha scoperto che gli uomini che mostravano empatia e gentilezza erano più attraenti per le donne rispetto agli uomini che mostravano empatia e gentilezza. ... >>

Notizie casuali dall'Archivio

Colla magnetica 10.03.2007

I chimici tedeschi hanno creato una colla le cui proprietà sono soggette a un campo magnetico.

In una soluzione colloidale di biossido di silicio (vetro liquido, normale colla per ufficio), hanno mescolato ossido di ferro polveroso. Le parti da incollare vengono esposte a un campo magnetico alternato ad alta frequenza, le particelle di ossido di ferro vengono riscaldate e la colla si indurisce immediatamente.

Se la connessione deve essere incollata, è soggetta allo stesso, ma più potente, campo magnetico alternato, la colla è molto calda e la connessione si rompe.

L'unico inconveniente del nuovo adesivo è che non è adatto per materiali elettricamente conduttivi.

Altre notizie interessanti:

▪ Ago trovato in Groenlandia

▪ Adesivo regolabile

▪ Giove devia le comete e invia asteroidi sulla Terra

▪ Fotocamera Pentax Q

▪ Pannelli solari per FlixBus

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito Amplificatori di potenza. Selezione dell'articolo

▪ articolo Malattie veneree. Fondamenti di una vita sicura

▪ articolo Cosa c'è nell'area degli Stati Uniti, il cui prefisso è 321? Risposta dettagliata

▪ articolo Specialista in attività economiche estere. Descrizione del lavoro

▪ articolo Regolatore di temperatura su un tiristore. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ Articolo Optoaccoppiatori. Parte 2. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:





Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024