Está en la página 1de 6

Memoria de Prcticas

Tarjeta de Sonido USB















Melero Lpez, Brbara




NDICE
1. INTRODUCCIN ................................................................................................................. 3
2. SEMINARIOS ...................................................................................................................... 3
2.1. BSQUEDA DE COMPONENTES ................................................................................................. 3
2.2. SOLDADURA .......................................................................................................................... 3
2.3. PROGRAMADO ...................................................................................................................... 4
2.4. PRUEBA FINAL ....................................................................................................................... 6

1. Introduccin
En esta memoria se va a relatar las prcticas realizadas en la asignatura
Interfaces y Perifricos, en donde se trabaj para hacer una tarjeta de sonido USB.

2. Seminarios
A lo largo de varias semanas se llev a cabo la realizacin de varias sesiones de
prcticas y seminarios. A continuacin de detallarn estas mismas.

2.1. Bsqueda de Componentes


Figura 1. Esquemtico de la placa

Dado el esquemtico de arriba, tuvimos que identificar y buscar los componentes


electrnicos que iban a ser usados en la realizacin de la tarjeta de sonido.
Cada uno hicimos un presupuesto orientativo de cunto nos costara comprar
cada uno de ellos y, despus, se pidieron conjuntamente todos a una sola tienda de
electrnica.

2.2. Soldadura
El siguiente paso, una vez que llegaron todos los componentes, fue volver a
identificarlos y separar cada alumno los suyos para, despus, soldarlos a la placa.

Con algo de maa, y siendo la primera vez que lo haca, se soldaron todos los
componentes a la placa, tomando para ellos varias sesiones de prcticas.


Figura 2. Tarjeta de Sonido USB

Quedando as, como la imagen superior, la placa al tener todos los componentes
soldados.

2.3. Programado
La ltima sesin fue la dedicada al programado de la placa. Para ello se nos
proporcion cdigo fuente parcialmente rellenado, en el que slo tenamos que aadir
ciertas funciones cuyos esqueletos se encontraban en el .c.
Por ejemplo el siguiente cdigo fuente:
Funcin de ajustar la ganancia.
void DoAdjustGain(void)
{
if ( LeftVolume > VolumeMax ){
LeftVolume = VolumeMax;
}
else if ( LeftVolume < VolumeMin ){
LeftVolume = 0;
}
if ( RightVolume > VolumeMax ){
RightVolume = VolumeMax;

}
else if ( RightVolume < VolumeMin ){
RightVolume = VolumeMin;
}
if ( MasterMute ){
AdjustLevel( 0, 0 );
AdjustLevel( 1, 0 );
}
else{
AdjustLevel(1, (unsigned char)LeftVolume);
AdjustLevel(0, (unsigned char)RightVolume);
}

/**********************************************************/
/******************* to do ********************************/
// you have to control the volume variables (left and right) and mute
// are in their range and adjust the sound card sound using the
'AdjustLevel' function:
//
parameters (channel left value = 1, channel right value = 0)
//
//NOTE: Yo have to check that volume variables value is between
minimum
//and maximum value [0,255]. We can simulate a Mute with
// right and left channel to 0;
/***********************************************************/
//
//
//
//
/***********************************************************/
}

Funcin de Frecuencia
void DoSetupSampleFreq(void)
{
/**********************************************************/
/******************* to do ********************************/
// You have to adjust the corresponding parameter according to
// sample rate value (SampleFreq).
// You have to set the 'BytesPerFrame', 'PR2' and 'T2CONON'
variables.
//
//
// if SampleFreq == {0xC0, 0x5D, 0x00} -> 24kHz
//
PR2 = 249
// BytesPerFrame = 96
// T2CONON = 0b00001100
//
// if SampleFreq == {0x00, 0x7D, 0x00} -> 32kHz
//
PR2 = 187
// BytesPerFrame = 128
// T2CONON = 0b00001100
//

// if SampleFreq == {0x80, 0xBB, 0x00} -> 48kHz


// PR2 = 249
// BytesPerFrame = 196
// T2CONON = 0b00000100
//
//NOTE: If SampleFreq is not any below, use 24 kHz as default;
/***********************************************************/
//
//
//
//
/***********************************************************/
if((SampleFreq[0]==0xC0) && (SampleFreq[1]==0x5D) &&
(SampleFreq[2]==0x00)){
PR2 = 187;
BytesPerFrame = 128;
T2CONON = 0b00000100;
}
else if ( 0x00 == SampleFreq[0] && 0x7D == SampleFreq[1] && 0x00
== SampleFreq[2] ){
BytesPerFrame = 128;
PR2 = 187;
T2CONON = 0b00001100;
}
else if ( 0x80 == SampleFreq[0] && 0xBB == SampleFreq[1] && 0x00
== SampleFreq[2] ){
BytesPerFrame = 196;
PR2 = 249;
T2CONON = 0b00000100;
}
else{ // por defecto la de 24kHz
BytesPerFrame = 96;
PR2 = 249;
T2CONON = 0b00001100;
SampleFreq[0] = 0xC0;
SampleFreq[1] = 0x5D;
SampleFreq[2] = 0x00;
}
}

2.4. Prueba final


Una vez terminado el cdigo fuente, nos dispusimos a compilarlo y a travs de
MPLAB, depuramos el programa al chip de la placa con el programador PickIt2.
Era el momento de probar lo realizado durante todas las semanas:
La tarjeta de sonido hizo su cometido: la msica sonaba.