Universidad de San Carlos de Guatemala Facultad de Ingenier´ıa Laboratorio de Comunicaciones 4 Primera serie de mini-proyectos Instructor de laboratorio: Rodrigo Chang* Resumen El presente documento describe una serie de mini-proyectos a implementar utilizando la Tiva TM4C123G Launchpad como parte del laboratorio de Comunicaciones 4, en el que se explora ˜ ´ de muestras el procesamiento digital de senales. Los proyectos consisten en la obtencion ´ del microcontrolador y reproducidas a intervalos que sean guardadas en la memoria no volatil ˜ ´ constantes para generar senales de voltaje, ya sea para generar graficos en el osciloscopio o audio en un equipo de sonido. Palabras clave ˜ ´ Generador de senales, muestreo, conversor digital-analogico, secuencias, frecuencia de Nyquist *Correo para dudas y sugerencias: [email protected] ´ Pagina de proyectos de ejemplo: https://github.com/rafaelchp?tab=repositories 1. Instrucciones generales 1.1 Objetivos Aplicar los conocimientos adquiridos en el curso y en el laboratorio de Comunicaciones 4 para desarrollar una aplicaci´on pr´actica. elementos: Componentes para armar uno o dos conversores digital-anal´ogico (con una red escalera o un DAC SPI). Desarrollar un sistema de procesamiento digital de se˜nales utilizando la tarjeta de desarrollo Tiva Launchpad. Instrumentos de medici´on: mult´ımetro para corroborar voltajes de alimentaci´on y osciloscopio para observar las se˜nales de voltaje generadas. Utilizar el lenguaje de programaci´on Python para manejar se˜nales de forma discreta. Libro de trabajo (Workbook) y documentaci´on de la librer´ıa de perif´ericos. ´ 1.2 Motivacion Los mini-proyectos pretenden la implementaci´on de sistemas de procesamiento digital de se˜nales (DSP) muy b´asicos, abarcando temas del curso de Comunicaciones 4, como muestreo, secuencias y c´omo aplicar estos conceptos a la construcci´on y a la programaci´on de un dispositivo electr´onico. 1.3 Materiales Para el desarrollo de cualquiera de los miniproyectos se requiere el uso de la tarjeta de desarrollo Tiva Launchpad TM4C123G y los siguientes Hoja de datos del TM4C123GH6PM. Opcionalmente, se adjunta una p´agina con varios proyectos de ejemplo para configuraci´on de los perif´ericos, como SPI, PWM, Timers y ´ m´odulo ADC. Estos pueden servir como base para programar el proyecto propio y los repositorios pueden ser bifurcados para empezar a trabajar sobre un proyecto funcional. 1.4 Forma de entrega Tomar en cuenta los siguientes aspectos para la entrega del mini-proyecto : Primera serie de mini-proyectos — 2/4 La presentaci´on ser´a presencial y habr´a una hoja de calificaci´on para cada proyecto, adem´as se har´a una corta evaluaci´on del c´odigo fuente utilizado para programar el microcontrolador. El mini-proyecto se presentar´a en parejas, y cada pareja es libre de escoger uno de los tres mini-proyectos propuestos a continuaci´on. Los botones deben realizar acciones espec´ıficas, y s´olo realizar´an su funci´on una vez cuando se presionen, es decir, no deben seguir realizando la acci´on programada si se deja presionado el bot´on. El funcionamiento de los botones ser´a el siguiente: • Cuando s´olo SW1 est´e presionado, se disminuir´a la frecuencia (se aumenta el tiempo entre muestras). El mini-proyecto puede presentarse en protoboard, placas perforadas o placas de circuitos impresos, y la forma escogida no afecta la calificaci´on de ninguna forma. • Cuando s´olo SW2 est´e presionado, se aumentar´a la frecuencia (se disminuye el tiempo entre muestras). La detecci´on de copia con otro grupo es penada con la anulaci´on del mini-proyecto para el/los grupos involucrados. 1.5 Fecha de entrega La fecha de entrega est´a planificada para el 19 de septiembre en el laboratorio de electr´onica. Cualquier cambio ser´a notificado por correo electr´onico. 2. Proyectos a realizar ˜ 2.1 Generador de senales Este proyecto consiste en utilizar la Tiva Launchpad como un generador de se˜nales de voltaje para observar en el osciloscopio. El proyecto debe cumplir con los siguientes aspectos: Se deben generar muestras de tres se˜nales distintas utilizando Python. La secuencia de muestras debe guardarse en la memoria Flash del microcontrolador como n´umeros enteros sin signo con una precisi´on de 12 bits. Esto es, que los valores de las muestras siempre est´en comprendidos entre 0 y 4095. Al encender la Tiva Launchpad, se debe utilizar un DAC de 12 bits para obtener se˜nales de voltaje comprendidas entre 0V y V cc, donde generalmente V cc = 3,3V . La secuencia de valores debe enviarse al conversor digitalanal´ogico a intervalos constantes para generar las formas de onda deseadas. La frecuencia por defecto de la se˜nal debe ser de 5kHz. • Cuando ambos botones se presionen, se cambia a la siguiente se˜nal guardada en memoria. Para cada se˜nal que est´e siendo generada debe mostrarse un color distinto en la Tiva Launchpad. El requisito para las se˜nales a generar es que no pueden ser se˜nales para las cuales exista un circuito espec´ıfico de mediana complejidad1 para ser generadas. Es decir, no pueden ser se˜nales senoidales puras, onda cuadrada o triangular, pero s´ı pueden ser combinaciones entre e´ stas (sumas, multiplicaciones, etc.), y se pueden utilizar otro tipo de funciones, como la funci´on exponencial. La idea es generar se˜nales que no sean tan f´aciles de generar utilizando componentes discretos. Este requisito se impone para demostrar la capacidad del procesamiento digital de se˜nales. Como ejemplo, se puede ver en la figura 1 el pulso gaussiano generado con una ecuaci´on de la forma: y(t) = e−t 2 /τ cos(2π f0 t) La funci´on genera valores entre −1 y 1, por lo que sumando 1 a la funci´on, los valores 1 Esto se refiere a que no lleve m´as que un amplificador operacional o demasiados transistores. Primera serie de mini-proyectos — 3/4 Figura 1. Pulso gaussiano generado con la Tiva Launchpad y un DAC de 12 bits. generados est´an entre 0 y 2. Se multiplic´o por 2048 y finalmente se extrajeron los valores enteros de las muestras para obtener los valores que deb´ıan ser enviados al DAC. Figura 2. Gr´afica generada en el osciloscopio utilizando dos canales de DAC y un microcontrolador. ser´an intercambiadas cuando se presione el bot´on SW1: • 30Hz ´ 2.2 Graficos en el osciloscopio Este proyecto pretende utilizar la Tiva Launchpad para desplegar una leyenda o una imagen en el osciloscopio utilizando la funci´on XY. Para tener una idea de lo que se est´a pidiendo se puede referir al siguiente v´ıdeo: https://www.youtube.com/watch?v= Dx9N91FnPdo Algunos de los aspectos con el que cumple el proyecto: El microcontrolador debe guardar dos secuencias de valores, una que represente los valores a graficar en el eje X y otra secuencia los valores del eje Y. Las muestras se env´ıan a intervalos constantes a dos DACs para formar la pareja ordenada o un punto en el osciloscopio y la uni´on de puntos forma la figura o imagen. Dependiendo de la figura a realizar, as´ı ser´an los bits de precisi´on necesarios para representar todos los valores de los cuales est´e compuesta la figura. Se debe implementar tres frecuencias distintas para mostrar la misma imagen, las cuales • 60Hz • 200Hz Esto para determinar con qu´e frecuencia es mejor refrescar la imagen en el osciloscopio. Y se debe mostrar un color diferente con los LEDs para cada frecuencia. La figura o imagen a desplegar queda a discreci´on de cada pareja y dependiendo de la complejidad ser´a la cantidad de muestras en la secuencia. Como ejemplo se muestra en la figura 2 la imagen generada en el v´ıdeo. ´ de sonidos 2.3 Reproduccion Este proyecto consiste en grabar pistas de voz y reproducirlas utilizando la Tiva Launchpad. Debe cumplir con los siguientes requerimientos: Se deben grabar dos pistas de voz diciendo alguna palabra de forma elocuente, por ejemplo “¡Hola!” o “¿C´omo est´as?”. Espec´ıficamente se debe grabar a 8000 muestras por segundo, que es la misma tasa de muestreo a la que deben reproducirse utilizando un DAC con la Tiva Launchpad. Primera serie de mini-proyectos — 4/4 Nuevamente, se debe hacer el tratamiento matem´atico necesario a las se˜nales, es decir, si e´ stas var´ıan entre -1 y 1, se debe hacer que las se˜nales var´ıen entre 0 y 4095, que ser´an los valores utilizados para un DAC de 12 bits de precisi´on. El funcionamiento de los botones y LEDs ser´a el siguiente: • El bot´on SW1 debe reproducir una pista de voz y poner los LEDs en rojo. • El bot´on SW2 debe reproducir la segunda pista de voz y poner los LEDs en azul. La condici´on para entrega es que la se˜nal de voltaje generada se amplifique y conecte a una bocina para que se pueda escuchar que realmente la pista de voz est´a grabada en el microcontrolador. ´ 3. Rubrica ´ de calificacion En el cuadro 1 se puede ver la r´ubrica de calificaci´on para cualquiera de los proyectos. Descripci´on Porcentaje Configuraci´on de perif´ericos (Timer, SPI) 10 % Funcionamiento DAC 20 % Funcionamiento botones y LEDs 20 % Generaci´on de secuencias para se˜nales 10 % Generaci´on de se˜nales en osciloscopio o reproducci´on en bocina 40 % Cuadro 1. R´ubrica de calificaci´on para proyectos
© Copyright 2024