File - Laboratorio de Electrónica

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