Forum: FPGA, VHDL & Co. R2R-Wandler mit einem PLD


von Tom W. (Gast)


Lesenswert?

Ausgehend von diesem Beitrag, habe ich eine Frage:
Beitrag "Mit CPLD Audio von EEPROM über R2R als D/A Ausgabe (Schematic)"

Auf der einen Seite sind R2R nach meinem Verständnis eher ungenaue 
Verianten, um einen DAC zu bauen, weil die R's nicht präzise zu bekommen 
oder zu trimmen sind und daher das Ganze irgendwie korrigiert werden 
muss -

auf der anderen Seite kann man auf DIY Audio Seiten lesen, dass einige 
ausgerechnet mit solchen Anordnungen hochgenaue 32Bit DACs bauen.

Wie geht das?

Ein Problem, auf das ich bereits gestossen bin, ist die Tatsache, dass 
PLD-Ausgänge nicht ganz synchron schalten und daher auch wenn man sie 
registriert immer kleine gliches entstehen. Werden die bei solchen 
Anwendungen in Kauf genommen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas W. schrieb:
> auf der anderen Seite kann man auf DIY Audio Seiten lesen, dass einige
> ausgerechnet mit solchen Anordnungen hochgenaue 32Bit DACs bauen.
Wo genau steht das?

von Planlos (Gast)


Lesenswert?

Im Audio-Bereich ist oft viel Halbwissen unterwegs, an einem 
selbstgelöteten DAC mit 32-Bit Genauigkeit zweifel ich erstmal genauso 
wie an einer selbstgezimmerten, funktionsfähigen Mondlandefähre.

Evtl. war "Auflösung" gemeint? Die wär zu schaffen.
Auflösung und Genauigkeit

Oder wurde hier mit "P.M.P.O"-Bits gerechnet?
16 Bit linkes Ohr + 16 Bit rechtes Ohr = 32 Bit!

von Fpgakuechle K. (Gast)


Lesenswert?

Thomas W. schrieb:
> Ausgehend von diesem Beitrag, habe ich eine Frage:
> Beitrag "Mit CPLD Audio von EEPROM über R2R als D/A Ausgabe (Schematic)"
>
> Auf der einen Seite sind R2R nach meinem Verständnis eher ungenaue
> Verianten, um einen DAC zu bauen, weil die R's nicht präzise zu bekommen
> oder zu trimmen sind und daher das Ganze irgendwie korrigiert werden
> muss -

Mit den üblichen 1% Toleranzen lassen sich 8 - 10 bit R2R wandler 
aufbauen.


> Ein Problem, auf das ich bereits gestossen bin, ist die Tatsache, dass
> PLD-Ausgänge nicht ganz synchron schalten und daher auch wenn man sie
> registriert immer kleine gliches entstehen.

Muß dann aber ein sehr alter PLD sein, FPGA's - Ausgänge schalten in 
einem ordentlichen Design glitchfrei. Zwischen den einzelnen Pins werden 
zwar delays durch clock skew auftreten aber das ist im 
picosekunden-bereich. Größer sind die Unterschiedlichen Anstiegszeiten 
durch unterschiedliche kapazitive Last (PCB) am Pin.

MfG,

von Falk B. (falk)


Lesenswert?

@ Fpga Kuechle (fpgakuechle) Benutzerseite

>Mit den üblichen 1% Toleranzen lassen sich 8 - 10 bit R2R wandler
>aufbauen.

Nö. Mit 1% Toleranz in den Widerständen schaffst du nicht mal 8 Bit 
GENAUIGKEIT. Auflösung ist hier wie so oft nur Selbstbetrug!

Siehe Auflösung und Genauigkeit.

von Fpgakuechle K. (Gast)


Lesenswert?

Falk B. schrieb:
> @ Fpga Kuechle (fpgakuechle) Benutzerseite
>
>>Mit den üblichen 1% Toleranzen lassen sich 8 - 10 bit R2R wandler
>>aufbauen.
>
> Nö. Mit 1% Toleranz in den Widerständen schaffst du nicht mal 8 Bit
> GENAUIGKEIT.

Die Aussage "8bit mit 1%R" ist dieser Application Note entnommen:
http://www.maximintegrated.com/en/app-notes/index.mvp/id/5074

Da findet sich auch der Hinweis das für höhere Auflösung Widerstände 
geringer Toleranz benötigt werden.


MfG,

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

@Fpga Kuechle (fpgakuechle) Benutzerseite

>Die Aussage "8bit mit 1%R" ist dieser Application Note entnommen:
>http://www.maximintegrated.com/en/app-notes/index....

>Da findet sich auch der Hinweis das für höhere Auflösung Widerstände
>geringer Toleranz benötigt werden.

Womit wir wieder mal lernen, nicht alles einfach so zu glauben, was im 
Internet steht. Man kann das entweder analytisch durchrechnen oder 
einfach mal simulieren, was passiert, wenn man dort 1% Toleranzen ins 
MSB oder LSB reinbringt. Siehe Anhang. Dort ist alles perfekt (grüne 
Kurve) und einmal nur das MSB um 1% nach oben verstimmt (rote Kurve). 
Man kriegt eine fette Unstetigkeit rein! Eigentlich ist eine Stufe (LSB) 
19,5mV groß (5V/256), hier gibt es aber einen Sprung von -5,2mV, also 
mehr als 1 LSB!

von W.S. (Gast)


Lesenswert?

Falk B. schrieb:
> Eigentlich ist eine Stufe (LSB)
> 19,5mV groß (5V/256), hier gibt es aber einen Sprung von -5,2mV, also
> mehr als 1 LSB!

Ah ja. bei einem LSB von 19.5 mV ist ein Sprung von -5.2 mV "mehr als 1 
LSB!"

Nun wissen wir das.

Woher kommt eigentlich der seltsame Glitch bei deinem Bild in der Mitte?
Erkläre das doch bitte mal.

W.S.

von Falk B. (falk)


Lesenswert?

@ W.S. (Gast)

>> Eigentlich ist eine Stufe (LSB)
>> 19,5mV groß (5V/256), hier gibt es aber einen Sprung von -5,2mV, also
>> mehr als 1 LSB!

>Ah ja. bei einem LSB von 19.5 mV ist ein Sprung von -5.2 mV "mehr als 1
>LSB!"

Mach die Augen auf, die Experte! Der nächste Schritt (127->128) müsste 
um +19,5mV nach oben gehen, er geht aber um -5,2mV nach UNTEN! Stll dir 
mal vor, eine normale Treppe wäre so gebaut und würdest dort im Dunkeln 
hochlaufen!

>Nun wissen wir das.

GENAU!

>Woher kommt eigentlich der seltsame Glitch bei deinem Bild in der Mitte?
>Erkläre das doch bitte mal.

Das sind die Schaltzeiten der Spannungsquellen, welche hier 1us 
betragen.

von MaWin (Gast)


Lesenswert?

Thomas W. schrieb:
> Wie geht das

Gar nicht.

Audioesoteriker halt.

Es gibt solche A/D-Wandler schon, z.B.
http://www.ebay.de/itm/5MHz-DDS-function-signal-generator-frequency-meter-square-wave-pulse-test-/121303816509
ausgehend von einem Altera EPM240T100 mit 2k und 1k Widerstandarrays mit 
8 bit, aber so ein Gerät ist auch chinesischer Billigpfusch.

Nicht bloss die ungenauen Wideertsände, sondern auch die nicht exakt 
definierte Ausgangsspannung eines digitalen Ausgangs (der intern ja 
durchaus hochohmiger an VCC hängt und Spannungsabfälle haben kann weil 
andere Schaltungsteile des Chips über dieselben VCC Zuleitungen Strom 
ziehen) ruinieren die Ergebnisse.

von Harald W. (wilhelms)


Lesenswert?

Falk B. schrieb:

> Nö. Mit 1% Toleranz in den Widerständen schaffst du nicht mal 8 Bit
> GENAUIGKEIT.

Wenn die für 8Bit nötigen 24 Widerstände alle von einem Gurt kommen,
halte ich 8Bit Genauigkeit immerhin für möglich. Sinn macht das aber
nicht, da man für wenig Geld fertige 8Bit DA-Wandler bekommt.

von Falk B. (falk)


Lesenswert?

@ Harald Wilhelms (wilhelms)

>> Nö. Mit 1% Toleranz in den Widerständen schaffst du nicht mal 8 Bit
>> GENAUIGKEIT.

>Wenn die für 8Bit nötigen 24 Widerstände alle von einem Gurt kommen,
>halte ich 8Bit Genauigkeit immerhin für möglich.

Nein, "halten" muss man hier gar nicht, sondern mal rechnen. Selbst wenn 
man optimistisch eine reale Toleranz von nur 0,5% auf einem 1% Gurt 
annimmt, hat man immer noch einen Fehler im MSB von 12mV (Stufe ist nur 
7mV anstatt 19,5mV). Immerhin ist die Kennlinie dann monoton. Wenn man 
WIRKLICH 8 Bit GENAUIGKEIT haben will, braucht man Widerstandstoleranzen 
kleiner als 0,4% (Stufenfehler < 0.5 LSB).

Aber dabei bleiben immer noch die Toleranzen der Ausgangsstufen des 
Digital-ICs übrig. Wieviel Ohme haben die? 30-50 Ohm? Welche Toleranzen 
haben die? 10%? Macht schon mal 5 Ohm Toleranz, das sind 0,25% von 2k. 
Uuups!

> Sinn macht das aber
>nicht, da man für wenig Geld fertige 8Bit DA-Wandler bekommt.

Eben.

von J. S. (engineer) Benutzerseite


Lesenswert?

Fpga K. schrieb:
> Mit den üblichen 1% Toleranzen lassen sich 8 - 10 bit R2R wandler
> aufbauen.

Das stimmt bei der Betrachtung einer Serienfertigung, wenn man nicht 
kalibiert. Da das aufwändig ist, macht das niemand, sondern greift zu 
den selbstregelnden Delta-Sigma-Wandlern.

Mit einer individuellen Kalibrierung kann man aber aus so einem 
statischen Wandler durchaus höchste Audioqualität herausholen, indem man 
einfach eine Übersetzungsfunktion erzeugt, welche die Nichtlinearität 
vor der Ausgabe behebt. Der Vorteil der Systems ist der, dass diese 
Wandler nicht "unkontrolliert" rauschen.

Ich habe das selbst für anspruchsvolle Audioverarbeitung noch nicht 
gemacht, wohl aber für den Bereich des Ultraschalls. In der besagten 
Applikation war es nötig, aufgrund der Verzerrungen des Signalgebers 
ohnehin eine nichtlineare Vorverzerrung vorzunehmen und da konnte man 
den Wandler gleich miterledigen.

Wenn man das mit entsprechender Überabtastung macht, lassen sich da 
durchaus hohe Auflösungen erzeugen, die über die scheinbaren Limits der 
%te deutlich hinausgehen. Konkret wurde aus einem 5Bit-R2R, welches 
theoretisch maximal zu 3% auflöst, mehr als 10Bit Präzision herausgeholt 
und es wären noch mehr drin gewesen, wenn man keine 200kHz Bandbreite 
gebraucht hätte.

Aber wie gesagt ist das für die Serie nur begrenzt tauglich, weil eine 
Kalibrierung in der FAB teuer ist.

Die Audioenthusiasten machen das mit einer mehrstufigen Kalibration und 
selektierten 0,1% Widerständen. Durch die Selektion hat man schon mal 
eine Auflösung von besser, als 1/10000 und der Rest geht über 
Kalibrierung. Da gibt es einige Tricks zu denen ich hier nicht mehr 
ausführen möchte, aber als Hinweis sei erwähnt, dass man nicht unbedingt 
nur 24 Widerstände nehmen muss, um 24 Bit zu erzeugen und auch nach 
unten nicht jeweils halbieren muss, wie es die Bitnummern vorgeben. Wenn 
man mehrere kleine Rs für die niederwertigen Bits nimmt, hat man mehr 
Auswahl, um sie mit ungenauen hochohmigen Rs zu paaren.

Und: Sie müssen nicht einmal seriell in R2r geschaltet werden: Wenn man 
z.B. für das höchste und wichtigste Bit einen Widerstand von 5000,000000 
Ohm braucht und real aber 4989,93323 hat, kann man das alles prima durch 
einige hochohmige parallele R hintrimmen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Immerhin ist die Kennlinie dann monoton

Das ist der entscheidende Knackpunkt. Ohne eine selektive Kalibrierung 
ist die Monotonie die Grenze für die Auflösung. Mit der beschriebenen 
Methode bekommt man aber einen theoretisch idealen Wandler, der nur 
durch die Auflösung der Kombinationsmöglichkeiten der unteren Bits 
limitiert wird. Daher braucht man halt um einige mehr, als nur die 
nominell geforderte Auflösung.

Als Beispiel würde man bei einem 16 Bit Wandler schon die unteren 8 Bits 
nichts mehr "geradlinig vorwärts" ausgeben können, sondern sie wären 
Ergebnis der Korrekturfunktion, welche die oberen ungenauen Widerstände 
korrigiert. Z.B. wird dann bei der Forderung des Werts 
"0100000000000000" real "0100000000100100" ausgegeben. Dann muss man 
halt eine Addition aller Korrekturen vornehmen und bei der Kalibrierung 
notieren und optimieren.

Für kleine Bitbreiten im Bereich 8 kann man das noch in einer Tabelle 
machen, für größere Breiten braucht es einen iterativen Prozess, weil 
bei der Korrektur es zu Überlaufeffekten kommen kann, die dann vorne 
wieder ein Bit ändern und ab dann eine neue Berechnung erfordern. Damit 
braucht man theoretisch (n-1)x(n-2) Iterationsschritte für das höchste 
Bit. Real macht das keiner sondern setzt bei der Kalibrierung ein flag 
oder arbeitet mit speziellen Korrekturwiderständen, die nur einmal einen 
Überlauf erzeugen. Da aber nur Audio ausgegeben werden muss, reicht die 
Taktfrequenz eines PLD da locker aus.

: Bearbeitet durch User
von Fpgakuechle K. (Gast)


Lesenswert?

Falk B. schrieb:
> @Fpga Kuechle (fpgakuechle) Benutzerseite
>
>>Die Aussage "8bit mit 1%R" ist dieser Application Note entnommen:
>>http://www.maximintegrated.com/en/app-notes/index....

> Womit wir wieder mal lernen, nicht alles einfach so zu glauben, was im
> Internet steht.

Ja ist immer wieder Lehrreich seine Internet-Quellen in einem 
Internet-Forum zur Diskussion zu stellen. ;-)

> Man kann das entweder analytisch durchrechnen oder
> einfach mal simulieren, was passiert, wenn man dort 1% Toleranzen ins
> MSB oder LSB reinbringt. Siehe Anhang. Dort ist alles perfekt (grüne
> Kurve) und einmal nur das MSB um 1% nach oben verstimmt (rote Kurve).

Interessant, wie heist das SPICE?


> Man kriegt eine fette Unstetigkeit rein! Eigentlich ist eine Stufe (LSB)
> 19,5mV groß (5V/256), hier gibt es aber einen Sprung von -5,2mV, also
> mehr als 1 LSB!

Genau dafür hat man IMHO die "Missing Code" "erfunden". Da wird eben 
zweimal 0x7F an das Netzwerk gelegt und die 0x80 übersprungen. Das macht 
der EEPROM in der Schaltung oben "nebenher". Oder der mikrocontroller in 
der MAXIM-AN. Damit wird der Fehler auf ein LSB begrenzt und es tritt 
kein Wechsel im Anstieg auf. Bei höheren R-Toleranzen dürfte es aber 
nicht mehr so leicht sein.

