Forum: Analoge Elektronik und Schaltungstechnik Allgemeine Fragen zu DACs


von Gustl B. (-gb-)


Lesenswert?

Hallo,

baue eine Platine mit ADC und DAC. Den DAC setze ich drauf damit ich 
eben auch Signale erzeugen kann um Dinge zu lernen.

Bisher hatte ich als DAC den DAC8581 
https://www.ti.com/lit/ds/slas481c/slas481c.pdf und dahinter den OPA551 
http://www.ti.com/lit/ds/symlink/opa551.pdf . Ich bin aber nicht sehr 
zufrieden. Ja, ich kann beliebige Signale ausgeben, aber der DAC ist mir 
nicht schnell genug und es werden viele Obertöne erzeugt wenn ich per 
DDFS einen Sinus ausgebe.

Da der ADC eine Abtastrate von 25 MSamples hat würde ich gerne zukünftig 
auch einen schnelleren DAC verbauen. Dazu habe ich aber einige Fragen:

Wenn ich einen 10 MHz Sinus erzeugen will, welche Taktfrequenz braucht 
dan der DAC? Klar mindestens 20 MHz aber das ist dann ein echt 
schlechter Sinus. Was ist da ein üblicher Wert? 100 MHz?

Zwischen DAC und OPV habe ich bisher das Signal passiv gefiltert mit 
mehreren Stufen aus R und C. Gibt es da fertige Bauteile oder eine 
übliche Vorgehensweise wie man die Bandbreite auf z. B. 1/10 der 
Ausgaberate des DACs beschränkt?

Ich möchte auch eine relativ hohe Ausgangsspannung erzeugen weil das ja 
von DC losgeht und für beliebige Dinge geeignet sein soll. Derzeit gebe 
ich -12V bis +12V aus, in Zukunft sollen es -4V bis +4V werden. Ist das 
OK, oder sollte man sich bei höheren Frequenzen wie 10 MHz auf eine 
geringere Spannung beschränken?

: Bearbeitet durch User
von Alexxx (Gast)


Lesenswert?

>> Wenn ich einen 10 MHz Sinus erzeugen will, welche Taktfrequenz braucht
dan der DAC?
Dann wären 100MHz schon gut - eine Dekade Abstand lässt sich noch 
einigermaßen filtern.
Aber wie willst du diese digitalen Datenraten verarbeiten / handeln?
Bei 16Bit wären ja 1,6GHz serieller Clock nötig. selbst parallel ein- 
auslesen ist mit 100MHz nicht einfach. Machbar aber auf jeden Fall.
Bei ADI(!) / TI(?) gibts sicher ein Demoboard mit einem dir passenden 
DAC.
Dann kannst du diese vorgeschlagene Schaltung anpassen...

>> Zwischen DAC und OPV habe ich bisher das Signal passiv gefiltert mit
mehreren Stufen aus R und C.
Denkbar wäre natürlich auch ein L-R-C-Filter, evtl mehrstufig.
Oder mehrere 2-polige aktiv-Filter mit OPA. Der müsste dann aber GHz GBW 
haben...

>> Derzeit gebe ich -12V bis +12V aus, in Zukunft sollen es -4V bis +4V werden.
Das ist für die Slew-Rate besser und damit dürftest du auch modernere 
OPAs finden.

von Gustl B. (-gb-)


Lesenswert?

Alexxx schrieb:
> Aber wie willst du diese digitalen Datenraten verarbeiten / handeln?

Mit einem FPGA.

Alexxx schrieb:
> Denkbar wäre natürlich auch ein L-R-C-Filter, evtl mehrstufig.
> Oder mehrere 2-polige aktiv-Filter mit OPA. Der müsste dann aber GHz GBW
> haben...

OK, aber mehrere RC Stufen gehen auch, dann bin ich ja auf dem richtigen 
Weg.

Alexxx schrieb:
> Das ist für die Slew-Rate besser und damit dürftest du auch modernere
> OPAs finden.

Ja vor allem werde ich niedrigere Spannungen verwenden damit ich mir die 
±15V einsparen kann.

Gut, ich suche also einen DAC mit größergleich 14 Bits und 100 MHz der 
mit 1,8V als digitale Versorgung auskommt.

von Achim S. (Gast)


Lesenswert?

Gustl B. schrieb:
> dahinter den OPA551
> http://www.ti.com/lit/ds/symlink/opa551.pdf . Ich bin aber nicht sehr
> zufrieden. Ja, ich kann beliebige Signale ausgeben, aber der DAC ist mir
> nicht schnell genug

Ist bei deinem aktuellen Design nicht eher die Performance des OPV 
limitierend als die des DAC? (siehst du aktuell eher schlecht 
unterdrückte Spiegelfrequenzen oder siehst du eher Oberwellen, weil dein 
OPV verzerrt?)

