16
Integrantes: Miriam Pastrana Brito 376401 ITE 5to semestre Víctor Manuel Rodríguez Bahena 378087 IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891 ITE 4to semestre Proyecto Lenguaje Ensamblador

Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

Embed Size (px)

Citation preview

Page 1: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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

Page 2: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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.

Page 3: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

• 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

Page 4: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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

Page 5: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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.

Page 6: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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.

Page 7: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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).

Page 8: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE
Page 9: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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

Page 10: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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

Page 11: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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)

Page 12: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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.

Page 13: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

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.

Page 14: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

• 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.

Page 15: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

• 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.

Page 16: Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT 5to semestre Erendira Victoria Sánchez Montes de Oca 377891ITE

• 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