MfG,

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Zudem scheint mir bei den Betrachtungen hier jeweils der 
(temperaturabhängige) Bahnwiderstand der Ausgangsfets ignoriert...

Und natürlich kann man mit 1% genauen Widerständen nur knapp 7 Bits 
auflösen. Wenn die vom selben Gurt kommen kann es sein, dass die Varianz 
geringer ist. Oder aber man nimmt einfach 0,1% Widerstände. Dann kann 
man sich die 8 oder gar fast 10 Bit herlügen.

Aber 32 Bits mit diskreten Widerständen und unselektierten Fets? 
Niemals!

von Tom W. (Gast)


Lesenswert?

Das alles hört sich ja nicht so erbaulich an. Fragt sich, warum die 
Audioexperten dann dennoch eine Menge Geld ausgeben, um sich eine eigene 
Plattform zu bauen, wenn die nicht mehr können soll, als das was man 
Kaufe kann.

Hier wäre so ein link:
https://hifiduino.wordpress.com/2014/10/12/r2r-for-the-rest-of-us/
http://www.diyaudio.com/wiki/Soekris_R2R_DAC

von Fpgakuechle K. (Gast)


Lesenswert?

T. W. schrieb:

>  um sich eine eigene
> Plattform zu bauen, wenn die nicht mehr können soll, als das was man
> Kaufe kann.

Ist vielleicht wie bei den Oldtimer-Automobilen, klar kriegt man für 
Neumodelle mehr PS für den Euro aber nicht unbedingt mehr 
"Automobil-Spirit".

Interessante Eckdaten: 0,02% Toleranzen 2R2, 28bit 126 dB SNR.

MfG

von J. S. (engineer) Benutzerseite


Lesenswert?

T. W. schrieb:
> Fragt sich, warum die
> Audioexperten dann dennoch eine Menge Geld ausgeben, um sich eine eigene
> Plattform zu bauen, wenn die nicht mehr können soll, als das was man
> Kaufe kann.

Ich hatte es oben ja bereits angerissen: Man kann die käuflichen 
Wandler, welche kostenoptimiert, entwickelt sind, d.h. auf die breite 
Masse des Marktes hin optimiert wurden, durchaus übertreffen, muss aber 
das System individuell kalibrieren, d.h. messen, abstimmen und eine 
Korrektur vorsehen. Das ist eben nicht mehr unbedingt wirtschaftlich,

Fpga K. schrieb:
> Ist vielleicht wie bei den Oldtimer-Automobilen, klar kriegt man für
> Neumodelle mehr PS für den Euro aber nicht unbedingt mehr
> "Automobil-Spirit".

Ich würde es sogar eher mit getunten Serienwagen vergleichen: Bringen 
rund 30% mehr an Leistung, kosten aber mit allem drum und dran 
(Anschaffung der Umbauelemente, Arbeitszeit für den Umbau, 
Berücksichtigung des höheren Verschleisses ) gleich mehrere Kiloeuro 
mehr, als das Serienmodell, was der Normalkunde niemals ausgeben würde.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Und es ist eine Glaubensfrage:
Zitat
1
Here is a table comparing selected performance numbers
2
and features as described in the data sheets and 
3
by the author in the diyaudio discussion thread.
Das hört sich doch nach glaubwürdigen und verlässlichen Daten an. Oder 
nicht?

von Halbleitermann (Gast)


Lesenswert?

Lothar M. schrieb:
> Das hört sich doch nach glaubwürdigen und verlässlichen Daten an. Oder
> nicht?

Da wurden aber auch nicht die besten verfügbaren DACs herangezogen, 
meine ich.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Halbleitermann schrieb:
> Da wurden aber auch nicht die besten verfügbaren DACs herangezogen,
> meine ich.
Und ich meine, dass sowieso der Lautsprecher mehr Einfluss auf den Klang 
haben wird als das 17. und nachfolgende Bits...

: Bearbeitet durch Moderator
von Hans-Georg L. (h-g-l)


Lesenswert?

Harald W. schrieb:

> Wenn die für 8Bit nötigen 24 Widerstände alle von einem Gurt kommen,
> halte ich 8Bit Genauigkeit immerhin für möglich. Sinn macht das aber
> nicht, da man für wenig Geld fertige 8Bit DA-Wandler bekommt.

Wenn der Hersteller von deinem 1% Gurt die 0,5% Widerstände 
herausselektiert hat wirst du nicht viel besser.

Jürgen S. schrieb:
> Und: Sie müssen nicht einmal seriell in R2r geschaltet werden: Wenn man
> z.B. für das höchste und wichtigste Bit einen Widerstand von 5000,000000
> Ohm braucht und real aber 4989,93323 hat, kann man das alles prima durch
> einige hochohmige parallele R hintrimmen.

Was ein Hersteller mit Lasertrimmer macht kann man, ein genaues 
Messinstrument vorausgesetzt, auch bei gewendelten 
Metallschichtwiderständen mit der Hand und der Dreikantfeile machen ;)

Aber bei solchen Genauigkeiten müsste man auch den TK kompensieren.

von Jonathan W. (anoj_ettiw)


Lesenswert?