Wenn du in den 10MHz Bereich mit wenigen Harmonischen kommen willst:

Die meisten DACs dafür arbeiten mit differentiellen (Stom)Ausgängen 
statt mit single ended Spannungsausgängen, um gerade Harmonische zu 
unterdrücken
https://www.analog.com/media/en/technical-documentation/tech-articles/understanding-and-designing-differential-filters-for-communications-systems.pdf

Um einen spektral reinen DDS-Ausgang zu erzeugen verwenden andere 
deutlich mehr Aufwand als einen mehrstufigen RC-Filter:
https://www.analog.com/media/en/technical-documentation/application-notes/351016224AN_837.pdf
Achte insbesondere auch darauf, dass die Resonanzfrequenz deiner 
Bauteile im Filter hoch genug liegt, sonst bekommst du nicht die 
erwartete Filtercharakteristik.

von Peter D. (peda)


Lesenswert?

Gustl B. schrieb:
> Wenn ich einen 10 MHz Sinus erzeugen will, welche Taktfrequenz braucht
> dan der DAC? Klar mindestens 20 MHz aber das ist dann ein echt
> schlechter Sinus. Was ist da ein üblicher Wert? 100 MHz?

Professionelle Generatoren wie der Agilent 33220A verwenden einen 
Sinusformer, um 20MHz zu erzeugen. Der DAC kann max 14bit, 50MSa/s.
Als Sägezahn sind max 200kHz möglich.

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Achim S. schrieb:
> Ist bei deinem aktuellen Design nicht eher die Performance des OPV
> limitierend als die des DAC? (siehst du aktuell eher schlecht
> unterdrückte Spiegelfrequenzen oder siehst du eher Oberwellen, weil dein
> OPV verzerrt?)

Habe mal Bildchen rangetan. Das ist gemessen mit dem XADC im Spartan7. 
Auf dem Board habe ich noch einen AD9650. Und genau dafür möchte ich 
einen schickeren Generator bauen. Damit ich die Platine für mehr 
verwenden kann.
Die Bilder zeigen:
24Vp-p bei 10kHz und dann sieht man wie das langsam einbricht. Das 
Filter besteht aus 5 hintereinandergeschaltenen RC Filtern aus je 50 Ohm 
und 3.3 nF, also ca. 100 kHz Grenzfrequenz.
Ich finde das Ergebnis gar nicht soooo irre schlecht, aber mir sind die 
Frequenzen eben vor allem zu niedrig.

Achim S. schrieb:
> Die meisten DACs dafür arbeiten mit differentiellen (Stom)Ausgängen
> statt mit single ended Spannungsausgängen, um gerade Harmonische zu
> unterdrücken

Ja, habe ich schon gesehen, aber das muss ich ja dann auch irgendwo in 
eine Spannung umwandeln.

> 
https://www.analog.com/media/en/technical-documentation/tech-articles/understanding-and-designing-differential-filters-for-communications-systems.pdf

Danke! Gut, das lässt sich ja schön simulieren und auch aufbauen.

Achim S. schrieb:
> Um einen spektral reinen DDS-Ausgang zu erzeugen verwenden andere
> deutlich mehr Aufwand als einen mehrstufigen RC-Filter:

Peter D. schrieb:
> Professionelle Generatoren wie der Agilent 33220A verwenden einen
> Sinusformer, um 20MHz zu erzeugen. Der DAC kann max 14bit, 50MSa/s.
> Als Sägezahn sind max 200kHz möglich.

Klar, wenn es super werden soll kann man echt hohen Aufwand treiben. Ich 
will einen einigermaßen schicken Generator für beliebige Signale. Der 
soll von DC bis ca. 10 MHz gehen. Ich will damit dann mal verschiedene 
Modulationen ausprobieren, also im FPGA Daten modulieren, über DAC 
ausgeben und dann mit dem ADC empfangen und im FPGA demodulieren. Ist 
ein reines Lernprojekt zu dem ich aber gerne alle Quellen offenlege.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Gustl B. schrieb:
> Klar, wenn es super werden soll kann man echt hohen Aufwand treiben. Ich
> will einen einigermaßen schicken Generator für beliebige Signale. Der
> soll von DC bis ca. 10 MHz gehen.

Für beliebige Signale schafft der 33220A aber nur 200kHz. Du willst also 
einen noch höheren Aufwand treiben.

von Gustl B. (-gb-)


Lesenswert?

