DAC de áudio simples

8

Eu queria saber se alguém poderia recomendar um chip DAC simples e de baixo custo que eu poderia usar para reprodução de áudio. Não estou tentando conseguir nada surpreendente ou complicado, basta colocar alguns números nele e ouvir os ruídos que ele produz (provavelmente vou começar tentando tocar uma onda senoidal). Também vi muitas soluções SOC complexas como muitos conselhos de avaliação, mas prefiro começar com um único IC e partir daí. Alguma sugestão?

Edição: Meu objetivo é, eventualmente, passar para um processamento DSP mais avançado e, possivelmente, sintetizadores, por isso prefiro uma solução baseada em chip.

AR
fonte

Respostas:

7

O MCP4922 é um DAC de 12 bits com chip único e uma interface SPI. É barato e está disponível em quantidades amadores. É muito simples de dirigir.

Há também uma versão mono, a MCP4921.

É usado no sintetizador Critter And Guitari Arduino e há código fonte disponível.

Pode emitir sons como este e aquilo .

Toby Jaffey
fonte
Um ADC de 12 bits deve poder reproduzir todas as formas de onda da música antiga, apenas com mais chiados de fundo do que um CD.
endolith
Também vale a pena notar que, em muitos casos, você pode obter esses tipos de CI gratuitamente em quantidades de 1 a 5 peças como amostras. Na verdade, acho que tenho alguns DAC em casa que consegui dessa maneira. Eu tenho toneladas de FRAM ICs que foram enviadas como amostras. Se você está apenas começando, amostras grátis são um bom caminho a percorrer. ;-)
cbmeeks
5

Se você procura algo simples , pode usar uma escada de resistor R-2R. É preciso um pouco de DIO, mas você fornece um número digital, fornece o nível analógico adequado.

Bloco de citação

De Resistor Ladder, Wikipedia

Nick T
fonte
2
DIO = E / S digital? (desculpe, eu sou um noob total). Isso parece bem legal, vou ter que experimentar, mas ainda estou procurando uma solução baseada em chip, pois pretendo mudar para técnicas mais avançadas posteriormente.
AR
3
Não tão rápido. Enquanto uma escada R-2R em teoria faz exatamente o que você quer, e de fato é isso que está dentro de muitos D / As, é difícil fazer uma você mesmo. Com 1% de resistores, não faz sentido ultrapassar 7 bits, por exemplo, e 7 bits é um áudio realmente ruim. Os resistores de escada R-2R em um D / A são todos correspondentes e aparados, o que é algo que você não pode fazer.
Olin Lathrop
@Olin Lathrop Interessante. Você pode elaborar mais sobre matemática de 1% a 7 bits? E podemos dizer o mesmo para os DACs de rede de resistores ponderados binários?
Zeta.Investigator
@ Zeta.Investigator aproximadamente porque 1 / 2⁷ <0,01 ou 1%. Tudo o que você está olhando depende das tolerâncias (e como elas se comparam).
Nick T
4

Essa técnica de Roman Black's é bastante popular e é muito fácil de implementar.

Leon Heller
fonte
Vou ter que verificar isso também ...
AR
Isso é diferente do PWM?
endolith
É uma forma de modulação delta.
markrages
3

O computador que você está usando para postar aqui provavelmente possui um DAC de 16 bits de qualidade decente.

Sério, por apenas brincar com o DSP, a área de trabalho é o melhor lugar para se criar protótipos. Você pode usar uma linguagem agradável de alto nível, como Octave ou Pylab. Depois de colocar seu algoritmo em funcionamento, traduza-o para C. Somente quando estiver trabalhando em C na área de trabalho, pense em implementá-lo em um microcontrolador.

markrages
fonte
1

Um DAC USB muito simples (melhor e mais simples que o Resistor Ladder :) pode ser construído usando o PCM2704 (use melhor o PCM2704 C, se possível). É um DAC estéreo Delta-Sigma de 16 bits com qualidade de som muito boa e não requer drivers na maioria dos sistemas operacionais.

O esquema é muito simples e você pode construí-lo usando a fiação ponto a ponto ou usando PCB. Algumas instruções podem ser encontradas aqui ou aqui

Posteriormente, você pode criar um dispositivo com saídas S / PDIF e TOSLINK usando esse esquema, se desejar, mas é um pouco mais complicado.

Alex Bolotov
fonte
0

Os RBs têm resistores suficientes para causar dor e você precisa de precisão. Então eu acho que você pode obter o circuito em um CI com resistores cortados a laser por alguns dólares, o que pode valer a pena. Se houver alguns componentes ativos (tensão de precisão na entrada da escada e buffer na saída), tanto melhor http://www.national.com/mpf/DA/DAC0800.html#Overview

russ_hensel
fonte
0

Um DAC estéreo bastante barato e relativamente simples de interface com o microcontrolador é o NXP UDA1334ATS . Possui PLL integrado para gerar relógio interno do sistema; apenas relógio nos bits de áudio. É utilizável de resolução de 16 a 24 bits e US $ 1,70 em qty único da Digi-Key. Vem em um pequeno pacote de 16 SSOP, mas o SparkFun tem a placa de expansão para DIP pegada por US $ 2,95.

Jason Yoon
fonte