Trabajo Práctico Final – Informática Electrónica - 2009 UNIVERSIDAD NACIONAL DE ROSARIO FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA ESCUELA DE INGENIERIA ELECTRONICA INFORMATICA ELECTRONICA TRABAJO FINAL ALUMNO LEGAJO BARRERA, LUCAS B-3859/8 ROVERI, ERIBERTO R-2707/3 SAD, GONZALO S-3205/1 GRUPO Nº 10: Barrera – Roveri – Sad Hoja 1 de 2 Trabajo Práctico Final – Informática Electrónica - 2009 TRABAJO PRACTICO FIN AL TRANSMISIÓN DE VOZ A TRAVÉS DE TCP/IP E l objetivo de este trabajo fue realizar una transmisión de voz a mediante el protocolo TCP/IP utilizando el kit M52233DEMO para adquirir, procesar y transmitir los datos a una computadora y desde allí enviarlos a un dispositivo de reproducción de audio, instalado en la misma. Este trabajo se abordó dividiéndolo en tres partes: la adquisición y procesamiento de la señal, la transmisión sobre TCP/IP y el manejo de la API de Windows para reproducir el audio. ADQUISICIÓN Y PROCESAMIENTO DE DATOS Para la obtención de la señal de voz se utiliza un micrófono Electrec el cual tiene anexado un circuito amplificador, que utiliza un AO. Luego dicha señal se digitaliza a través de uno de los ADC disponibles del MCU el cual muestrea la señal a una frecuencia de 8KHz utilizando para la temporización de la adquisición de las muestras, las interrupciones generadas por uno de los timers PIT. Se utilizó esta frecuencia, debido a que la máxima frecuencia, prácticamente hablando, contenida en una señal de voz es 4KHz aproximadamente, y por el teorema de Nyquist . A la señal digitalizada se le quita el valor medio y luego se ofrece la posibilidad de aplicarle o no una limitación de rango dinámico y una compuerta de ruido, mediante un switch. TRANSMISIÓN SOBRE TCP/IP Para realizar esto se utilizó como base el proyecto ColdFire_Lite_DEMO y a este se le agregó un cliente. El mismo está basado en una rutina que acumula una cierta cantidad de datos y luego la envía. Esto se logra mediante la implementación de un buffer. Debido a que se hace uso del protocolo TCP y sabiendo que este contiene mucha información extra, para lograr mejor eficiencia en el envió de datos, el buffer de guardado intermedio de datos es lo suficientemente grande como para que la relación datos a enviar sobre datos extras del protocolo, sea lo más grande posible. La utilización de dos buffers que se alternan, es necesaria debido a que no se puede sobrecargar a las interrupciones de muestreo con el trabajo de envío. Por eso una vez que se llena un buffer, se lo pasa a una tarea de envío, y mientras se llena el segundo buffer para así luego repetir la secuencia. MANEJO DE LA API DE WINDOWS La reproducción de la señal analógica en la PC, se logra mediante el uso de la API de Windows. Para llevar a cabo esta tarea, el servidor que reside en la PC, se comunica con el KIT mediante una serie de comandos, para fijar algunos parámetros como ser la GRUPO Nº 10: Barrera – Roveri – Sad Hoja 2 de 2 Trabajo Práctico Final – Informática Electrónica - 2009 frecuencia de muestreo. Una vez sucedido esto, el kit comienza a enviar paquetes de datos, y el servidor recibe estos paquetes, los guarda en un buffer y mediante un sistema de gestión de buffers, se los pasa a la API. Esta los envía a un dispositivo de audio, y este último los reproduce sobre una salida analógica. GRUPO Nº 10: Barrera – Roveri – Sad Hoja 3 de 2