Forum: Mikrocontroller und Digitale Elektronik DAC mit besonders guter slew rate (Anstiegszeit)


von Bernhard S. (genosseberni)


Lesenswert?

Hallo,
Problemstellung: Regelbares DC-Offset (2V-10V) mit darauf befindlichen 
steilen Flanken (3V ideal mit 80V/us Steilheit)

kann jemand ein DAC empfehlen was eine besonders gute slew rate hat. 
Mich interessiert hierbei die reine slew rate, also nicht die settling 
time oder irgendwelche Latenzen. Es geht um die Erzeugung einer steilen 
Flanke auf einem einstellbaren DC-offset.
Ausreichend wäre dazu eine slew rate von etwa 20V/us oder besser. Gibt 
es so ein DAC, idealerweise auch noch mit I2C Bus? 12-16 bit, ist aber 
weniger wichtig.

Alternativ habe ich überlegt zwei DACs + 2 OPV zu benutzen, eins regelt 
das DC-Offset, das zweite erzeugt eine Flanke mit beliebiger slew rate 
die über einen OPV als Schmitt-Trigger versteilert wird und über einen 
zweiten OPV zum DC-Offset addiert wird, aber eleganter würde ich ein 
einzelnes DAC finden was den Puls erzeugen kann.

Oder hat jemand eine ganz andere Idee?

Vielen Dank für Tipps und Ratschläge

von Purzel H. (hacky)


Lesenswert?

Allenfalls mal die parametrische Suche der Hersteller und Lieferanten 
anwerfen ?
Da du 20V/us oder so haben moechtest, bedeutet das der DAC muss mehr als 
10 MSample machen. Und den kannst du dann verlangsamen mit einem RC.

von Achim S. (Gast)


Lesenswert?

Bernhard S. schrieb:
> Mich interessiert hierbei die reine slew rate, also nicht die settling
> time oder irgendwelche Latenzen. Es geht um die Erzeugung einer steilen
> Flanke auf einem einstellbaren DC-offset.
> Ausreichend wäre dazu eine slew rate von etwa 20V/us oder besser. Gibt
> es so ein DAC, idealerweise auch noch mit I2C Bus? 12-16 bit, ist aber
> weniger wichtig.

Ein DAC mit kurzer settling time wird im Normalfall auch eine 
entsprechend hohe Slewrate haben. Insofern ist die settling-time in der 
parametrischen Suche schon ein sinnvoller Parameter: hier einfach mal 
eine Liste von DACs mit <1µS settling time. Wahrscheinlich kannst du mit 
jedem von denen deine Slewrate erreichen.

https://www.digikey.de/products/de/integrated-circuits-ics/data-acquisition-digital-to-analog-converters-dac/701?k=dac&k=&pkeyword=dac&sv=0&pv997=425&pv997=395&pv997=418&pv997=416&pv997=417&pv997=409&pv997=407&pv997=404&pv997=419&pv997=406&pv997=165&pv997=166&pv997=421&pv997=424&pv997=405&pv997=411&pv997=415&pv997=403&pv997=171&pv997=408&pv997=423&pv997=422&pv997=177&pv997=243&pv997=178&pv997=179&pv997=413&pv997=319&pv997=182&pv997=183&pv997=410&pv997=185&pv997=187&pv997=188&pv997=367&sf=1&FV=ffe002bd&quantity=&ColumnSort=0&page=1&pageSize=25

I2C hat aber kein einziger davon, weil die Kombination von "schneller 
DAC" mit "langsamem Interface" selten gebraucht wird.

Allerdings erzeugen viele DACs nicht unbedingt direkt einen 
Spannungsausgang, der bis 10V+3V=13V reicht. Und viele (schnelle) DACs 
haben sowieso keine Spannungs- sondern Stromausgänge. Dann hägt es 
primär von deinem nachgeschalteten OPV ab, welche Slew-Rate erreichbar 
ist.

von Purzel H. (hacky)


Lesenswert?

Ja, schnelle DAC muessen auch keine Amplitude mehr koennen. Denn bei 
diesen Frequenzen arbeitet man mit 50 Ohm, und dann ist 3V schon eine 
Menge.

von Falk B. (falk)


