integrantes: miriam pastrana brito376401ite 5to semestre víctor manuel rodríguez bahena378087imt...

Post on 02-Feb-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Integrantes:

Miriam Pastrana Brito 376401 ITE 5to semestreVíctor Manuel Rodríguez Bahena 378087 IMT 5to semestreErendira Victoria Sánchez Montes de Oca 377891 ITE 4to semestre

Proyecto Lenguaje Ensamblador

Objetivos• Objetivo general del proyecto

– Digitalizar voz haciendo interfaz con el micrófono y la tarjeta de sonido

• Objetivos específicos del proyecto– Capturar la voz del usuario a través del

micrófono – Digitalizar la voz a través de la tarjeta de

sonido – Generar un archivo de sonido: crear un

archivo .wav para reproducir el sonido.

• Una tarjeta de sonido es una tarjeta de expansión para computadoras que permite la entrada y salida de audio bajo el control de un programa. La mayoría de tarjetas de sonido implementan cuatro funciones básicas:

• Reproducción

• Captura

• Síntesis

• Procesamiento de sonido

Reproducción

• La tarjeta debe ser capaz de reproducir audio, ya sea desde lectores de CD o DVD, o desde ficheros almacenados en el disco duro, usando formatos estándares como – WAV– MP3 – MIDI

Captura

• Esto incluye capturar sonidos mediante un micrófono, o introducir sonido desde cualquier otra fuente (instrumentos musicales, reproductores de cintas, etc.). La información queda almacenada, generalmente, en el disco duro del PC en forma de ficheros.

Síntesis y Procesamiento

• La síntesis de audio, o lo que es lo mismo, la creación de sonido y el procesamiento de sonidos existentes exigen capacidad de procesamiento a la tarjeta ahorrando todo ese trabajo a la CPU.

Modo de funcionamiento

• La tarjeta de sonido está formada por tres subsistemas: el convertidor analógico/digital (CAD), el procesador digital de señales (DSP, Digital Signal Processor) y el convertidor digital/analógico (CDA).

Puertos de la Tarjeta de Sonido • La tarjeta de sonido tiene puertos sobre los

que puede funcionar. • De todos los puertos de la tarjeta de sonido

el más importante es el puerto BASE. • Así se tiene el siguiente rango de posibles

puertos a elegir:

210h 220h 234h 240h 250h 260h

Desde este puerto parten los otros puertos de entrada y salida de la tarjeta, los cuales están siempre a la misma distancia numérica del puerto base

Tabla de puertos del DSP

02x6h DSP Reset Port Sólo escritura

02xAh DSP Read Data Port Sólo lectura

02xCh DSP Write Data, Command Escritura

02xCh DSP Write Buffer Status (bit 7) Lectura

02xEh DSP Data Available Status (bit 7) Sólo lectura

Programación de la Tarjeta de Sonido Hay dos modos de programación de la tarjeta de sonido:

• Temporizador del PC (Timer)

• Acceso directo a memoria (DMA)

Generación de Sonido por el Temporizador

• Crear una rutina que envíe un byte de un puntero al puerto de

escritura de la tarjeta de sonido: de esta manera cada vez que se llame al timer (18,2 veces por segundo) se enviará sólo un byte del puntero que contiene el sonido digitalizado (un número de 8 bits).

• Reprogramar el temporizador para que se ejecute más de 18,2 veces.

– Frecuencia de muestreo

• Repetir la rutina en la interrupción 8h: El temporizador interrumpe a la CPU para realizar una operación extremadamente lenta como es enviar un byte al puerto de la tarjeta de sonido.

Generación de Sonido a través del DMA

• Como se ha visto, la técnica anterior es válida si se tiene una pantalla fija y se quiere que a la vez suene un programa de muestra. Pero en el momento en que se quieren hacer dos cosas que necesiten al procesador al mismo tiempo, la técnica del timer no vale, sencillamente porque no es óptima.

Las transferencias por DMA (Direct Memory Access) permiten liberar a la CPU de todo el trabajo. Esto es posible porque la tarjeta de sonido incorpora un chip DSP que trabaja por sí solo.

• Para transmitir un bloque de memoria de una dirección a otra mediante DMA, se debe decir al DMA la "página" de memoria y el "desplazamiento" de memoria donde se encuentra el bloque a mover.

• Se debe configurar el DSP para que vaya leyendo los bytes que le llegan por DMA y los vaya interpretando por su DAC. De esta manera se escuchará el sonido.

• Pero antes de hacer esto, se debe decir al DSP la frecuencia de muestreo a la que debe reproducir el sonido. No basta con decirle la frecuencia en Hertz, sino que se debe usar la fórmula:

FrecuenciaDSP = 256- (1000000-FrecuenciaHertzios)

• Luego, se le envía este valor resultante al DSP. Para escribir cualquier tipo de valor en el DSP se usan los puertos de la tarjeta de sonido.

• Para escribir cualquier tipo de valor en el DSP deberemos usar los puertos de la SB antes mencionados.

•     Envio:             mov dx,WPORT             in al,dx             and al,0x80             cmp al,0             jnz Envio             mov al,byte ptr valor             out dx,al

top related