mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Audio D/A-Wandler (16bit) gesucht


Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Kennt jemand von euch einen parallel ansteuerbaren D/A-Wandler mit
16bit der für Audio-Anwendungen ausgelegt ist ?

Ich habe bisher nur solche D/A-Wandler gefunden die keine integrierten
Audio-Filter hatten. Ausserdem konnte man sie nirgendwo bestellen.

MfG
formtapez

Autor: Till (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
muss er denn wirklich parallel ansteuerbar sein? wie wäre es mit I2S, da
sieht die WElt schon ganz anders aus.

Was verstehtst du unter audiofilter?

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die meisten Audio-DACs haben Sigma-Delta-Modulation, Interpolation und
einen integrierten low-pass. Ohne diese Funktionen wird das Ergebnis
nicht wirklich gut klingen.

I²S würde auch gehen, aber alle seriellen DACs die ich bisher gesehen
habe brauchten noch ein Master-Clock-Signal dessen Frequenz 256 mal
höher als die Samplerate sein muss. Da ich den DAC mit einem µC
ansteuern möchte geht das schonmal nicht.

MfG
formtapez

Autor: Till (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also,

das master clock signal brauchen nur die sigma delta dacs und nicht die
(eh besseren) multibit dacs.


es gibt allerdings soweit ich weiß bisher einen sigma delta typen von
analog der sich die masterclock intern genereriert.

integrierte digitale filter haben manche längst nicht alle, und ich
kann versichern das es auch ohne geht, bzw. passive filter in machbarer
ordnung ausreichen. mit klang haben die wenig zu tun, die gefilterten
frequenzen können sich auf den klang auswirken wenn die
nachgeschaltete verstärkerkette anfällig für IMD oder oszillationen
ist.

wenn du mal spezifizierst welche qualität oder verwendung du brauchst,
der billigste und einfachste wäre ein TDA1543 den es bei Reichelt für
75cent gibt.

ich habe gerade einen selbstgebauten symetrischen DAC, spdif reciver,
18Bit mulitbit mit 2*AD1865NK in Betrieb, filter ist erster ordnung,
verstärkerkette durchgehend class a, ohne das probleme auftreten.

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Till.

Der TDA1543 sieht schon mal sehr gut aus. Danke für den Tip.
Hast Du Erfahrung mit diesem Baustein was die Qualität angeht ?

Ich will den DAC mit bis zu 96 kHz Samplerate bei 16bit betreiben (in
Mono). Das ganze soll dann mal ein Drumsequencer werden mit mehreren
Kanälen.

Brauche ich dann noch viele externe Bauteile um das Signal
Line-Out-gerecht zu machen ?

MfG
formtapez

Autor: Till (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, wenn du nicht sehr erfahren bist was layout, grounding, power
supply, etc angeht, wird die qualität nicht unbedingt vom DAC IC
determiniert, sondern von deinem design. Det TDA1543 ist nahezu
idiotensicher. Um aus dem was er ausspuckt (strom) ein line gerechtes
signal zu machen reicht ein widerstand, meine erfahrung mit einem
spannungsteiler gegen den er arbeitet sind etwas besser, und je nach
geschmack kann man auch lehrbuchmäßig einen guten OP nehmen (siehe
beispiel im datenblatt) oder eine diskret aufgebaute stufe (mache
ich).

Ausserdem ist es immer gut einen billigen IC zu nehmen wenn man nicht
sicher ist das man den teuren braucht, und DIP 8 ist ja ein
beherrschbares Format. Es wird kein größeres Problem sein einen Aufbau
der mit dem TDA1543 geht auf andere DACs umzustellen die  bessere daten
aufweisen, z.B. TSA1541A oder halt AD oder Burr Brown Teile.

Wenn es sigma delta sein soll und du dir sorgen um die master clock
machst schau mal AD1859 an.

wichtig ist ein gutes power supply, gutes decoupling. Nicht an den
selben 7805 hängen wie den microcontroller. Kondensatoren nah beim DAC.


Mono DACs bieten sich z.B. auch AD1861 an. Was willst du denn zum
signale in den DAC füttern nehmen, es muss ja schon etwas recht
schnelles sein? würde mich sehr interessieren.

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi !

Ich will mit einem ATmega128 (16 MHz) ein EEPROM (29F040B) auslesen und
den DAC füttern. Mal sehen ob das klappt, denn bei 96 kHz wird das
schon recht schnell (3 MHz) an den seriellen Leitungen. Deswegen wollte
ich ja auch einen parallelen DAC benutzen.

MfG
formtapez

Autor: Till (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ehrlich gesagt kenne ich keinen parallelen echten audio DAC.
In 8 Bit universal DAC kein problem AD7524, aber 16Bit?

Die häufigeren stero DACs brauchen auch noch mehr bits pro zeit, I2S
mit CD 1FS ist 44100*16*2 etwa 1,4Mhz, da allerdings statt 16 Bit 32
Bit Blöcke aus den üblichen Recivern kommen und die 16Bit audio darin
versteckt sind - in Bit 1 bis 17 bei Philips glaub ich, als eher 2,8
Mhz.

Es wird wohl mit weniger gehen wenn du  eine mono Dac wie AD1851 /61
(16/18Bit) nimmst. Ist auch ein handliches DIP16 und braucht wenig
externer Beschaltung.

Oder halt einen der für Mirocontroller - interfacing gedacht ist, aber
das ist dann nicht wirklich ein Audio DAC.

Autor: wolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns nicht anders geht kann man ja die Daten mit diskreter Logik
serialisieren (74HC165/166).

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat vielleicht jemand noch eine Idee ?
Ich muss das ganze definitiv parallel machen, da sonst (wenn es
überhaupt funktioniert) viel zu viel Rechenzeit verloren geht.

Kann man nicht zwei 8bit DACs koppeln um 16bit zu erreichen ?

MfG
formtapez

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

suchst Du nun irgend einen DAC für 16 Bit parallel, der mittels
gleichförmiger Stufen umsetzt, oder einen wirklichen AUDIO-DAC, bei dem
die Stufen für Audio-Zwecke speziell angepaßt sind? Für Audio sind die
Stufen in der Nähe des Nulldurchganges nämlich feiner. Die digitalen
Daten müssen dann natürlich zu dieser Stufung passen.

Zwei 8-Bitter müßten sich koppeln lassen, wenn der zweite ein
multiplizierender Typ ist. Er erhält dann das Ausgangssignal des ersten
als Referenz. Trotzdem muß der Übertragungsfaktor des zweiten genau
stimmen. Schlimmstenfalls sind Präzisionswiderstände erforderlich. Den
Schaltungsentwurf müßte man mal durchrechnen.

Mich würde noch interessieren, ob Du mit den 96 kHz bereits 4-faches
Oversampling betreibst oder ob Du wesentlich mehr als 20 kHz als obere
Frequenzgrenze anstrebst. Vermeidet Dein Programm Jitter?

Gruß

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne keinen parallelen Audio-DAC und kann mir auch nicht
vorstellen, dass es einen geben soll. Für Audio hat parallel nur
Nachteile, und die seriellen Formate sind seit Jahren etabliert. Ein
IC-Hersteller könnte einen parallelen nie ernsthaft verkaufen können.

2*8 Bit geben leider keine 16 Bit, sondern allerhöchstens 9 Bit.

Bist Du wirklich auf den AVR fixiert? In der M16C-Familie gibt es z.B.
den M16C24, der hat neben USB auch einen serielle
Audio-Wandler-Schnittstelle. Von Glyn gibt es dafür ganz günstige
Eval-Boards.

Stefan

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Chris:
Sind die Nicht-Audio-DACs wirklich soviel schlechter als die Audio-DACs
? Ich meine hört den Unterschied ein nicht geschultes Ohr ?
Ich möchte "einfach nur" eine Wave-Datei (16bit Mono) die in einem
EEPROM liegt ausgeben. Und zwar bis zu einer Samplerate von 96kHz.
Ich glaube dann spielt Jitter und Oversampling keine Rolle...

Stefan:
Ich wollte aus kostengründen beim AVR bleiben, da dieses
Soundausgabemodul mehrfach benötigt wird (8 Kanäle).

MfG
formtapez

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was gibt denn das Ganze? So eine Art Drumcomputer? Dann musst Du die
Qualität wirklich nicht so hoch hängen.

Kennst Du z.B. diese Seite?
http://www.cirrus.com/en/products/pro/areas/mixedsig_av.html
U.a. sind die pdf-Notes für Dich ganz hilfreich.

Mit einer "Bastellösung" wirst Du sicher keine 16-Bit-Performance
erreichen. Du solltest Dich fragen, ob Du die hohe Auflösung wirklich
willst, oder ob es nicht realistisch ist, Wandler mit z.B.12 oder 14
Bit zu verwenden. Das Problem an parallel ist: die Trennung
analog <-> digital
ist praktisch kaum zu realisieren. D.h. die Qualität eines 16-Bit
Wandlers geht im Gesamtdesign unter, wenn nicht sehr sorgfältig
gearbeitet wird.

An einen seriellen Audio-Port kannst Du mehrere Wandler hängen, Du
kannst einen Codec oder Multi DAC verwenden, der bis zu 8 DA-Ausgänge
in einem Chip hat. Die Preisfrage relativiert sich dann ganz schnell,
wenn Du nur noch 1/8 der Chips benötigst. Motorola hat z.B. auch den
56004, zwar etwas betagt, aber alles was Du brauchst auf einem Chip.
Nachteil bei so einem Vorgehen: sind leider alles Teile, die nicht bei
Reichelt & Co. zu bekommen sind.

Bei Verwendung eines CODEC hast Du im Codec bereits eine analoge
Lautstärkestellung.

Stefan

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ohne geschulte Ohren und über schlechte Lautsprecher dürfte der
Unterschied gering bis unhörbar sein. Leise Passagen sind das Problem
bei den Audio-DACs. Deshalb die feinere Abstufung nahe der Nulllinie.
Wenn ich mich recht erinnere, hat das etwas mit dem
Quantisierungsrauschen zu tun. Wenn bei Dir immer alles laut ist,
spielt es vielleicht keine Rolle. Nach dem Oversampling habe ich
gefragt, weil das für die Auslegung des Tiefpaßfilters wichtig ist.
Ohne das Filter verschwinden die Stufen nicht.

Gibt Dein EEPROM die Daten parallel aus? Falls ja, könnten die Daten
direkt oder über ein Latch zum Wandler gelangen.

@Stefan:
"2*8 Bit geben leider keine 16 Bit, sondern allerhöchstens 9 Bit."
Kannst Du bitte näher beschreiben wieso?

Gruß

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"2*8 Bit geben leider keine 16 Bit, sondern allerhöchstens 9 Bit."
>Kannst Du bitte näher beschreiben wieso?

2^8=256
256+256 = 512 = 2^9

Wenn man allerdings beide DAC Ausgänge mit unterschiedlichen
Widerständen verbindet, dann könnte man 16bit erreichen, aber die
meisten DACs sind dazu viel zu ungenau. Das würde dann so aussehen:
Uaus=256*DAC(HighByte)+DAC(LowByte)

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"2*8 Bit geben leider keine 16 Bit, sondern allerhöchstens 9 Bit."
>Kannst Du bitte näher beschreiben wieso?

Schon deshalb, weil 8-Bit-Wandler intern keine 16-Bit-Genauigkeit
haben. Es nützt ja nichts, einen 16-Bit-Wert zusammenzubasteln, wenn
der obere 8 Bit-Wandler eine Genauigkeit von +/- 1 LSB hat, also +/-
256 LSB bei 16 Bit.

Rein theoretisch könntest Du natürlich mit optimalen Bauelementen sowas
hinkriegen ...  aber eben nur auf dem Papier.

Stefan

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

an eine Addition habe ich dabei nicht gedacht. Die Addition wäre
witzlos, den dann kommt man garantiert nur auf 9 Bit. Deshalb hab ich
von einem multiplizierenden DAC gesprochen, der als Referenz das
Ausgangssignal des ersten erhält.
Aber die Limitierung dürfte in der mangelnden Genauigkeit der 8-Bitter
liegen. Dann braucht man die Reihenschaltung gar nicht erst ins Auge
fassen.

Gruß

Autor: Jens-Erwin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin gerade bei dem gleichen Problem - habe einen 8 Bit Wavplayer gebaut
- AVR-Assembler, der 4 stimmig wunderbar arbeitet.

Nun möchte ich auf 16 Bit hoch gehen und die Daten aus einer MMC Card
lesen.

Wenn Du mit Drummpattern arbeitest brauchst Du nie 96KHz - das sind
übertrieben gesagt Geräusche, den Unterschied wird man nicht hören.

44KHz sind völlig ausreichend und da könnte es mit einem AVR klappen.

Gruß Jens-Erwin

Autor: Till (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn es wirklich nur darum geht die datei aus dem eprom in den DAC zu
übertragen, wofür dann den controller? das geht sicher auch mit ein
paar logikbausteinen.

die 96kHz würde ich auch vergessen, und als filter haben jahrelang auch
analoge filter 3. ordnung augereicht. Interessant ist es wenn man einen
schnell genügenden prozessor/DSP nimmt um  nicht nur daten in den DAC
zu fütter, sondern sie auch zu bearbeiten.

Dir Trennung zwischen digital und analog lässt sich brachial mit ISO150
durchführen. Wichtig sind getrennte und gefilterte netzteile für Dac
und digitalkram.

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 96kHz habe ich ja auch nur vorgesehen um die Samples (die alle in
44,1kHz sind) grob ums doppelte beschleunigen zu können.

Ein Controller zwischen EEPROM und DAC ist schon nötig, da ich damit
auch gezielte Steuerungen vornehmen will. Ich habe mir das ungefähr so
gedacht: 8 "Soundmodule" mit jeweils EEPROM, µC und DAC horchen auf
einer gemeinsamen seriellen Leitung auf Befehle vom "Master". Der
sagt dann so ungefähr:
Kanal1, Start, Adress 23712, Length 2312, Speed 23, Effect0


MfG
formtapez

Autor: Till (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wäre es mit einem eprom, einem DSP, und 4 stereoDACs, schau mal ins
datenblatt vom AD1865

Autor: Michael (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Nach 11 Jahren kann ja mal erwähnt werden das es den burr brown pcm54hp 
gegeben hätte :D auch wenn ich den nicht benutzt hätte aber es gibt ja 
leute die von einen 16bit parallel audio dac noch nichts gehört haben 
der den ich gerade gefunden habe ist aus 89 also wird es den nicht mehr 
geben aber es gab ihn

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.