You are on page 1of 18

Arquitectura de Sistemas

Arquitectura de Sistemas

Ingeniería en Sistemas Computacionales


7mo Cuatrimestre

Universidad Latino

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Arquitectura de Sistemas

Decodificador Telefónico (DTMF)

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Decodificador Telefónico.

DTMF: Dual Tone Multi Frecuency // Multi Frecuencia de Doble Tono.

DataSheet del MT8870:

Material para armar el MT8870.


Dual Tone Multi Frecuency
Arquitectura de Sistemas

• Chip MC8870.
• 1 Cristal de 3.57 MHz.
• Resistencias: 2 de 120Kohms, 4 de 330Kohms y 1 de 390Kohms.
• 2 Capacitor de .1uF
• 1 Protoboard.
• 1 teléfono.
• 2 cables listos RJ11 (cable de teléfono).
• 1 contacto de multi señal telefónica.
• 4 Leds.

Ahora, nos guiaremos del siguiente diagrama para armar nuestro circuito
DTMF.

Q1 a la Q4 no olvidemos que son


las salidas, en el cual le
meteremos Leds para representar
en binario la señal del teclado del
teléfono, tampoco olvidemos que
las resistencias de 330Kohms
acompañan a los Leds.

StD o el Pin 15, es una de las


entradas del teléfono, como
también el Audio In, que son los
pins 2 y 3.

C1, C2 = Capacitor de 1.uF.


R1, R2 y R3= resistencias.
X-Tal= Cristal de 3.57 Mhz.

Dual Tone Multi Frecuency


Arquitectura de Sistemas

El Microchip MT8870, es el Decodificador DTMF, su labor es convertir la


doble señal de tonos que emite el teclado del teléfono, ya que el teléfono
maneja frecuencias de 697 a 1633 MHz, entonces, el DTMF se basa en ese
rango, ya que cada tecla del teléfono emite una cierta doble señal de
frecuencia lo que determina que tecla es la que fue presionada, una vez que el
DTMF lo capture lo interpreta en 2 partes: Fila y Columna como se muestra en
la siguiente imagen.

Ésta tabla, representa como el DTMF


reconoce cada tecla por medio de
coordenadas, según la tecla que se presione
en el teléfono se emite la señal al DTMF, lo
que este comienza a decodificarlo y genera el
resultado de forma binaria, lo que así
representan sus pines 11, 12, 13, y 14. (Q1,
Q2, Q3 y Q4).

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Podemos observar en la imagen el Circuito Ya armado, aunque algo


desordenado, pero por ahora solo queremos ver la funcionalidad del circuito,
más tarde le daremos un retoque.

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Podemos observar las salidas de los Leds los Qs, los Capacitores de .1uF que
son la spastillas rojas, el cristal de color plata, el microchip MT8870.

Pero bueno, aquí podemos observar una mejor presentación que la anterior,
aquí solo le cambiamos a Leds Azules, ya que es un color muy bonito, jejeje, en
fin, no le prestemos atención alos otros cables naranjas que además de dar
salida a los Leds se lanzan a las entradas del microchip: PIC16f877A, quien es
el que nos permitirá unir otros componentes para poder convertir la señal
binaria del MT8870 e interpretarla por medio de la PC, sin tener que ver la
representación binario si no el número real. Pero eso no nos importa por ahora.

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Las siguientes imágenes muestras como el circuito reconoce de forma binaria


cada tecla del teléfono, observemos:

Tecla 1 Tecla 2

Tecla 3 Tecla 4

Tecla 5 Tecla6

Tecla 7 Tecla 8

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Tecla 9.

Tomemos en cuenta que para que esto funcione debemos tener una señal de
teléfono, es decir una línea, ya que sin este no podríamos poner a prueba el
funcionamiento microchip.

Para ve el video, visite: http://www.youtube.com/watch?v=klKra0ZMMDk

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Detector de timbrado y descolgado

Este circuito de colgado y descolgado su labor es detectar cuando el teléfono


está colgado o descolgado, dicha operación arroja una señal o un cambio de
voltaje, el teléfono maneja un voltaje de 48vlts, lo que necesitaremos será
hacer un puente de diodos para poder tener un voltaje de referencia fija , lo
que nos permitirá polarizar el transistor BC548, el transistor nos proporcionara
dar una salida de uno lógico o lo que es equivalente a 5vlts.

Es decir cuando el teléfono está colgado nos arroja un o lógico, es decir


nuestra terminal o en este caso nuestro Led no se encenderá, a partir de que
descolguemos recibiremos el 1 lógico.

Para elaborar este circuito necesitamos:

• Un puente de diodos 2w005M.


• Un led.
• 3 recistencias de, 1 de 100kohms, 1 de 330 kohms, 1 de 2.2 kohms.
• Un transistor BC548.
• Un Protoboard.

Ahora observemos los datasheet del transistor BC548.

Dual Tone Multi Frecuency


Arquitectura de Sistemas

En el siguiente diagrama observaremos como se deben conectar las partes.

Detector de colgado y descogado.

Ahora observemos las imágenes:

Diagrama de colgado y
descolgado finalizado.

En estas imágenes podemos ver que el resultado fue inverso, ya que cometí el
error de conectar al revés el led, basta con invertir la polaridad.

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Decodificación de Tonos y envió por el Puerto Serial


