DAC audio simple

8

Je me demandais si quelqu'un pouvait recommander une puce DAC simple et peu coûteuse que je pourrais utiliser pour la lecture audio. Je n'essaie pas de réaliser quoi que ce soit d'incroyable ou de compliqué, il suffit d'y ajouter des chiffres et d'écouter les bruits que cela fait (je commencerai probablement par essayer de jouer sur une onde sinusoïdale). J'ai également vu beaucoup de solutions SOC complexes. comme beaucoup de cartes d'évaluation, mais je préfère commencer avec un seul CI et partir de là. Aucune suggestion?

EDIT: Mon objectif est de passer éventuellement à un traitement DSP plus avancé, et éventuellement à des synthés, donc je préférerais une solution basée sur des puces.

AR
la source

Réponses:

7

Le MCP4922 est un DAC monopuce 12 bits avec une interface SPI. Il est bon marché et disponible en quantité amateur. C'est très simple à conduire.

Il existe également une version mono, le MCP4921.

Il est utilisé dans le synthétiseur Critter And Guitari Arduino et le code source est disponible.

Ça peut faire des sons comme ça et ça .

Toby Jaffey
la source
Un ADC 12 bits devrait être capable de reproduire n'importe quelle forme d'onde de musique ancienne, juste avec plus de sifflement de fond qu'un CD.
endolith
Il peut également être intéressant de noter que dans de nombreux cas, vous pouvez obtenir ces types de CI gratuitement en quantités de 1 à 5 pièces comme échantillons. En fait, je pense que j'ai quelques DAC à la maison que j'ai obtenus de cette façon. J'ai des tonnes de circuits intégrés FRAM qui ont été envoyés comme échantillons. Si vous débutez, des échantillons gratuits sont une bonne façon de procéder. ;-)
cbmeeks
5

Si vous cherchez simple , vous pouvez utiliser une échelle de résistance R-2R. Cela prend un peu de DIO, mais vous lui donnez un numéro numérique, cela vous donne le bon niveau analogique.

Blockquote

De l' échelle de résistance, Wikipedia

Nick T
la source
2
DIO = E / S numériques? (désolé, je suis un noob total). Cela semble assez soigné, je vais devoir l'essayer, mais je suis toujours à la recherche d'une solution basée sur une puce alors que je prévois de passer à des techniques plus avancées plus tard.
AR
3
Pas si vite. Alors qu'une échelle R-2R fait en théorie exactement ce que vous voulez, et en fait c'est ce qui se trouve dans de nombreux D / As, il est difficile d'en créer une vous-même. Avec des résistances de 1%, il est inutile de dépasser les 7 bits, par exemple, et 7 bits est vraiment un son de merde. Les résistances en échelle R-2R dans un D / A sont toutes adaptées et ajustées, ce que vous ne pouvez pas faire.
Olin Lathrop
@Olin Lathrop Intéressant. Pouvez-vous nous en dire plus sur les mathématiques 1% -> 7 bits? Et peut-on dire la même chose pour les DAC de réseau de résistances pondérées binaires?
Zeta.Investigator
@ Zeta.Investigator à peu près parce que 1 / 2⁷ <0,01 ou 1%. Tout ce que vous regardez dépend des tolérances (et de la façon dont elles se cumulent).
Nick T
4

Cette technique de Roman Black est assez populaire et très facile à mettre en œuvre.

Leon Heller
la source
Je vais devoir vérifier cela aussi ...
AR
Est-ce différent de PWM?
endolith
C'est une forme de modulation delta.
markrages
3

L'ordinateur que vous utilisez pour publier ici contient probablement un DAC 16 bits de qualité décente.

Sérieusement, pour simplement déconner avec DSP, le bureau est le meilleur endroit pour prototyper. Vous pouvez utiliser un joli langage de haut niveau comme Octave ou Pylab. Après avoir fait fonctionner votre algorithme, traduisez-le en C. Ce n'est que lorsqu'il fonctionne en C sur le bureau que vous devriez penser à l'implémenter sur un microcontrôleur.

markrages
la source
1

Un DAC USB très simple (meilleur et plus simple que l'échelle de résistance :) peut être construit en utilisant le PCM2704 (mieux utiliser le PCM2704 C si vous le pouvez). Il s'agit d'un DAC stéréo Delta-Sigma 16 bits avec une très bonne qualité sonore et il ne nécessite pas de pilotes dans la plupart des systèmes d'exploitation.

Le schéma est très simple et vous pouvez le construire à l'aide d'un câblage point à point ou utiliser un PCB. Quelques instructions peuvent être trouvées ici ou ici

Plus tard, vous pouvez construire un appareil avec des sorties S / PDIF et TOSLINK en utilisant ce schéma si vous le souhaitez, mais c'est un peu plus compliqué.

Alex Bolotov
la source
0

Les RB ont suffisamment de résistances pour faire mal et vous avez besoin de précision. Je pense donc que vous pouvez obtenir le circuit dans un circuit intégré avec des résistances découpées au laser pour quelques dollars qui peuvent en valoir la peine. S'il a des composants actifs (tension de précision à l'entrée de l'échelle et tampon à la sortie), tant mieux http://www.national.com/mpf/DA/DAC0800.html#Overview

russ_hensel
la source
0

Un DAC stéréo assez bon marché et relativement simple à interfacer avec un microcontrôleur est le NXP UDA1334ATS . Il dispose d'une PLL intégrée pour générer une horloge système interne; horloge juste dans les bits audio. Il est utilisable d'une résolution de 16 à 24 bits et 1,70 $ en quantité unique de Digi-Key. Livré dans un minuscule package 16-SSOP mais SparkFun a la carte de dérivation à l'empreinte DIP pour 2,95 $.

Jason Yoon
la source