DAC de audio sencillo

Me preguntaba si alguien podría recomendar un chip DAC simple y de bajo costo que pudiera usar para la reproducción de audio. No estoy tratando de lograr nada sorprendente o complicado, solo añado algunos números y escucho los ruidos que hace (probablemente comenzaré tratando de reproducir una onda sinusoidal). También he visto muchas soluciones SOC complejas. como muchas placas de evaluación, pero prefiero comenzar con un solo IC e ir desde allí. ¿Alguna sugerencia?

EDITAR: mi objetivo es eventualmente pasar a un procesamiento DSP más avanzado y posiblemente a sintetizadores, por lo que preferiría una solución basada en chips.

Respuestas (7)

El MCP4922 es un DAC de 12 bits de un solo chip con una interfaz SPI. Es barato y está disponible en cantidades para aficionados. Es muy sencillo de conducir.

También hay una versión mono, el MCP4921.

Se usa en el sintetizador Critter And Guitari Arduino y hay un código fuente disponible.

Puede hacer sonidos como este y este .

Un ADC de 12 bits debería poder reproducir cualquier forma de onda de música antigua, solo que con más silbido de fondo que un CD.
También puede valer la pena señalar que, en muchos casos, puede obtener este tipo de IC de forma gratuita en cantidades de 1 a 5 piezas como muestras. De hecho, creo que tengo algunos DAC en casa que obtuve de esta manera. Tengo toneladas de FRAM IC que se han enviado como muestras. Si recién está comenzando, las muestras gratuitas son una buena manera de hacerlo. ;-)

Si está buscando simple , puede usar una escalera de resistencia R-2R. Se necesita un poco de DIO, pero le das un número digital, te da el nivel analógico adecuado.

Cita en bloque

De Escalera de resistencias, Wikipedia

DIO = E/S digital? (lo siento, soy un novato total). Esto se ve muy bien, tendré que probarlo, pero todavía estoy buscando una solución basada en chips, ya que planeo pasar a técnicas más avanzadas más adelante.
No tan rapido. Mientras que una escalera R-2R en teoría hace exactamente lo que quieres, y de hecho esto es lo que hay dentro de muchos D/A, hacer una tú mismo es difícil. Con resistencias del 1%, no tiene sentido pasar de 7 bits, por ejemplo, y 7 bits es un audio realmente malo. Las resistencias de escalera R-2R en un D/A están todas emparejadas y recortadas, lo cual es algo que no puede hacer.
@Olin Lathrop Interesante. ¿Puede dar más detalles sobre las matemáticas de 1%->7 bits? ¿Y podemos decir lo mismo para los DAC de red de resistencia ponderada binaria?
@Zeta.Investigator aproximadamente porque 1/2⁷ < 0.01 o 1%. Lo que sea que esté viendo depende de las tolerancias (y cómo se acumulan).

Esta técnica de Roman Black es bastante popular y es muy fácil de implementar.

Tendré que revisar esto también...
¿Es esto diferente de PWM?
Es una forma de modulación delta.

La computadora que está utilizando para publicar aquí probablemente tenga un DAC de 16 bits de calidad decente.

En serio, solo para jugar con DSP, el escritorio es el mejor lugar para crear prototipos. Puede usar un buen lenguaje de alto nivel como Octave o Pylab. Después de que su algoritmo funcione, tradúzcalo a C. Solo cuando esté funcionando en C en el escritorio, debe pensar en implementarlo en un microcontrolador.

Se puede construir un DAC USB muy simple (mejor y más simple que Resistor Ladder :) usando PCM2704 (mejor use PCM2704 C si puede). Es un DAC estéreo Delta-Sigma de 16 bits con muy buena calidad de sonido y no requiere controladores en la mayoría de los sistemas operativos.

El esquema es muy simple y puede construirlo usando cableado punto a punto o usar PCB. Algunas instrucciones se pueden encontrar aquí o aquí

Más tarde, puede construir un dispositivo con salidas S/PDIF y TOSLINK usando este esquema si lo desea, pero es un poco más complicado.

RB tiene suficientes resistencias para hacer un dolor y necesita precisión. Entonces, creo que puede obtener el circuito en un IC con resistencias recortadas con láser por unos pocos dólares, lo que puede valer la pena. Si tiene algunos componentes activos (voltaje de precisión en la entrada a la escalera y amortiguador en la salida), mucho mejor http://www.national.com/mpf/DA/DAC0800.html#Overview

Un DAC estéreo que es bastante económico y relativamente simple de conectar al microcontrolador es NXP UDA1334ATS . Tiene PLL incorporado para generar el reloj del sistema interno; solo registre los bits de audio. Se puede utilizar con una resolución de 16 a 24 bits y $1,70 en una sola cantidad de Digi-Key. Viene en un pequeño paquete de 16 SSOP, pero SparkFun tiene la placa de conexión para el espacio DIP por $2.95.