Forum: Mikrocontroller und Digitale Elektronik Schnellstes DAC Verfahren?


von Dave C. (dave_chappelle)


Lesenswert?

Hi Zusammen!

Bin dabei etwas mit D/A Wandlern zu experimentieren und irgendwie bin 
ich mir nicht mehr 100%ig sicher was denn das schnellste Verfahren war.

Gehe ich richtig in der Annahme, dass es das R2R Verfahren ist?

Gruss

von Peter K. (Gast)


Lesenswert?

Jop meines wissens ist R2R auch das schnellste, ist ja auch sozusagen 
die DAC version des Flash-ADC

von amateur (Gast)


Lesenswert?

Ich weiß nicht, ob es noch zur Anwendung kommt, früher war der 
Flash-Wandler der Schnellste.
Da werden parallel Referenzspannungen abgefragt.

von Peter K. (Gast)


Lesenswert?

amateur schrieb:
> Ich weiß nicht, ob es noch zur Anwendung kommt, früher war der
> Flash-Wandler der Schnellste.
> Da werden parallel Referenzspannungen abgefragt.

Ist doch beim R2R genau so, da geht man mit einer Referenzspannung rein 
und es wird dann intern paralell mit Mosfets das Widerstandsnetzwerk so 
geschaltet dass sich die benötigte Ausgangspannung ergibt.

von Dave C. (dave_chappelle)


Lesenswert?

amateur schrieb:
> Ich weiß nicht, ob es noch zur Anwendung kommt, früher war der
> Flash-Wandler der Schnellste.

Hi!

Der Flash-Wandler kommt nach wie vor zum Einsatz, vor allem in 
Speicheroszilloskopen etc.

Allerdings meinst du damit wohl den ADC (Analog-Digital-Converter) und 
nicht den DAC (Digital-Analog-Converter).

Peter Kremsner schrieb:
> Jop meines wissens ist R2R auch das schnellste, ist ja auch sozusagen
> die DAC version des Flash-ADC

Ja, stimmt. Wollte einfach mal einen kleinen FG aufbauen (total simpel) 
mit dem Zeug was gerade so rumliegt.

Gruss

von ah. (Gast)


Lesenswert?

Einen schnellen DAC mit einem R2R bauen ? Ja. Man benoetigt einfach 
Treiber, die die Spannung ungeachtet des Stromes bringen. Also einfack 
mal einen HCMOS Treiber zu nehmen wird nicht so genau werden.

von Dave C. (dave_chappelle)


Lesenswert?

ah. schrieb:
> Einen schnellen DAC mit einem R2R bauen ? Ja. Man benoetigt einfach
> Treiber, die die Spannung ungeachtet des Stromes bringen

Ok, wenn ich jetzt einfach einen Widerstand im 5-stelligen Bereich wähle 
(z.B. 12k und 24k) und das Ganze mit einem üblichen Controller 
(ATMegaxx, PIC16Fxx) betreibe wird das eher ungenau?

Ich dachte an einen 16-Bit DAC mit 2 Ports aus einem der oben genannten 
Controller.

Wie gesagt, sollte keine High-End Anwendung werden nur mal so zum 
ausprobieren. Sollte das Projekt weiterverfolgt werden würde ich einen 
16-Bit DAC mit einem parallelen Interface verwenden, damit könnte ich 
gleich den Code (mehr oder weniger) übernehmen.

Gruss

von Frank M. (frank_m35)


Lesenswert?

Wie willst du einen 16-Bit DAC mit zwei Widerständen und zwei Pins 
hinbekommen? Du brauchst dafür 16 Pins!

Wozu brauchst du es denn am Ende? Warum 16-Bit, brauchst du wirklich 
solch eine hohe Auflösung?
Welche Geschwindigkeit brauchst du denn am Ende tatsächlich?

Was spricht gegen PWM? Oder warum verwendest du nicht einen uC mit einem 
internem DAC?

von ah. (Gast)


Lesenswert?

>Was spricht gegen PWM? Oder warum verwendest du nicht einen uC mit einem
internem DAC?

Die Rede war von Geschwindigkeit....

Ein R2R DAC mit mehr als 8 Bit wird anspruchsvoll wegen der Paarung der 
Widerstaende. Rechne mal wie der Widerstands-Fehler des N-ten Bits in 
das Resultat eingeht.

Hochohmig geht auch nicht, sonst ist die Geschwindigkeit weg. Denn 
irgendwo is immer eine Kapazitaet.

von spontan (Gast)


Lesenswert?

>Wie gesagt, sollte keine High-End Anwendung werden nur

>Ok, wenn ich jetzt einfach einen Widerstand im 5-stelligen Bereich wähle
>(z.B. 12k und 24k) und das Ganze mit einem üblichen Controller
>(ATMegaxx, PIC16Fxx) betreibe wird das eher ungenau?

>Bin dabei etwas mit D/A Wandlern zu experimentieren und irgendwie bin
>ich mir nicht mehr 100%ig sicher was denn das schnellste Verfahren war.


Was sollst denn werden?

Hobbyanwendung mit Teilen aus der Bastelkiste?
High-End High-Speed?
PIC16 und ATMega? Ist da die Geschwindigkeit des ADC relevant?

von B e r n d W. (smiley46)


Lesenswert?

Dein Flaschenhals wird der Controller sein.
Mehr als 8 Bit Auflösung -> langsamer.

Aber schau Dir mal Jespers DDS an:
http://www.myplace.nu/avr/minidds/

von digitalespannung (Gast)


Lesenswert?

Frank M. schrieb:
> Wie willst du einen 16-Bit DAC mit zwei Widerständen und zwei Pins
> hinbekommen? Du brauchst dafür 16 Pins!
>
> Wozu brauchst du es denn am Ende? Warum 16-Bit, brauchst du wirklich
> solch eine hohe Auflösung?
> Welche Geschwindigkeit brauchst du denn am Ende tatsächlich?
>
> Was spricht gegen PWM? Oder warum verwendest du nicht einen uC mit einem
> internem DAC?


Er hat 2 Ports geschrieben und 2 Ports sind 16 Pins.

von Dave C. (dave_chappelle)


Lesenswert?

Frank M. schrieb:
> Wozu brauchst du es denn am Ende?

Einfach mal ausprobieren, was da so drin liegt.

>Warum 16-Bit, brauchst du wirklich solch eine hohe Auflösung?

8 Wäre zu wenig und ich dachte mir einfach nimmst gleich zwei Ports :)

> Welche Geschwindigkeit brauchst du denn am Ende tatsächlich?

Brauchen tu' ich gar keine, will einfach mal schauen was so eine simple 
Lösung taugt. Man könnte auch sagen ich simmuliere mit den Widerständen 
einen 16-Bit DAC mit parallelem Interface

> Was spricht gegen PWM? Oder warum verwendest du nicht einen uC mit einem
> internem DAC?

Siehe genannte Gründe.

spontan schrieb:
> Was sollst denn werden?
> Hobbyanwendung mit Teilen aus der Bastelkiste?

Jo

spontan schrieb:
> PIC16 und ATMega? Ist da die Geschwindigkeit des ADC relevant?

Nein, eigentlich nicht. War auch mehr aus Neugierde gestellt die Frage.

von Frank M. (frank_m35)


Lesenswert?

ah. schrieb:
>>Was spricht gegen PWM? Oder warum verwendest du nicht einen uC mit einem
> internem DAC?
>
> Die Rede war von Geschwindigkeit....

Und in welchem Bereich und warum ist ein interner DAC mit 10-Bit und 
1Msps dazu ungeeignet? Was für eine Geschwindigkeit strebt er denn an?

von Dave C. (dave_chappelle)


Lesenswert?

Naja, die Controller die ich gerade so rumliegen habe haben keinen 
internen DAC.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dave Chappelle schrieb:
> was denn das schnellste Verfahren war.

Wie schnell musst du denn werden?  Geschwindigkeit ist doch bei
DACs normalerweise gar nicht so sehr das Problem.

von Dave C. (dave_chappelle)


Lesenswert?

Jörg Wunsch schrieb:
> Geschwindigkeit ist doch bei
> DACs normalerweise gar nicht so sehr das Problem.

Wie gesagt -> von der Thematik habe ich so gut wie keine praktischen 
Erfahrungen, ich kenne theoretisch ein paar Verfahren.

Ich will einfach ausprobieren, Geschwindigkeit und Genauigkeit sind 
zweitrangig will einfach mal Dinge testen wie Sinus, Dreieck etc. 
generieren über ein Widerstandsnetzwerk.

Gruss

von Axel S. (a-za-z0-9)


