Mostrando entradas con la etiqueta audio. Mostrar todas las entradas
Mostrando entradas con la etiqueta audio. Mostrar todas las entradas

domingo, 17 de agosto de 2014

Digital Snake Wing (Part 1) - PLL Test

As you may or may not know, I'm currently working on a Papilio Wing that streams and receives multiple channels of audio over Ethernet using the 5 layer TCP/IP model. The wing includes as an ADC a PCM1807 with a companion PLL1705 to generate the sampling clock frequencies. As a DAC it uses a MAX5556 and as the ethernet controller the ENC28J60.

Here is a render of the PCB and the actual PCB

 

By the way... I manufactured my PCBs with Elecrow and I have to say I am impressed with their quality. They are really cheap and really good :D.

 

Anyway... I've just received my Papilio and I'll be posting stuff as I progress.

The first thing I did was to be shure that the PLL was working, so I made a little test module in VHDL that turned on and off a couple of LEDs synchronously with the PLL output clock. Here is the code. Note tha it uses an IP module from Xilinx called DCM. This module is like a programmable PLL and is the one that converts the input 32MHz clock to the 27MHz clock for the PLL1805. You can get more info here http://papilio.cc/index.php?n=Papilio.DigitalClockManager

 

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Test_PLL is
    port(
        CK32 : in STD_LOGIC; -- Main Papilio Clock (32MHz)
        CK27 : out STD_LOGIC; -- Clock from the Papilio to the PLL
        CK384fs : in STD_LOGIC; -- Clock from the PLL to the Papilio
        LED1 : out STD_LOGIC;
        LED2 : out STD_LOGIC;
        BTN1 : in STD_LOGIC;
        BTN2 : in STD_LOGIC
        );
end Test_PLL;

architecture Behavioral of Test_PLL is

    COMPONENT DCM32to27
    PORT(
        CLKIN_IN : IN std_logic;          
        CLKFX_OUT : OUT std_logic;
        CLKIN_IBUFG_OUT : OUT std_logic;
        CLK0_OUT : OUT std_logic
        );
    END COMPONENT;
    
signal led1_signal : STD_LOGIC := '0';
signal led2_signal : STD_LOGIC := '1';
begin

    Inst_DCM32to27: DCM32to27 PORT MAP(
        CLKIN_IN => CK32,
        CLKFX_OUT => CK27,
        CLKIN_IBUFG_OUT => open,
        CLK0_OUT => open
    );
    
    -- This process reacts to one of the output clocks of the PLL
    blink: PROCESS(CK384fs)
        variable counter : INTEGER := 0;
    BEGIN
        IF(rising_edge(CK384fs)) THEN
            IF(BTN1 = '1' and BTN2 = '0') THEN -- Button 1 pressed
                counter := counter + 1;
                IF(counter >= 1700000) THEN
                    led1_signal <= not(led1_signal);
                    led2_signal <= not(led2_signal);
                    counter := 0;
                END IF;
            ELSIF(BTN1 = '0' and BTN2 = '1') THEN -- Button 2 pressed
                counter := counter + 1;
                IF(counter >= 17000000) THEN
                    led1_signal <= not(led1_signal);
                    led2_signal <= not(led2_signal);
                    counter := 0;
                END IF;        
            END IF;
        END IF;
    END PROCESS;

    LED1 <= led1_signal;
    LED2 <= led2_signal;    

end Behavioral;

You can also download the Xilinx project from my Github https://github.com/DiegoRosales/VHDL_Modules.git.

 

lunes, 7 de julio de 2014

DAC Wing for the Papilio Platform

Hello again! This time I decided I would start to share my designs over here as well. This time I'll be sharing a Papilio Wing.
As you may or may not know, the Papilio platform is an awesome barebones FPGA platform with Arduino-style headers to plug what they call "Wings" (instead of shields). Since an FPGA usually has a ton of I/O, you can plug a huge ammount of wings to it (or one Mega Wing) like this.


