viernes, 28 de enero de 2011

DISEÑO E IMPLEMENTACIÓN DE UN PIANO DE 2 OCTAVAS USANDO LA TARJETA SPARTAN 3E.

INTRODUCCIÓN.
El presente proyecto tiene como objetivo el diseño e implementación de un piano conformado por dos octavas es decir 14 teclas, sin considerar las notas sostenidas. Para llevar a cabo el proyecto, primeramente debemos partir de las frecuencias correspondientes a cada una de las notas tal como se puede observar en la tabla 1 y para ello se parte de  una nota de referencia o también conocida como nota de afinar, en este caso se considera la nota LA cuya frecuencia es de 440 Hz, también hay que aclarar que el diseño de nuestro piano involucra la tercera y cuarta octava. Luego de haber definido las frecuencias de las notas, es momento de hablar de los elementos que nos permitirá censar cada  una de las teclas presionadas, en nuestro caso utilizaremos las características propias de los fotodiodos. El fotodiodo se parece mucho a un diodo semiconductor común, pero tiene una característica que lo hace muy especial, es un dispositivo que conduce una cantidad de corriente eléctrica proporcional a la cantidad de luz que lo incide (lo ilumina). Una vez obtenido el voltaje de cada tecla presionada (dato), se utilizara un microcontrolador (ATMEGA 32) el cual tendrá la misión de detectar estos cambios, y utilizará el protocolo RS-232 para enviar dichos cambios a la tarjeta SPARTAN 3E, en la cual se tendrá que generar cada uno de los tonos correspondientes y para ello se procederá a dividir la frecuencia del reloj principal. Una vez obtenido el tono, inmediatamente se lo llevara a un circuito amplificador, el cual esta conformado por tres circuitos:Inversor de voltaje, Conversor de señal unipolar a bipolar y el circuito amplificador, para de esta manera obtener una mejor calidad de tono.

DESARROLLO.
En la figura 1 se puede observar el diagrama de bloques correspondiente a nuestro proyecto.

Figura 1. Diagrama de Bloques del Proyecto.
Tal como se mencionó en la introducción el primer punto a tratar son las frecuencias de las notas musicales, que a continuación se procede a detallar junto con los demás puntos del proyecto.
 
Frecuencia de Notas Musicales.
Un sonido no es más que una vibración del aire que nuestros oídos pueden captar. Un sonido que tiene un determinado tono, depende de la frecuencia a la cual vibra el aire. Las notas musicales son vibraciones de frecuencias determinadas. Por supuesto, en la creación de música intervienen muchos otros factores complejos, como por ejemplo, el timbre. En el sistema musical occidental, se ha acordado utilizar sólo unas frecuencias concretas, a las cuales llamamos notas. Dividimos las posibles frecuencias en porciones que llamamos "octavas", y cada octava en 12 porciones que llamamos notas. Cada nota de una octava tiene exactamente la mitad de frecuencia que la misma nota en la octava superior. El oído humano capta solamente frecuencias que estén por encima de los 20Hz y por debajo de los 20.000 (muy aproximadamente). Así pues, y con mucha suerte, sólo podemos oír unas 10 octavas como mucho, con doce notas cada una. La nota La sirve como referencia para todas las demás. A menudo se denomina "nota de afinar". Se produce una La de afinar cuando el aire vibra 440 veces por segundo, es decir a 440 hertzios. Por convención, a la octava que contiene esta nota La se le suele considerar la tercera. Para hallar la frecuencia de cada una de las  notas se utiliza la siguiente expresión matemática. [1]


La tabla de frecuencias de las notas musicales, obtenidas con la fórmula anterior es la siguiente:

 Tabla 1. Tabla de Frecuencia de Notas Musicales. [2] 
Fotodiodo.
 Figura 2. Fotodiodo Polarizado. [3]

El fotodiodo se parece mucho a un diodo semiconductor común, pero tiene una característica que lo hace muy especial: es un dispositivo que conduce una cantidad de corriente eléctrica proporcional a la cantidad de luz que lo incide (lo ilumina).

 Figura 3. Circuito de Polarización de Fotodiodo.

