Segundo Congreso Virtual, Microcontroladores y sus Aplicaciones

Control de dispositivos mediante DTMF
Autor: Gaspar Daniel Gómez País: Argentina Correo-e: gaspargomez975@hotmail.com Abstract. Planteada la necesidad de controlar dispositivos eléctricos tanto de manera local como remota, se propone la investigación del sistema de marcación por tonos, utilizado en el sistema telefónico estándar como medio de comunicación entre el usuario y el equipo final. Utilizando el circuito integrado CM8870 para decodificar dichos tonos y el microcontrolador MC68HC908 derivativo QB8, para el control y procesamiento de señales. Se intenta realizar un dispositivo capaz de controlar la activación y desactivación de cargas eléctricas y electrónicas, contestar automáticamente una llamada entrante e interpretar los comandos introducidos por el usuario mediante funciones implementadas por software.-

1. Que significa DTMF?
En telefonía, el sistema de marcación por tonos, también llamado sistema multifrecuencial o DTMF (Dual-Tone Multi-Frequency), consiste en el envío de dos tonos de frecuencias diferentes que identifican cada tecla pulsada en un teléfono. De esta manera se sustituye el disco de marcado de los teléfonos más antiguos, obteniéndose a la vez varias ventajas adicionales como por ejemplo mayor velocidad de marcado. Los tonos que el usuario oye cuando presiona una tecla de su teléfono, están compuestos por dos frecuencias como se indica en la tabla 1.Las frecuencias ubicadas en la primera fila se conocen como frecuencias de rango alto (Mayores a 1KHz), mientras que las frecuencias ubicadas sobre la primera columna se conocen como frecuencias de rango bajo (Menores a 1KHz). Nótese que a cada tecla le corresponde un solo par de frecuencias compuesto por una frecuencia de rango alto y una de rango bajo.Este sistema de marcación es posible gracias al desarrollo de circuitos integrados que generan dichos tonos, como así también los decodifican. En este proyecto se utiliza el decodificador CM8870.1209 Hz 697Hz 770Hz 852Hz 941Hz 1 4 7 * 1336 Hz 2 5 8 0 1477 Hz 3 6 9 # 1633 Hz A B C D

2. El Tono de Llamada.En estado de reposo, la línea telefónica se encuentra con una tensión de aproximadamente 40, 45V a 20Hz que se oye de manera continua, cuando el usuario comienza a marcar el número de otro abonado el tono se silencia para que los tonos DTMF se envíen de manera limpia a la central, que identificará el numero destino y establecerá la comunicación. Inmediatamente después de que un usuario termina de marcar el número del destinatario, se produce el conocido “Tono de llamada”. Esta señal es una onda sinusoidal, con una frecuencia de 20Hz y una amplitud que puede alcanzar los 90V, viaja a través de la línea telefónica desde la central hasta el usuario destino, para indicarle al mismo que esta presente una nueva llamada entrante. Al mismo tiempo, la central envía la misma señal al usuario que inicio la llamada (Tono que el usuario origen oye mientras espera a ser atendido) a modo de indicarle que su llamada esta en curso. En este caso no se oye el tono de manera continua, sino que se han establecido códigos de “Tono-espacio” que indican el estado de la llamada en curso. De esta manera sabemos que si la separación entre tonos es de un tiempo mínimo, el abonado al que estamos llamando se encuentra “Ocupado”, si los tonos tienen una separación de mas de 2 segundos, sabemos que solo nos queda esperar a que conteste el abonado destino.Cuando el usuario destino contesta la llamada, en realidad, lo que esta haciendo es aplicar a la línea una carga de 600Ω, la cual cierra el circuito de comunicación indicando a la central que este usuario esta listo para comenzar la comunicación. Cuando esto sucede la tensión de la línea desciende hasta los 10V. De esta manera queda establecido el enlace entre ambos abonados.-

Frecuencias DTMF - Tabla 1.-

pág. 1