Since the papilio platform is relatively new, there are not a lot of wings for it. This is why I decided to make a proper audio DAC Wing (they have one, but it's based on PWM and a low-pass filter). The wing I made is EXTREMELY simplistic. It's based on the MAX5556 DAC which barely requires anything. It has only a couple of passives and a 3.5mm stereo jack. This is the render of the board.

kJt2oOE.png

The link for the design files (it is open source, obviously) are here (GitHub)
And here is the link to order the board from OSHPark (It is the prototype version).

domingo, 30 de septiembre de 2012

¡Micrófonos! Parte 1

Los micrófonos son maravillosos. Hacen que nuestras voces o la música producida por un instrumento musical puedan ser amplificadas para que cientos o miles de personas la escuchen. También logran que los sonidos puedan ser digitalizados y así viajar por gigantescas distancias. Incluso pueden ser usados para inmortalizar esos sonidos en un CD. En fin... los micrófonos son una gran obra de la ingeniería que hoy en día es indispensable. Pero ¿qué son los micrófonos?
Bueno pues... un micrófono es un sensor que convierte el sonido en electricidad. Ahora se preguntarán ¿cómo se convierte el sonido en electricidad?
Aah pues, chéquense. El sonido que todos escuchamos son oscilaciones (perturbaciones)  que se propagan por el aire. Estas oscilaciones no salen de la nada, sino que son producidas por el movimiento de algún objeto, que a su vez causa cambios de presión en el aire y hace que éste comience a oscilar. Estas oscilaciones que se propagan en todas direcciones, llegan a nuestro oído y por arte de magia (de la cual, si están interesados, ViHart les puede explicar si es que saben inglés http://youtu.be/i_0DXxNeaQ0) lo interpretamos como sonido. El sonido entra en la categoría de onda mecánica. Esto quiere decir que para que el sonido pueda propagarse, se requiere de un medio físico (mecánico) a través del cual se pueda propagar. Esto significa que no se puede propagar en el vacío. Esto tiene sentido, pues el sonido es la propagación de la oscilación de la materia (los átomos). Por lo tanto, si no hay átomos que oscilen, no habrá sonido. Acá les dejo una bonita imagen simulando cambios de presión en el aire causadas por el movimiento del cono de una bocina y llegando hacia el oído. En la parte de abajo de la imagen se muestra una gráfica mostrando el nivel de presión del aire con respecto al tiempo.



Ok, ya que hemos comprendido cómo funciona el sonido (de forma muy elemental), pasemos a ver cómo un micrófono convierte el sonido en electricidad. Primero déjenme decirles que existen varios tipos de micrófono, todos convirtiendo el sonido en electricidad de diferentes maneras. Ahora empecemos con los micrófonos.

 Micrófono Dinámico
El micrófono dinámico es el más popular que existe y lo pueden encontrar en cualquier sitio. Existen desde los muy finos  y profesionales hasta los más chafas y baratos. Su funcionamiento es bastante sencillo y se basa en la ley de Faraday. El señor Faraday nos dice que (aquí viene lo genial :D) 

Esto se traduce en la siguientes ecuaciones


Donde
y
es el campo magnético que varía en el tiempo 
es el diferencial de superficie, es decir, representa la superficie que encierra el campo magnético.



-Pero ¿cómo le hacemos para inducir voltaje con el sonido?, dicen ustedes. 
Pues es muy fácil. 
En primer lugar se tiene un cono que generalmente es de cartón. Este cono recibe el cambio de presión que viaja en el aire y como es de un material ligero, se mueve con facilidad, es decir, empieza a vibrar con el sonido. A este cono generalmente se le llama diafragma.
En segundo lugar tenemos una bobina de material conductor (generalmente cobre). Esta bobina es en realidad un inductor y es la parte en la que se inducirá el voltaje. En sus  dos terminales va la salida del micrófono. Esta bobina está pegada al cono y se mueve con éste cuando recibe el sonido.
Por último tenemos un pequeño imán. Este (obviamente) es la fuente de campo magnético que es la que inducirá el voltaje. Este imán es colocado dentro de la bobina.
La cuestión aquí es que el campo magnético emanado por el imán es para fines prácticos completamente constante. -¿Cómo le hacen entonces? Preguntan desesperadamente. Pues resulta que como pueden ver en esta imagen, las lineas de campo magnético no son iguales en todos los puntos.


Gracias a esto, cuando se empieza a mover la bobina al rededor del imán, la bobina ya no ve un campo magnético estable y perfecto, sino todo lo contrario. La bobina lo que ve es que el campo magnético va y viene como si una persona con parkinson estuviera teniendo un ataque epiléptico. Los electrones en la bobina, por supuesto, se frikean y empiezan a correr de un lado a otro, induciendo una diferencia de potencial, tal y como dice la profecía del señor Faraday.
Aquí esta un dibujito de cómo se ve más o menos por dentro un micrófono dinámico (espero que sepan inglés).


Ahora les enseño unas fotos de algunos micrófonos dinámicos. Seguro ya los han visto antes.
Este es un micrófono marca Shure modelo SM58
Este micrófono es comunmente utilizado para voces
Shure es de las marcas más conocidas en el mundo del audio. Esta marca ya lleva como 80 años en el mercado y es de las mejores que existen para micrófonos

Este micrófono es de la marca Sennheiser. Es el modelo e 904
Este micrófono está diseñado para grabar batería, por eso su forma tan curiosa.

Sennheiser es otra de las marcas líder en el audio profesional. Hace todo tipo de micrófonos así como audífonos de una sorprendente calidad.

Es importante destacar que los micrófonos dinámicos generalmente no se utilizan para hacer grabaciones profesionales. Sin embargo, hay micrófonos dinámicos de una gran calidad que se pueden utilizar en un estudio de grabación sin ningún problema.

Habiendo dicho esto, podemos pasarnos al tema de ¡¡Patrones polares!!
¿Qué es un patrón polar?
Un patrón polar de un micrófono es la representación de la sensibilidad del micrófono cuando le llega sonido de diferentes direcciones. La razón por la que es polar es porque se representa en un diagrama polar, es decir, se representa con una magnitud y un ángulo. Aquí está un ejemplo para que quede claro.
Por supuesto existen diferentes tipos de patrones, cada uno con su nombre. Este es denominado cardioide. Se le llamó así debido a que si se tiene mucha imaginación, la figura parece un corazón invertido. Aquí está una útil tablita con los diferentes tipos de patrones.


Todos estos patrones tienen su aplicación. Por ejemplo, si se quieren grabar los sonidos de un ambiente en particular, por ejemplo una selva o algo así, pues es recomendable un micrófono omnidireccional. Por otro lado, si el micrófono lo va a utilizar un cantante en un concierto, pues será necesario un micrófono cardioide para que no capte el ruido del público que estará detrás del micrófono. En fin... uno se puede poner creativo con estas cosas.

Ya que hemos cubierto lo básico de los micrófonos, creo que será prudente terminar esta primera parte :D, espero que la hayan disfrutado. Más adelante cubriré los míticos micrófonos de condensador, los de listón y los piezoeléctricos.