Esta corriente eléctrica fluye en sentido opuesto a la flecha del diodo y se llama corriente de fuga. El fotodiodo se puede utilizar como dispositivo detector de luz, pues convierte la luz en electricidad y esta variación de electricidad es la que se utiliza para informar que hubo un cambio en el nivel de iluminación sobre el fotodiodo. Si el fotodiodo quedara conectado, de manera que por él circule la corriente en el sentido de la flecha (polarizado en sentido directo), la luz que lo incide no tendría efecto sobre él y se comportaría como un diodo semiconductor normal. La mayoría de los fotodiodos vienen equipados con un lente que concentra la cantidad de luz que lo incide, de manera que su reacción a la luz sea más evidente y  con mucha más velocidad. [3]

Protocolo RS-232.
El protocolo RS-232 es una norma o estándar mundial que rige los parámetros de uno de los modos de comunicación serial. Por medio de este protocolo se estandarizan las velocidades de transferencia de datos, la forma de control que utiliza dicha transferencia, los niveles de voltajes utilizados, el tipo de cable permitido, las distancias entre equipos, los conectores, etc. Además de las líneas de transmisión (Tx) y recepción (Rx), las comunicaciones seriales poseen otras líneas de control de flujo (Hands-hake), donde su uso es opcional dependiendo del dispositivo a conectar. A nivel de software, la configuración principal que se debe dar a una conexión a través de puertos seriales. RS-232 es básicamente la selección de la velocidad en baudios (1200, 2400, 4800, etc.), la verificación de datos o paridad (parida par o paridad impar o sin paridad), los bits de parada luego de cada dato(1 ó 2), y la cantidad de bits por dato (7 ó 8), que se utiliza para cada símbolo o carácter enviado. La Norma RS-232 fue definida para conectar un ordenador a un modem. [4] 

 Figura 4. Protocolo RS-232. [4]
Microcontrolador.
La figura 5 es un diagrama de bloques, que describe el  papel que desempeña el microcontrolador ATMEGA 32 dentro del proyecto.
Figura 5. Diagrama de bloques del microcontrolador ATMEGA 32.

El primer bloque de la figura 5, involucra la lectura de la señal de voltaje proveniente de los fotodiodos, para ello se utiliza los puertos PA0-PA7 y PB0-PB6 lo cual se debe por las catorce teclas del piano, además los puertos solo leerán cero voltios es decir 0 lógico. El siguiente bloque realiza la decodificación de la entrada es decir, se tendrá una salida correspondiente a un código de entrada, luego esté dato decodificado se procede a enviarlo de forma serial utilizando el protocolo RS-232, el mismo que será utilizado por la FPGA para realizar la división de reloj correspondiente a la nota detectada. En el anexo 1 se coloca el programa desarrollado en Codevision, para el funcionamiento del ATMEGA32.


Generación de Tonos (SPARTAN 3E).
El presente bloque involucra el diseño mediante lenguaje de descripción de hardware –VHDL- el mismo que se compone de 4 bloques como se puede observar en la figura 6. A continuación se realiza una breve descripción de cada bloque y finalmente  en anexos se adjunta los códigos en VHDL.
Figura 6. Bloques de diseño en VHDL.

El primer bloque involucra la recepción serial del dato decodificado, este bloque requiere de una señal de clock y de una señal reset necesario para la comunicación serial. El segundo bloque involucra la decodificación del dato escaneado por parte del bloque de recepción serial, el mismo que servirá para identificar la tecla presionada y además sirve como identificador para realizar la división de la señal reloj principal para dicha tecla presionada y finalmente se tiene el bloque de nota el cual utiliza el dato decodificado para producir la frecuencia correspondiente a la nota presionada, además los bloques de nota y divisor de reloj necesitan las señales de clock y reset.

Amplificador de Audio.
El presente bloque está conformado por tres circuitos: Inversor de voltaje, conversor de señal unipolar a bipolar y el circuito amplificador, a continuación se describe el funcionamiento de cada bloque. El circuito inversor  simplemente se lo utiliza para alimentar con -12 VDC al circuito convertidor de señal unipolar a bipolar este circuito se puede observar en la figura 7. El conversor de señal unipolar a bipolar es utilizado para convertir la señal unipolar obtenida de la tarjeta SPARTAN 3E a una señal bipolar de ±12VDC de amplitud, esta conversión de señales se la realiza para mejorar la calidad de audio ya que se obtiene una señal alterna digital, este circuito está conformado por un amplificador operacional configurado como amplificador diferencial y esto se debe que para convertir una señal  unipolar a bipolar se debe utilizar la ecuación 2.
 
