GENERADOR DE MULTIPLES SEÑALES SIMULTÁNEAS Luciano Alvarez*, Diego Adán Scharf, Marcelo Daniel Leo, Luis Napolitano Universidad Tecnológica Nacional, Facultad Regional Avellaneda, Departamento de Electrónica, Laboratorio de Investigación Aplicada, Av. Ramón Franco 5050, (1874) Villa Dominico, Buenos Aires, Argentina. *Autor a quien la correspondencia debe ser dirigida Correo electrónico: lefra@fra.utn.edu.ar Recibido el 25 de julio de 2012; aceptado el 6 de diciembre de 2012 Resumen Se describe el desarrollo y la construcción de un generador de señales con características adaptadas a una aplicación particular. Se necesita disponer de varias ondas eléctricas simultáneas y arbitrarias, de diferentes períodos y formas, las que se podrán configurar y programar previamente en un microcontrolador, en cuya memoria se encuentren almacenadas. La estructura básica consta de un microcontrolador y un conversor digital analógico. Como resultado, se ha obtenido un generador de ocho salidas, con señales programables (en forma, frecuencia, amplitud) según la necesidad. Palabras clave: Generador - Múltiples salidas - Señales arbitrarias. Abstract The development and construction of a generator of signs, with characteristics adapted to a particular application, is described. It requires the availability of several simultaneous and arbitrary electric waves, having different periods and forms, which will be previously configured and programmed in a microcontroller, and stored in its memory. The basic structure consists of a microcontroller and a digital-analog converter. As a result, a generator of eight outputs has been obtained, with programmable signals (in form, frequency, amplitude) depending on the need. Keywords: Generator - Multiple outputs - Arbitrary signals. Introducción Al realizar las pruebas de digitalización y transmisión de datos del proyecto Microradioenlace Digital se planteó la necesidad de contar con varios instrumentos generadores de señales (quince). Surgió entonces la idea de realizar un circuito capaz de generar múltiples señales simultáneas, de diferente forma y frecuencia (señales cardíacas y otras de formas especiales) evitando el empleo de varios generadores independientes. Concluimos que lo más adecuado era el desarrollo de un generador de ocho canales, y luego armar dos de ellos, con lo cual se cubriría la necesidad. Desarrollo Para la estructura del generador de señales múltiples se planteó un esquema que emplea un conversor digital/analógico de 8 canales y 10 bits de resolución, DAC108S085 (National Semiconductor, 2007) asistido por un microcontrolador que maneja todas las funciones y tiene memorizadas las formas de onda deseadas, con una resolución aceptable. Ambos microcircuitos disponen de puertos serie, con velocidad suficiente para asegurar un refresco de las salidas a una tasa de repetición suficientemente alta. Las 8 señales están en 2 bloques de 4, cada una con su entrada de referencia independiente, y están conectadas a una tensión de precisión de 2,50 V. 151
Rumbos Tecnológicos. Volumen 5 Para el control del conversor se empleó un microcontrolador de la familia del 8051, (tipo C8051F330), con 8 Kbytes de memoria flash y una versión reducida de los puertos de salida. En su memoria flash se guardan varias tablas de datos. Cada una representa una señal diferente y pueden actualizarse en forma independiente. Se indica en la Figura 1 el diagrama en bloques. Señales de control Indicaciones visuales Microcontrolador Tablas de datos Conversor Analógico / Digital Señales de salida Figura 1. Diagrama en bloques Señales programadas Se programa un grupo de señales que son elegidas específicamente, pero es posible su reprogramación a elección (Silicon Laboratories, 2003). En particular, se incluyen dos pulsos cardíacos, provenientes de una captura de datos de una señal real, originada en un ECG. La señal se procesa de modo de obtener una resolución de 10 bits (1024 niveles) y 1000 muestras por segundo, y se genera finalmente una tabla de datos que se almacena en la memoria flash del microcontrolador. De forma similar, se conforma una tabla de valores de una señal senoidal, mediante el recurso de una tabla look-up. Se sigue el mismo proceso para las demás señales. Se incluye también una señal de forma de onda arbitraria. Señales simultáneas disponibles: Pulso Cardiaco de 60 latidos por minuto. Pulso Cardiaco de 120 latidos por minuto. Señal de forma arbitraria de 0,1Hz. Señal de forma arbitraria de 1Hz. Señal Senoidal de 1Hz. Señal Senoidal de 4Hz. Señal Senoidal de 10Hz. Señal Senoidal de 50Hz. Las diferentes frecuencias de una misma forma de onda se obtienen alterando la velocidad de barrido de la tabla y el número de muestras leídas. Un temporizador del microcontrolador, genera una interrupción cada 500 s para actualizar alguna de las salidas del conversor digital/analógico; un algoritmo de control verifica cuál de los canales analógicos debe ser actualizado y carga el valor correspondiente. Este tiempo (no establecido arbitrariamente), surge de un balance entre la cantidad de muestras que se quieren tener por ciclo de señal, para una buena representación, y el tiempo que insume la actualización de los DAC. Como máximo se utilizan 1000 muestras por segundo, lo que requiere un ritmo de 1 ms. Se deja un margen de la mitad del tiempo y se genera un tic de 500 s en el sistema. 152
Se indica en la Figura 2 el diagrama en bloques del programa. Figura 2. Diagrama de flujo del programa de control 153
Rumbos Tecnológicos. Volumen 5 Con el objeto de representar cada una de las señales con suficiente número de muestras, es necesario cargar más de una vez el conversor digital/analógico por cada interrupción. Esto se debe a que la rutina de actualización de un canal analógico implica tomar el dato correspondiente de la tabla y cargarlo en forma serie al conversor. Esta rutina, empleando una velocidad de clock de 24,5 MHz (máximo aceptado por el micro), insume unos 70 s y al actualizar los 8 canales se emplearían unos 560 s, tiempo mayor al establecido como Tic del sistema (500 s). Dadas las señales que se quieren generar, existen algunas que deben actualizarse en cada interrupción, otras cada 2 interrupciones y una cada 20 interrupciones. En la Tabla 1 se muestra un detalle de lo antes expuesto para cada canal en particular: Tabla 1. Características de las señales generadas Canal Señal generada Tiempo de actualización Muestras totales de la señal A Pulso Card. 60PPM (Figura 3) 1 ms 1000 B Pulso Card. 120PPM (Figura 3) 1 ms 500 C Arbitraria 0,1Hz (Figura 4) 10 ms 1000 D Senoidal 1HZ (Figura 5) 1 ms 1000 E Senoidal 4HZ (Figura 5) 500 s 500 F Senoidal 10Hz (Figura 5) 500 s 200 G Arbitraria 1Hz (Figura 4) 1 ms 1000 H Senoidal 50HZ (Figura 5) 500 s 40 Las señales con tiempo de actualización de 500 s se refrescan siempre que exista una interrupción (canales E, F y H). Las señales con actualización cada 1 ms deben refrescarse cada 2 interrupciones. Aprovechando que son 4 (canales A, B, D y G) en una interrupción se refrescan los canales A y B y en la siguiente el D y G. Esto implica entonces que como mínimo siempre se refrescan 5 canales y como máximo 6, ya que cada 20 interrupciones se agrega el canal C. Considerando que el refresco de un canal tarda 70 s, tenemos un tiempo máximo de 420 s, valor que está por debajo del Tic del sistema, lo que evita que se aniden las interrupciones. Las Figuras 3 a 6 brindan ilustraciones de los procesos, mientras que en las Figuras 7 y 8 muestran vistas del prototipo. Figura 3. Forma de onda: caso A y B, pulso cardíaco. 154
Figura 4. Forma de onda. caso C y G, aleatoria. Figura 5. Forma de onda: caso D,E,F y H. Figura 6. Visualización de algunas de las señales generadas. 155
Rumbos Tecnológicos. Volumen 5 Figura 7. Imagen del lado de componentes del prototipo. Figura 8. Imagen del lado soldadura del prototipo. A través del conector doble hilera, que se ve a la derecha de las imágenes, se cablean cada una de las señales de salida al circuito bajo prueba. El diagrama eléctrico del circuito se indica en la Figura 9. Figura 9. Diagrama eléctrico del circuito. A la salida de cada canal se colocó un filtro RC, con una constante de tiempo de 100 s, de forma de filtrar los flancos de los escalones generados por el DAC. Estos flancos son abruptos (pendiente 500mV/ s) y la constante de tiempo elegida es lo suficientemente lenta para suavizarlos. 156
Conclusiones A partir de la necesidad planteada en un trabajo de desarrollo, se construyó un auxiliar (desarrollo aplicado) que simplifica el armado de una mesa de medición y facilita la tarea. Su empleo no queda limitado a esta aplicación particular, y puede utilizarse como un instrumento en sí mismo. Referencias NATIONAL SEMICONDUCTOR (2007), DAC108S085 DAC data sheet. SILICON LABORATORIES (2003) Using the DAC as a function generator. AN123-DS11. 157