Verstehe ich nicht. Wenn man nur wenige Werte periodisch ausgibt sollte 
doch mit einem 100 MHz DAC mehr wie 200 kHz drinnen sein?! Bei 100 
Werten ist das 1 MHz, bei 20 Werten 5 MHz, ... Klar, wenn ich da ein 
Filter hinsetze das bei 10 MHz abschneidet, dann leidet ein Rechteck. 
Aber dann ist das eben so. Man kann also beliebige Signale auch schnell 
ausgeben, aber die sind dann alle gefiltert.

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Das im Anhang sieht mir nach einem brauchbaren Filter aus. Was verwendet 
man üblicherweise? Sowas oder doch eine RC Kette?
Und wie mache ich das differentielle Signal zu einem single-ended? Mit 
einem Diff-AMP bei dem ich einen Ausgang offen lasse oder mit einem 
normalen OPV?

: Bearbeitet durch User
von Purzel H. (hacky)


Lesenswert?

Nein, das Filter ist natuerlich Muell. Viel zuviel Welligkeit. Schau dir 
was besseres an. Ich wuerd ein passives zB LC 7.Ordnung nehmen. Und 
eins, das nicht wieder kommt, also kein Cauer oder so. Sondern zB ein 
Butterworth. Das soll zB bei 20..30MHz beginnen, und bei 100MHz 
vielleicht 50dB haben. Ds sollte gut gehen mit einem LC. aus diskreten 
Elementen in einer Box.

von Michael B. (laberkopp)


Lesenswert?

Gustl B. schrieb:
> Wenn ich einen 10 MHz Sinus erzeugen will, welche Taktfrequenz braucht
> dan der DAC?

1MHz.

Gustl B. schrieb:
> oder sollte man sich bei höheren Frequenzen wie 10 MHz auf eine
> geringere Spannung beschränken?

Hängt von der slew rate deines OpAmps ab, und wenn man dann noch einen 
geringen Klirrfaktor will....

Du musst erst mal das Prinzip der digitalen Signalerzeugung verstehen.

Aus einem DAC kommen immer nur Treppensignale in Stufen.

Damit daraus ein Sinus oder die steigende Flanke eines Dreiecks wird, 
muss man filtern.

Wenn man einen Bandpass baut der nur von 7 bis 12 MHz durchlässt, und 
ihm mit 1MHz irgendwelche samples eines Sinus vorsetzt, KANN der gar 
kein Signal unter 1MHz ausgeben sondern er wird nur das Signal zwischen 
7 bis 12MHz durchlassen was im Original als Harmonische drin ist. Man 
kann also auch mit geringer Samplerate höherfrequente Sinussignale 
erzeugen. Aber nur Sinus, was anderes kann der Filter nicht rausfiltern.

Bei Dreieck sollte das Problem sofort erkennbar sein: Der DAC liefert 
Stufen, du möchtest eine glatt steigende Kurve. Würde das Filter alles 
unter 10MHz durchlassen, wird die Stufe nicht glatt sondern weiche 
Stufen. Das Filter müsste exakt so dimensioniert sein, daß es die Stufen 
wegbügelt. Du brauchst also adaptive Filter oder eine Interpolation. Die 
analoge Interpolation liefert die besten Ergebnisse.

von Achim S. (Gast)


Lesenswert?

Gustl B. schrieb:
> Wenn man nur wenige Werte periodisch ausgibt sollte
> doch mit einem 100 MHz DAC mehr wie 200 kHz drinnen sein?!

Der DAC läuft auch auf wesentlich höherer Frequenz. Aber der Filter 
dämpft eben nicht nur die Spiegelfrequenzen sondern setzt auch ein Limit 
für die Oberschwingungen - daher können bei anderen Signalformen als 
Sinus niedrigere Maximalfrequenzen angesagt sein.

Wobei die von Peter genannten 200kHz nach meiner Lesart des User-Guides 
wohl nur für die lineare Rampe gelten. Arbiträre darf man bis 5MHz 
einstellen, Sinus und Rechteck bis 20MHz. Der Sinus wird per DDS erzeugt 
und gefiltert. Das Rechteck wird erzeugt, indem man den gefilterten 
Sinus auf einen Komparator gibt (damit hat das Rechteck wieder schön 
steile Flanken).

http://ecelabs.njit.edu/student_resources/33220_user_guide.pdf

Gustl B. schrieb:
> Das im Anhang sieht mir nach einem brauchbaren Filter aus. Was verwendet
> man üblicherweise? Sowas oder doch eine RC Kette?
> Und wie mache ich das differentielle Signal zu einem single-ended? Mit
> einem Diff-AMP bei dem ich einen Ausgang offen lasse oder mit einem
> normalen OPV?

Da du beide Achsenskalierungen abgeschnitten hast fällt es etwas schwer, 
das Filter zu bewerten.

Ansonsten gilt: es gibt kein "üblicherweise" sodern es hängt vollständig 
von deinen Ansprüchen ab. Für höchste Ansprüche nimmt man eine voll 
differentielle Signalkette (inklusive fully differential OpAmp). Für 
weniger hohe Ansprüche geht man auf single ended. Wenn es nicht bis DC 
runterreichen muss kann dafür ein Übertrager verwendet werden. Wenn man 
DC braucht ein Subtrahierverstärker. Ich würde mir an deiner Stelle 
Eval-Boards für DDS-Chips anschauen: da solltest du alle möglichen 
Varianten der Filterung finden.

Zu deinen Messungen oben: ich denke, die 60dB zwischen Signal und 
größter Harmonischer bei 10kHz sind ganz ok. Viel mehr dürfte die 
Linearität deines DACs und deines OPVs jeweils nicht hergeben. Wenn du 
über 100kHz gehst nimmt das Signal aufgrund deines TP zwar ab, die 
Oberschwingungen aber eher zu. Deswegen tippe ich eher darauf, dass die 
Verzerrungen hinter dem Filter (als im OPV-Verstärker und evtl. auch im 
ADC) auftreten. Ich habe keine Erfahrung mit dem XADC im Spartan 7, aber 
ich könnte mir vorstellen, dass der ebenfalls merkbare Verzerrungen 
reinbringt und dass ggf. der Jitter bei seiner Ansteuerung irgendwann 
bemerkbar werden. Jitter bei der DAC-Ansteuerung und dessen 
Glitch-Energie werden bei höheren Frequenzen ebenfalls eine zunehmende 
Rolle spielen.


Der OPV ist bei Frequenzen oberhalb 100kHz auf jeden Fall überfordert: 
für 24V_pp und 200kHz schlägst du spätestens an das Slew-Rate Limit des 
OPVs an, und spätestens dann wird der Zoo von Oberschwingungen gewaltig.

von Gustl B. (-gb-)


Lesenswert?

Jetzt ist G. schrieb:
> Nein, das Filter ist natuerlich Muell. Viel zuviel Welligkeit. Schau dir
> was besseres an. Ich wuerd ein passives zB LC 7.Ordnung nehmen.

Klar, mit höherer Ordnung wird es besser. Was gibt es denn mit 4. 
Ordnung das besser ist?

Jetzt ist G. schrieb:
> Das soll zB bei 20..30MHz beginnen, und bei 100MHz
> vielleicht 50dB haben.

Wieso? Ich möchte eine Begrenzung bei 10 MHz oder vielleicht noch bei 
12,5 MHz, das wäre nämlich die halbe Samplerate des ADCs auf der 
Platine. Aber ja, vielleicht ist das bei 30 MHz besser damit ich 
höherfrequente andere Signale ausgeben kann.

Michael B. schrieb:
> Du musst erst mal das Prinzip der digitalen Signalerzeugung verstehen.

Was hatte ich jetzt noch nicht verstanden?

Michael B. schrieb:
> Aus einem DAC kommen immer nur Treppensignale in Stufen.
>
> Damit daraus ein Sinus oder die steigende Flanke eines Dreiecks wird,
> muss man filtern.

Ja? Das hatte ich bisher genau so gamacht.

Michael B. schrieb:
> Wenn man einen Bandpass baut der nur von 7 bis 12 MHz durchlässt, und
> ihm mit 1MHz irgendwelche samples eines Sinus vorsetzt, KANN der gar
> kein Signal unter 1MHz ausgeben sondern er wird nur das Signal zwischen
> 7 bis 12MHz durchlassen was im Original als Harmonische drin ist. Man
> kann also auch mit geringer Samplerate höherfrequente Sinussignale
> erzeugen. Aber nur Sinus, was anderes kann der Filter nicht rausfiltern.
>
> Bei Dreieck sollte das Problem sofort erkennbar sein: Der DAC liefert
> Stufen, du möchtest eine glatt steigende Kurve. Würde das Filter alles
> unter 10MHz durchlassen, wird die Stufe nicht glatt sondern weiche
> Stufen. Das Filter müsste exakt so dimensioniert sein, daß es die Stufen
> wegbügelt. Du brauchst also adaptive Filter oder eine Interpolation. Die
> analoge Interpolation liefert die besten Ergebnisse.

Ja, ist aber nicht was ich will. Ich will DC bis 10 MHz erzeugen können 
und nicht nur Sinus. Ja, ein 10 MHz Rechteck sieht dann aus wie ein 10 
MHz Sinus wegen des Filters, das stimmt. Aber irgendwo muss ich ja einen 
Kompromiss eingehen zwischen: Sinus soll glatt sein und Rechteck soll 
rechteckig aussehen. Für einen schönen Sinus muss ich stark filtern, für 
ein Rechteck wenig.

Wie ist das?
Wenn ich einen 100 MSps DAC nehme, wo ist es dann sinnvoll mit dem 
Filter abzuschneiden? Sind die Stufen schon glatt, wenn ich bei 50 MHz 
mit einem LPF abschneide? Theoretisch müsste das so sein ...

Achim S. schrieb:
> daher können bei anderen Signalformen als
> Sinus niedrigere Maximalfrequenzen angesagt sein.

OK, verstanden.

Achim S. schrieb:
> Da du beide Achsenskalierungen abgeschnitten hast fällt es etwas schwer,
> das Filter zu bewerten.

Das hat in Multisim keine Beschriftungen ...

Achim S. schrieb:
> Wenn man
> DC braucht ein Subtrahierverstärker. Ich würde mir an deiner Stelle
> Eval-Boards für DDS-Chips anschauen: da solltest du alle möglichen
> Varianten der Filterung finden.

OK, ist vielleicht ein guter Tipp. Wie ist das mit den DDS-Chips, kann 
man mit denen ohne zusätzliche Beschaltung auch andere Signale erzeugen? 
Also die interne Wertetabelle beschreiben? Bei manchen kann man die 
Phase verändern, das wäre zum Spielen mit Modulationen auch schon recht 
gut.

Achim S. schrieb:
> Der OPV ist bei Frequenzen oberhalb 100kHz auf jeden Fall überfordert:
> für 24V_pp und 200kHz schlägst du spätestens an das Slew-Rate Limit des
> OPVs an, und spätestens dann wird der Zoo von Oberschwingungen gewaltig.

Jap, daher hatte ich auch den 100 kHz LPF eingebaut. Für den Neubau der 
vielleicht irgendwann kommt mit schnellerem DAC werde ich auch einen 
anderen OPV verwenden.

von Achim S. (Gast)


Lesenswert?

Gustl B. schrieb:
> Wie ist das mit den DDS-Chips, kann
> man mit denen ohne zusätzliche Beschaltung auch andere Signale erzeugen?
> Also die interne Wertetabelle beschreiben?

Ne: die meisten DDS sind Sinusgeneratoren und können keine arbiträren 
Signale ausgeben. Aber viele haben Möglichkeiten für Frequenzrampen, für 
Modulationen, ...

Gustl B. schrieb:
> Das hat in Multisim keine Beschriftungen ...

Is ja nett. Woher weiß man dann, um wie viel dB das Filter überschießt? 
Nur mit Cursor-Auslesen? Oder steht jeder Skalenstrich automatisch für 
eine Dekade?

von Gustl B. (-gb-)


Lesenswert?

Achim S. schrieb:
> Woher weiß man dann, um wie viel dB das Filter überschießt?
> Nur mit Cursor-Auslesen?

Ja.

Achim S. schrieb:
> Oder steht jeder Skalenstrich automatisch für
> eine Dekade?

Nein. Wäre ja auch zu einfach.

Ich kenne mich mit Filtern nicht sonderlich aus, ich simuliere mir die 
immer. Sobald ich ein L verbaue geht es nach oben, dämpft also nicht 
nur, sondern verstärkt auch. Liegt an der Resonanzfrequenz vermute ich. 
Kann man Filter mit L bauen die dieses Verhalten nicht haben, also glatt 
sind? Ich habe auch nichts dagegen auf das L zu verzeichten und nur RC 
zu verwenden wie jetzt schon.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Jetzt ist G. schrieb:
> Nein, das Filter ist natuerlich Muell.

Ich glaub', dass das Filter bestimmte Ein- und Ausgangsimpedanzen 
"sehen" will. Und z.b. im Leerlauf auf ein virtuelles Messgeraet 
arbeiten. Wenn's die sieht, dann wird schon nicht mehr so wellig sein. 
Ich tipp' mal eher drauf, dass die Umgebung dieses Filters "Muell" ist.

Gustl B. schrieb:
> Klar, mit höherer Ordnung wird es besser. Was gibt es denn mit 4.
> Ordnung das besser ist?

Es gibt kein universelles "besser" oder "schlechter" bei Filtern. Eher 
so ein "Welche-Kroete-moechtest-du-schlucken". Wenn du ein Cauerfilter 
nimmst, hast du einen tollen Frequenzgang - d.h. einen kleinen Bereich 
zwischen Durchlass und Sperrbereich, aber sehr starke Schwankungen in 
der Gruppenlaufzeit, d.h. Sinuesse sehen vielleicht sehr sinussig aus, 
aber irgendwas, was mal etwas eckiger war, sieht dann voellig anders aus 
als erwartet. Beim Besselfilter ist's andersrum; da ist die 
Gruppenlaufzeit gut, dafuer die Selektion im Frequenzbereich eher mau. 
Butterworth ist halt so irgendwie mittendrinnen - nix halbes und nix 
ganzes. So wie Roséwein oder sanftes Mineralwasser oder leichtes 
Weissbier...

Gruss
WK

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Na gut, also für das Filter kann ich ja einfach im Layout einige 
Bauteile vorsehen die dann beliebig bestückbar sind.

