Contactos

Generador de microcircuitos de señales de tono dtmf. Estudio del receptor y transmisor de señales dtmf. Acondicionamiento de señal dtmf

El tema de los dispositivos simples, decidí construir un generador de señal DTMF para el mismo ATtiny2313. Quién no lo sabe, DTMF (multifrecuencia de doble tono en inglés) es una señal analógica multifrecuencia de dos tonos que se utiliza para marcar número de teléfono... Leer Wikipedia.

La decisión de ensamblar un dispositivo de este tipo fue dictada por el deseo de intentar implementar señales analógicas complejas utilizando un microcontrolador. No aplicación práctica por este dispositivo no fue planeado, pero ¿alguien puede usar un dispositivo de este tipo? ¡Úsalo!

Fuente de generador DTMF


Ahora veamos qué tenemos.

La señal se forma mediante PWM y para darle la forma deseada se utiliza una cadena RC. Como resultado, después de la cadena RC, obtenemos la siguiente señal (se presiona el botón 6):

A lo largo de toda la curva de la señal útil, observamos un peine de alta frecuencia (la frecuencia es más alta que la audible, por lo que no creará ruido): este es el trabajo de la cadena RC. Puede hacer que la línea sea más suave aumentando la capacitancia del capacitor o la resistencia de la resistencia, pero en este caso, la oscilación de la señal útil disminuirá significativamente.

Observamos el espectro de la señal y nos aseguramos de que haya dos frecuencias individuales(la frecuencia PWM ha ido más allá del área de visualización), entonces todo está bien: el dispositivo funciona como debería.

Soluciones listas para usar

Para las tareas de generar y decodificar una señal DTMF, existen soluciones listas para usar... Aquí hay un par de hojas de datos para estos microcircuitos.

Generador de DTMF
- decodificador DTMF


PD Es una pena que no haya ADC en ATtiny2313; ¡también podría haber asustado al decodificador DTMF! Pero nada, lo repetiré en mega, definitivamente lo adjuntaré.

(Visitado 6,868 veces, 1 visitas hoy)

La invención se refiere al campo de la generación digital de señales de frecuencia de dos tonos (DTMF) destinadas a la transmisión de datos, por ejemplo, en el campo de la telefonía. El resultado técnico logrado es una disminución en el número de elementos de circuito redundantes, un aumento en la eficiencia económica. El generador de señales DTMF, que implementa el método de generación de señales DTMF, contiene dos acumuladores, dos registros de enclavamiento, dos dispositivos de memoria, un sumador final, un convertidor de digital a analógico, un convertidor de señales DTMF en una secuencia de números enteros, un divisor de la frecuencia maestra del generador de señales DTMF con un factor de división ajustable, un convertidor de códigos de señales DTMF en el código del factor de división. 2 segundos. y 3 c.p. f-ly, 2 dwg

