Está en la página 1de 2

Octubre 2003

UTFSM

Aplicacin Sensor de Sonido/ Conversor Anlogo/Digital


Para utilizar las caractersticas de estos dos mdulos se implemento un sistema como el siguiente:

Micrfono adaptacin Amplificacin Entrada de Audio Seal elctrica de 0-3[V]

Conversor Anlogo/ Digital Entrada 0-3 V Salida 8 10 bits Seal digital de 8 bits tipo PCM

Display Tarjeta de desarrollo XS95 Seal digital de 8 bits equivalente a potencia

Fig 1.- Esquema modular del sistema armado. Se armo el circuito de adaptacin del micrfono incluyendo una etapa de amplificacin para trabajar en el rango permitido por la entrada anloga de la tarjeta A/D (de 0 a 3 [volts]). Esto se logr con un amplificador operacional LM324 con una ganancia de 10 (seal de 300 [mV] peak to peak) -> (3 [V] peak to peak) con esto se logr abarcar todo el rango del conversor y tener mayor calidad de las seal digital (menor ruido granular). El circuito armado para adaptar el micrfono y amplificarlo fue el siguiente:

Fig 2.- Etapa de Amplificacin del micrfono.

Octubre 2003

UTFSM

Con la salida digital del conversor anlogo/digital (utilizados 8 bits de los 10) se ingreso a la tarjeta de desarrollo XS95 para procesar la informacin segn lo deseado. Para el ejemplo se implemento un programa en el CPLD que entrega de manera visual la amplitud de la seal, tal como se muestran las seales de audio en un equipo de sonido solo que en este caso se est procesando una seal digital tipo PCM y se esta entregando una seal proporcional a la amplitud de esta. Una idea del cdigo a utilizar es la siguiente:
MODULE Ecualizador E0,E1,E2,E3,E4,E5,E6,E7 PIN 31,32,33,34,35,36,37,39; S0,S1,S2,S3,S4,S5,S6,S7 PIN 2,83,3,1,84,82,79,75 istype 'COM'; EQUATIONS: truth_table ( [E7, S2, S1, S0] ) [1, X, X, X, X, X, [0, 1, X, X, X, X, [0, 0, 1, X, X, X, [0, 0, 0, 1, X, X, [0, 0, 0, 0, 1, X, [0, 0, 0, 0, 0, 1, [0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, E6, E5, E4, E3, E2, E1, E0]->[S7, S6, S5, S4, S3, X, X, X, X, X, X, 1, 0, X]->[1, X]->[0, X]->[0, X]->[0, X]->[0, X]->[0, X]->[0, 1]->[0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1] 1] 1] 1] 1] 1] 1] 1]

Test_vectors ( [E7, E6, E5, E4, E3, S2, S1, S0] ) [1, X, X, X, X, X, X, X]->[1, 1, 1, [0, 1, X, X, X, X, X, X]->[0, 1, 1, [0, 0, 1, X, X, X, X, X]->[0, 0, 1, [0, 0, 0, 1, X, X, X, X]->[0, 0, 0, [0, 0, 0, 0, 1, X, X, X]->[0, 0, 0, [0, 0, 0, 0, 0, 1, X, X]->[0, 0, 0, [0, 0, 0, 0, 0, 0, 1, X]->[0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 1]->[0, 0, 0, END

E2, E1, E0]->[S7, S6, S5, S4, S3, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1] 1] 1] 1] 1] 1] 1] 1]

Con el programa anterior es un programa muy simple en lenguaje ABEL y con este se logra que cualquier seal que supere los rangos mostrados haga prender los leds correspondientes en la barra en que se muestra la amplitud de la seal (esto se puede ya que la frecuencia de la voz y la velocidad en que se prenden y apagan los leds es muy superior a la velocidad con que los ojos humanos muestrean con lo que se logra un filtraje y la luz encendida asemeja la amplitud de la envolvente de la seal.

También podría gustarte