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
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.