Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT...
-
Upload
magdalena-flores-de-la-cruz -
Category
Documents
-
view
215 -
download
0
Transcript of Integrantes: Miriam Pastrana Brito376401ITE 5to semestre Víctor Manuel Rodríguez Bahena378087IMT...
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