Forum: Mikrocontroller und Digitale Elektronik Audio DAC (Mono) gesucht


von Michael (Gast)


Lesenswert?

Hi,

ich bin für ein Projekt auf der Suche nach einem DAC, mit dem ich 16bit 
Mono-Audio Daten (44,1kHz) auf einen Lautsprecher geben kann. Welche 
Typen könntet ihr da empfehlen, welche habt ihr schonmal verwendet?

Möchte eigentlich keinen dieser Stereo DACs von z.B. TI nehmen, da diese 
nur über I2S ansprechbar sind. Schön wäre einfaches SPI.

Viele Grüße
Michael

von Gast (Gast)


Lesenswert?

CS4272 - ist zwar etwas oversized, aber für < 10 Euro bei Farnell zu 
bekommen, nicht so kompliziert, kann SPI.

von Benedikt K. (benedikt)


Lesenswert?

Viele andere Audio Codecs können auch andere Modi außer I2S. Einen 
UDA1345 habe ich über SPI an einen AVR angeschlossen: Man sendet 
8-16bit, toggelt WS und sendet nochmal mindestens 8bit. Ist zwar ein 
wenig verschwenderisch, wenn man beim 2. Kanal nochmal Daten senden 
muss, dafür sind diese DACs aber sehr günstig und haben bereits den 
Antialiasing Filter integriert.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

@Gast und Benedikt: Die Teile können auch nur I2S und artverwandte 
Formate, was Michael sucht ist ein DAC, der reine SPI-Daten in Audio 
umwandelt und dabei seine eigene Sample-Clock generiert. Es gab da mal 
solche Teile von Philips, aber die sind inzwischen wohl vom Markt.

@Michael: Wenn´s billig sein soll: ein R/2R-Netwerk mit nachgeschaltetem 
Tiefpaß und Impedanzwandler sollte für Dein Projekt reichen. Besorge Dir 
entsprechend eng tolerierte Widerstände <1% und dann wird das schon.

von Benedikt K. (benedikt)


Lesenswert?

Travel Rec. wrote:
> @Gast und Benedikt: Die Teile können auch nur I2S und artverwandte
> Formate, was Michael sucht ist ein DAC, der reine SPI-Daten in Audio
> umwandelt und dabei seine eigene Sample-Clock generiert.

Wo steht was von eigenem Sample Clock ?

> @Michael: Wenn´s billig sein soll: ein R/2R-Netwerk mit nachgeschaltetem
> Tiefpaß und Impedanzwandler sollte für Dein Projekt reichen. Besorge Dir
> entsprechend eng tolerierte Widerstände <1% und dann wird das schon.

Das wird mit Sicherheit aber teurer als ein AudioCodec und 16bit wird 
man damit mit Sicherheit nicht erreichen. UDA1345: 2,5€ + MwsSt bei 
Digikey.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Wo steht was von eigenem Sample Clock ?

Zwischen den Zeilen hier:

>Möchte eigentlich keinen dieser Stereo DACs von z.B. TI nehmen, da diese
>nur über I2S ansprechbar sind. Schön wäre einfaches SPI.

I2S ist das Datenformat für Audio-Streams, welches eine Master-Clock von 
mindestens 256-facher Samplerate verwendet, eine SCLK von 64facher 
Samplerate, eine WordClock = Samplerate und die Daten selbst. SPI 
hingegen verwendet nur Daten und Takt und ChipSelect. Ich denke, daß 
Michael die Audiodaten über SPI senden will und das kann er mit o.g. 
Typen nicht tun.

>Das wird mit Sicherheit aber teurer als ein AudioCodec und 16bit wird
>man damit mit Sicherheit nicht erreichen.

Teurer vielleicht, wenn auch nur unwesentlich. Bei gutem Layout und 
sauberem Aufbau sind 16Bit schon drin. Bei Mono-Ausgabe über 
Lautsprecher reichen auch 12...14 Bit für ansprechenden "Sound". Bei 
44kHz sowieso.

von Benedikt K. (benedikt)


Lesenswert?

Travel Rec. wrote:

> I2S ist das Datenformat für Audio-Streams, welches eine Master-Clock von
> mindestens 256-facher Samplerate verwendet, eine SCLK von 64facher
> Samplerate, eine WordClock = Samplerate und die Daten selbst. SPI
> hingegen verwendet nur Daten und Takt und ChipSelect. Ich denke, daß
> Michael die Audiodaten über SPI senden will und das kann er mit o.g.
> Typen nicht tun.

Oh doch, dass geht. Man muss ihn nur im MSB Mode verwenden, und kann 
einfach die 16bit Audiodaten senden, muss anschließend WS toggeln und 
kann dann die nächsten 16bit für den anderen Kanal senden.

PS: Es gibt auch einige I2S Audio DACs, die ohne Takt auskommen, so wie 
der TDA1543, der aber hässlich anzusteuern ist, da er nur I2S kann.

> Teurer vielleicht, wenn auch nur unwesentlich. Bei gutem Layout und
> sauberem Aufbau sind 16Bit schon drin. Bei Mono-Ausgabe über
> Lautsprecher reichen auch 12...14 Bit für ansprechenden "Sound". Bei
> 44kHz sowieso.

Was hat Mono mit der Bittiefe zu tun ? Und wie willst du mit 1% oder von 
mir auch 0,1% Widerständen eine Auflösung von 16bit erreichen ?

Wenn es nur um einfachen Sound geht: MCP4821 oder andere normale 
12-16bit DACs. Aber solche DACs sind um ein vielfaches teurer als 
Audiocodecs, da diese ein aufwendigeres Verfahren (getrimmte Widerstände 
usw.) verwenden um die Spannungen zu erzeugen. Ein Audiocodec ist eben 
für Audio ausgelegt, und nutzt daher entsprechende Vereinfachungen um 
das gewünschte Ergebnis zu erreichen, während ein normaler DAC eben für 
andere Anwendungen ausgelegt ist.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Oh doch, dass geht. Man muss ihn nur im MSB Mode verwenden, und kann
>einfach die 16bit Audiodaten senden, muss anschließend WS toggeln und
>kann dann die nächsten 16bit für den anderen Kanal senden.

Aaaha! Ja wenn das so ist ;-) MSB-Mode ist doch eigentlich dasselbe wie 
"LeftJustified" oder?

von Benedikt K. (benedikt)


Lesenswert?

Travel Rec. wrote:
> MSB-Mode ist doch eigentlich dasselbe wie "LeftJustified" oder?

Ich denke schon. Der Hauptunterschied zum I2S Modus ist, dass das WS 
Signal zwischen Bit 0 und 15 toggelt, also wirch dann wenn ein Word 
fertig ist, und nicht schon einen Takt vorher.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Soweit ich das sehen konnte, unterstützen aber nicht viele ICs jenes 
"exotische" MSB-Format, bei dem man WordClock einfach nach 16Bits 
umschalten kann. Die von Cirrus wollen trotzdem einen kompletten 32Bit 
SubFrame... leider.

von Omega G. (omega) Benutzerseite


Lesenswert?

Ein PCM56 könnte für dich interessant sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.