Forum: Mikrocontroller und Digitale Elektronik aus 2 X 8 Bit DAC mach 16 Bit DAC


von Thomas Strauß (Gast)


Lesenswert?

Hallo,

ich habe eine Frage: ich nehme einen 8Bit-DAC
(Digital-Analog-Converter), z.B. den preiswerten DAC0808LCN oder
ähnlichen. Dessen 8 Eingänge bekommen ihre Pegel von einem
8Bit-Speicher , z.B. dem 28C16 EEPROM. Diese Schaltung baue ich
zweimal.

Da ich zwei 28C16-Speicher habe, speichere ich die oberen 8Bit eines
16-Bit-Wertes in dem einem, die unteren 8Bit in dem anderen.

Ich habe jetzt - da ich zweimal dieselbe Schaltung aufgebaut habe, auch
zwei Ausgangssignale. Das erste repräsentiert die Bit0-7, das zweite die

Bits 8-15.

Beide Signale addiere ich, wobei ich das Signal, was Bit0-7
repräsentiert, mittels eines Präzisionsspannungsteilers (zwei
Metallschichtwiderstände) vorher auf 1/256 abschwäche.

Nach meiner Rechnung mit einem Modell, das aus zwei 2-Bit-DA-Wandlern
einen 4-Bit-DA-Wandler macht, scheint das zu funktionieren.

Thomas

von inoffizieller WM-Rahul (Gast)


Lesenswert?

>ich habe eine Frage:

scheinbar doch nicht... es gibt in deiner "Frage" keinen Satz, der
mit einem "?" endet bzw. den Anschein hat, eine Frage sein zu
können...

Übrigens kann man die Auflösung eines 8Bit-ADC dadurch vergrössen,
indem man die Referenzspannung variiert.
Somit müsste deine Überlegung stimmen... Ob man mit dem Aufbau aber
wirklich noch 16bit breit messen kann, bezweifle ich aber.

von Läubi (Gast)


Lesenswert?

DAC nicht ADC ;)
Frage fehlt trozdem irgendwie...

von Benedikt (Gast)


Lesenswert?

Theoretisch funktioniert das. In der Praxis hat ein DAC aber einen
Fehler von meist 0,5 oder 1LSB. Der Fehler des einen DAC ist also
bereits größer als das höchstwertige Bit des zweiten DACs.
Die Ausgangspannung ist also nicht linear, sondern kann Sprünge
aufweisen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich versteh das nicht so ganz.
Soweit ich allerdings verstehe ist die Konfiguration wie folgt:

Du hast zwei AD-Wandler. Einer bekommt das Signal durch 1 geteilt, der
andere durch 256 ? Beide Wandler haben die gleiche Referenzspannung?

-> Daraus soll ein 16 Bit AD Wandler werden?

Das funktioniert doch nie im Leben!
Dann kannst du gleich (abgesehen von analogen Nebeneffekten) direkt im
Programm 1/256 des AD-Wertes auf ihn selbst addieren...


Funktionieren könnte allerdings folgendes:
Du nimmst zwei statt einem AD-Wandler minimierst aber die
Referenzspannung auf die Hälfte. Nun lässt du von einem Komparator
prüfen ob die Spannung über Vref gestiegen ist. Ist dies so, wird die
Spannung statt vom ersten, nun vom zweiten ADC über einen
Spannungsteiler eingelesen.

-> Dass müsste dann den Effekt eines 16-Bit Wandlers haben, da du den
kompletten Bereich mit 16 Bits abdeckst.
Allerdings ist diese Variante vermutlich teurer, größer und vor allem
ungenauer als direkt einen 16-Bit AD-Wandler zu verwenden...

So meine Meinung.

PS: Was hast du denn da schickes simuliert mit den 2*2Bit = 4Bit?

von Simon K. (simon) Benutzerseite


Lesenswert?

Ups: DAC? Hm dann ziehe ich meine Aussage zurück.

Klar, das funktioniert tatsächlich, wenn man nochmal mit den oberen 8
Bits eine Spannung wandelt und als 256en Teil aufaddiert..

Alles umsonst geschrieben! Argh :-)

von Simon K. (simon) Benutzerseite


Lesenswert?

"oberen" = "unteren" hust

von Thomas Strauß (Gast)


Lesenswert?

Hallo,

ja - das Fragezeichen habe ich tatsächlich vergessen. Wird hiermit
"nachgeliefert".

