16 Bit Audio DAC mit Audiopegel

Gast #1131165
Lesenswert?

Hallo Leute,

ich bin auf der Suche nach eine einfachen Schaltung mit einem 16-Bit 
Audio DAC, die mir einen Ausgangspegel liefert, an den ich ein Kopfhörer 
anschließen könnte, also wie beim Line-Out vom PC. Der DAC sollte 
seriell ansprechbar sein!
Hat da jemand ne Schaltung da, die er schon verwendet hat, oder 
zumindestens einen guten Audio-DAC, den man ausgangsseitig entsprechend 
beschalten kann?

Gruß

Lars
Gast #1131262
Lesenswert?

Wenn es nur zum Experimentieren sein soll, kannst Du einen TDA 1543
nehmen (wird zwar nicht mehr hergestellt, ist aber in älteren
CD-Spielern drin, und kann auch noch bei Segor bestellt werden).

Einen kleinen Kopfhörerverstärker brauchst Du in jedem Fall.
Gast #1131326
Lesenswert?

Habe grade den CS4334 von cirrus gefunden. Ist zwar ein 24bit DAC, aber 
das sollte nicht das Problem sein. Er ist jedoch sehr klein und scheint 
auch mit nur wenigen externen bauelementen auszukommen. Würde dieser mit 
einem TDA1308 als Kopfhörerverstärker verschaltet funktionieren. Wie 
aufwendig ist die Kommunikation mit dem CS4334?
(Firma: TravelRec.) Persönliche Seite #1131876
Lesenswert?

>Habe grade den CS4334 von cirrus gefunden.

Was für ein Zufall ;-) Wobei der CS4344 besser ist.

>Er ist jedoch sehr klein

Das ist bei 24Bit DACs eher ein Vorteil. Der CS4344 ist noch kleiner.

>und scheint auch mit nur wenigen externen bauelementen auszukommen.

So ist es, da alle benötigten Filterkomponenten intern sind. Lediglich 
ein Ausgangstiefpaß und einige Blockkondensatoren werden benötigt.

>Würde dieser mit
>einem TDA1308 als Kopfhörerverstärker verschaltet funktionieren.

Ja sicher. Wie Du siehst.

>Kann denn der Kopfhörerverstärker die Qualität des
>CS4334 überhaupt umsetzen?

Nie und nimmer, aber das kann keine externe analoge Komponente, wenn man 
es genau betrachtet. Der TDA1308 hat einen Dynamikumfang von >90 und 
akzeptable Verzerrungswerte. Soundkarten der Marke "Creative Live!" 
hatten diesen Chip seinerzeit eingebaut. In meinem SD-Karten-Rekorder 
leistet er ebenfalls gute Dienste.
Gast #1132776
Lesenswert?

Gut, du hast mich von dem CS4344 überzeugt;) Kann ich die Beschaltung 
komplett aus deinem SD-Recorder übernehmen? Sehe ich das richtig, dass 
ich garkeinen Kopfhörerverstärker oder ähnliches brauche, wenn ich die 
Ausgänge an eine Anlage mit Vorverstärker anschließe, da der CS4344 
Line-Level-Pegel ausgibt?
(Firma: TravelRec.) Persönliche Seite #1133200
Lesenswert?

>Kann ich die Beschaltung
>komplett aus deinem SD-Recorder übernehmen?

Von mir aus ;-)

>Sehe ich das richtig, dass
>ich garkeinen Kopfhörerverstärker oder ähnliches brauche, wenn ich die
>Ausgänge an eine Anlage mit Vorverstärker anschließe, da der CS4344
>Line-Level-Pegel ausgibt?

Richtig. Aber gucke mal, was ich bei Cirrus gerade gefunden habe:

http://www.cirrus.com/en/products/pro/detail/P1200.html
Gast #1134153
Lesenswert?

Hört sich auch interessant an, aber ich habe mich für den CS4344 
entschlossen und hoffe, ich bereue die Wahl nicht;) Werde auch die 
Beschaltung soweit von dir übernehmen. Den Kopfhörerverstärker bruahce 
ich eigentlich nicht wirklich, deshalb scheint der CS4344 die 
kompakteste und beste Lösung...außerdem ist der anderen im PFN package 
und das macht die Bastelei irgendwie schon wieder zu fummelig...Ich 
hoffe einfach mal, dass der CS4344 gut funktionieren wird und auch die 
Ansteuerung kein Problem darstellt...
Gast #1135055
Lesenswert?

Meine digitale Signalquelle wird ein FPGA sein, der ein Sound ausgibt, 
welcher entweder in einem RAM oder auf einer SD-Karte abgelegt ist. Nur 
mal so zum Testen: Wenn ich dem CS4344 einmal einen Wert schicke und 
nicht kontinuierlich neue, behält er diesen dann gewandelt am Ausgang, 
bis ich ihm den nächsten schicke?
(Firma: TravelRec.) Persönliche Seite #1136222
Lesenswert?

>ich denke es wird sehr schwierig sein mit dem FPGA genau
>einen CLK von beispielsweise 18,432MHz zu erzeugen...

Dann pappe doch einen entsprechenden Quarz(oszillator) an einen 
Takteingang des FPGA und über dessen intern impementierte Teiler stellst 
Du die restlichen Taktsignale für das Interface zusammen. MCLK und SCLK 
müssen nicht phasen-/flankengenau, aber synchron sein.
Gast #1177354
Lesenswert?

@Travel Rec.

Erstmal vielen Dank für deine vielen Tips! Ich habe jetzt die 
Ansteuerung mittels I2S auf dem FPGA realisiert und es scheint auch 
soweit zu laufen. Allerdings verstehe ich die Zuordnung von 
übertragendem 16bit Wert und dem Ausgangssignal nicht. Im Datenblatt ist 
das sehr merkwürdig beschireben. Könntest du mir kurz erläutern, welche 
16bit Werte welcher Ausgangsspannung entsprechen? In welchem 
Ausgangspannungsbereich arbeitet denn der DAC eigentlich genau?

Danke nochmals,

Lars
(Firma: TravelRec.) Persönliche Seite #1177598
Lesenswert?

Die 16-Bir Daten liegen im 2-er Komplement vor, das heißt, das MSB 
stellt das Vorzeichen dar. Ist es gelöscht, werden Werte über VCC/2 
ausgegeben, ist es gesetzt, werden Werte unter VCC/2 ausgegeben. $0000 
ergibt genau VCC/2 am Ausgang des DAC. Über den Koppelkondensator am 
Ausgang werden die Gleichspannungsanteile entfernt, so daß $0000 in dem 
Fall in 0VAC resultiert und von $0000-$7FFF wird die positive und von 
$8000-$FFFF die negative Halbwelle abgebildet.
Gast #1186954
Lesenswert?

Nochmal @ Travel Rec.

Irgendwie scheint die Ansteuerung doch nich so richtig zu laufen. Ich 
benutze einen MCLK von 12,288 MHz und einen LRCLK von 48kHz. Die 
Ansteuerung sieht im Moment wie in der angehängten Simulation aus. Die 
beiden Datenwörter entsprechen 1110000111100001 und 0111111111111111.
Das ganze wird immer wieder hintereinander durchgeführt, sodass die 
beiden Ausgänge des CS4344 definierte Spannungswerte annehmen müssten. 
Beide bleiben jedoch konstant be Ub/2 also ca. 1.65V. Müssen etwa immer 
24bit gesendet werden, auch wenn nur 24 verwendet werden? Oder wo steckt 
mein Fehler. mclk und clk sind synchron und stimmen auch von der 
Taktfrequenz her.

Gruß

Lars
Angehängte Dateien:
(Firma: TravelRec.) Persönliche Seite #1187138
Lesenswert?

Hallo Lars,

es sieht so aus, als hättest Du Dir das I2S-Protokoll noch gar nicht 
angesehen. Jeder Frame beginnt erstmal mit der fallenden Flanke der 
WordClock (LRCK), dann folgt eine steigende Flanke und eine fallende 
Flanke der BitClock (SCLK) bei der keine Daten übergeben werden bzw. die 
Datenleitung Low ist. Vor der nächsten steigenden Flanke wird das MSB 
für den linken Kanal aufgelegt. Dann wird SCLK getoggelt. Die zu 
übertragenden Bits werden ausgegeben und es wird nach dem LSB auf 32 
SCLK-Zyklen bei Daten = Low aufgefüllt. Dann wird WordClock High 
ausgegeben und das Ganze für den rechten Kanal wiederholt. Ein 
kompletter Frame (Sample) ist also 64 SCLK-Zyklen lang und die 
MasterClock MCLK muß SCLK x 256 oder 512 sein, wobei der Frame 
meinethalben 48.000 pro Sekunde ausgegeben wird. Siehe Anhang.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren