www.mikrocontroller.net

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


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Omega G. (omega) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein PCM56 könnte für dich interessant sein.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.