Temperaturkompensation macht nicht mehr viel aus, wenn man einen 
invertierten R2R nimmt und alle Widerstände vom gleichem Strom 
durchflossen werden. Zudem könnte man noch seine Übertragungskennline 
auf Segmente aufteilen und so auch mit 1 Promille Widerständen mehr als 
10Bit hinbekommen bei unter einem LSB Fehler

von Oli (Gast)


Lesenswert?

Jona W. schrieb:
> Temperaturkompensation macht nicht mehr viel aus, wenn man einen
> invertierten R2R nimmt und alle Widerstände vom gleichem Strom
> durchflossen werden. Zudem könnte man noch seine Übertragungskennline
> auf Segmente aufteilen und so auch mit 1 Promille Widerständen mehr als
> 10Bit hinbekommen bei unter einem LSB Fehler

hm, wie geht das genau?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jona W. schrieb:
> Zudem könnte man noch seine Übertragungskennline auf Segmente aufteilen
Und wie schafft man es dann ohne Abgleich, die einzelnen Segmente 
monoton steigend aufzuteilen?

Und in der Summe sind dann die erreichten 12..13 Bit immer noch weit 
entfernt von den angepeilten 32 Bit aus dem ersten Post...

von Falk B. (falk)


Lesenswert?

@ Lothar Miller (lkmiller) (Moderator) Benutzerseite

>Und in der Summe sind dann die erreichten 12..13 Bit immer noch weit
>entfernt von den angepeilten 32 Bit aus dem ersten Post...

Kauf dir 2 Kästen Bitburger im Getränkemarkt, dann hast du 40 Bit!
Allerdings mit einem gewissen Rauschpegel.

8-)

von Fpgakuechle K. (Gast)


Lesenswert?

Falk B. schrieb:
> @ Lothar Miller (lkmiller) (Moderator) Benutzerseite
>
>>Und in der Summe sind dann die erreichten 12..13 Bit immer noch weit
>>entfernt von den angepeilten 32 Bit aus dem ersten Post...
>
> Kauf dir 2 Kästen Bitburger im Getränkemarkt, dann hast du 40 Bit!
> Allerdings mit einem gewissen Rauschpegel.


Kommt darauf an nur bei .5 System bekommt man 20 Bit's per Box
bei 0.33 Systemen sind 24 Bit in der Box:

http://getraenke-gruetzmacher.de/index.php?manufacturers_id=11

;-)


PS:
An Untersuchungen ob 0.33 Systeme rauschärmer sind als 0.5 Systeme, 
beteilige ich mich gern.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Kauf dir 2 Kästen Bitburger im Getränkemarkt, dann hast du 40 Bit!
> Allerdings mit einem gewissen Rauschpegel.
Dazu kommt dann kurioserweise aber, dass mit zunehmender Bit-Zahl die 
Auflösung und die Genauigkeit schlechter werden. Darüber hinaus kann ich 
mir gut vorstellen, dass es im weiteren Verlauf Probleme mit der 
Monotonie geben und dass die Übertragungskurve nichtlinear wird...

Fpga K. schrieb:
> An Untersuchungen ob 0.33 Systeme rauschärmer sind als 0.5 Systeme,
> beteilige ich mich gern.
Erzählt mir vom Ergebnis... ;-)

von Peter D. (peda)


Lesenswert?

T. W. schrieb:
> Fragt sich, warum die
> Audioexperten dann dennoch eine Menge Geld ausgeben, um sich eine eigene
> Plattform zu bauen

Weil Ohren sehr schlechte Meßgeräte sind, d.h. niemand kann die 
schlechteren Eigenschaften der Selbstbau-R2Rs hören. Er sieht nur die 
riesen Platine und suggeriert sich, das muß ja besser sein.

Mit standard Wideständen kann man noch so aufwendig selektieren und 
korrigieren, aber nach 1°C Erwärmung oder 1 Monat Alterung ist alles für 
die Katz.
Schau Dir mal an, welchen Aufwand Vishay bei den Z-Foil betreibt, um 
echte Stabilität zu erreichen.

Einen sehr guten diskreten DAC kann man mit 2 gleichen Kondensatoren und 
4 Analogschaltern aufbauen.

von Paralleler (Gast)


Lesenswert?

Jürgen S. schrieb:
> Wenn man
> z.B. für das höchste und wichtigste Bit einen Widerstand von 5000,000000
> Ohm braucht und real aber 4989,93323 hat, kann man das alles prima durch
> einige hochohmige parallele R hintrimmen.

Zeig mir bitte mal, wie man durch Parallelschalten von Widerständen 
einen größeren Widerstand bekommt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Paralleler schrieb:
> wie man durch Parallelschalten von Widerständen einen größeren
> Widerstand bekommt.
Man muss nur einen der bekannten negativen Widerstände dafür 
verwenden.

von Paralleler (Gast)


Lesenswert?

Lothar M. schrieb:
> Man muss nur einen der bekannten negativen Widerstände dafür
> verwenden.

Klar, in diesem Fall eben -2478418.219 Ohm.

von Selber Denker (Gast)


Lesenswert?

Paralleler schrieb:
>> Ohm braucht und real aber 4989,93323 hat, kann man das alles prima durch
>> einige hochohmige parallele R hintrimmen.
>
> Zeig mir bitte mal, wie man durch Parallelschalten von Widerständen
> einen größeren Widerstand bekommt.