La invención se refiere a métodos para generar métodos digitales de señales DTMF (frecuencia de dos tonos) destinados a la transmisión de datos, por ejemplo, en el campo de la telefonía con marcación de frecuencia de tono. Lo más parecido en esencia técnica y el resultado obtenido al método reivindicado es el método para generar señales DTMF, presentado en la patente de EE.UU. nº 5034977 de 04.04.89, publ. 23/07/91, M.cl. 5 H 04 M 1/00. Un método conocido para generar señales DTMF incluye la selección del primer y segundo códigos de ángulos de muestreo correspondientes a la primera y segunda frecuencias de los componentes de la señal DTMF, suma acumulativa del primer y segundo códigos de muestreo. ángulos, respectivamente, fijados periódicamente, con un período correspondiente a la frecuencia de muestreo del reloj, el primer y segundo resultado de la suma acumulativa, obteniendo el primer y segundo valores discretos de los componentes de la señal DTMF almacenados en las celdas ubicadas en la dirección de la correspondiente tablas de los valores discretos de los componentes de la señal DTMF, mediante la lectura de las tablas correspondientes en las direcciones correspondientes a los resultados de la suma acumulada de los códigos de ángulo de muestreo, suma del primer y segundo valores discretos de los componentes de la señal DTMF para obtener el tercer valor discreto correspondiente al valor de la señal DTMF. El método conocido para generar señales DTMF es el siguiente: dependiendo del código DTM Señal F mediante la primera conversión de códigos de señal DTMF, se selecciona el primer código, que determina el ángulo de muestreo de la señal con una frecuencia correspondiente al grupo triplicar- columnas, y mediante la segunda conversión de códigos de señal DTMF, se selecciona el segundo código, que determina el ángulo de muestreo de la señal con una frecuencia correspondiente al grupo de frecuencias más bajas - filas, periódicamente, con un período correspondiente al frecuencia de reloj de muestreo, el primer código de ángulo de muestreo se suma en el acumulador correspondiente y se fija en el registro correspondiente, cuya salida es el resultado, cuyo valor corresponde a la dirección de la celda de la tabla almacenada en la memoria de solo lectura correspondiente y en el que se ubican los correspondientes valores discretos de los senos, que determinan la frecuencia superior de la señal DTMF de la misma forma, periódicamente, con un período correspondiente a la frecuencia de muestreo del reloj, se suma el segundo código del ángulo de muestreo en el acumulador correspondiente y fijo en el registro correspondiente, cuya salida es el resultado, cuyo valor corresponde a la dirección de la celda de la tabla almacenada en el correspondiente memoria de solo lectura y en la que se ubican los valores discretos correspondientes de los senos que determinan la frecuencia más baja de la señal DTMF, los valores discretos de los senos que determinan las frecuencias superior e inferior de la señal DTMF se suman en el sumador final, determina el valor discreto de la señal DTMF y se alimentan a través de la conversión digital a analógica a la salida, formando una señal DTMF sinusoidal paso a paso correspondiente al código de entrada de la señal DTMF. El método conocido es ineficaz debido a sus bajos indicadores técnicos y económicos e indicadores tecnológicos. Los indicadores técnicos y económicos están determinados por los costos necesarios a la hora de implementar el método para lograr parámetros requeridos presentado a las señales DTMF. V método conocido la precisión de generación de frecuencia depende de la profundidad de bits del código correspondiente al ángulo de muestreo, lo que requiere una gran capacidad de bits del acumulador, lo que complica la implementación del método con hardware simple. Es decir, el código del ángulo de muestreo en el método conocido se determina mediante la expresión K = (F / F t) 32 ..., (1.1) donde K es el código correspondiente al ángulo de muestreo, F es la frecuencia generada; F t es la frecuencia de muestreo. Como puede ver, la precisión de la frecuencia generada depende inequívocamente de la relación entre la frecuencia generada y la frecuencia de muestreo. 8 bits, y para altas frecuencias al menos 9 bits, y para la suma acumulativa, respectivamente. , al menos 12 bits, lo que conduce a un aumento en el número de elementos componentes de los dispositivos que implementan el método conocido. Los dispositivos conocidos para implementar el método conocido, a saber, sumadores, registros, memorias de solo lectura, tienen entradas / salidas con un ancho de 4 y 8 bits. Por lo tanto, con una mayor profundidad de bits, se requieren costos técnicos y económicos adicionales para la implementación de dispositivos igualmente funcionales. Al mismo tiempo, en el método conocido, una disminución en el número de dígitos después del punto decimal conduce a un error de frecuencia que excede el permisible.Los indicadores tecnológicos están determinados por la versatilidad y unificación en la implementación del método, por ejemplo, el estado de la técnica actual, que implica una disminución en el consumo de material, elementos componentes y un aumento en la multifuncionalidad de los dispositivos, requiere el uso de microcontroladores. Los microcontroladores generalizados utilizados en las mediciones de telefonía y telemetría utilizan datos de 8 bits y un dispositivo aritmético-lógico de 8 bits, lo que requiere operaciones computacionales adicionales asociadas con la adición de datos con un ancho de más de 8 bits y el análisis de la señal de transporte. al implementar el método conocido. que aumenta el número de comandos y, en consecuencia, la frecuencia de reloj del microcontrolador, así como el volumen memoria de acceso aleatorio microcontrolador, que conduce a un aumento en el costo de los dispositivos que utilizan un método conocido para generar señales DTMF. Esta conclusión se da al analizar la aplicación del método conocido en un marcador de tonos basado en microcontroladores fabricados por Atmel, Microchip tnc, etc. Así, el método conocido es fundamentalmente ineficaz, lo que se debe a los bajos indicadores técnicos y económicos, expresados ​​en incrementos consumo de material, consumo de energía e indicadores tecnológicos bajos, ya que tiene limitaciones a la hora de utilizar el método, incluso en la composición de microcontroladores de uso generalizado, que se expresa en aumento características técnicas aplicado a los microcontroladores, lo que reduce su multifuncionalidad El más cercano en esencia técnica y el resultado obtenido al generador de señales DTMF reivindicado es el generador de señales DTMF presentado en la patente de EE.UU. nº 5034977 de 04.04.89, publ. 23/07/91, M.cl. 5 N 04 M 1/00. El generador conocido de señales DTMF incluye: el primer acumulador, el primer registro de enclavamiento, el primer dispositivo de memoria, el segundo sumador acumulativo, el segundo registro de enclavamiento, el segundo dispositivo de memoria, el sumador final, el convertidor digital a analógico, y la salida del primer acumulador está conectada con la entrada del primer registro de enclavamiento, la salida del primer registro de enclavamiento está conectada a la entrada del primer dispositivo de memoria, así como a uno de los entradas del primer sumador de almacenamiento, la salida del primer dispositivo de memoria está conectada a una de las entradas del sumador final, la salida del segundo sumador de almacenamiento está conectada a la entrada del segundo registro de enclavamiento, la salida del segundo enclavamiento El registro está conectado a la entrada del segundo dispositivo de memoria, así como a una de las entradas del segundo acumulador, la salida del segundo dispositivo de memoria está conectada a la otra entrada del sumador final, la salida del sumador final es conectado a la entrada del digital un convertidor de registro, cuya salida es la salida de un generador de señal DTMF. El generador conocido también contiene un primer convertidor de códigos de señal DTMF en los códigos correspondientes de ángulos de muestreo correspondientes a las altas frecuencias de la señal DTMF, un segundo convertidor de Códigos de señales DTMF en los códigos correspondientes de ángulos de muestreo correspondientes a las frecuencias más bajas de la señal DTMF, y la salida del primer convertidor de señales DTMF está conectada a otra entrada del primer acumulador, la salida del segundo convertidor de señales DTMF es conectadas a otra entrada del segundo acumulador, las entradas del primer y segundo convertidores de señales DTMF son las entradas del generador de señales DTMF, y las entradas de reloj del primer y segundo registros de enclavamiento están interconectadas y son la entrada frecuencia de reloj Muestreo del generador de señal DTMF El conocido generador de señal DTMF proporciona un resultado técnico bajo debido al exceso de elementos del circuito asociados a diferentes, así como al exceso de capacidad de los mismos elementos funcionales. Además, la implementación de la solución técnica conocida es efectivamente posible en forma de un microcircuito integrado separado, sin embargo, esto requiere la organización de una producción especializada, pero dado que los generadores de señal DTMF son parte de dispositivos multifuncionales (teléfonos con capacidades avanzadas, dispositivos para transmitir información telemétrica a través de lineas telefonicas etc.) actualmente implementado sobre la base de microcontroladores universales , la producción de microcircuitos individuales de señales DTMF es económicamente ineficaz. La base de la solución técnica propuesta es la tarea de crear un método para generar señales DTMF utilizando un generador de señales DTMF, en el cual, al cambiar las condiciones y secuencia de operaciones, el El método se implementa con altos indicadores técnicos y económicos debido a una disminución en la capacidad de bits de las operaciones del mismo tipo, altos indicadores tecnológicos, al implementar el método, tanto en el diseño de circuitos con hardware simple, como como parte de un microcontrolador multifuncional, asociado con la repetibilidad, al implementar, de los mismos elementos funcionales. La solución técnica se basa en la tarea de crear un generador de señal DTMF, en el cual mediante la introducción de nuevos elementos y la implementación de nuevas conexiones aumenta el resultado técnico asociado a una disminución de el número de elementos de circuito redundantes y, en consecuencia, aumenta la eficiencia económica El problema se resuelve por el hecho de que en el método conocido de generación de señales DTMF, incluida la selección del primer y segundo códigos de los ángulos de muestreo correspondientes a la primera y segunda frecuencias de los componentes de la señal DTMF, la suma acumulativa de la primera y la segunda segundos codifica por separado ángulos de muestreo con respectivamente fijados periódicamente, con un período correspondiente a la frecuencia del reloj de muestreo, el primer y segundo resultado de la suma acumulativa, obteniendo el primer y segundo valores discretos de los componentes de la señal DTMF almacenados en las celdas ubicadas en la dirección de las tablas correspondientes de valores discretos de los componentes de la señal DTMF mediante la lectura de las tablas correspondientes por las direcciones correspondientes a los resultados de la suma acumulativa de los códigos de ángulo de muestreo, la suma del primer y segundo valores discretos del DTMF componentes de la señal para obtener el tercer valor discreto El valor correspondiente al valor de la señal DTMF, nuevo es que la recepción del primer y segundo valores discretos de los componentes de la señal DTMF almacenados en las celdas ubicadas en la dirección de las tablas correspondientes de valores discretos de los componentes de la señal DTMF es realizado mediante la lectura de las tablas correspondientes en las direcciones correspondientes a los resultados de la suma acumulada, respectivamente, de la primera y segunda secuencia de números enteros, cuyo valor medio corresponde a los códigos de los ángulos de muestreo correspondientes a los componentes del Señal DTMF. Además, el valor promedio de la secuencia de números enteros que forman el resultado de la suma acumulada puede ser la media aritmética de estos números. Además, el registro periódico del primer y segundo resultado de la suma acumulada puede ser con un período correspondiente a La frecuencia del reloj de muestreo, diferente para diferentes señales DTMF. también se resuelve porque el generador de señales DTMF conocido, que incluye el primer acumulador, el primer registro de enclavamiento, la primera memoria, el segundo acumulador, el segundo registro de enclavamiento, la segunda memoria, el sumador final, el convertidor de digital a analógico, y la salida del primer acumulador está conectada a la entrada el primer registro de enclavamiento, la salida del primer registro de enclavamiento está conectada a la entrada del primer dispositivo de memoria, así como a una de las entradas del primer acumulador, la salida del primer dispositivo de memoria está conectada a una de las entradas en el sumador final, la salida del segundo acumulador está conectada a la entrada del segundo registro de enclavamiento, la salida del segundo registro de enclavamiento está conectada a la entrada del segundo dispositivo de memoria, así como a una de las entradas del segundo acumulador, la salida del segundo dispositivo de memoria está conectada a otra entrada del sumador final, la salida del sumador final está conectada a la entrada de un convertidor digital a analógico, cuya salida es la salida del DTMF generador de señales, una novedad según la invención es que el generador de señales DTMF contiene adicionalmente un convertidor de señales DTMF en una secuencia de números enteros, un divisor de la frecuencia maestra del generador de señales DTMF con un factor de división ajustable, un convertidor de códigos de señales DTMF en el código de relación de división, y la primera salida del convertidor de señal DTMF en una secuencia de números enteros está conectada a otra entrada del primer acumulador, la segunda salida del convertidor de señal DTMF en el La secuencia de números enteros está conectada a otra entrada del segundo acumulador, la salida del divisor de frecuencia maestro del generador de señales DTMF con una relación de división ajustable está conectada a la entrada de reloj del convertidor de señales DTMF en la secuencia de números enteros, también En cuanto a la entrada de reloj del primer registro de retención y la entrada de reloj del segundo registro de retención, la salida del convertidor de señales DTMF al código del factor de división está conectada a la entrada para establecer el factor de división del divisor de frecuencia maestro del Generador de señales DTMF, la entrada del divisor de frecuencia maestro del generador de señales DTMF con un factor de división ajustable es la entrada de la frecuencia maestra del generador de señales DTMF, la entrada del convertidor de señales DTMF al código de factor de división conectado al entrada del convertidor de señales DTMF en una secuencia de enteros y es la entrada del generador de señales DTMF. Además, el convertidor de señales DTMF en una secuencia de enteros se puede realizar en forma de una memoria programable controlada, cuya memoria consta, correspondiente al número de señales DTMF, áreas de memoria, que consisten en celdas de memoria correspondientes a la longitud de la secuencia de números enteros, hecha de tal manera que en la mitad de la celda de memoria se almacena un número relacionado con la primera secuencia de números enteros, y la otra mitad de la celda de memoria almacena un número correspondiente a la otra secuencia de números enteros, que son los sumandos de los respectivos acumuladores, y el control de memoria programable se realiza con la posibilidad de áreas de control de selección separadas de la memoria y una celda de memoria separada. Nuevas características del método para generar señales DTMF y un generador de señales DTMF en combinación con el Las características conocidas de estos objetos proporcionan nuevas propiedades técnicas de los objetos y, como consecuencia de estas propiedades, proporcionan Se produce un nuevo resultado técnico necesario. La relación causal entre el conjunto de características del método propuesto y el resultado técnico logrado se explica a continuación. Para revelar la esencia de la solución técnica propuesta, serán convenientes los siguientes cálculos: y (P ) = sin (n) (1.2), donde y (P) es el valor discreto de la función seno; = wT = 27F / Fr (1.3) es el ángulo de muestreo, medido en radianes; n es el número ordinal de la muestra - muestra; F t = F OSC / kd es la frecuencia del reloj de muestreo, donde F OSC es el dispositivo de frecuencia de ajuste; kd - relación de división ajustable Entonces = 2FK D / F OSC. (1.4) Como es bien sabido, la función seno es periódica con un período de 2. Para convertir el ángulo de muestreo de radianes a unidades relativas y obtener el código del ángulo de muestreo, dividimos el período completo en m partes, donde m es un binario entero. Por lo tanto, obtenemos una parte mínima discreta del período: = 2 / m. (1.5) El código del ángulo de muestreo es el valor relativo del ángulo de muestreo de acuerdo con una parte del período, a saber, K = / = 2F / F t: 2P / m = Fm / F t. (1.6) Por ejemplo, para las frecuencias generadas 1477 Hz y 697 Hz (corresponde al código DTMF de la señal “3”), en m = 64, y la frecuencia de reloj F t = 32768 Hz K 697 = 1,36; K l477 = 2,88. Obviamente, para la visualización binaria del código de ángulo de muestreo K 697 = 1,36 v, respectivamente 136 requiere 8 bits (1281 + 640 + 320 + 160 + 81 + 40 + 20 + 10), y K 1477 = 2,88 v, respectivamente 288 requiere 9 bits ( 2561 + 1280 + 640 + 321 + 160 + 80 + 40 + 20 + 10). En este caso, para la suma acumulativa, respectivamente, en la representación binaria, se requieren 12 bits, lo que determinó las desventajas descritas anteriormente de los conocidos solución. La solución técnica propuesta define, por ejemplo, el número 1,36 como el valor medio de una secuencia de números enteros 1 y 2, es decir 1,36 = (1x + 2y) / (x + y), donde xey son el número de números 1 y 2, respectivamente, repetido periódicamente con un período (x + y). El valor del código del ángulo de muestreo consta de una parte entera Ts y una parte fraccionaria, es decir por ejemplo 1,36 = 1 + 0,36. La precisión relativa de tal reemplazo de acuerdo con la expresión (1.7) = K / C (1.7) aumenta con un aumento en la parte entera del valor del código del ángulo de muestreo. Por ejemplo, para la frecuencia generada 697 Hz, m = 64, y la frecuencia de reloj F t = 32768 Hz, el error de reemplazar K 697 = 1.36 con los valores de los números 1 y 2, respectivamente, 36 y 32%. Al mismo tiempo, si aumenta el valor de m = 256, entonces el error de reemplazar K 697 = 5.45 con los valores de los números 5 y 6 disminuye en un 9 y un 10%, respectivamente. En este caso, el error de la frecuencia generada, por ejemplo, al reemplazar K 697 = 5.45 por los valores de los números 5 y 6 con un período de repetición, igual a 16, 5.45 = (5x + 6y) / (x + y), donde ( x + y) = 16. Resolviendo la ecuación, obtenemos x = 9, y = 7, es decir de dieciséis operaciones de suma acumulada, el sumando 5 se suma nueve veces y el sumando 6 se suma siete veces, mientras que en realidad K 697 = 5.4375, sustituyendo este valor en la expresión (1.6) para m = 256, F t = 32768 Hz, determinamos el valor real calculado de la frecuencia generada F = 696 Hz, mientras que el error se mantuvo en 0,1%. Así, la suma acumulada de una secuencia de enteros, cuyo valor medio corresponde a los ángulos de muestreo correspondientes, permite alcanzar altos niveles técnicos y indicadores económicos al reducir la profundidad de bits de las operaciones de suma acumulativa debido a la capacidad de variar los componentes de las expresiones anteriores y, en consecuencia, una disminución en la capacidad de bits de los dispositivos que implementan el método propuesto, lo que conduce a una disminución en los costos de hardware y energía al implementar el método, y para asegurar un alto rendimiento tecnológico del método propuesto cuando se utiliza en dispositivos multifunción La relación de causa-efecto entre el conjunto de características de la solución técnica propuesta y el resultado técnico logrado se explica a continuación: El alto resultado técnico del generador de señales DTMF está garantizado por la introducción de nuevos elementos del convertidor de códigos de señales DTMF en una secuencia de números enteros, el divisor de la frecuencia de ajuste del generador de señales DTMF con factor de división ajustable, convertidor de códigos de señales DTMF en un código de factor divisor, que aseguran la implementación del método por elementos del circuito con la misma profundidad de bits que no exceda 8 bits, mientras que no hay redundancia de elementos necesarios para resolver varios problemas, por ejemplo, y para fijar el resultado de la suma acumulativa, y el mismo número de bits se utiliza para direccionar el dispositivo de almacenamiento correspondiente, implementado por no más de un Registro de 8 bits, que se puede realizar por medios disponibles públicamente en forma de un microcircuito o, en un diseño de microprocesador, una celda de memoria. Además, la implementación de sumadores de almacenamiento se puede realizar en forma de dispositivos idénticos, con la misma capacidad de bits, en forma de microcircuitos sumadores disponibles públicamente que operan con términos de 4 bits. que los números y, en consecuencia, los dispositivos que forman las secuencias de números enteros descritas anteriormente, cuya combinación determina los códigos correspondientes de los ángulos de muestreo, pueden tener una profundidad de bits diferente, pero la más óptima , desde el punto de vista del cumplimiento de los objetivos marcados por la solución reivindicada, son números de 4 bits. El resultado técnico también se asegura cuando la solución técnica propuesta se implementa como parte de microcontroladores, donde el sistema de comando de los microcontroladores necesariamente incluye comandos operativos con números de 4 bits - nibbles. Así, la solución técnica propuesta del generador de señal DTMF permite proporcionar un alto resultado técnico asociado a una disminución en el número de elementos del circuito, y además aporta versatilidad en la implementación del generador de señal DTMF tanto por hardware disponible públicamente como como parte de microcontroladores multifuncionales, lo que determina la alta eficiencia económica de la solución técnica. representa un generador de señales DTMF que implementa un método para generar señales DTMF. El generador de señales DTMF incluye un convertidor 1 de señales DTMF en una secuencia de números enteros, un divisor 2 de la frecuencia maestra de un generador de señales DTMF con un factor de división ajustable, un el convertidor 3 de códigos de señales DTMF en un factor de división de código, el primer acumulador 4, el primer registro de enclavamiento 5, el primer dispositivo de memoria 6, el segundo dispositivo de memoria 7, el segundo registro de enclavamiento 8, el segundo sumador de acumulador, el sumador final 10 , el convertidor de digital a analógico 11. El funcionamiento del generador de señales DTMF se ilustra con un ejemplo de la implementación del método para generar señales DTMF. Basado en expresiones (1.4, 1.6) y datos técnicos, en particular la frecuencia maestra del dispositivo donde se implementará el método propuesto , se calculan secuencias de enteros que determinan los códigos correspondientes de ángulos de muestreo, y códigos de factor de división para el divisor 2 de la frecuencia maestra del generador de señal DTMF con un factor de división ajustable, que se escriben en las celdas de memoria correspondientes del convertidor 1 de señales DTMF en una secuencia de números enteros y el convertidor 3 de códigos de señales DTMF en códigos de factor de división, también precalculan los valores discretos de los senos de funciones correspondientes, cuyo número está determinado por el número de muestras m, y se escriben en los correspondientes dispositivos de memoria 6 y 7, al generar una señal DTMF, en las entradas del convertidor 1 y del convertidor 3, que son las entradas del generador, durante un tiempo de la señal DTMF, se configurará el código de la señal DTMF generada, en la salida del convertidor 3 se configurará un código que determina el factor de división para el divisor 2, mientras que en la salida del divisor 2 se configurará la frecuencia del reloj de muestreo periódicamente, con un período correspondiente a la frecuencia del reloj de muestreo, desde la primera salida del convertidor 1 se introducirán los números binarios de entrada del primer acumulador 4 incluidos en la primera secuencia de enteros, y desde la segunda salida del convertidor 1 Ingrese la entrada del segundo acumulador 9 números binarios incluidos en la segunda secuencia de enteros correspondientes a los componentes de la señal DTMF, los resultados de la suma acumulativa se suministran desde las salidas de los sumadores acumulativos a las entradas de los correspondientes registros de enclavamiento 5 y 8, a partir de las salidas de los registros de enclavamiento 5 y 8, los resultados de la suma acumulativa, con un período correspondiente a la frecuencia del reloj de muestreo, se alimentan a otras entradas de los acumuladores correspondientes. sumadores digitales 4 y 9, así como a las entradas de los correspondientes dispositivos de memoria 6 y 7, configurando las direcciones de los valores discretos de los senos de los correspondientes componentes de la señal DTMF, desde las salidas de los dispositivos de memoria 6 y 7, los valores discretos de los componentes correspondientes de la señal DTMF se alimentan a las entradas correspondientes del sumador total 10, en cuya salida se forma una señal DTMF binaria discreta, que se alimenta a la entrada del -convertidor 11 analógico, en cuya salida se forma una señal DTMF sinusoidal escalonada, correspondiente al código de entrada de la señal DTMF. El convertidor 1 de códigos DTMF de señales en una secuencia de números enteros (Fig.1) se puede realizar en la forma mostrada en la Fig.2, donde el convertidor de códigos DTMF de señales en una secuencia de números enteros incluye un dispositivo de control 12, un memoria programable 13. El funcionamiento del generador de señales DTMF se ilustra más adelante ejemplo específico implementación del método propuesto en un marcador telefónico de tono-frecuencia. Preliminarmente, con base en expresiones (1.4, 1.6) y datos técnicos, se calculan secuencias de enteros que determinan los correspondientes códigos de ángulos de muestreo y códigos de factores de división para el divisor 2 de la frecuencia maestra del generador de señales DTMF con un factor de división ajustable. Considerando que la implementación del método incluye el mismo tipo de cálculos, entonces para ilustrar el trabajo en un ejemplo específico, se da la implementación del método para generar una señal DTMF correspondiente a presionar la tecla "7" en el marcador de tono-pulso. . Como frecuencia maestra del grupo electrógeno frecuencia de cuarzo, el más común en tecnología telefónica, es decir, F OSC = 3579545 Hz. Pulsar la tecla “7” corresponde a una señal DTMF con la frecuencia superior (columnas) de 1209 Hz y la frecuencia inferior (líneas) de 852 Hz. Dado que la señal DTMF transmite simultáneamente dos frecuencias, los coeficientes de división se calculan para una frecuencia superior - superior de modo que el código de ángulo de muestreo correspondiente de acuerdo con la expresión (1.6) esté cerca del valor máximo - 16, que se implementa en no más de Datos de 4 bits. Por lo tanto, en F OSC = 3579545 Hz, el número de valores discretos de senos m = 128, los valores calculados del factor de división para el divisor 2 de la frecuencia maestra del generador de señales DTMF con un factor de división ajustable KD = 240 = 460, mientras que los códigos correspondientes de los ángulos de muestreo para la frecuencia superior son K 1209/852 = 10.376, para la frecuencia inferior K 852/1209 = 7.312 Según la invención, los códigos de ángulo de muestreo se reemplazan por una secuencia de enteros, respectivamente 10/11 y 7 / 8.10.375 = (10x + 11y) / (x + y), mientras que en realidad K 1209/852 = 10.3757.312 = (7x + 8y) / (x + y), mientras que en realidad K 952/1209 = 7.313, con (x + y) = 16. Por lo tanto, 10.375 se reemplaza por una secuencia periódica de números enteros 10 10 veces y 11 6 veces, y 7,312 se reemplaza por 7 11 veces y 8 5 veces. El área de memoria para el código DTMF de la señal “7” en binario es la siguiente:
Así, se calculan dieciséis tablas correspondientes a los códigos de señal DTMF, a saber 0, 1, 2 ... 9, *, #, A, B, C, D, y se pregraban en la memoria de la memoria programable 13 (convertidor del código de carácter DTMF en Cuando presiona una tecla, por ejemplo, "7" en la entrada del generador, durante la duración de la señal DTMF, se establece el código DTMF binario de la señal "7" (0111), el código DTMF convertidor de código de división a división 3 convierte el código de señal DTMF en la división de código de coeficiente kd para el divisor 2 de la frecuencia maestra del generador con un factor de división ajustable, la salida del divisor 2 establecerá el reloj de muestreo F t = F OSC / KD. El código de la señal DTMF también llega a las entradas de dirección de los bits superiores de la memoria programable 13 (convertidor de señales DTMF en una secuencia de enteros) y está presente allí durante la duración de la señal DTMF. El dispositivo 12 controlado, realizado, por ejemplo, en forma de contador (convertidor de señales DTMF en una secuencia de enteros), bajo la influencia de señales de reloj con una frecuencia de t, cambia cíclicamente su valor en las salidas paralelas secuencialmente desde 0000 a 1111, cambiando en consecuencia los valores de las entradas de dirección de los bits menos significativos del dispositivo de memoria programable 13 (convertidor de señales DTMF en una secuencia de enteros), aparecen números de 8 bits (byte) en la salida de un memoria programable 13 con una frecuencia de reloj de muestreo, mientras que de acuerdo con la Tabla 1, los cuatro bits más significativos (nibble alto) forman una secuencia de enteros, cuya colección, a saber, la media aritmética, determina el código del ángulo de muestreo correspondiente a la frecuencia superior (columnas), y los cuatro bits inferiores (nibble inferior) forman una secuencia de números enteros, cuya colección, a saber, la media aritmética, determina el código el ángulo de muestreo correspondiente a la frecuencia más baja (línea), los datos de cuatro bits, de acuerdo con la Tabla 1, de la salida de la memoria programable 13 (convertidor de señales DTMF en una secuencia de enteros) se alimentan por separado a las entradas del correspondientes acumuladores 4 y 9, en las salidas de los correspondientes sumadores 4 y 9, los datos cambian con una frecuencia de reloj de muestreo de 0 am (en este caso, m = 128), determinando y fijando mediante los registros de enclavamiento 5 y 8 direcciones para los dispositivos de memoria 6 y 7, en las que los valores binarios discretos de los correspondientes componentes sinusoidales del DTMF son respectivamente señal escrita, de las salidas de los dispositivos de almacenamiento 6 y 7, valores binarios discretos de los correspondientes componentes sinusoidales de la señal DTMF se alimenta a las entradas correspondientes del sumador final 10, en cuya salida se forman valores binarios discretos de la señal DTMF, que luego se alimentan a la entrada del convertidor digital a analógico 11, para cuya salida es una señal DTMF sinusoidal escalonada. El generador de señales DTMF se puede implementar sobre la base de conocidos medios tecnicos, descrito, por ejemplo, en: El uso de circuitos integrados en informática electrónica. Manual / Ed. B.N. Fayzulaeva, B.V. Tarabrina. - M.: Radio y comunicación, 1986. En este caso, el convertidor de 3 códigos de señales DTMF en códigos de factores de división se puede hacer, por ejemplo, en forma de un chip de memoria de solo lectura 155PE 3 (p. 343) , la implementación de los registros se describe en la p. 108, la implementación de los acumuladores se describe en la p. 114.El método inventivo y el generador de señales DTMF también se implementan sobre la base de los medios técnicos de Microchip Inc. (Microcontroladores de un solo chip de 8 bits del tipo pic16f628), como parte del marcador telefónico de pulso y tono "Kadran - NKT - 01" fabricado por la empresa "Kadran" (Ucrania, Zaporozhye). Sistema de mando y organización interna Los nodos del microcontrolador se describen en: Prokopenko B.Ya. Microcontroladores de un solo chip. Dodeka, 2000, ISBN8-87835-056-4. La descripción de los parámetros de la señal DTMF se da, por ejemplo, en: Circuitos integrados: Microcircuitos para telefonía. Problema 1. - M.: Dodeka, 1994, 256 p. - ISBN-5-87835-003-3., P. 12, 13.