con PIC16F877A

Descripción: Programación de la captura de las señales captadas por


el decodificado de tonos del teléfono, lo que hace es esperar siempre la
entrada de tonos para poderlos mandar por el puerto serial.

El Programa está hecho con el compilador Proton IDE y la Simulación


del circuito esta hecha con Proteus como muestra las siguientes imágenes.

Figura 1.- Entorno de Proton donde se muestra parte del programa

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Figura 2 Simulacion en Proteus donde se muestra los componentes

Componestes utilizados en la simulación:


Cristal de 4mhz Capacitores Resistencias
Circuito max232 PIC16F877A
Puerto COM Botones
Los Botones sirvieron para simular la entrada de las señales de entrada
de los tonos de teclado.
Para simular el puerto serial se mostro el siguiente Programa Virtual
Serial Port Driver, Como muestra en la siguiente imagen

Donde muestra dos puertos emulados como muestra en la siguiente Imagen


Dual Tone Multi Frecuency
Arquitectura de Sistemas

Muestra de Funcionamiento

Imagen donde se muestra el simulamiento del chip donde se muestra la


terminal proporcionada por el proteus, se dará click en los botones para
demostrar la decodificación y envió de datos al puerto serial.
Dual Tone Multi Frecuency
Arquitectura de Sistemas

En la terminal se muestra el vio de datos por el puerto serial después del


pulsado de los botones para simular la salida del DTMF

Datos Recibidos en el puerto virtual

Programa Hecho en Proton

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Device = 16F877A ' Define el microcontrolador utilizado


ALL_DIGITAL = True ' Define todod los puertos como digitales
XTAL = 4 ' Define la velocidad del resonador

SERIAL_BAUD = 9600 'Configuracion de velocidad del puerton


serial
RSOUT_PIN = PORTC.6 'Configuracion de Salida del Serial
RSOUT_MODE = true
RSOUT_PACE = 1
RSIN_PIN = PORTC.7
RSIN_MODE = TRUE

HSERIAL_BAUD = 9600
HSERIAL_RCSTA = %10010000
HSERIAL_TXSTA = %00100100
HSERIAL_CLEAR = On
'---------Configuracion de Puertos---------
TRISB = %11111111 'Poner el Puerto b como entrada
TRISC = %00000000 'Poner el puerto c como salida
Dim DMF As Byte 'Variable De Entrada del DTMF
Dim Ent1 As PORTB.0 'Entrada del puerto c 0
Dim Ent2 As PORTB.1 'Entrada del puerto c 1
Dim Ent3 As PORTB.2 'Entrada del puerto c 2
Dim Ent4 As PORTB.3 'Entrada del puerto c 3
Dim Dat As Byte 'Variable Temporal para enviar los datos
'--------Iniciar los Puertos-----------------
PORTB = 0
Ent1 = 0
Ent2 = 0
Ent3= 0
Ent4 = 0
DMF = 0
'----------Inicio del Programa
Inicio: 'Funcion de Inicio y Principal que espera siempre la entrada de
lo DTMF
If Ent1 == 1 Or Ent2 == 1 Or Ent3 == 1 Or Ent4 == 1 Then 'Condicion
que espera la entrada en algun puerto
DelayMS 185 'Al entrar espera 185 milesundos para evitar el
rebote
GoTo Procesar 'Enviar ala siguiente Funcion
EndIf
GoTo Inicio 'Regreso recursivo para espera el pulso a decodificar
End
Procesar: 'Funcion que procesa los datos de entrada
'Se ponen varios if que lo que hace es espera una o varias entradas en
el puerto b para sumarlas
'y luego enviarla ala siguiente funcion de envio
If Ent1 == 1 Then
DMF = DMF + 1
EndIf
If Ent2 == 1 Then
DMF = DMF + 2
EndIf
If Ent3 == 1 Then
DMF = DMF + 4
EndIf
If Ent4 == 1 Then
Dual Tone Multi Frecuency
Arquitectura de Sistemas

DMF = DMF + 8
EndIf
Dat = Dat + DMF 'Usar la variable temporar para enviar los datos
DMF = 0 'regresa la sumadora a 0 para esperar otros valores
GoTo Enviar 'Manda ala funcion de envio de datos
End
Enviar: 'Funcion de envio
'Lo que hace es enviar los datos por el puerto serial y luego regresar
los valores a 0
'y regresa al inicio de la funcion pricipal para espera el siguiente
numero
HSerOut ["Boton Pulsado = ",Dec Dat,$0A,$0D] 'Funcion para envio
serial que el DEC es una especificacion
'Para el envio de Decimales y $0A,$0D es un salto de linea
Dat = 0
GoTo Inicio
End

Dual Tone Multi Frecuency


Arquitectura de Sistemas

Arquitectura de Sistemas

Ingeniería en Sistemas Computacionales


7mo Cuatrimestre

Universidad Latino

Elaboró:

• P.T.I. José Rodolfo Baas Baas

• Jesús Ricardo Echeverría Aké

• Mario Enrique Rodríguez Lara

Maestro:

• I.A.S. Mario Armando Alonso Bustamante

10 de Diciembre 2009.

Dual Tone Multi Frecuency

You might also like