desde cualquier parte del mundo. el proyecto se basa en lograr una comunicación entre el usuario y el equipo a desarrollar. el cual se encarga de la interpretación de los tonos recibidos. sino que deberá esperar a que alguien atienda y si después de tantos tonos ninguna persona contesta.Para contestar una llamada basta con cargar la línea telefónica con una impedancia de 600Ω. Gracias a esto se puede utilizar el modulo de interrupción por teclado (KBI) para detectar y contar los tonos de una llamada entrante. lo deberá hacer el mismo sistema. El decodificador separa ambas frecuencias. 4. cuando “cuelga el tubo”. de este micro se utilizan los módulos KBI (Keyboard Interrupt).Esta etapa se caracteriza por adaptar los niveles de tensión de la línea telefónica y llevarlos a niveles TTL para su posterior ingreso a las otras etapas.El corazón del sistema es el microcontrolador 68HC908QB8. el sistema no deberá contestar inmediatamente cuando detecte una llamada entrante. por esta razón será necesario generar una función que libere la línea pasado un cierto tiempo desde que se recibió el último comando. Estos bits tienen conexión física al exterior. cualquier persona que conozca el número de línea al que este conectado dicho sistema puede tener acceso al mismo. Para esto se implemento un enlace óptico que permite separar las variaciones de tensión de la línea con respecto a las del circuito impreso. 2 . Dado que el sistema de marcación por tonos es un estándar mundial y que. Indica que durante un tiempo prudencial estuvo presente un tono considerado como válido y que el valor ya esta disponible en la salida. envía el valor a su salida y lo indica activando dos bits de señalización denominados ESt (Early Steering output) y StD (Delayed Steering Output). • Si el equipo se instala sobre una línea compartida.1 Entrada de Línea. El Sistema. La lógica de apoyo esta constituida por el decodificador de tonos CM8870. TIM (Timer Interrupt Module) y ambos puertos de entrada/salida (PTA y PTB).2 Decodificador. como así también en forma conjunta.3 Contestador.1µF para bloquear la componente de corriente continua. Los Objetivos.- 4. las decodifica. que se utiliza para voz y datos. Un circuito integrado LM555 en configuración monoestable se dispara con el primer flanco descendente de cada pulso del tono de llamada y mantiene su salida en alto durante el transcurso del tono. 4. El pin 15 (StD) se envía directamente al microcontrolador. Esta clave deberá ser ingresada de manera secuencial al sistema y no tendrá que dar lugar a llamadas accidentales.• Mediante funciones implementadas por software realizar tanto las activaciones y desactivaciones individuales de las salidas. Este tiempo será de 10 segundos aproximadamente.Segundo Congreso Virtual.Se toma una derivación de la línea de entrada y se envía al decodificador CM8870 mediante un capacitor de 0.- 4. es decir. Al aplicar este opto-acoplador también se rectifica en media onda la tensión de entrada. para que el mismo usuario pueda controlar equipos eléctricos y electrónicos desde cualquier teléfono comercial. actualmente. la tensión de línea varía en un rango bastante amplio por lo que se debe adaptar para que pueda ser ingresada al microcontrolador sin causar ningún daño al dispositivo.• Principalmente. se puede realizar una llamada a otro teléfono que no necesariamente se encuentre en la misma localidad. Para lograr pág. Microcontroladores y sus Aplicaciones 3.A continuación se describen los detalles más importantes de cada etapa del sistema. por lo que será necesaria la implementación de un código que restrinja el acceso solo al grupo de usuarios que lo conozcan.• Si consideramos que el sistema se conecta a la red de telefonía pública. ya que si se utiliza de modo local (El teléfono desde el que se genera la marcación esta conectado a la misma línea que el sistema) los tonos generados por el teléfono también se envían a la central que provee el servicio. • No hay una manera precisa de saber cuando el usuario termina la comunicación. Como se vio en la sección 2. estamos en condiciones de afirmar que este desarrollo puede ser controlado desde cualquier parte del globo.