Lesenswert?

Dave Chappelle schrieb:
> Frank M. schrieb:
>> Wozu brauchst du es denn am Ende?
>
> Einfach mal ausprobieren, was da so drin liegt.

Aha. Also gar keine Anforderungen.

>>Warum 16-Bit, brauchst du wirklich solch eine hohe Auflösung?
>
> 8 Wäre zu wenig und ich dachte mir einfach nimmst gleich zwei Ports :)

Wieso sind 8 Bit zu wenig? Hast du wenigstens mal überschlagen wie 
genau deine Widerstände schon für "lediglich" 8 Bit Auflösung sein 
müssen? Und welche Rolle soll die Geschwindigkeit des DAC spielen, wenn 
du einen 8-Bit µC verwendest, der gar nicht mehr als 8 Bit auf einmal 
ausgeben kann?

Und weil es noch keiner gesagt hat: ein R-2R-Netzwerk mit 
Spannungsschaltern ist nicht schnell. Um schnell zu sein, müßte man es 
im Kurzschlußbetrieb benutzen, wo der Strom aus den Zwischenknoten 
entweder nach GND oder in den Summier-OPV geleitet wird. Das lohnt sich 
aber nur, wenn man es integriert kauft.

Wenn es nur zum Spielen sein soll, reicht ein 8-Bit R-2R-Netzwerk an 
einem µC-Port vollkommen aus. Jesper-DDS wurde ja auch schon genannt.


XL

von Yalu X. (yalu) (Moderator)


Lesenswert?

Für ein 8-Bit-R2R-Netzwerk ohne Monotoniefehler brauchst du schon sehr 
präzise Widerstände. 16 Bit sind mit R2R nicht mehr praktikabel. Bei 
integrierten DACs mit höherer Auflösung werden deswegen meist die 
höchstwertigen n Bits direkt umgesetzt (d.h. mit 2^n-1 schaltbaren 
Stromquellen).

von Dave C. (dave_chappelle)


Lesenswert?

Axel Schwenke schrieb:
> Wenn es nur zum Spielen sein soll, reicht ein 8-Bit R-2R-Netzwerk an
> einem µC-Port vollkommen aus.

Alles klar, dann mache ich mal eins mit 8 Bit.
Die 16 sind wirklich ein wenig übertrieben wenn man mal genauer darüber 
nachdenkt.

von Axel S. (a-za-z0-9)


Lesenswert?

Yalu X. schrieb:
> Für ein 8-Bit-R2R-Netzwerk ohne Monotoniefehler brauchst du schon sehr
> präzise Widerstände. 16 Bit sind mit R2R nicht mehr praktikabel.

Ich würde eher sagen: unmöglich.

> Bei
> integrierten DACs mit höherer Auflösung werden deswegen meist die
> höchstwertigen n Bits direkt umgesetzt (d.h. mit 2^n-1 schaltbaren
> Stromquellen).

Ähhm. Nein. Geschaltete Stromquellen ja. Aber eben mit binär gewichteten 
Strömen. Mehrfach-Stromspiegel mit definierem Stromverhältnis lässen 
sich ja vergleichsweise leicht integrieren, weil der Strom der Fläche 
des Emitters direkt proportional ist.

Allerdings ist es flächenmäßig nicht sinnvoll, mehr als ein paar Bit auf 
diese Weise zu realisieren. Eine gern genommene Variante  macht 
Stromquellen für je 4-5 Bit und führt die Ströme der einzelnen 
Bitgruppen dann wieder über Stromteiler zusammen.


XL

von Yalu X. (yalu) (Moderator)


Lesenswert?

Axel Schwenke schrieb:
>> Bei integrierten DACs mit höherer Auflösung werden deswegen meist die
>> höchstwertigen n Bits direkt umgesetzt (d.h. mit 2^n-1 schaltbaren
>> Stromquellen).
> Ähhm. Nein. Geschaltete Stromquellen ja. Aber eben mit binär gewichteten
> Strömen.

Bei den gewichteten Strömen hast du das Monotonieproblem ebenfalls. Nur 
bei der direkten Umsetzung sind Monotoniefehler prinzipbedingt 
ausgeschlossen.

Schau mal in die Datenblätter von hochauflösenden DACs mit 
Paralleleingang. Da werden oftmals alle drei Verfahren kombiniert 
eingesetzt.

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.