Forum: Mikrocontroller und Digitale Elektronik Multiplizierende D/A-Wandler


von Sebastian Eckert (Gast)


Lesenswert?

Hallo, liebe Forennutzer.

Falls mal jemand nichts anderes zu tun hat als eine mehr oder weniger 
dumme Anfängerfrage zu beantworten:
Wenn ich das richtig verstanden habe, ist der Ausgangsstrom eines 
multiplizierenden D/A Wandlers mit Stromausgang, beispielsweise AD7524, 
proportional zur anliegenden Referenzspannung geteilt durch das 
übergebene Datenwort. Könnte man demzufolge...

a) zwei D/A-Wandler kaskadieren um aus 2x 8 Bit 16 Bit Auflüsung zu 
erhalten, ohne wesentlich an Genauigkeit zu verlieren (gegenüber einem 
16-bit D/A)?
b) ein solches Bauteil statt einem digitalen Potentiometer zur 
Lautstärkeregelung in Audioanwendungen benutzen, indem man das NF-Signal 
als Referenzspannung einspeist?

Danke im Voraus für sinnvolle Antworten, auch wenn diese momentan eher 
dem allgemeinen Verständnis dienen anstatt einem konkreten Projekt.

von Zacc (Gast)


Lesenswert?

a)Nein, man kann die nicht kaskadieren, da die Werte dann nicht mehr 
knotinuierlich waeren. Dies, da das Ausgangssignal eines 12bit wandlers 
nicht 16bit genau ist.
b)Nein, ein multiplizierender DAC hat nicht unendlich Bandbreite. Vor 
allem bevorzugt man fuer Audi eine log-skala und die bringt ein 12 
bitter oder so nicht.

von Wolfgang Horn (Gast)


Lesenswert?

Hio, Sebastian,

natürlich hast Du Recht, zwei multiplizierende DAC kannst Du in Reihe 
schalten.

Leider multiplizieren sich nicht nur die Teilverhältnisse, sondern auch 
die Fehler.

Schau mal in das Datenblatt des Wandlers, was da über dessen Linearität 
und Genauigkeit der Abstufung gesagt ist, und dann rechne mit dem worst 
case.


Ciao
Wolfgang Horn

von Sebastian Eckert (Gast)


Lesenswert?

Oh, gut zu wissen, danke. Aber, Zacc, ich hatte nicht von 12 Bit 
gesprochen, sondern von 8 Bit. Macht das einen Unterschied?

Laut Datenblatt ist beim "KN"-Typ mit 1/4 LSB Linearitätsfehler zu 
rechnen, zzgl. 1 1/4 LSB Gain-Fehler. Das wären dann also 1,5 LSB, bzw. 
2x1,5=2,25 LSB für den Gesamtfehler. Scheint mit bei 16 Bit gar nicht so 
viel zu sein, aber vielleicht unterschätze ich das auch bloß.

von Zacc (Gast)


Lesenswert?

Du nimmt den ersten 8 bit, dann einen Adder und addierst einen 256-stel 
des zweiten 8bitters. Dann knn es geschehen, dass die Werte nicht nicht 
kontinuierlich sind, das A+200*B >= A+1

Die DAC sind doch nicht so teuer, dass man sparen muss. Nur schon das 
Layout, den 2. chip auf das Board zu bringen kostet mehr als der 
Mehrpreis.

von Sebastian Eckert (Gast)


Lesenswert?

Schon gut. Analog addieren wollte ich wirklich nicht. Danke.

von Zacc (Gast)


Lesenswert?

Wenn man nur den input des einen in den anderen laesst hat man nicht den 
vollen bereich mit der kaskadierten Aufloesung. Eine kleine Addition ist 
nicht Grosses, ein kleiner OpAmp macht das.

von Sebastian Eckert (Gast)


Lesenswert?

Ja, ich glaube, das mit dem Kaskadieren war ein kleiner Denkfehler von 
mir. Ich bin mir noch nicht ganz sicher, warum, aber ich glaube, 
irgendetwas ist an der Idee falsch gewesen.

von Peter D. (peda)


Lesenswert?

Sebastian Eckert wrote:
> Ja, ich glaube, das mit dem Kaskadieren war ein kleiner Denkfehler von
> mir. Ich bin mir noch nicht ganz sicher, warum, aber ich glaube,
> irgendetwas ist an der Idee falsch gewesen.

Ja.

Wie Zacc sagte, brauchst Du eine gewichtete Addition.

Und eine Addition macht aber was völlig anders als eine Multiplikation.


Peter

von Zacc (Gast)


Lesenswert?

Man kann immer noch multiplizieren. Seien A, der erste Wandler und B der 
Zweite. Der Erste macht OutA:=Ref*highbyte(value), der zweite wird mit 
1/256 der ersten Referenz versehen und macht daher 
outB:=Ref*lowbyte(value)/256, und beide addiert machen 
out:=Ref*(highbyte(value)+lowbyte(value)/256).

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.