Figura 7. Inversor de voltaje. [5]

Ec.2
Realizando el análisis de la ecuación 2 se puede observar que al obtener un voltaje de entrada de 5 voltios  la señal bipolar es igual a 5 voltios, en cambio que cuando el voltaje de entrada es igual a 0 voltios la señal bipolar es igual a -5 voltios y de esta forma se obtiene una señal bipolar. La figura 8 se puede observar la configuración del amplificador operacional además se puede observar que la relación de resistencias debe ser igual a 2 y a uno para poder obtener la ecuación 2.

 Figura 8. Amplificador diferencial. [6]

Para  la  salida  audible  se  implementó  un  amplificador  de  audio  con  circuito  integrado,  ya  que  este  era  más  sencillo  de  implementar  y  permitía  obtener  un  nivel  de  potencia  adecuado para  el  objetivo del proyecto. La figura 9 muestra el esquemático del amplificador.  El  integrado  LM386  es  un  dispositivo  para  aplicaciones  de  amplificación  de  baja  potencia,  la  ganancia del mismo puede variarse variando los parámetros R2 y C1 desde 20 hasta arriba de 200.

 Figura 9. Amplificador de audio. [7]

En anexos se adjunta los circuitos en PCB del proyecto, los mismos que involucra: Circuito de las 14 teclas, circuito del amplificador-Inversor de Voltaje, Conversor a señal bipolar y amplificador- y el circuito de comunicación serial. La figura 10 se puede observar el proyecto completo.

 Figura 10. Proyecto Final.

En el siguiente link se presenta un breve vídeo del funcionamiento de nuestro proyecto: vídeo
Vídeo del Proyecto terminado:

En el siguiente link pueden descargar el proyecto completo -Códigos, Imagenes, Informes-, sin embargo recuerden que el proyecto esta bajo la licencia Creative Commons, la clave para descomprimir los archivos es pianofpgautpl: descargar proyecto

REFERENCIAS.

[1]          La Tecla de Escape. “FRECUENCIA DE NOTAS MUSICALES”. [En Línea]. Disponible en:
                <http://latecladeescape.com/recetas-algoritmicas/frecuencia-de-las-notas-musicales.html>
                Consultada [04-12-2010].
[2]          Tabla. [En Línea]. Disponible en:
<http://www.cancionero.net/articulos/articulo.asp?t=frecuencias_de_las_notas_musicales&n=310 >
                Consultada [04-12-2010].
[3]          Electrónica Unicrom. “FOTODIODO”. [En Línea]. Disponible en:
                <http://www.unicrom.com/Tut_fotodiodo.asp>
                Consultada [03-12-2010]
[4]          Electrónica Unicrom. “PROTOCOLO RS-232”. [En Línea]. Disponible en:
                <http://www.euskalnet.net/shizuka/rs232.htm>
                Consultada [03-12-2010]
 
[5]          Foros de Electrónica. “Inversor de Voltaje”. [En Línea]. Disponible en:
            < http://www.forosdeelectronica.com/attachment.php?attachmentid=8400&d=1213052761>
                Consultada [20-12-2010]

[6]          Amplificador Operacional. “Restador”. [En Línea]. Disponible en:
            < http://es.wikipedia.org/wiki/Amplificador_operacional>
                Consultada [20-12-2010]

[7]          Proyecto Final. “Generación de Tonos Musicales con Teclado PS2”. [En Línea]. Disponible en:
            <http://gmun.unal.edu.co/jseslavag/Documentos/Proyecto2010I/Digital 
              /InformeGeneracionTonos.pdf>
                Consultada [02-12-2010]


Licencia Creative Commons
DISEÑO E IMPLEMENTACIÓN DE UN PIANO DE 2 OCTAVAS USANDO LA TARJETA SPARTAN 3E. por Juan Peña y Daniel Uchuary se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported.
Basada en una obra en pianofpgautpl.blogspot.com.
Permisos que vayan más allá de lo cubierto por esta licencia pueden encontrarse en http://pianofpgautpl.blogspot.com/2011/01/diseno-e-implementacion-de-un-piano-de.html.

4 comentarios: