Generador de Frecuencias

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

UNIVERSIDAD NACIONAL DE SAN AGUSTN

FACULTAD DE PRODUCCIN Y SERVICIOS


ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA

MICROELECTRONICA

PROYECTO
GENERADOR DE SEALES DE FRECUENCIAS MUSICALES

ELABORADO POR:

Martinez Arce Yeremi Leandro

20103583

AREQUIPA PER
2014-B

GENERADOR DE SEALES DE FRECUENCIAS DE SONIDO

OBJETIVO:
Generar por medio de programacin en VHDL frecuencias de sonido o tonos musicales a travs de la tarjeta
FPGA SPARTAN 3E
MARCO TEORICO:
La placa de desarrollo Spartan 3E FPGA , incluye como ncleo el dispositivo XC3S500E que incluye 20
multiplicadores dedicados, 4 DCM, 20 BRAM y quinientas mil puertas equivalentes, lo que permite disear y
testear aplicaciones con un alto grado de procesado.
La placa dispone de un gran nmero de interfaces, tanto anlogas ( convertidor ADC 14 bits y DAC de 10 bits)
como digitales y recursos de almacenamiento.
Caractersticas

Xilinx Spartan 3E (dispositivo de puerta de 500 K),


Programador JTAG integrado

50 MHz a bordo de reloj,


Flash de 128Mbit,
16Mbit SPI flash,
64Mbyte DDR SDRAM,
4 canales de CAD de 12 bits
ADC de 14 bits de canal dual.
20 por 2 LCD
Codificador rotatorio
8 conmutadores
8 LEDs
Conector Ethernet
VGA connecor
dos conectores de RS232

PRINCIPALES COMPONENTES
PUERTO USB

Por medio de este puerto se conecta la tarjeta a la computadora, cuando el programa ha sido instalado
correctamente, se enciende un led, e indica que ya puede ser utilizada.
INTERRUPTORES (SWITCHES)
Spartan 3E cuenta con 4 interruptores, localizados en la esquina inferior derecha.

Cuando el interruptor se coloca en la posicin de alto, se conecta al FPGA por medio de un pin a 3.3 V,
generando un 1 lgico. En caso contrario, cuando se encuentra en la posicin bajo, el interruptor se conecta al
FPGA por medio de un pin conectado a tierra, un 0 lgico.
Un cambio en la posicin del interruptor tarda aproximadamente 2 ms para que el valor lgico correspondiente
se estabilice en el pin del FPGA. Por lo tanto, no se requiere ningn tipo de circuitera para eliminar los rebotes.
Para utilizar los interruptores para un determinado diseo, se debe asignar las seales del circuito a los pines del
FPGA que estn conectados a los interruptores. Para lograr esto, se utiliza la Tabla 1 en la cual se muestra los
parmetros que deben introducirse en la herramienta de Floorplan IO de ISE.

ASIGNACIN DE PINES INTERRUPTORES

INTERRUPTORES DE CONTACTO
Dispone de 4 interruptores de contacto, y un interruptor con la capacidad de rotar a la derecha, izquierda y
funcionar como interruptor de contacto.

Al presionar el BTN Norte, BTN Sur, BTN Este o BTN Oeste, se conecta al pin a 3.3 V asociado al FPGA,
generando un 1 lgico, y un 0 lgico cuando este no se presiona.
En algunas aplicaciones se puede utilizar el BTN Sur, como reset. No hay circuito antirebote en los botones, hay
que implementarlos en la FPGA!

DESCRIPCION DEL PROYECTO


En el presente proyecto se tiene como objetivo emular un generador de seales con frecuencias audibles para el
odo humano, o en otras palabras frecuencias de sonido.
Estas frecuencias se encuentran ubicadas en un rango que va desde los 20 Hz hasta los 15 KHz, en esta ocasin
el proyecto se enfocara en un rango mucho mas pequeo en el cual se encontraran frecuencias desde los 130
hasta los 260 Hz que son frecuencias que corresponden a la tercera octava en un piano y las notas que mas uso
tienen en la msica en general.
Estas frecuencias de sonido o tonos musicales sern posibles orlas por medio de un bafle o parlante que se
conectara a una de las salidas analgicas de la tarjeta FPGA spartan 3E.
En la versin ms bsica (figura), la seleccin de las notas se har a travs de los pulsadores o interruptores de la
FPGA. Segn que pulsador se haya seleccionado, la salida de la FPGA que va al amplificador de audio tendr
una frecuencia determinada.

La frecuencia de las seales que queremos generar depender de la octava que escojamos, lo que har que sean
ms o menos graves los sonidos que generemos. La tabla muestra distintas frecuencias de las notas.

Finalmente la seal salida de la FPGA servir de entrada a la etapa de amplificacin, y a su vez, la salida del
amplificador se conectar a una resistencia de carga, que en nuestro caso ser un altavoz.

La figura muestra el esquema ms general del amplificador. La primera etapa del amplificador eleva los niveles
de tensin y la segunda etapa amplifica la corriente que ser entregada al altavoz.

Es importante sealar que el diseo ms bsico del amplificador puede no necesitar etapa amplificadora de
tensin. Sin embargo, puede ser interesante disear una primera etapa con ganancia en tensin variable
(utilizando un simple potencimetro) y as conseguir un nivel de voltaje variable a la salida.
Para realizar el diseo del amplificador debemos tener en cuenta las especificaciones del problema de diseo:
Para las caractersticas de entrada del amplificador hay que tener en cuenta que la seal de entrada al
amplificador (la salida de la FPGA) es una seal cuadrada cuya amplitud vara entre 0 y 3,3 V.
Para disear las caractersticas de salida del amplificador hay que tener en cuenta que la resistencia de carga
(altavoz) es 8 y que los altavoces utilizados pedirn una potencia entre 0,5 0,25 W.
Finalmente, tenemos que disear un ancho de banda adecuado para que el amplificador funcione correctamente
en todas las frecuencias de las notas.
En el caso ms general, podemos disear un amplificador que opere correctamente en el rango de frecuencias de
la octava, es decir, que las frecuencias de corte inferior (y superior) se siten una dcada por debajo (y por
encima) de la nota con frecuencia menor, 130 Hz (y la nota con frecuencia mayor, 250 Hz).
En el rango de frecuencias en que trabajamos, la frecuencia de corte superior no supone ningn problema ya que
sta viene determinada por las capacidades internas del transistor, cuyos valores son muy pequeos, del orden de
los pF, resultando frecuencias de corte superior mucho ms altas de las requeridas. Para disear la frecuencia de
corte inferior necesitamos elegir cuidadosamente los condensadores de acoplo de la entrada y la salida del
amplificador, ya que stos determinara nuestra frecuencia de corte a bajas frecuencias.

DIAGRAMA DE FLUJO:
INICIO

DEFINICION DE LAS VARIABLES


DE LAS NOTAS MUSICALES

ASIGNACION DE CONSTANTES
VECTORIALES

CARGAR VALORES EN LOS


CONTADORES

PROCESO DE CONTEO PARA LAS


DISTINTAS NOTAS

PROCESO DE CONTEO PARA LAS


DISTINTAS NOTAS

FIN

CODIGO DEL PROYECTO:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity notas is
Port ( clk : in STD_LOGIC;
a : in STD_LOGIC;
b : in STD_LOGIC;
c : in STD_LOGIC;
d : in STD_LOGIC;
e : in STD_LOGIC;
f : in STD_LOGIC;
g : in STD_LOGIC;
parlante : inout STD_LOGIC);
end notas;

architecture Behavioral of notas is

signal cont : std_logic_vector (16 downto 0);


constant cont_max: std_logic_vector :="11011101111100100"; -- frecuencia de LA