Gemeint ist wohl das bei R2R der absolute Widerstabndswert wurscht ist 
sondern das Verhältnis R:2R zählt. Und doppelte respektive halbe 
Widerstände kann man wunderbar mit Parallschaltung v. Widerständen 
gleichen Wertes erreichen.

Oder man ergänzt den zu kleinen widerstand mit einer in reihe 
geschalteten Parallelnetzwerk.

Gruß

von Paralleler (Gast)


Lesenswert?

Paralleler schrieb:
> Jürgen S. schrieb:
>> Wenn man
>> z.B. für das höchste und wichtigste Bit einen Widerstand von 5000,000000
>> Ohm braucht und real aber 4989,93323 hat, kann man das alles prima durch
>> einige hochohmige parallele R hintrimmen.

Selber Denker schrieb:
> Gemeint ist wohl das bei R2R der absolute Widerstabndswert wurscht ist
> sondern das Verhältnis R:2R zählt.

Du hast wohl nicht richtig gelesen, deshalb sie Dir dieser Schwachsinn 
verziehen.

von Selber Denker (Gast)


Lesenswert?

Paralleler schrieb:
> Selber Denker schrieb:
>> Gemeint ist wohl das bei R2R der absolute Widerstabndswert wurscht ist
>> sondern das Verhältnis R:2R zählt.
>
> Du hast wohl nicht richtig gelesen, deshalb sie Dir dieser Schwachsinn
> verziehen.

Was ist daran Schwachsinn????
Steht so in der WP und in jedem Lehrbuch:
"Ein R/2R-Netzwerk ist aus Widerständen mit den Werten R und 2R 
aufgebaut. Die einzelnen Eingangsbits liegen entweder auf Masse oder auf 
der Referenzspannung und speisen über doppelt so große Widerstände (2R) 
ein wie der horizontale Teil (R) des Netzwerks."

https://de.wikipedia.org/wiki/R2R-Netzwerk

von Paralleler (Gast)


Lesenswert?

Selber Denker schrieb:
> Was ist daran Schwachsinn????

 Weil Jürgen S. schrieb:
> für das höchste und wichtigste Bit einen Widerstand von 5000,000000
>>> Ohm braucht und real aber 4989,93323 hat

Das heißt, er will einen Widerstand von 5000,00000 haben, hat aber nur 
4989,... Ohm und diesen will er durch Parallschalten von Widerständen 
vergrößern. Da das unmöglich ist, außer durch negative Widerstände, gibt 
das dem ansonsten durchaus kenntnisreichen Beitrag von Jürgen S. einen 
negativen Nachgeschmack.
Und Dein Beitrag hat absolut nichts mit der Sache zu tun.

von Selber Denker (Gast)


Lesenswert?

Paralleler schrieb:
> Das heißt, er will einen Widerstand von 5000,00000 haben, hat aber nur
> 4989,... Ohm und diesen will er durch Parallschalten von Widerständen
> vergrößern. Da das unmöglich ist, außer durch negative Widerstände, gibt
> das dem ansonsten durchaus kenntnisreichen Beitrag von Jürgen S. einen
> negativen Nachgeschmack.
> Und Dein Beitrag hat absolut nichts mit der Sache zu tun.

Doch schon, denn er bietet eine Interpretation des von Jürgen 
geschriebenen ohne ihn wie einen Volltrottel dastehen zu lassen. Aber 
genau darum scheint es ja Dir zu gehen.

von Paralleler (Gast)


Lesenswert?

Selber Denker schrieb:
> Was ist daran Schwachsinn????

 Weil Jürgen S. schrieb:
> für das höchste und wichtigste Bit einen Widerstand von 5000,000000
>>> Ohm braucht und real aber 4989,93323 hat

Das heißt, er will einen Widerstand von 5000,00000 haben, hat aber nur 
4989,... Ohm und diesen will er durch Parallschalten von Widerständen 
vergrößern. Da das unmöglich ist, außer durch negative Widerstände, gibt 
das dem ansonsten durchaus kenntnisreichen Beitrag von Jürgen S. einen 
negativen Nachgeschmack.
Und Dein Beitrag hat absolut nichts mit der Sache zu tun.

Selber Denker schrieb:
> Und doppelte respektive halbe
> Widerstände kann man wunderbar mit Parallschaltung v. Widerständen
> gleichen Wertes erreichen.

Und das mit den doppelten Widerständen durch Parallelschalten solltest 
Du wirklich noch mal überdenken.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Paralleler schrieb:
> Jürgen S. schrieb:
>> Wenn man z.B. für das höchste und wichtigste Bit einen Widerstand von
>> 5000,000000 Ohm braucht und real aber 4989,93323 hat, kann man das
>> alles prima durch einige hochohmige parallele R hintrimmen.
> Zeig mir bitte mal, wie man durch Parallelschalten von Widerständen
> einen größeren Widerstand bekommt.
Ein Blick über den Tellerrand: man muss diese Widerstände einfach den 
anderen Widerständen der R/2R-Kette parallelschalten...

Man kann es auch einfach umdrehen und sagen: man kann sich vieles in die 
Tasche lügen. Aber schon der Kauf eines Messgeräts, das mit 
ausreichender Langzeitkonstanz die Selektion und den Abgleich der 
Widerstandskette zuließe, wird die durch den Selbstbau möglichen 
Einsparungen bei Weitem auffressen.