AFIRMAR

1. Un método para generar señales de frecuencia de dos tonos (DTMF), incluida la selección del primer y segundo códigos de ángulos de muestreo correspondientes a la primera y segunda frecuencias de los componentes de la señal DTMF, sumando acumulativa por separado del primer y segundo códigos de ángulos de muestreo con período respectivamente fijo periódicamente correspondiente a la frecuencia del reloj de muestreo, el primer y segundo resultado de la suma acumulativa, obteniendo el primer y segundo valores discretos de los componentes de la señal DTMF almacenados en las celdas ubicadas en la dirección de las tablas correspondientes de valores discretos de los componentes de la señal DTMF mediante la lectura de las tablas correspondientes en las direcciones correspondientes a los resultados de la suma acumulada de los códigos de ángulo de muestreo, sumando el primer y segundo valores discretos de los componentes de la señal DTMF para obtener el tercero valor discreto correspondiente al valor de la señal DTMF, caracterizado porque la recepción del primer y segundo valores discretos es su señal DTMF, almacenada en las celdas ubicadas en la dirección de las tablas correspondientes de valores discretos de los componentes de la señal DTMF, se realiza mediante la lectura de las tablas correspondientes en las direcciones correspondientes a los resultados de la suma acumulada, respectivamente, del primero y segundas secuencias de números enteros, cuyo valor promedio corresponde a los códigos de los ángulos de muestreo correspondientes a los componentes de la señal DTMF .2. 2. Método según la reivindicación 1, caracterizado porque el valor medio de la secuencia de números enteros que forman el resultado de la suma acumulada es la media aritmética de estos números. 2. El método de acuerdo con la reivindicación 1, caracterizado porque el registro periódico del primer y segundo resultado de la suma acumulativa se realiza con un período correspondiente a la frecuencia del reloj de muestreo, que es diferente para diferentes señales DTMF. Un generador de señales DTMF que incluye un primer sumador acumulador, un primer registro de enclavamiento, un primer dispositivo de memoria, un segundo sumador de acumulador, un segundo registro de enclavamiento, un segundo dispositivo de memoria, un sumador final, un convertidor de digital a analógico y la salida del primer sumador acumulativo está conectada a la entrada del primer registro de enclavamiento, la salida del primer registro de enclavamiento está conectada a la entrada del primer dispositivo de almacenamiento, así como a una de las entradas del primer sumador de almacenamiento, el la salida del primer dispositivo de almacenamiento está conectada a una de las entradas del sumador total, la salida del segundo sumador de almacenamiento está conectada a la entrada del segundo registro de enclavamiento, la salida del segundo registro de enclavamiento está conectada a la entrada del segundo dispositivo de almacenamiento, así como con una de las entradas del segundo sumador de almacenamiento, la salida del segundo dispositivo de memoria está conectada a otra entrada del sumador total, la salida del sumador total está conectada a la entrada del digital- convertidor a analógico para cuya salida es la salida del generador de señales DTMF, caracterizado porque el generador de señales DTMF contiene adicionalmente un convertidor de señales DTMF en una secuencia de números enteros, un divisor de la frecuencia maestra del generador de señales DTMF con un factor de división ajustable , un convertidor de señales DTMF en un código de factor de división, la primera salida del convertidor de señales DTMF en una secuencia de enteros está conectada a otra entrada del primer acumulador, la segunda salida del convertidor de códigos de señales DTMF en un La secuencia de números enteros está conectada a otra entrada del segundo acumulador, la salida del divisor de frecuencia maestro del generador de señales DTMF con un factor de división ajustable está conectada al convertidor de entrada de reloj de códigos de señales DTMF en una secuencia de números enteros, así al igual que con la entrada de reloj del primer registro de enclavamiento y la entrada de reloj del segundo registro de enclavamiento, la salida del convertidor de códigos de señales DTMF en el código de coeficiente El divisor de frecuencia está conectado a la entrada para configurar el factor de división del divisor de frecuencia maestro del generador de señal DTMF; secuencia de números enteros y es la entrada del generador de señal DTMF. 5. El generador de señales DTMF según reivindicación 4, caracterizado porque el conversor de códigos de señales DTMF en una secuencia de enteros se realiza en forma de una memoria programable controlada, cuya memoria consiste en corresponder al número de DTMF señales, áreas de memoria que constan de celdas correspondientes a la longitud de la secuencia de la memoria de números enteros, hechas de modo que la mitad de la celda de memoria almacena un número relacionado con la primera secuencia de números enteros, y la otra mitad de la celda de memoria almacena un número correspondiente a otra secuencia de números enteros que son los sumandos de los acumuladores correspondientes, y la memoria programable se controla con la posibilidad de control separado sobre la selección de un área de memoria y una celda de memoria separada.