signal cont1 : std_logic_vector (17 downto 0);


constant cont_max1: std_logic_vector :="101110110001010010"; -- fecuencia de DO

signal cont2 : std_logic_vector (17 downto 0);


constant cont_max2: std_logic_vector :="100101000110100111"; -- fecuencia de MI

signal cont3 : std_logic_vector (16 downto 0);


constant cont_max3: std_logic_vector :="11111001000111111"; --frecuencia de SOL

signal cont4 : std_logic_vector (17 downto 0);


constant cont_max4: std_logic_vector :="101001100100011001"; --frecuencia de RE

signal cont5 : std_logic_vector (17 downto 0);


constant cont_max5: std_logic_vector :="100010111101001000"; --frecuencia de FA

signal cont6 : std_logic_vector (16 downto 0);


constant cont_max6: std_logic_vector :="11000101101110111"; --frecuencia de SI

begin
process (clk)
begin
if clk'event and clk= '1' then
cont <= cont+1;
if cont= cont_max then
cont <="00000000000000000";
end if;
end if;
end process;

process (clk)
begin
if clk'event and clk= '1' then
cont1 <= cont1+1;
if cont1= cont_max1 then
cont1 <="000000000000000000";

end if;
end if;
end process;

process (clk)
begin
if clk'event and clk= '1' then
cont2 <= cont2+1;
if cont2= cont_max2 then
cont2 <="000000000000000000";
end if;
end if;
end process;

process (clk)
begin
if clk'event and clk= '1' then
cont3 <= cont3+1;
if cont3= cont_max3 then
cont3 <= "00000000000000000";
end if;
end if;
end process;

process (clk)
begin
if clk'event and clk= '1' then
cont4 <= cont4+1;
if cont4= cont_max4 then

cont4 <= "000000000000000000";


end if;
end if;
end process;

process (clk)
begin
if clk'event and clk= '1' then
cont5 <= cont5+1;
if cont5= cont_max5 then
cont5 <= "000000000000000000";
end if;
end if;
end process;

process (clk)
begin
if clk'event and clk= '1' then
cont6 <= cont6+1;
if cont6= cont_max6 then
cont6 <= "00000000000000000";
end if;
end if;
end process;

process (parlante)
begin
if a= '1' then parlante <= cont (16);
elsif b= '1' then parlante <= cont1 (17);

elsif c= '1' then parlante <= cont2 (17);


elsif d= '1' then parlante <= cont3 (16);
elsif e= '1' then parlante <= cont4 (17);
elsif f= '1' then parlante <= cont5 (17);
elsif g= '1' then parlante <= cont6 (16);
else
parlante <= '0';
end if;
end process;

end Behavioral;

RESULTADOS:

La seal de audio que se puede escuchar por el buffer es una seal pura rica en armnicos.
Se distingue entre cada nota la diferencia en tono.

CONCLUSIONES Y OBSERVACIONES:

Las notas emitidas podran pasar por un filtro que le dara un timbre caracterstico
Para emitir seales musicales mas elaboradas se tendra que haber utilizado el convertidor digital
analgico
El proyecto tiene la proyeccin de generar una gamma mas extensa de frecuencias sonoras en las
que los switchs se pueden remplazar por teclas convencionales de piano ya que la spartan cuenta
con una gran cantidad de entradas digitales.
La seal de voltaje que entrega la spartan no es suficiente como para que se emita un sonido muy
fuerte, para eso hace falta la ayuda de un amplificador que levante la seal

BIBLIOGRAFIA:

http://fisica.udea.edu.co/~labgicm/Curso%20de%20circuitos%20logicos/2013_Clase_Spartan%203E%20Introduccional%20H
ardware.pdf
http://www.utm.mx/~jvasquez/p23n.pdf
http://emagcas.webs.ull.es/index_archivos/apuntes_sed/mux2a1_tutorial.pdf
http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy