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
CS4272 - ist zwar etwas oversized, aber für < 10 Euro bei Farnell zu bekommen, nicht so kompliziert, kann SPI.
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.
@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.
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.
>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.
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.
>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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.