La marcación por tonos (señalización multifrecuencia de dos tonos, DTMF) fue desarrollada por Bell Labs en los años 50 del siglo pasado para un revolucionario en ese momento teléfono con pulsador... Para la presentación y transmisión de datos digitales en el modo de tono, un par de frecuencias (tonos) del habla rango de frecuencia... El sistema define dos grupos de cuatro frecuencias y la información se codifica mediante la transmisión simultánea de dos frecuencias, una de cada grupo. Esto da un total de dieciséis combinaciones para representar dieciséis diferentes números, símbolos y letras. La codificación DTMF se utiliza actualmente en una amplia variedad de aplicaciones de control y comunicaciones, como lo demuestra, por ejemplo, la Recomendación Q.23 de la Unión Internacional de Telecomunicaciones (UIT).

Este artículo describe un circuito generador de tonos DTMF que reproduce las ocho frecuencias y produce una salida de dos tonos resultante. El sistema en cuestión se construyó sobre la base del chip Silego GreenPAK ™ SLG46620V y amplificadores operacionales Silego SLG88104V. La señal de salida es la suma de las dos frecuencias definidas por la fila y la columna del teclado del teléfono.

El circuito propuesto utiliza cuatro entradas para seleccionar la combinación de frecuencia generada. El circuito también tiene una entrada de habilitación que desencadena la oscilación y determina la cantidad de tiempo que se transmite la señal. La frecuencia de salida del generador cumple con los requisitos del estándar ITU para DTMF.

Tonos DTMF

El estándar DTMF define la codificación de los dígitos 0-9, las letras A, B, C y D y los símbolos * y # como una combinación de dos frecuencias. Estas frecuencias se dividen en dos grupos: un grupo de alta frecuencia y un grupo de baja frecuencia. La Tabla 1 muestra las frecuencias, grupos y representaciones de símbolos correspondientes.

Tabla 1. Codificación de tonos DTMF

Grupo de agudos

Grupo de bajo

Las frecuencias se eligieron para evitar múltiples armónicos. Además, su suma o diferencia no da otra frecuencia DTMF. De esta forma se evitan armónicos o distorsiones de modulación.

La norma Q.23 especifica que el error de cada frecuencia transmitida debe estar dentro de ± 1.8% del valor nominal, y la distorsión total (debida a armónicos o modulación) debe estar 20 dB por debajo de las frecuencias fundamentales.

La señal resultante descrita anteriormente se puede describir como:

s (t) = Acos (2πfhight) + Acos (2πflowt),

donde fhigh y flow son las frecuencias correspondientes de los grupos de alta y baja frecuencia.

La figura 1 muestra la señal resultante para el dígito "1". La Figura 2 muestra el espectro de frecuencias para una señal dada.

Arroz. 1. Tono DTMF

Arroz. 2. Espectro de tonos DTMF

La duración de los tonos DTMF puede variar según la aplicación específica que utilice la codificación de tonos. Para las aplicaciones más comunes, los valores de duración tienden a estar entre manual y automático. La tabla 2 muestra Breve descripción tiempo típico para dos tipos de marcación.

Tabla 2. Duración de las señales con marcación por tonos

Tipo de conjunto

Grupo de agudos

Grupo de agudos

Mano set

Marcación automática

Para mayor flexibilidad, el generador DTMF que se ofrece en este manual está equipado con una entrada de habilitación, que se utiliza para iniciar la generación de señales y determinar su duración. En este caso, la duración de la señal es igual a la duración del pulso en la entrada de habilitación.

Parte analógica del circuito generador DTMF

La Recomendación UIT Q.23 define las señales DTMF como señales analógicas creadas por dos ondas sinusoidales. En el circuito generador de DTMF propuesto, el chip Silego GreenPAK SLG46620V genera señales de onda cuadrada con las frecuencias DTMF deseadas. Se requieren filtros analógicos y un sumador para obtener señales sinusoidales de la frecuencia requerida y formar la señal resultante (la suma de las dos ondas sinusoidales). Por este motivo, en este proyecto se decidió utilizar filtros y un sumador basado en los amplificadores operacionales SLG88104V.

La figura 3 muestra la estructura de la parte analógica propuesta del dispositivo.

Arroz. 3. Circuito de procesamiento analógico para recibir una señal DTMF

Los filtros analógicos se utilizan para producir señales sinusoidales a partir de pulsos rectangulares. Después del filtrado, se suman las dos señales y se forma la señal DTMF de dos tonos de salida deseada.

La figura 4 muestra el resultado de la transformada de Fourier utilizada para obtener el espectro de una señal rectangular.

Arroz. 4. El espectro de la señal es rectangular.

Como puede ver, la onda cuadrada contiene solo armónicos impares. Si representamos una señal de este tipo con amplitud A en forma de serie de Fourier, tendrá la siguiente forma:

El análisis de esta expresión nos permite concluir que si los filtros analógicos tienen suficiente atenuación para los armónicos, entonces es bastante realista obtener señales sinusoidales con una frecuencia igual a la frecuencia de la onda cuadrada original.

Teniendo en cuenta la tolerancia a la interferencia especificada en la norma Q.23, es necesario asegurarse de que todos los armónicos estén atenuados en 20 dB o más. Además, cualquier frecuencia del grupo de baja frecuencia debe combinarse con cualquier frecuencia del grupo de alta frecuencia. Teniendo en cuenta estos requisitos, se desarrollaron dos filtros, uno para cada grupo.

Se utilizaron filtros Butterworth de paso bajo como ambos filtros. La atenuación de un filtro Butterworth de orden n se puede calcular como:

A (f) [dB] = 10 log (A (f) 2) = 10log (1+ (f / fc) 2n),

donde fc es la frecuencia de corte del filtro, n es el orden del filtro.

La diferencia de atenuación entre la frecuencia más baja y la frecuencia más alta de cada grupo no puede ser más de 3 dB, por lo tanto:

A (f MAYOR) [dB] - A (FLOR) [dB]> 3dB.

Dados los valores absolutos:

A (f MAYOR) 2 / A (FLOR) 2> 2.

Además, como dijimos anteriormente, la atenuación armónica debe ser de 20 dB o más. En este caso, el peor de los casos será la frecuencia más baja del grupo, porque su tercer armónico es la frecuencia más baja y está más cerca de la frecuencia de corte del filtro. Considerando que el 3er armónico es 3 veces menor que el fundamental, el filtro debe cumplir la condición (valores absolutos):

A (3 FLORES) 2 / A (FLORES) 2> 10/3.

Si estas ecuaciones se aplican a ambos grupos, los filtros utilizados deben ser filtros de segundo orden. Esto significa que tendrán dos resistencias y dos condensadores si se implementan utilizando amplificadores operacionales. Con filtros de tercer orden, la sensibilidad a las tolerancias de los componentes sería menor. Las frecuencias de corte seleccionadas de los filtros son 977 Hz para el grupo de paso bajo y 1695 Hz para el grupo de paso alto. En estos valores, las diferencias en los niveles de señal en los grupos de frecuencia son consistentes con los requisitos anteriores, y la sensibilidad a los cambios en la frecuencia de corte debido a las tolerancias de los componentes es mínima.

Los diagramas esquemáticos de los filtros implementados usando el SLG88104V se muestran en la Figura 5. Las calificaciones del primer Pares R-C seleccionado de tal manera que limite la corriente de salida del microcircuito SLG46620V. La segunda sección del filtro determina la ganancia, que es 0,2. La amplitud de las señales de onda cuadrada establece el punto de funcionamiento del amplificador operacional en 2,5 V. Los condensadores de los filtros de salida bloquean los voltajes no deseados.

Arroz. 5. Diagramas esquemáticos de filtros de salida

En la salida, las señales de los filtros se suman y la señal resultante es la suma de los armónicos seleccionados del grupo de frecuencias altas y bajas. Para compensar la atenuación del filtro, la amplitud de la señal de salida se puede ajustar usando dos resistencias R9 y R10. La figura 6 muestra el circuito sumador. La figura 7 muestra la parte analógica completa del circuito.

Arroz. 6. Diagrama esquemático sumador

Arroz. 7. Parte analógica del circuito

Parte digital del circuito generador de tonos DTMF

La parte digital del circuito del generador de tonos DTMF incluye una variedad de generadores de onda cuadrada, uno para cada frecuencia DTMF. Dado que se requieren ocho contadores para crear estos generadores, se eligió el microcircuito GreenPAK SLG46620V para su implementación. En las salidas circuito digital Se generan dos señales rectangulares, una para cada grupo de frecuencias.

Las señales de onda cuadrada son generadas por contadores y flip-flops D y tienen un ciclo de trabajo del 50%. Por esta razón, la frecuencia de conmutación de los contadores es el doble de la frecuencia DTMF requerida, y el flip-flop DFF divide la señal de salida por dos.

La fuente de reloj para los contadores es un generador RC integrado de 2 MHz, cuya frecuencia es divisible adicionalmente por 4 o 12. El divisor se selecciona teniendo en cuenta el ancho de bit y el valor máximo de cada contador requerido para obtener una frecuencia específica. .

Se requieren menos conteos para generar altas frecuencias, por lo que se utilizan contadores de 8 bits para generarlos, sincronizados desde un oscilador RC interno, cuya señal se divide por 4. Por la misma razón, las frecuencias más bajas se implementan usando contadores de 14 bits .

El SLG46620V tiene solo tres contadores estándar de 14 bits, por lo que una de las frecuencias más bajas se implementó con un contador CNT8 de 8 bits. Para que el número de muestras esté dentro del rango de 0 ... 255, para sincronizar este CNT8, tuvimos que usar la señal del generador RC dividida por 12. Para este circuito, la frecuencia con el mayor número de muestras se eligió, es decir, la frecuencia más baja. Esto nos permitió minimizar el error.

La Tabla 3 muestra los parámetros de cada onda cuadrada.

Tabla 3. Parámetros de generadores de impulsos rectangulares

Reloj

Error de frecuencia [%]

Grupo de bajo

Grupo de agudos

Como puede ver en la tabla, todas las frecuencias tienen un error menor al 1.8%, por lo que cumplen con el estándar DTMF. Estas características calculadas, basadas en la frecuencia ideal del oscilador RC, se pueden ajustar midiendo la frecuencia de salida del oscilador RC.

Aunque en el esquema propuesto todos los generadores operan en paralelo, pero la señal de solo un generador de cada grupo irá a la salida del microcircuito. La elección de señales específicas depende del usuario. Para ello, se utilizan cuatro entradas GPIO (dos bits para cada grupo) con la tabla de verdad que se muestra en la Tabla 4.

Cuadro 4. Tabla de selección de frecuencia de grupo de graves

Grupo de bajo

Cuadro 5. Tabla de selección de frecuencias de grupos de agudos

Grupo de agudos

La Figura 8 muestra el diagrama lógico de un generador de onda cuadrada de 852 Hz. Este patrón se repite para cada frecuencia con los ajustes adecuados del contador y la configuración de LUT.

Arroz. 8. Generador de impulsos rectangular

El contador genera una frecuencia de salida determinada por su configuración. Esta frecuencia es igual al doble de la frecuencia del tono DTMF correspondiente. Los parámetros de configuración del medidor se muestran en la Figura 9.

Arroz. 9. Ejemplo de configuración del contador del generador de pulsos rectangulares

La salida del contador está conectada a la entrada de reloj del D-Flip Flop. Dado que la salida DFF está configurada como invertida, si conecta la salida DFF a su entrada, el D-flip-flop se convierte en un T-flip-flop. Los parámetros de configuración de DFF se pueden ver en la Figura 10.

Arroz. 10. Ejemplo de configuración del disparador de un generador de onda cuadrada

La señal de la salida DFF va a la entrada de la tabla de verdad LUT. Las tablas de verdad de LUT se utilizan para seleccionar una señal para cada combinación específica de R1-R0. En la Figura 11 se muestra un ejemplo de una configuración de LUT. B este ejemplo si se suministra "1" a R1 y "0" a R0, la señal de entrada se transmite a la salida. En otros casos, la salida es "0".

Arroz. 11. Ejemplo de configuración de la tabla de verdad de un generador de ondas cuadradas

Como se mencionó anteriormente, el esquema propuesto tiene una entrada Habilitar. Si una unidad lógica "1" está presente en la entrada de habilitación, las señales de onda cuadrada generadas se envían a un par de salidas del microcircuito. La duración de la transmisión es igual al ancho de pulso en la entrada de habilitación. Se necesitaron varios bloques más de tablas de verdad de LUT para implementar esta función.

El grupo alto usa una LUT de 4 bits y una LUT de 2 bits, como se muestra en la Figura 12.

Arroz. 12. Circuito de salida del grupo de agudos

La LUT1 de 4 bits está configurada como una puerta OR, por lo que genera un "1" lógico alto si hay un "1" en cualquiera de sus entradas. Las tablas de verdad C1 / C0 solo permiten la selección de uno de los osciladores, por lo que la LUT1 de 4 bits determina qué señal se emite. La salida de esta LUT se conecta a la LUT4 de 2 bits, que solo transmite una señal si hay un "1" lógico en la entrada de habilitación. Las figuras 13 y 14 muestran las configuraciones para LUT1 de 4 bits y LUT4 de 2 bits.

Arroz. 13. Configuración de LUT1 de 4 bits

Arroz. Configuración LUT4 de 14.2 bits

Dado que ya no existían tablas de verdad de 4 bits para las LUT, se utilizaron dos LUT de 3 bits para el grupo de baja frecuencia.

Arroz. 15.Circuito de salida de grupo de baja frecuencia

El diagrama interno completo del GreenPAK SLG46620V se muestra en la Figura 16. La Figura 17 es el diagrama esquemático final del generador DTMF.

Arroz. 16. Diagrama de bloques del generador de tonos DTMF

Arroz. 17. Diagrama esquemático del generador de tonos DTMF

Prueba del circuito del generador DTMF

En la primera etapa de prueba del generador DTMF propuesto, se decidió verificar las frecuencias de todas las señales de onda cuadrada generadas usando un osciloscopio. Como ejemplo, las Figuras 18 y 19 muestran salidas de onda cuadrada para frecuencias de 852 Hz y 1477 Hz.

Arroz. 18. Señal de onda cuadrada 852 Hz

Arroz. 19. Señal de onda cuadrada 1477 Hz

Una vez que se verificaron las frecuencias de todas las señales de onda cuadrada, comenzó la prueba de la parte analógica del circuito. Se examinaron las señales de salida para todas las combinaciones del grupo de baja y alta frecuencia. Como ejemplo, la Figura 20 muestra la suma de las señales de 770 Hz y 1209 Hz, y la Figura 21 muestra la suma de las señales de 941 Hz y 1633 Hz.

Arroz. 20. Tono DTMF 770 Hz y 1209 Hz

Arroz. 21.Tono DTMF 941 Hz y 1633 Hz

Conclusión

En este artículo, propusimos un circuito generador de tonos DTMF basado en el microcircuito Silego GreenPAK SLG46620V y amplificadores operacionales Silego SLG88104V. El generador permite al usuario seleccionar combinaciones de las frecuencias requeridas usando cuatro entradas y controlar la entrada de habilitación, que determina la duración de la generación de las señales de salida.