Im Anhang ist nochmal ein Filter, das ist durch Ausprobieren entstanden.

Bei 10 MHz sind es -0,7 dB, die Spitze liegt bei 18,5 MHz und danach 
geht es steil bergab bis -51 dB bei 50 MHz. Ich denke sowas in der Art 
wird es dann werden. Brauche ich nur noch Zeit für ein neues Layout (-:

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Nochmal: Bei passiven Filtern ist die Impedanz, die das Filter am Ein- 
und Ausgang sieht, ganz wichtig. Bei deiner Simuliererei sieht das so 
aus, als wuerde da direkt ein Generator mit Innenwiderstand 0 Ohm das 
Filter speisen, und am Ausgang wuerde das Filter leerlaufen. Ist klar, 
dass da nur welliger Gaga rauskommt.
Dein echter DAC wird aber da irgendeine definierte Impedanz an seinem 
Ausgang aufweisen (z.b. 2x50=100Ohm) und am Ausgang deines Filters musst 
du auch fuer eine (moeglichst ohm'schen) definierte Impedanz sorgen.
Filterdesign ist ein Riesenfass, was du da eigentlich aufmachen 
muesstest.
Wenns recht simpel sein soll: Mit Qucs kann man so einigermassen Filter 
dimensionieren, ohne all' zu viel Ahnung haben zu muessen.
Aber auch da muss man die Quell und Zielimpedanzen des Filters wissen, 
wenn man konkrete Bauteilwerte bekommen moechte.

Gruss
WK

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Dergute W. schrieb:
> Wenns recht simpel sein soll: Mit Qucs kann man so einigermassen Filter
> dimensionieren, ohne all' zu viel Ahnung haben zu muessen.

Wunderbar, das passt dann wohl zu mir. Danke!

So, Bildchen im Anhang. Der "DAC" liefert Strom von -20 mA bis +20 mA, 
dann wird gefiltert und dann nacuh single-ended gewandelt. Bin ich auf 
dem richtigen Weg? Es gibt da alle möglichen Schaltungen, einmal mit 50 
Ohm zwischen den Stromausgängen, einmal so wie hier, einmal mit je 50 
Ohm nach Masse bei jedem Stromausgang. Man könnte auch zuerst aus dem 
Strom eine differentielle Spannung machen mit einem Diff-AMP und dann 
filtern.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Man kann einen Haufen Zeugs machen. Da hat alles seine Vor- und 
Nachteile. Wenn du eh' noch einen OpAmp zum asymmetrieren hernimmst, 
kannst du eigentlich auch gleich komplett mit aktiven Filtern arbeiten. 
Oder vielleicht nur ein Polpaar eines Filters in LC machen, den rest 
dann um den/die OpAmp(s) herum. Ist halt die Frage, wie gut die OpAmps 
bei deinen gewuenschten Frequenzen noch mitmachen.
Mit welchen Impedanzen du deinen DAC abschliesst, hat natuerlich auch 
Einfluss auf den Pegel, der dann da rauskommt. Wenn der Stromausgaenge 
hat, kommt natuerlich an 2x50Ohm doppelt so viel Spannung raus, wie an 
2x25 Ohm.
So ein Mischmasch-Filter wie du da jetzt hast, ist aehnlich grosser 
Mist, wie mehrere RC-Filter in Kette. Da sieht man schon immer, dass der 
Entwickler so richtig keinen Plan hatte. Also nicht machen.
Und beim Simulieren nicht nur den Daempfungsverlauf angucken, sondern 
auch mal die Gruppenlaufzeit; insbesondere dann, wenn man die Daempfung 
gerade so richtig toll findet.

Gruss
WK

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Dergute W. schrieb:
> So ein Mischmasch-Filter wie du da jetzt hast, ist aehnlich grosser
> Mist, wie mehrere RC-Filter in Kette. Da sieht man schon immer, dass der
> Entwickler so richtig keinen Plan hatte. Also nicht machen.

Gut, ich bin halt kein Entwickler, sondern mache das als Hobby. Im 
Anhang mal ein Filter wie es aus Qucs rausfällt. Die 25 Ohm habe ich 
eingebaut damit das 50 Ohm für jede Seite sind. Die 820 Ohm und 1k Ohm 
am OPV habe ich drinnen, damit die Amplitude danach wieder bei 0 dB 
liegt.

Tja, aber es gibt auch viele verschiedene OPVs von vielen Herstellern. 
Für mich ist das schwer einen auszuwählen. Ich muss mir einfach mehr 
Evalboards angucken.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ja, so "sieht" das Filter jeweils ca. 50 Ohm an Ein- und Ausgang und 
sollte dann nur noch Ripple machen, wenn's so gewuenscht war 
(Tschebyscheff/Cauer).

Bei den Superduper-Highspeed-OpAmps hab' ich auch keine Ahnung, ich bin 
da entwicklungstechnisch eher bei TL084 stehengeblieben :-)

Gruss
WK

von Peter D. (peda)


Lesenswert?

Gustl B. schrieb:
> Gut, ich bin halt kein Entwickler, sondern mache das als Hobby.

Als Anfänger würde ich nicht gleich als erstes Projekt einen super-duper 
highend Generator bauen wollen.
Wie wärs, erstmal mit 100kHz Erfahrungen zu sammeln?

von -gb- (Gast)


Lesenswert?

Nun, den Generator bis 100 kHz habe ich schon. Funktioniert brauchbar.

Das ist irgendwie zu einer Krankheit geworden für mich. Ich würde gerne 
mehr lernen bezüglich Layout und Schaltungen und leider fehlen mir die 
Anwendungen. Also nehme ich schnelleres Zeug und baue drauf los. 
Vielleicht nicht ganz so primitiv sondern ich lese sehr viele 
Datenblätter. Ja und dann hab ich das aufgebaut und suche die nächste 
Herausforderung.
So richtig schnelle Sachen kann ich mit meinem Hobbybudget leider nicht 
machen, da werden Platinen schnell teuer.

von Gustl B. (-gb-)


Lesenswert?

So, in meinen Vorüberlegungen stehe ich wieder vor einem mit neuen 
Problem.
Ich habe einen Taktgeber und daran sollen mehrere ICs angeschlossen 
werden.

Der DAC benötigt einen Takt, gibt aber selber keinen Takt aus. Um also 
vom FPGA Daten zum DAC zu liefern, benötigt das FPGA ebenfalls diesen 
Takt. Ich muss den Takt an beide ICs irgendwie anschließen.
Es handelt sich um einen LVDS Taktgeber. Der DAC hat LVDS Takteingänge 
und das FPGA auch. Kann man da einfach beide zusammenverbinden? Quasi 
ein Y-Stück und dann jeweils direkt vor dem Ziel die Kondensatoren und 
den Terminierungswiserstand einbauen?

Ich würde sogar lie Leitungen zu den ICs gleich lang machen. Das geht 
ganz einfach: Man zieht um beide ICs einen Kreis mit gleichem Radius, 
und da wo sich die Kreise schneiden platziert man die Clock. 
Zwinkersmiley (-;

Terminiert man dann an jedem Ende mit 100 Ohm oder nurnoch mit 50 Ohm 
weil es ja zwei Enden sind?

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Die High-Ende Lösung wäre, einen Taktgeber mit mehreren synchronen 
Ausgängen zu verwenden. Aber ein y-Stück mit kurzer Verzweigungsstrecke 
kann schon auch gehen.

Gustl B. schrieb:
> Terminiert man dann an jedem Ende mit 100 Ohm oder nurnoch mit 50 Ohm
> weil es ja zwei Enden sind?

Die Terminierungen liegen parallel. Wenn schon, dann von 100Ohm auf 
200Ohm hochgehen weil es zwei Enden sind.

von Gustl B. (-gb-)


Lesenswert?

Stimmt, sorry, das war dumm von mir. Der Strom teilt sich ja auf und 
beim halben Strom braucht man den doppelten Widerstand damit die gleiche 
Spannung abfällt. Dann werde ich das mal mit Y versuchen ... bin noch 
unschlüssig welcher DAC es wird, aber da die ja deutlich günstiger sind 
wie ADCs könnte ich da schon einen 200 MHz 16 Bit draufsetzen wie den 
MAX5875. Genug IOs hat das FPGA.

Bis es soweit ist dauert es aber noch ein paar Monate, habe gerade eher 
wenig Zeit.

von Kalle (Gast)


Lesenswert?

Generiere den Takt für den DAC einfach im FPGA und forwarde diese Clock. 
Das spart dir dann auch die Clock Domain Crossings im FPGA. Du kannst 
deinen Taktgeber ja als Referenztakt für das FPGA verwenden.

von Achim S. (Gast)


Lesenswert?

Kalle schrieb:
> Generiere den Takt für den DAC einfach im FPGA und forwarde diese Clock.
> Das spart dir dann auch die Clock Domain Crossings im FPGA.

Für eine mixed signal Anwendung und bei den hochfrequenten Signalen, die 
er erzeugen will, ist das ggf. ein schlechte Idee: der CLK-Jitter kann 
schnell die begrenzende Größe für die effektive Auflösung des DACs 
werden. Die meisten Application Notes dazu findet man zu ADCs, aber bei 
DACs gilt sinngemäß dasselbe:
https://www.analog.com/media/en/training-seminars/tutorials/MT-019.pdf

Und der Takt aus dem FPGA (wo direkt nebenan viele FlipFlops 
gleichzeitig schalten und wo ggf. eine PLL der Sollfrequenz 
hinterherregelt) ist der Jitter tendentiell deutlich größer als aus 
einem dedizierten CLK-IC.

Wenn der TO tatsächlich einen DAC mit 100MHz bis 200MHz betreiben will 
ist der DAC-CLK ja evtl. auch als Haupttakt fürs FPGA geeignet, so dass 
auch in dem Fall kein Clock Domain crossing nötig wird.

von -gb- (Gast)


Lesenswert?

Domain Crossing habe ich leider trotzdem. Der ADC hat seinen eigenen 
Takt und für die Kommunikation mit dem FT2232H gibt es auch einen Takt. 
Ist aber alles nicht so wild dank independend clock fifos.

Jap als Taktgeber werde ich schon einen LVDS Oszillator verwenden. Am 
ADC hängt schon ein Si545 Ultra dran, ja, ist teuer, ist aber ein 
Lernprojekt und daher ein Einzelstück. Den gibt es auch mit 200 MHz, den 
wollte ich verwenden.

von Gustl B. (-gb-)


Lesenswert?

Der DA9747 hat einen Clock Ausgang, das ist doch recht fein.
https://www.analog.com/media/en/technical-documentation/data-sheets/AD9743_9745_9746_9747.pdf
Ich brauche also kein Y-Stück auf der Platine.

Diese Dual-DACs (wie auch der oben genannte von Maxim) kann man entweder 
über beide Datenports mit Daten füttern oder auch nur über einen 
Datenport dann interleaved. Aber: Im Interleaved Modus hat man dann nur 
die halbe Datenrate. Man kann also nicht selber entscheiden, dass man 
nur einen der DACs mit voller Samplerate verwenden möchte oder eben 
beide bei halber Samplerate. Das ist schon schade.
Bei den ADCs die ich verwende, dem AD9650, gibt es auch einen 
interleaved Modus, da werden die Daten von beiden ADC Kanälen auf einen 
Datenausgang gemultiplexed und zwar dann mit der doppelten Datenrate. 
Sprich beide ADCs tasten weiterhin mit der vollen Samplerate ab. Dazu 
hat der Stein zwei getrennte Clock Ausgänge die im interleaved Modus 
dann um 180° verschoben sind. Ich finde das ziemlich schick. Aber gut, 
dann frisst es eben viele IOs.

von Kalle (Gast)


Lesenswert?

Gustl B. schrieb:
> Dazu
> hat der Stein zwei getrennte Clock Ausgänge die im interleaved Modus
> dann um 180° verschoben sind. Ich finde das ziemlich schick. Aber gut,
> dann frisst es eben viele IOs.


Ich sehe da im Datenblatt keine 2 Clock-Ausgänge, das sieht wie eine 
normale DDR über eine einzelne Clock aus.

von Gustl B. (-gb-)


Lesenswert?

Das bezog sich auf den genannten ADC. Der DAC hat nur einen Clock 
Ausgang und ja, da hast du recht, der will dann die doppelte Datenrate. 
Sehr schön, das hatte ich übersehen. Also werden weiterhin beide DACs 
mit der vollen Datenrate bespielt und ich benötige nur die halbe Zahl an 
IOs. Sehr fein!
Damit hat sich die Kritik von oben erübrigt.

Aber traue ich mir das zu und lasse die IOs wirklich weg? Hm ...

Edit:
In dual-port mode, the data must be delivered at the sample rate
(up to 250 MSPS). In single-port mode, data must be delivered
at twice the sample rate. Because the data inputs function only
up to 250 MSPS, it is only practical to operate the DAC clock at
up to 125 MHz in single-port mode.

Edit2:
In single-port mode, when the IQSEL input is high, Port 1 data
is delivered to DAC1 and when IQSEL is low, Port 1 data is
delivered to DAC2.

Man kann also anscheinend auch mit nur einem Datenport auswählen an 
welchen DAC die Daten gehen und so einen DAC mit voller Datenrate 
betreiben oder zwei DACs mit der halben Datenrate.

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

Braucht man am Ausgang vom DAC überhaupt einen OPV? Ich habe mir jetzt 
mal Bildchen vom Red Pitaya angeguckt und das sieht schon leicht seltsam 
aus:

In einer frühen Version:
https://de.rs-online.com/euro/img/site/campaigns/infozone/395-1.jpg
Zu sehen ist oben ein OPV.

In einer späteren Version:
https://indibit.de/wp-content/uploads/2016/08/rp_alucase_08.jpg
Oben schonmal kein OPV. Dafür deutlich mehr Bauteile im Filter.

https://www.hamspirit.de/wp-content/uploads/2015/03/RED_PITAYA_NEU_04.png
Auf der Unterseite sitzen welche. Aber wofür die da sind ist auch 
unklar. Leider gibt es kein Schematic.

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.