administra y procesa todas las señales del mismo.El sistema cuenta con 6 salidas TTL para controlar 6 cargas independientes. el sistema identificará esta acción como una intrusión. 4. temporizadores. Esta contraseña es de 3 dígitos y tiene una secuencia preestablecida la cual debe ser respetada. se ha detectado un tono de llamada o porque el decodificador CM8870 acusa. se resetea para poder iniciar la cuenta nuevamente. reloj interno. y provocara la apertura del relé que cortara la comunicación.- 4. Este micro se considera idóneo para este tipo de procesamiento ya que en su encapsulado DIP-16 posee 14 pines de entrada/salida de propósito general (GPIO) que se encuentran interconectadas internamente a los pág. entonces se incrementa un contador que registra la cantidad de tonos de llamadas entrantes ocurridos hasta el momento y se compara con un valor establecido por software que determinará la cantidad de tonos que deben esperarse antes de contestar automáticamente la llamada. es mediante la activación de la señal StD del decodificador CM8870.El software se basa fundamentalmente en el uso de interrupciones y funciones. etc.tecla: CORTAR • Indicar la salida a la que ataca la función indicada. se interrogan las entradas del microcontrolador destinadas al módulo KBI.5 El Microcontrolador. que hay un tono válido presente en la salida del mismo. El microcontrolador utilizado para este proyecto es el MC68HC908QB8 de la familia “Nitron” perteneciente a la firma Freescale. puertos A y B. 3 . De esta manera se saltea la cuenta de tonos de llamada entrante y se puede acceder al sistema en modo Local ingresando directamente la contraseña. como se dijo anteriormente. no es necesario reingresar dicha contraseña nuevamente. El programa principal lo único que hace es refrescar los estados de las salidas y chequear la ejecución de la secuencia de control.Cualquier otra COMUNICACIÓN. Un contador interno lleva esta cuenta y si después de un lapso de 10 segundos no se reciben más tonos (De llamada o DTMF).(9): RESETEAR secuencia. En el primer caso. Si la llamada es contestada antes de que se alcance dicha cantidad de tonos el sistema no actúa. de 270Ω y 330Ω. Se procede desde el segundo paso. controla.Una vez que se ingresa al sistema mediante la contraseña. en caso de ser (7) u (8). se interrumpe el cauce normal del programa ya sea porque.Segundo Congreso Virtual. caso contrario. Se setean dos interrupciones principales por KBI y una por desborde del modulo temporizador TIM.Siendo el “cerebro” del sistema. Estas salidas se controlan mediante un protocolo propio.Si el resultado de la interrogación es que hay un tono de llamada válido. Otro caso de interrupción del módulo KBI. mediante la señal StD. Los pasos a seguir para realizar cualquier acción sobre las mismas son los siguientes: • Ingresar secuencial. se conectan a la línea un par de resistencias en serie. Microcontroladores y sus Aplicaciones esto.6 El Software. se activa el relé de la etapa del contestador automático cargando la línea con 600Ω y se espera el ingreso de una contraseña (por defecto es * 0 #) que habilite el ingreso al sistema. Para averiguar que evento fue el que causo la interrupción. En este caso se revisa el valor entregado por el decodificador y se envía a una función que se encargara de determinar en que paso de la secuencia se encuentra el programa y el significado del comando ingresado por el usuario. Interrupción por teclado.(2): DESACTIVAR una salida. Para controlar cargas de 220Vca o 110Vca deberá aplicarse una interfaz de potencia tal como puede ser un banco de relés.4 Salidas Controladas. hasta que éste corte la comunicación. El entorno de desarrollo integrado (IDE) utilizado es CodeWarrior y se programó en lenguaje C.diferentes módulos como son el Conversor A/D. De no ingresarse en la secuencia correcta.(7): ACTIVAR TODAS las salidas. Por software se indica la cantidad de tonos de llamada que el sistema debe recibir antes de contestar.la contraseña de manera • Indicar la función que se desea realizar (Teclas del teléfono): (1): ACTIVAR una salida.(8): DESACTIVAR TODAS las salidas. Este relé es controlado por el microcontrolador. y los contactos “Normal abierto” (NO) y “Común” (C) de un relé que va a actuar como la horquilla del teléfono.- 4. comunicación serie. este paso se omite ya que ataca a todas las salidas.

En el enlace siguiente se puede ver un video DEMO del sistema en funcionamiento.Siendo más críticos. local y remoto. ya sea Local o Remoto. en un CD o en un documento impreso de las ponencias del Segundo Congreso Virtual de Microcontroladores. En modo local solo tenemos confirmación visual mediante LED’s que actúan como monitores que. pág. 4 . 1 6/3/2005. solo con conectarlo a la línea y a la fuente de alimentación.Plano eléctrico esquemático (En la pagina siguiente). 2. sótano. Es evidente que cualquier línea telefónica puede ser contactada por medio de una llamada. que si operamos de manera remota no tenemos ninguna clase de confirmación de que el comando que enviamos ha sido procesado con éxito. se utiliza para generar una base de tiempo de 10 segundos. si conectamos varios de estos equipos a la línea telefónica y a cada uno le asignamos contraseñas distintas.[3] Artículo “Marcación por tonos” 24 ago 2010 Wikipedia. 1. los “contra” que tiene este sistema son. el usuario puede proceder con el ingreso de comandos indicados en el apartado 4. El temporizador se resetea cada vez que se ingresa un tono DTMF.1. pero a la vez. etc. Secuencia de ejemplo: *. esto significa que si no se ingresa un comando válido dentro de un margen de 10 segundos. lo que se podría solucionar compartiendo el modulo del contestador automático. Conclusiones. lo que nos permite generar el corte automático por falta de comando. Para esto solo hay que tener en cuenta que la impedancia con la que cargamos la línea no sea demasiado baja. Con el acceso por contraseña. principalmente.El hecho de conectarse a la línea telefónica no implica que el sistema deba estar al lado del teléfono.La interrupción por el modulo TIM. Rev. se puede perder dicha confirmación. Microcontroladores y sus Aplicaciones Una vez que se autoriza el ingreso. Esto significa que el sistema podría ser instalado discretamente en un altillo.Debido a que la plataforma de comunicación utilizada es un estándar mundial.Se pueden seguir ingresando más comandos. Cuando pasen 10 segundos del último comando recibido. Donde: * 0 #: Contraseña de acceso. esta instalado sobre una línea residencial y muestra ambos modos de trabajo. 2: Desactivar Salida número 2. nos aseguramos que solo los usuarios que la conozcan tengan acceso al sistema.0. podríamos controlar mas salidas de las 6 disponibles en un solo equipo (posibilidad de expansión).Segundo Congreso Virtual. se libera la línea telefónica y el sistema se prepara para iniciar una nueva secuencia de control.org “Copyright ©2010. armario. es suficiente para que éste pueda operar.4. Dependiendo de las cargas que se deseen controlar el usuario optará por la interfaz de salida que más se ajuste a sus necesidades. Enlace: DTMF DEMO 5. el sistema puede ser Apéndice II. el sistema cortara la comunicación como se explica a continuación. 6: Activar Salida número 6. 0.controlado desde cualquier parte del mundo. #. Gaspar Daniel Gómez”: El autor delega a la Organización del Segundo Congreso Virtual de Microcontroladores la licencia para reproducir este documento para los fines del Congreso ya sea que este artículo se publique en el sitio web del congreso.[2] MC68HC908QB8 Data Sheet.El sistema nos brinda la capacidad de controlar 6 cargas tanto de manera local como remota. 6. al instalar el sistema de manera discreta. 0.- Referencias: [1] CM8870/70C Datasheet “CMOS Integrated DTMF Receiver” 9/28/2000.- Apéndice I.

7K TONO GND Q2 BC548C AT D R23 1K Title GND Size A4 Date: File: 08/10/2010 D:\Proyectos Protel\.1uF U2 C4 R5 100K R7 100K 1 2 3 5 6 2 7 8 9 IN+ INGS INH PDN OSC1 OSC2 VSS MT88L70AE B Line_In VCC C5 U4 P3 2 1 Header 2H R16 330 R17 100K 0.1uF R22 4.3K 2 3 4N25 R19 270 GND C VCC * 2 1 3 D9 LED0 VCC Line_In GND VCC R21 18K 4 6 Q3 BC548C C6 100uF 2 VCC 8 GND GND GND R20 10K R18 470 GND GND 5 4 Estado 1 6 R12 10K D8 LED0 D11 VCC R13 470 GND U3 VCC StD R24 470 AT Out_6 TONO StD Estado Out_5 Q4 1 2 3 4 5 6 7 8 VDD VREF ST/GT EST STD Q1 Q2 Q3 Q4 TOE 18 4 17 16 15 11 12 13 14 10 R10 150K VCC VCC VCC C3 0.1uF R8 150K StD Q1 Q2 Q3 Q4 VCC Out_2 Out_3 Out_4 Out_5 Out_6 R1 470 R2 470 R4 470 R6 470 R9 470 R11 470 D1 LED0 D2 LED0 D3 LED0 D4 LED0 D5 LED0 D7 LED0 P2 1 2 3 P1 1 2 3 A D6 LED0 GND 1 Y1 3..579 GND B HC908QB8 VDD PTB7 PTB6 PTA5 PTA4 PTB5 PTB4 PTA3 HC908QB8 VSS PTB0 PTB1 PTA0 PTA1 PTB2 PTB3 PTA2 16 15 14 13 12 11 10 9 Out_1 Out_2 Q1 Q2 Out_3 Out_4 Q3 C GND 4 D10 Diode 5 RELE P4 Estado 1 2 U5 RST THR TRIG +VCC LM555CN DIS OUT CVOLT GND 7 3 5 1 C7 0.\DTMF1.1 2 3 4 Out_1 U1 A J1 2 3 1 IN R3 1K C1 470uF OUT GND LM7805 C2 100nF Line_In GND GND GND GND 0.43uF x 200V R14 3.SchDoc Sheet of Drawn By: 4 Number Revision D 1 2 3 .

Sign up to vote on this title
UsefulNot useful