Características del chip SLG46620V:

  • Tipo: microcircuito de señal mixta programable;
  • Bloques analógicos: ADC de 8 bits, dos DAC, seis comparadores, dos filtros, ION, cuatro osciladores integrados;
  • Bloques digitales: hasta 18 puertos de E / S, matriz de conexión y lógica combinatoria, circuitos de retardo programables, generador de funciones programables, seis contadores de 8 bits, tres contadores de 14 bits, tres generadores / comparadores PWM;
  • Interfaz de comunicación: SPI;
  • Rango de tensión de alimentación: 1,8 ... 5 V;
  • Rango de temperatura de funcionamiento: -40 ... 85 ° C;
  • Versión de carcasa: 2 x 3 x 0,55 mm STQFN de 20 pines.

Características distintivas:

  • Generación de señales sinusoidales mediante modulación de ancho de pulso (PWM)
  • Combinando varias señales sinusoidales en una señal DTMF
  • Códigos fuente en lenguaje ensamblador y C
  • Diseñado para trabajar con STK500
  • Tamaño de código de programa 260 bytes / tamaño de tabla constante 128 bytes
  • Usando el método de conversión de tablas

Introducción

Este documento describe una metodología para generar señales DTMF (multifrecuencia de tono dual) utilizando cualquier microcontrolador AVR que contenga un bloque de modulación de ancho de pulso (PWM) y SRAM. Estas señales son muy utilizadas en telefonía, donde se reproducen al presionar los botones de marcación del teléfono. Para la correcta generación de la señal DTMF, se deben superponer dos frecuencias: baja frecuencia(fb) y alta frecuencia (fa). La Tabla 1 muestra cómo se mezclan las diferentes frecuencias para producir tonos DTMF cuando se presionan diferentes teclas.

Figura 1 - Circuito generador de señales DTMF

Tabla 1 - Matriz de modelado de tonos

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

Las filas de la Tabla 1 muestran los valores de baja frecuencia y las columnas muestran los valores de alta frecuencia. Por ejemplo, la matriz muestra que cuando presiona el botón "5", las frecuencias fb = 770 Hz y fa = 1336 Hz deben mezclarse. Como resultado de la adición de dos señales sinusoidales de diferentes frecuencias, se forma una señal DTMF

donde la relación de amplitud K = A b / A a las señales originales deben cumplir la condición

Principio de operación

Además de información general El uso de la modulación de ancho de pulso se mostrará a continuación cómo la modulación de ancho de pulso puede generar señales sinusoidales. El siguiente párrafo describe cómo usar frecuencia base PWM obtiene diferentes frecuencias. Después de considerar los fundamentos teóricos, se dará una descripción del propio generador de señales DTMF. Generando señales sinusoidales

Dependiendo de la relación entre la duración de los niveles de voltaje VH alto y VL bajo, el valor promedio en la salida PWM cambia. Si la relación entre las duraciones de ambos niveles se mantiene constante, el resultado será un nivel de voltaje constante VAV. La figura 2 muestra una señal modulada por ancho de pulso.


Figura 2 - Generación de niveles Voltaje constante

El nivel de voltaje está determinado por la expresión:

(3)

Se puede generar una señal sinusoidal siempre que el valor promedio del voltaje generado por la modulación de ancho de pulso cambie cada período de PWM. La relación entre niveles altos y bajos debe establecerse de acuerdo con el nivel de voltaje de la señal sinusoidal en el momento apropiado. La figura 3 ilustra este proceso. Los datos iniciales de PWM se calculan para cada uno de sus períodos y se escriben en la tabla de conversión (TP).

La Figura 3 también ilustra la relación entre la frecuencia de la onda sinusoidal principal y el número de muestras. Cuanto mayor sea el número de muestras (Nc), mayor será la precisión de simulación de la señal resultante:

(4)

La frecuencia de PWM depende de la resolución de PWM. Con una resolución de 8 bits, el valor final (parte superior de la cuenta) del temporizador es 0xFF (255). Porque el temporizador cuenta hacia arriba y hacia abajo, este valor debe duplicarse. Por lo tanto, la frecuencia de PWM se puede calcular dividiendo la frecuencia de reloj del temporizador f CK por 510. Así, con una frecuencia de reloj del temporizador de 8 MHz, la frecuencia de PWM resultante es de 15,6 kHz.


Figura 3 - Generación de una señal sinusoidal usando PWM

Cambiar la frecuencia de una señal sinusoidal

Suponga que las muestras sinusoidales se leen de la tabla de búsqueda no de forma secuencial, sino una tras otra. En este caso, a la misma frecuencia de muestreo, se generará una señal con una frecuencia duplicada (ver Figura 4).


Figura 4 - Duplicar la frecuencia resultante (XSW = 2)

Por analogía, si lee no cada segundo valor, sino cada tercero, cuarto, quinto (respectivamente, ancho de paso 3, 4, 5 ...), etc. puede generar Nc frecuencias en el rango. Tenga en cuenta que para las frecuencias altas, la forma de onda resultante no será sinusoidal. El ancho del escalón de acuerdo con la tabla de conversión se indica como X SW, dónde

(5)

El cálculo de la posición actual en el TP para el próximo período PWM (cuando el temporizador se desborda) se realiza mediante la expresión (6). Nuevo valor en la posición X LUT depende de su estado anterior en la posición X "LUT con incremento de ancho de paso X SW

(6)

Agregar diferentes frecuencias para obtener una señal DTMF

La señal DTMF se puede generar usando las expresiones (1) y (2). Para simplificar las operaciones aritméticas, el valor del coeficiente K se toma igual a 0,75 para reemplazar la operación aritmética con cambios lógicos. Teniendo en cuenta la expresión (6), el valor actual para el control PWM se puede calcular mediante la expresión:

y teniendo en cuenta que X LUTa=X "LUTa + X SWa ,X LUTb=X "LUTb + X SWb, finalmente escribimos

Implementación del generador DTMF

V este anexo Considere construir un generador de tonos DTMF usando una salida PWM de 8 bits (OC1A) y una tabla con 128 muestras de valores de función sinusoidal (Nc), cada uno de los cuales está configurado por 7 bits (n). Las siguientes expresiones muestran esta relación y también muestran cómo calcular los elementos de la tabla de búsqueda:

(9)

La ventaja de utilizar 7 bits es que la suma de los valores de frecuencia alta y baja es un byte. Para soporte juego completo Para los tonos DTMF, es necesario calcular 8 valores para cada frecuencia DTMF de la Tabla 1 e ingresarlos en la tabla de conversión.

Para lograr una mayor precisión, se realiza la siguiente solución: los valores calculados por la expresión 5 requieren solo 5 bytes. Para usar los 8 bytes, lo que reducirá el error de redondeo, este valor se multiplica por 8. El puntero a la tabla de conversión se escribe de la misma manera. Pero en este caso, se necesitan dos bytes para almacenar el valor 8x. Esto significa que debe realizar 3 desplazamientos del lado derecho y una operación de módulo en la base Nc (multiplicación lógica por Nc-1) antes de usar estos bytes como puntero a los valores de la sinusoide en


Figura 5 - Diagrama del módulo para conectar a STK500

La señal PWM se genera en el pin OC1A (PD5). Un filtro de salida adicional ayudará a adaptarse mejor a la forma de onda sinusoidal. A medida que la frecuencia PWM disminuye, puede ser necesario aplicar un filtro con una respuesta de frecuencia más pronunciada para obtener un buen resultado.

La conexión del teclado se muestra en la Figura 1. La operación del teclado debe organizarse de tal manera que sea posible determinar la tecla presionada. Esto se puede hacer de acuerdo con el siguiente algoritmo:

  1. Determinando la cadena de la tecla presionada
    • configure la tétrada menor del puerto B para generar y establecer el registro. "0"
    • configurar la tétrada mayor del puerto B a la entrada con la conexión de resistencias pull-up
    • la línea con el botón presionado se define como la categoría del cuaderno senior con un registro. "0"
  2. Definición de la columna de la tecla presionada
    • configure el nibble senior del puerto B para generar y establecer el registro. "0"
    • configurar la tétrada junior del puerto B a la entrada con la conexión de resistencias pull-up
    • la columna con el botón presionado se define como la categoría de la nota más baja con un registro. "0"

Nota: En STK200, las resistencias se conectan en serie entre los pines PORTB y los pines BP5, PB6 y PB7 del microcontrolador (consulte el diagrama STK200). Esto causará problemas si el teclado está conectado al conector PORTB.

La Figura 6 ilustra el funcionamiento de la subrutina para determinar la tecla presionada. La duración del intervalo se determina en función de la tecla presionada. La rutina de interrupción utiliza este valor para calcular la configuración de PWM para los dos tonos DTM sinusoidales. El procedimiento de manejo de interrupciones se muestra en las Figuras 7 y 8.

Esta rutina calcula un valor para comparar con la salida del temporizador para el siguiente período de PWM. La rutina de interrupción calcula primero la posición del siguiente valor de recuperación en la tabla de búsqueda y lee el valor almacenado allí.

La posición de la muestra en la tabla de búsqueda está determinada por el ancho del pulso, y el ancho real del pulso está determinado por la frecuencia generada.

El valor final que se escribe en el registro de comparación del temporizador se determina mediante la fórmula (7), donde se tienen en cuenta los valores de muestra de ambas frecuencias DTMF.