Der Fehler ist bei einem 8-Bit-DAC 0,19%, bei einem 16-Bit-DAC
0,00076%.
Da aber das Signal des "unteren" 8-Bit-DAC auf 1/256 abgeschwächt
wird,
wird natürlich auch der Fehler auf 1/256 reduziert. 0,19 / 256 =
0,00076.

Thomas

von Thomas (Gast)


Lesenswert?

Das Problem ist nicht der Fehler des unteren DAC, der ist ja "nix
wert". Drum nennt man das auch niederwertiges Byte. Problematisch ist
der Fehler des/der niedrigen Bit(s) bei dem oberen DAC.
Ein Fehler von 1/2 LSB dort macht dir den ganzen Wert des unteren DAC
zur Sau. Ergo, den kannst du auch gleich weglassen...

Was geht, wie Rahul schon schrieb, ist die Referenzspannung eines DACs
über einen zweiten zu verändern. Aber auch denn geht die Rechnung mit
8+8=16 nicht auf.

von Thomas Strauß (Gast)


Lesenswert?

Hallo Thomas,

das ist eine einleuchtende Erklärung! Der Fehler bei dem oberen DAC
wirkt sich dann ja richtig schwerwiegend aus...

Er wird sozusagen 8 Stellen nach links verschoben und auf das
256-fache
 vergrößert, da ja jetzt das LSB auf Bitposition 8 liegt.

Vielen Dank für den Hinweis - den Schaltungsaufbau kann ich mir damit
sparen!

Thomas Strauß

von Karl heinz B. (kbucheg)


Lesenswert?

> Beide Signale addiere ich,

Du muestest sie multiplizieren.

> Nach meiner Rechnung mit einem Modell, das aus zwei
> 2-Bit-DA-Wandlern einen 4-Bit-DA-Wandler macht, scheint das
> zu funktionieren

Klar:  2 + 2 <=> 2 * 2

von Karl heinz B. (kbucheg)


Lesenswert?

> Du muestest sie multiplizieren.

Vergiss es, Schwachsinn!

von RPTom (Gast)


Lesenswert?

Nachdem jetzt geklärt ist, dass das so nicht funktioniert:
Man hat das am Amiga mit dem eingebauten Soundchip so ähnlich
gemacht...

Ein klassischer Amiga hat vier 8-Bit-Soundkanäle (zwei auf dem
linken Audioausgang, zwei auf dem rechten), die getrennt voneinander
mit 6 Bit (64 Schritten) in der Lautstärke regelbar sind.

Na, hat jemand schon eine Idee...?

Richtig, von den beiden linken Kanälen und den beiden rechten wird je
einer auf maximale, einer auf minimale Laustärke gesetzt und so ein
DA-Wandler mit (in etwa...) 14 Bit "simuliert".

Der Knackpunkt, warum das tatsächlich was gebracht hat, liegt aber
darin: die auf diese Weise entstandenen beiden neuen Soundkanäle
musste man (einzeln, versteht sich) mit einer etwas umständlichen
Prozedur nach Gehör kalibrieren, um die unvermeidbaren Fehler in der
Linerität (zumindest teilweise) wieder auszubügeln.

Die genaue Funktionsweise der Kalibrierung ist mir zwar nicht (mehr)
bekannt, aber im Prinzip ging es darum, den Fehler, der sich beim
Erzeugen von Testsignalen in Form eines hörbaren Tons äußerte,
in mehreren Schritten durch ein Herantasten mittels Tastendrücken
auf ein (gehörtes) Minimum zu reduzieren. Aus der so gewonnenen
Information wurde dann eine Ersetzungstabelle zur späteren Verwendung
generiert.

Dass man jeweils einen der beiden 8-Bit-Wandler auf jeder Seite nur
mit nominal 6 Bit verwenden konnte, dürfte sogar ein Vorteil gewesen
sein, denn sonst wäre für eine Kalibrierung ja gar kein Spielraum
mehr geblieben.

(Eingefleischte Amiga-Fans mögen mir verzeihen, wenn ich gelegentlich
in der Vergangenheitsform schreibe; funktionieren tut das natürlich
immer noch, aber meine Amiga-Zeit ist nun doch ein Weilchen her, auch
wenn damals "alles besser" war...)

Tom

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Multiplizieren und Referenzspannung sind die richtigen Stichworte. Es
gibt sogenannte Multiplizierende DA-Wandler, das sind alle, deren
Referenzspannung linear auf die Ausgangsspannung wirkt. Wenn man die
Referenz aus einem zweiten DA-Wandler holt, hat man tatsächlich eine
Gesamtauflösung von mehr als 8 Bit. Die 16 wird es wegen der Toleranzen
nicht wirklich erreichen.

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.