BTW:
bedeutet R/2R eher eine Kette aus R und 2R oder eine aus R/2 und R? ;-)

: Bearbeitet durch Moderator
von Clemens L. (c_l)


Lesenswert?

Das Originalzitat schrieb:
> Wenn man z.B. für das höchste und wichtigste Bit einen Widerstand von
> 5000,000000 Ohm braucht und real aber 4989,93323 hat, kann man das alles
> prima durch einige hochohmige parallele R hintrimmen.

Offensichtlich heißt "hochohmig" hier 2x 10k, 3x 15k, etc.

von Selber Denker (Gast)


Lesenswert?

Durch doppeltes Posten wird deine "Argumentation" auch nicht besser.


Paralleler schrieb:
> Selber Denker schrieb:
>> Und doppelte respektive halbe
>> Widerstände kann man wunderbar mit Parallschaltung v. Widerständen
>> gleichen Wertes erreichen.
>
> Und das mit den doppelten Widerständen durch Parallelschalten solltest
> Du wirklich noch mal überdenken.

Da drückt man sich mehrdeutig aus und schon wird einem die dümmste 
Interpretation davon in den Mund gelegt - kein besonders angenehmer 
Diskussionsstil.

Gemeint ist das R durch die Paralleschaltung zweier vorhanderer 
Widerstande Rr realisiert wird und 2R durch einen einzelnen Widerstand 
Rr.

"Doppelt" und "halbiert" gebrauche ich hier synonym da es das selbe 
Widerstandsverhältnis ausdrückt.

Und um zwei in Reihe geschaltete Widerstandsnetzwerke aufzubauen, bei 
dem denen das eine den doppelt so hohen Widerstandswert wie des andere 
an benutzt man 3 Widerstände gleichen Wertes, wobei das eine Netzwerk 
aus einer Parallelschaltung aufgebaut ist.

von Jonathan W. (anoj_ettiw)


Angehängte Dateien:

Lesenswert?

Oli schrieb:
> Jona W. schrieb:
>> Temperaturkompensation macht nicht mehr viel aus, wenn man einen
>> invertierten R2R nimmt und alle Widerstände vom gleichem Strom
>> durchflossen werden. Zudem könnte man noch seine Übertragungskennline
>> auf Segmente aufteilen und so auch mit 1 Promille Widerständen mehr als
>> 10Bit hinbekommen bei unter einem LSB Fehler
>
> hm, wie geht das genau?

Siehe Anhang

von MaWin (Gast)


Lesenswert?

Jona W. schrieb:
> Siehe Anhang

Was ist das für ein grandios naive Zeichnung ?

Die Hintereinanderschaltung von 2 DACs hat nichts mit "vom gleichen 
Strom durchflossenen Widerständen" zu tun,
und funktioniert natürlich in der Praxis nicht, weil der erste DAC die 
Genauigkeit dees zweiten DAC haben müsste, also in deinem Beispiel 
genauer als 6 bit, 1/64, sein müsste.

Der Unsinn schrammt also knapp am Magnetmotor vorbei, Münchhausens sich 
selbst aus dem Matsch ziehens.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MaWin schrieb:
> Die Hintereinanderschaltung von 2 DACs hat nichts mit "vom gleichen
> Strom durchflossenen Widerständen" zu tun
Und sie funktioniert nicht.
Eine ähnliche in die Irre führende Strategie wäre es, für einen 16-Bit 
DAC aus 2 8-Bit DACs zusammenbauen zu wollen: einen 8-Bit DAC für das 
"obere" Byte und einen für das "untere" Byte, und die dann mit 256/1 
gewichet zu summieren.
Man kommt leicht selber auf die möglichen Probleme, wenn man sieht, dass 
der "obere" DAC eine Nichtlinearität von z.B. 1/2 LSB hat, und deshalb 
dem untern" mit +-127 Schritten in die Suppe spuckt...

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

@ Lothar Miller (lkmiller) (Moderator) Benutzerseite

>Eine ähnliche in die Irre führende Strategie wäre es, für einen 16-Bit
>DAC aus 2 8-Bit DACs zusammenbauen zu wollen: einen 8-Bit DAC für das
>"obere" Byte und einen für das "untere" Byte, und die dann mit 256/1
>gewichet zu summieren.

Eben.

Wer zwei Zwerge übereinander stapelt hat noch lange keinen Riesen!

von Jonathan W. (anoj_ettiw)


Angehängte Dateien:

Lesenswert?

Sorry, das mit dem gleichen Strom trifft natürlich nur auf einen Knoten 
zu (also alle Widerstände an einem Knoten), aber nicht von Knoten zu 
Knoten. Da ist natürlich einer Zweierpotenz zwischen beim inv R2R.

Guckt euch mal das an:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD569.pdf

@MaWIn
Münchhausen bei Analog Devices
Zwei Spannungsskalierende Netzwerke mit je 8 Bit und zwei Muxe für die 
Eingangsbits. Mach mal eine kleine LTSpice Simulation mit variierenden 
Widerständen. Meine ist im Anhang. Jedoch kann man nur drei Variablen 
variieren lassen. Ich habe diese auf alle Widerstände aufgeteilt (Monte 
Carlo sieht natürlich anders aus). Ich komme bei 2  3Bit DACs auf einen 
Fehler der im Bereich von 50mV liegt. Bei eurer Meinung müsste dieser 
aber im Bereich von 0.5*5V*2^-3=0,3125V liegen.