Figura 6 - Diagrama de bloques del programa principal

Características distintivas

  • Generación de señales sinusoidales mediante modulación de ancho de pulso (PWM)
  • Combinando varias señales sinusoidales en una señal DTMF
  • Códigos fuente de ensamblador y C
  • Diseñado para trabajar con STK500
  • Tamaño de código de programa 260 bytes / tamaño de tabla constante 128 bytes
  • Usando el método de conversión de tablas

Introducción

Este documento describe una metodología para generar señales DTMF (multifrecuencia de tono dual) utilizando cualquier microcontrolador AVR que contenga un bloque de modulación de ancho de pulso (PWM) y SRAM. Estas señales son muy utilizadas en telefonía, donde se reproducen al presionar los botones de marcación del teléfono. Para generar la señal DTMF correctamente, se deben superponer dos frecuencias: baja frecuencia (fb) y alta frecuencia (fa). La Tabla 1 muestra cómo se mezclan las diferentes frecuencias para producir tonos DTMF cuando se presionan diferentes teclas.


Figura 1. Circuito generador de señales DTMF

Tabla 1. Matriz de modelado de tonos

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

Las filas de la Tabla 1 muestran los valores de baja frecuencia y las columnas muestran los valores de alta frecuencia. Por ejemplo, la matriz muestra que cuando presiona el botón "5", las frecuencias fb = 770 Hz y fa = 1336 Hz deben mezclarse. Como resultado de la adición de dos señales sinusoidales de diferentes frecuencias, se forma una señal DTMF

donde la relación de las amplitudes K = A b / A a de las señales originales debe cumplir la condición

Principio de operación

Además de la información general sobre el uso de la modulación por ancho de pulso, se mostrará a continuación cómo la modulación por ancho de pulso puede generar señales sinusoidales. El siguiente párrafo describe cómo obtener diferentes frecuencias usando la frecuencia base PWM. Después de considerar los fundamentos teóricos, se dará una descripción del propio generador de señales DTMF. Generando señales sinusoidales

Dependiendo de la relación entre la duración de los niveles de voltaje VH alto y VL bajo, el valor promedio en la salida PWM cambia. Si la relación entre las duraciones de ambos niveles se mantiene constante, el resultado será un nivel de voltaje constante VAV. La figura 2 muestra una señal modulada por ancho de pulso.


Figura 2. Generación de nivel de voltaje constante

El nivel de voltaje está determinado por la expresión:

(3)

Se puede generar una señal sinusoidal siempre que el valor promedio del voltaje generado por la modulación de ancho de pulso cambie cada período de PWM. La relación entre niveles altos y bajos debe establecerse de acuerdo con el nivel de voltaje de la señal sinusoidal en el momento apropiado. La figura 3 ilustra este proceso. Los datos iniciales de PWM se calculan para cada uno de sus períodos y se escriben en la tabla de conversión (TP).

La Figura 3 también ilustra la relación entre la frecuencia de la onda sinusoidal principal y el número de muestras. Cuanto mayor sea el número de muestras (Nc), mayor será la precisión de simulación de la señal resultante:

(4)

La frecuencia de PWM depende de la resolución de PWM. Con una resolución de 8 bits, el valor final (parte superior de la cuenta) del temporizador es 0xFF (255). Porque el temporizador cuenta hacia arriba y hacia abajo, este valor debe duplicarse. Por lo tanto, la frecuencia de PWM se puede calcular dividiendo la frecuencia de reloj del temporizador f CK por 510. Así, con una frecuencia de reloj del temporizador de 8 MHz, la frecuencia de PWM resultante es de 15,6 kHz.


Figura 3. Generación de una señal sinusoidal usando PWM

Cambiar la frecuencia de una señal sinusoidal

Suponga que las muestras sinusoidales se leen de la tabla de búsqueda no de forma secuencial, sino una tras otra. En este caso, a la misma frecuencia de muestreo, se generará una señal con una frecuencia duplicada (ver Figura 4).


Figura 4. Duplicar la frecuencia resultante (XSW = 2)

Por analogía, si lee no cada segundo valor, sino cada tercero, cuarto, quinto (respectivamente, ancho de paso 3, 4, 5 ...), etc. puede generar Nc frecuencias en el rango. Tenga en cuenta que para las frecuencias altas, la forma de onda resultante no será sinusoidal. El ancho del paso de acuerdo con la tabla de conversión se indica como X SW, donde

(5)

El cálculo de la posición actual en el TP para el próximo período PWM (cuando el temporizador se desborda) se realiza mediante la expresión (6). El nuevo valor en la posición X LUT depende de su estado anterior en la posición X "LUT con la adición del ancho de paso X SW

(6)

Agregar diferentes frecuencias para obtener una señal DTMF

La señal DTMF se puede generar usando las expresiones (1) y (2). Para simplificar las operaciones aritméticas, el valor del coeficiente K se toma igual a 0,75 para reemplazar la operación aritmética con cambios lógicos. Teniendo en cuenta la expresión (6), el valor actual para el control PWM se puede calcular mediante la expresión:

y teniendo en cuenta que X LUTa = X "LUTa + X SWa, X LUTb = X" LUTb + X SWb, finalmente escribimos

Implementación del generador DTMF

Este apéndice muestra cómo construir un generador de tonos DTMF usando una salida PWM de 8 bits (OC1A) y una tabla de muestra de función sinusoidal de 128 muestras (Nc), cada una especificada por 7 bits (n). Las siguientes expresiones muestran esta relación y también muestran cómo calcular los elementos de la tabla de búsqueda:

(9)

La ventaja de usar 7 bits es que la suma de las señales de alta y baja frecuencia es un byte. Para admitir el conjunto completo de tonos DTMF, es necesario calcular 8 valores para cada frecuencia DTMF de la Tabla 1 e ingresarlos en la tabla de conversión.

Para lograr una mayor precisión, se realiza la siguiente solución: los valores calculados por la expresión 5 requieren solo 5 bytes. Para usar los 8 bytes, lo que reducirá el error de redondeo, este valor se multiplica por 8. El puntero a la tabla de conversión se escribe de la misma manera. Pero en este caso, se necesitan dos bytes para almacenar el valor 8x. Esto significa que debe realizar 3 desplazamientos del lado derecho y una operación de módulo en la base Nc (multiplicación lógica por Nc-1) antes de usar estos bytes como puntero a los valores sinusoidales en


Figura 5. Diagrama del módulo para la conexión al STK500

La señal PWM se genera en el pin OC1A (PD5). Un filtro de salida adicional ayudará a adaptarse mejor a la forma de onda sinusoidal. A medida que la frecuencia PWM disminuye, puede ser necesario aplicar un filtro con una respuesta de frecuencia más pronunciada para obtener un buen resultado.

La conexión del teclado se muestra en la Figura 1. La operación del teclado debe organizarse de tal manera que sea posible determinar la tecla presionada. Esto se puede hacer de acuerdo con el siguiente algoritmo:

  1. Determinando la cadena de la tecla presionada
    • configure la tétrada menor del puerto B para generar y establecer el registro. "0"
    • configurar la tétrada mayor del puerto B a la entrada con la conexión de resistencias pull-up
    • la línea con el botón presionado se define como la categoría del cuaderno senior con un registro. "0"
  2. Definición de la columna de la tecla presionada
    • configure el nibble senior del puerto B para generar y establecer el registro. "0"
    • configurar la tétrada junior del puerto B a la entrada con la conexión de resistencias pull-up
    • la columna con el botón presionado se define como la categoría del nibble más bajo con un registro. "0"

Nota: En STK200, las resistencias se conectan en serie entre los pines PORTB y los pines BP5, PB6 y PB7 del microcontrolador (consulte el diagrama STK200). Esto causará problemas si el teclado está conectado al conector PORTB.

La Figura 6 ilustra el funcionamiento de la subrutina para determinar la tecla presionada. La duración del intervalo se determina en función de la tecla presionada. La rutina de interrupción utiliza este valor para calcular la configuración de PWM para los dos tonos DTM sinusoidales. El procedimiento de manejo de interrupciones se muestra en las Figuras 7 y 8.

Esta rutina calcula un valor para comparar con la salida del temporizador para el siguiente período de PWM. La rutina de interrupción calcula primero la posición del siguiente valor de recuperación en la tabla de búsqueda y lee el valor almacenado allí.

La posición de la muestra en la tabla de búsqueda está determinada por el ancho del pulso, y el ancho real del pulso está determinado por la frecuencia generada.

El valor final que se escribe en el registro de comparación del temporizador se determina mediante la fórmula (7), donde se tienen en cuenta los valores de muestra de ambas frecuencias DTMF.


Figura 6. Diagrama de bloques del programa principal


Figura 7. Diagrama de bloques de la rutina de manejo de interrupciones por desbordamiento del temporizador


Figura 8. Diagrama de bloques del procedimiento de lectura de muestra "GetSample"

Publicación: www.cxem.net

Ver otros articulos sección.



¿Te gustó el artículo? Compártelo