Lesenswert?

Name H. schrieb:
> Ja, schnelle DAC muessen auch keine Amplitude mehr koennen. Denn bei
> diesen Frequenzen arbeitet man mit 50 Ohm, und dann ist 3V schon eine
> Menge.

Diese Frequenzen? Der OP möchte 80V/us, das sind bei einem 5V DAC mit 
nachgeschaltetem x2 OPV gerade mal 125ns für 0-5V. Das kann jeder 
bessere 10Msmps++ DAC. Und den muss man nicht mal mit 10M füttern, der 
OP will ja nur einen Einzelschritt machen, dafür reicht SPI.

von Bernhard S. (genosseberni)


Lesenswert?

Vielen Dank an alle für die Hinweise.

Ich kam jetzt zu folgendem Schluss:
kein DAC mit I2C Bus kann derart steile Flanken erzeugen, zumindest sind 
die Datenblätter da etwas pessimistisch.
Mit SPI Bus gibt es ebenfalls nur wenige DACs die eine slew-rate von 
<100ns versprechen und Lötfreundliches Gehäuse haben und direkt 
verfügbar sind und keine 40+ Euro kosten.

Das ganze soll übrigens von einem Raspberry-Pi Angetrieben werden 
weshalb ich I2C bevorzuge. Daher habe ich mich jetzt für etwa folgendes 
Setup entschieden:
1 DAC erzeugt das einstellbare Offset und 1 weiteres DAC die Flanke. Ein 
OPV als Komperator versteilert die Flanke, damit sind die Eigenschaften 
des DACs erstmal sekundär. Ein zweiter OPV summiert die Flanke und das 
DC-Offset und treibt den Ausgang. Dazu habe ich an den LM7171 gedacht, 
der hat eine slew-rate von 4100 V/us, Faktor 5 mehr als ich benötige, 
falls das zum Problem wird kann ich noch ein RC-Glied nachschalten...

Vielen Dank nochmal für die Ratschläge.

von Nils P. (torus)


Lesenswert?

Das mit dem OpAmp zum Flanken steiler machen verstehe ich nicht. Durch 
den OpAmp als Schmitt-Trigger verlierst Du ja die Möglichkeit die 
Ausgangsspannung zu kontrollieren. Dann kannst Du den Opamp auch gleich 
an einen GPIO Pin hängen.

Mal als Idee:

Nimm 2 DACs. Einer (DAC1) steuert Deinen DC Anteil, ein anderer (DAC2) 
steuert die maximale Amplitude deiner Flanken.

Das Signal von DAC2 schickst Du durch einen schnellen OpAmp mit 
Enable-Pin als Voltage Buffer konfiguriert. Den Enable-Pin hängst Du an 
einen GPIO.

Die beiden Spannungen (DAC1 und Ausgang OpAmp) summierst Du und schickst 
sie in einen weiteren OpAmp zum Puffern/Summieren.

Jetzt kannst Du beide Spannungsanteile unanbhängig voneinander regeln 
und hast die Flanken so schnell, wie es der Enable-Pin vom ersten Opamp 
erlaubt. Üblicherweise sind diese sehr schnell.

von Achim S. (Gast)


Lesenswert?

Bernhard S. schrieb:
> kein DAC mit I2C Bus kann derart steile Flanken erzeugen, zumindest sind
> die Datenblätter da etwas pessimistisch.

Das mag sein: I2C und schneller DAC passt tatsächlich nicht.

Bernhard S. schrieb:
> Mit SPI Bus gibt es ebenfalls nur wenige DACs die eine slew-rate von
> <100ns versprechen und Lötfreundliches Gehäuse haben und direkt
> verfügbar sind und keine 40+ Euro kosten.

Da kommt es darauf an, bis zu welcher Gehäusegröße du es als 
lötfreundlich betrachtest.

Bernhard S. schrieb:
> Dazu habe ich an den LM7171 gedacht,
> der hat eine slew-rate von 4100 V/us, Faktor 5 mehr als ich benötige,

Nein: nicht ein Faktor 5 sondern ein Faktor 50 mehr als du brauchst.

Das ist schon sehr schnell, und tendenziell gilt bei OPVs tatsächlich: 
je schneller, desto größer das Potential für Probleme.

Der von dir ausgewählte LM7171 ist meiner Erfahrung nach noch ganz gut 
zu handhaben. Aber einige OPVs in dieser Geschwindigkeitsklasse sind 
richtig giftig und machen tatsächlich gerne Probleme. Im Datenblatt 
deines OPVs steht zurecht "There are many things to consider when 
designing PC boards for high speed op amps." Schau dir Kapitel 8 und 9 
im Datenblatt genau an und halte dich an die Hinweise.

Wenn der OPV z.B. wegen schlecht angebundener Abblockkondensatoren 
schwingen sollte, dann nützt das "Nachschalten eines RC-Glieds" auch 
nichts.

von Bernhard S. (genosseberni)


Lesenswert?

Nils P. schrieb:
> Das mit dem OpAmp zum Flanken steiler machen verstehe ich nicht. Durch
> den OpAmp als Schmitt-Trigger verlierst Du ja die Möglichkeit die
> Ausgangsspannung zu kontrollieren.

kontrollieren muss ich nur den DC-Pegel am Ausgang, die Flanke hat immer 
3V Amplitude, daher dachte ich das ein OpAmp die als Komparator erzeugen 
kann. Deine Idee mit dem GPIO-Pin gefällt mir, damit würde ich nur noch 
einen DAC benötigen!

Also der GPIO Pin erstellt meine Flanke die ein OpAmp als Komperator 
steil macht und auf die Fest verbaute Amplitude von 3V stellt. Ein 
zweiter OpAmp summiert die Flanke zum DC-Offset und treibt den Ausgang.
Dann benötige ich also 1x DAC, 2x OpAmp und einige R,C, Standardteile.

Vielen Dank

Beitrag #5661722 wurde vom Autor gelöscht.
von Peter D. (peda)


Lesenswert?

Wenn es nur um die Flanke geht, nimm einfach einen Dual-DAC und schalte 
mit einem Analogschalter die Ausgänge um.

von Bernhard S. (genosseberni)


Lesenswert?

Das mit dem Dual-DAC und dem Analogumschalter gefällt mir sehr gut. Ich 
kenne diese Teile allerdings nicht, erzeugen die keine Überschwinger, 
oder ein kurzer Spannungseinbruch zwischen dem Umschalten von S1 auf S2?
Und vielen Dank für den Hinweis mit dem hochfrequenten OpAmp, da der 
Prototyp auf Lochraster gebaut wird wäre dieser OpAmp wohl eine sehr 
schlechte Wahl gewesen. Da werde ich was deutlich langsameres suchen, 
klar zwischen 80V/us und 4kV/us steckt ein Faktor 50, da mir 50-150V/us 
reichen suche ich einen langsameren OpAmp.

von Achim S. (Gast)


Lesenswert?

Bernhard S. schrieb:
> Ich
> kenne diese Teile allerdings nicht, erzeugen die keine Überschwinger,
> oder ein kurzer Spannungseinbruch zwischen dem Umschalten von S1 auf S2?

Bei Analogschaltern gibt es eine sog. "Charge injection". Es wird eine 
bestimmte Ladungsmenge in den Kanal injiziert, die - je nach 
angeschlossenem Widerstand und angeschlossener Kapazität - zu einem mehr 
oder minder großen Spannungspuls führt. Wenn der Spannungspuls in die 
gewünschte Richtung geht, nimmst du ihn vielleicht gar nicht wahr. Wenn 
er in die "falsche" Richtung geht, siehst du ggf., dass bei der 
steigenden Flanke zuerst ein kleiner Sprung in die negative Richtung 
auftritt. Typische Werte liegen im pC Bereich und normalerweise gilt: je 
niederohmiger der Schalter und je größer der zugelassende 
Spannungsbereich, desto größer die Charge-Injection.

Bei schnellen DACs hast du im Prinzip oft denselben Effekt - auch dort 
müssen Halbleiterschalter schnell umgeschaltet werden. Dort lautet der 
Name dafür häufig Glitch Energy (z.B. wird bei diesem DAC 
http://www.ti.com/lit/ds/symlink/dac7811.pdf als Glitch Energy von max. 
5 nV s angegeben - was auch wieder nichts anderes als eine injizierte 
Ladung). In Fig. 8 und 9 des Datenblatts siehst du Beispiele dafür, wie 
sich das beim Umschalten des DACs auswirkt.

von Bernhard S. (genosseberni)


Lesenswert?

Toll, Danke für den Hinweis über Charge Injection.
Ich denke ich probiere es jetzt einmal mit einem I2C DAC als DC-Pegel 
und einem GPIO-Pin als Flanke die über einen OPV gepuffert wird und über 
einen zweiten OPV zum DC-Pegel addiert wird.
Wenn der Versuch im Februar läuft werde ich hier die Erkenntnisse 
zusammenfassen.

von Falk B. (falk)


Lesenswert?

Bernhard S. schrieb:
> Toll, Danke für den Hinweis über Charge Injection.
> Ich denke ich probiere es jetzt einmal mit einem I2C DAC als DC-Pegel
> und einem GPIO-Pin als Flanke

Das ist OK.

> die über einen OPV gepuffert wird und über

Warum? Ein GPIO ist selber schnell und stromstark genug und liefert dir 
3,3V. Brauchst du die 3V Flanke WIRKLICH so genau? Oder sind auch 3,3V 
OK.
Im Einfachsten Fall pufferst du dein GPIO NICHT mit einem OPV sondern 
einem Einzelgatter ala 74HC1G04, welches mit echten 3V versorgt wird. 
Das ist einfacher und stabiler.

von Bernhard S. (genosseberni)


Lesenswert?

Sorry, ich meinte mit "wird gepuffert" eigentlich die niedrige 
Ausgangsimpedanz vom Comparator oder Schmitt-Trigger um die Flanke steil 
zu machen.
Vermutlich hast du aber recht und mir genügt die Steilheit die der 
Raspberry-Pi direkt liefert, das wäre natürlich prima. Ob die Amplitude 
jetzt 3.3V oder 3V ist, spielt eigentlich keine Rolle, es kommt nur auf 
die Steilheit an, die muss 80V/us oder besser sein.

Soweit ich bislang die Raspberry-Pi Dokumentation durchsucht habe ist es 
möglich die slew-rate für GPIO Pins (einheitlich) zu konfigurieren. Die 
Pins können mit 100MHz betrieben werden, damit ist die Flankensteilheit 
besser als benötigt. Ob der Puls noch gut genug aussieht werde ich dann 
mit dem Oszilloskop prüfen.

von Falk B. (falk)


Lesenswert?

Bernhard S. schrieb:
> Sorry, ich meinte mit "wird gepuffert" eigentlich die niedrige
> Ausgangsimpedanz vom Comparator oder Schmitt-Trigger um die Flanke steil
> zu machen.

Ist ebenfalls Unsinn, denn so ein CMOS-Ausgang IST bereits sehr schnell 
und stromstark. Schrieb ich schon mehrfach.

> Vermutlich hast du aber recht und mir genügt die Steilheit die der
> Raspberry-Pi direkt liefert, das wäre natürlich prima. Ob die Amplitude
> jetzt 3.3V oder 3V ist, spielt eigentlich keine Rolle, es kommt nur auf
> die Steilheit an, die muss 80V/us oder besser sein.

Na dann reicht ein einfachster I2C DAC und ein halbwegs schneller OPV 
mit 100-200V/us. Der wird als invertierender Addierverstärker beschaltet 
und gut.

> Soweit ich bislang die Raspberry-Pi Dokumentation durchsucht habe ist es
> möglich die slew-rate für GPIO Pins (einheitlich) zu konfigurieren. Die
> Pins können mit 100MHz betrieben werden, damit ist die Flankensteilheit
> besser als benötigt. Ob der Puls noch gut genug aussieht werde ich dann
> mit dem Oszilloskop prüfen.

Selbst die langsamste Einstellung ist für deine Anforderung noch um 
Größenordnungen schneller. Denn die IOs kann man nur zwischen irre 
schnell und verdammt schnell einstellen. Wir reden da von Anstiegszeiten 
von 0-3,3V im Bereich 2-10ns, das sind schlappe 330-1600V/us 8-0, 
teilweise noch schneller.

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.