Ich denke, ihr habt vergessen, dass der Fehler des ersten Netzwerks 
durch die Bitanzahl (2^Bitanzahl) geteilt wird und damit der Fehler 
kleiner wird.

Jetzt bin ich mal auf eure Erklärung gespannt.

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Paralleler schrieb:
> Weil Jürgen S. schrieb:
>> für das höchste und wichtigste Bit einen Widerstand von 5000,000000
>>>> Ohm braucht und real aber 4989,93323 hat
>
> Das heißt, er will einen Widerstand von 5000,00000 haben, hat aber nur
> 4989,... Ohm und diesen will er durch Parallschalten von Widerständen
> vergrößern.

Langsam, langsam, die Parallelschaltung von R ist nur EINE 
Möglichkeit, die Genauigkeit zu kalibrieren. Selbstredend muss der 
Grundwert dazu so gelegt werden, daß sich das Toleranzband verbessert. 
Also müss(t)en in diesem Fall alle R grundsätzlich etwas grösser 
ausgelegt werden, damit man durch Zuschalten oder Nichtzuschalten einen 
Wert, näher am Soll erzielt.

Diese Applikation bedingt natürlich, dass man sich von der R2R-Werten 
entfernt.

Zum Audio:

In den mir bekannten Fällen der (publizierten/käuflichen) 
Selbstbauprojekte in den Audioforen, werden die R's konventionell 
additiv zugeschaltet. Dabei ergeben sich durch die vergrößerte Zahl an R 
eben genauere Einstellmöglichkeiten.

Das Kalibrieren erfolgt individuell und erledigt auch die in dem Post 
weiter oben angesprochenen Temperaturprobleme.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Das passiert dann angesichts des temperaturabhängigen Bahnwiderstands 
der verwendeten Mosfets hoffentlich im Klimaschrank...

von J. S. (engineer) Benutzerseite


Lesenswert?

Ob das jemand so genau treibt, ist mir nicht bekannt. Mir war nur die 
Aussage wichtig, daß man mit der Feineinstellung zumindest im Prinzip in 
der Lage ist, ungenaue höherwertige R zu kompensieren. Man muss ja dazu 
die R's auch nicht kennen oder nachmessen, sondern es reicht, mit 
Referenzspannungen zu arbeiten. Schon von der Ecke kommen ja irgendwann 
die Limits des Machbaren.

In dem Zusammenhang lohnt durchaus auch mal der Blick auf die 
kommerziellen klassischen Audio-DACs: Man nehme ein Stereopaar und gebe 
auf beiden Kanälen einen invertierten und nichtinvertierten Sinus aus 
und addiere das ganze elektrisch. Statt der mathematischen Null, gibt es 
da ordentlich was zu sehen und zu hören - auch bei namhaften 
hochpreisigen Studio-DACs gewisser Hersteller.

Daher meine Behauptung, dass man das durch einen selbst kalibrierten DAC 
durchaus übertreffen kann.

Ob man das alles noch durch die Lautsprecher bekommt und hören kann, ist 
eine ganz andere Frage.

: Bearbeitet durch User
von Tom W. (Gast)


Lesenswert?

Fpga K. schrieb:
> Interessante Eckdaten: 0,02% Toleranzen 2R2, 28bit 126 dB SNR.

Das dache ich mir halt auch. Also doch gute Technologie?

von Tom W. (Gast)


Lesenswert?

Mal ein kleines update zu dem Thema: Ich habe mir bei einem Bekannten 
einen solchen DAC aus den USA angehört und angesehen. Der wird mit einem 
PLD getrieben und hat 32 Bit! Alles feinsäuberlich kalibiert. Der Typ 
schwört auch die direkte Ausgabe, die der Delta-Sigma-Technik komplett 
überlegen sei.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas W. schrieb:
> Ich habe mir bei einem Bekannten einen solchen DAC aus den USA angehört
> und angesehen.
Und?

> mit einem PLD getrieben und hat 32 Bit! Alles feinsäuberlich kalibiert.
Wie hat er die MSB besser als das LSB hinbekommen?

von klick klack (Gast)


Lesenswert?

Thomas W. schrieb:
> Der wird mit einem
> PLD getrieben und hat 32 Bit!

Und wieviel Bit davon sind als Rausch-Bits verwendet ?
Die Widerstände mit <1e-9 Genauigkeit möchte ich auch gerne haben :-)

von J. S. (engineer) Benutzerseite


Lesenswert?

Ich kenne solche Projekte auch. Die 32 Bit sind in erster Linie für die 
Dynamik und den headroom gut, weil es so nicht so leicht zu 
Übersteuerungen kommt. Die Linearität ist natürlich bei Weitem nicht 
über 32Bit aufrecht zu erhalten.

von Tom W. (Gast)


Lesenswert?

Wäre es erforderlich, den R2R-Wandler VOR jeder Nutzung, also täglich zu 
kalibieren? Wie sieht es mit dem Wärmedrift der Widerstände aus?

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.