einfacher Audio-DAC

Ich habe mich gefragt, ob jemand einen einfachen, kostengünstigen DAC-Chip empfehlen könnte, den ich für die Audiowiedergabe verwenden könnte. Ich versuche nichts Erstaunliches oder Kompliziertes zu erreichen, werfe einfach ein paar Zahlen hinein und höre auf die Geräusche, die es macht (ich werde wahrscheinlich damit beginnen, eine Sinuswelle zu spielen). Ich habe auch viele komplexe SOC-Lösungen gesehen wie viele Evaluierungsboards, aber ich ziehe es vor, mit einem einzelnen IC zu beginnen und von dort aus weiterzumachen. Irgendwelche Vorschläge?

BEARBEITEN: Mein Ziel ist es, irgendwann zu einer fortgeschritteneren DSP-Verarbeitung und möglicherweise zu Synthesizern überzugehen, daher würde ich eine chipbasierte Lösung bevorzugen.

Antworten (7)

Der MCP4922 ist ein Single-Chip-12-Bit-DAC mit einer SPI-Schnittstelle. Es ist billig und in Bastlermengen erhältlich. Es ist sehr einfach zu fahren.

Es gibt auch eine Mono-Version, den MCP4921.

Es wird im Arduino-Synthesizer Critter And Guitari verwendet und es ist Quellcode verfügbar.

Es kann Geräusche wie dies und das machen .

Ein 12-Bit-ADC sollte in der Lage sein, alle alten Musikwellenformen wiederzugeben, nur mit mehr Hintergrundrauschen als eine CD.
Beachten Sie auch, dass Sie diese Art von ICs in vielen Fällen kostenlos in Mengen von 1-5 Stück als Muster erhalten können. Tatsächlich glaube ich, dass ich ein paar DACs zu Hause habe, die ich auf diese Weise bekommen habe. Ich habe Tonnen von FRAM-ICs, die als Muster gesendet wurden. Wenn Sie gerade erst anfangen, sind kostenlose Muster eine gute Möglichkeit. ;-)

Wenn Sie nach einfachen suchen , können Sie eine R-2R-Widerstandsleiter verwenden. Es braucht ziemlich viel DIO, aber wenn Sie ihm eine digitale Zahl geben, erhalten Sie den richtigen analogen Pegel.

Blockzitat

Aus Widerstandsleiter, Wikipedia

DIO = digitale I/O? (sorry, ich bin ein totaler noob). Das sieht ziemlich gut aus, ich muss es ausprobieren, aber ich suche immer noch nach einer Chip-basierten Lösung, da ich später zu fortgeschritteneren Techniken übergehen möchte.
Nicht so schnell. Während eine R-2R-Leiter theoretisch genau das tut, was Sie wollen, und tatsächlich ist dies das, was in vielen D/As steckt, ist es schwierig, selbst eine zu machen. Bei 1% Widerständen macht es beispielsweise keinen Sinn, über 7 Bit hinauszugehen, und 7 Bit sind wirklich beschissenes Audio. Die R-2R-Leiterwiderstände in einem D/A sind alle angepasst und getrimmt, was Sie nicht tun können.
@Olin Lathrop Interessant. Können Sie bitte näher auf 1% -> 7-Bit-Mathematik eingehen? Und können wir dasselbe für DACs mit binär gewichteten Widerstandsnetzwerken sagen?
@Zeta.Investigator ungefähr, weil 1/2⁷ < 0,01 oder 1%. Was auch immer Sie betrachten, hängt von den Toleranzen ab (und wie sie sich stapeln).

Diese Technik von Roman Black ist sehr beliebt und sehr einfach umzusetzen.

das muss ich auch mal checken...
Unterscheidet sich das von PWM?
Es ist eine Form der Deltamodulation.

Der Computer, mit dem Sie hier posten, verfügt wahrscheinlich über einen 16-Bit-DAC von anständiger Qualität.

Im Ernst, um einfach nur mit DSP herumzuspielen, ist der Desktop der beste Ort für Prototypen. Sie können nette Hochsprachen wie Octave oder Pylab verwenden. Nachdem Sie Ihren Algorithmus zum Laufen gebracht haben, übersetzen Sie ihn in C. Nur wenn er in C auf dem Desktop funktioniert, sollten Sie daran denken, ihn auf einem Mikrocontroller zu implementieren.

Ein sehr einfacher USB-DAC (besser und einfacher als Resistor Ladder :) kann mit PCM2704 gebaut werden (verwenden Sie besser PCM2704 C , wenn Sie können). Es ist ein 16-Bit-Delta-Sigma-Stereo-DAC mit sehr guter Klangqualität und erfordert in den meisten Betriebssystemen keine Treiber.

Das Schema ist sehr einfach und Sie können es mit Punkt-zu-Punkt-Verdrahtung oder mit PCB erstellen. Einige Anleitungen finden Sie hier oder hier

Später können Sie mit diesem Schema Geräte mit S/PDIF- und TOSLINK-Ausgängen bauen, wenn Sie möchten, aber es ist etwas komplizierter.

RB hat genug Widerstände, um Schmerzen zu verursachen, und Sie brauchen Präzision. Ich denke also, Sie können die Schaltung in einem IC mit lasergetrimmten Widerständen für ein paar Dollar bekommen, was sich lohnen könnte. Wenn es einige aktive Komponenten hat (Präzisionsspannung am Eingang zur Leiter und Puffer am Ausgang), umso besser http://www.national.com/mpf/DA/DAC0800.html#Overview

Ein Stereo-DAC, der ziemlich billig und relativ einfach an einen Mikrocontroller anzuschließen ist, ist NXP UDA1334ATS . Es verfügt über eine integrierte PLL zur Generierung des internen Systemtakts. Takten Sie einfach die Audiobits ein. Es kann mit einer Auflösung von 16 bis 24 Bit verwendet werden und kostet 1,70 US-Dollar pro Stück von Digi-Key. Kommt in einem winzigen 16-SSOP-Paket, aber SparkFun hat das Breakout-Board zum DIP-Fußabdruck für 2,95 $.