Paso 7: Audio
Para la reproducción de la DAC debe cargarse con datos de una manera sincronizada. Esto se hace con la ayuda de un tampón pequeño y un canal DMA. El canal se activa cuando la DAC necesita más datos, el buffer luego se transfiere a la palabra. La interrupción de la DMA (cuando apunta al final de la memoria intermedia de audio) se utiliza para volver a llenar el búfer de audio, con los datos de memoria externa, el número de veces para reproducir un sonido.
Así es fácil de reproducir un sonido, que sólo es necesario cargar la dirección del sonido que debe leerse, y el número de veces el búfer de audio para ser llenado. Desde este punto el mecanismo de hacer por las interrupciones de la DAC y DMA la transferencia todos los datos hasta el final del sonido.
La señal generada por el DAC es amplificada por un circuito simple utilizando un LM380, baja distorsión, es una fuente de alimentación sencilla y genera energía razonable (alrededor de 2W).
waveBurner
WaveBurner es el nombre de un pequeño programa que hice para cargar las canciones en la memoria Flash. Acepta sólo el tipo correcto de archivo de onda, arranca de la parte de datos del archivo y la pila encima de todos los archivos en un archivo HEX (con el relleno necesario para el búfer de audio). Tiene un pequeño firmware que va en el DSPIC para comunicarse con el programa de la PC a través del puerto serial.
El software fue programado en Delphi 2010 y se incluye en los archivos del proyecto. Con unos pocos clic pueden rellenar los datos en la memoria Flash, y como salida sino también dará un archivo de encabezado de 'C' con la longitud y dirección de cada canción. La segunda foto es de se quema el chip flash.