Hallo zusammen, ich brauche einen hochauflösenden DAC und wollte das mal mit einem PWM DAC ausprobieren. Ich habe die Idee bei einem kommerziellen GPSDO abgeschaut, ich weiss aber nicht, welche Auflösung der DAC dort hat. Aber ich habe die Schaltung mal mehr oder weniger aus dem Oscilloquartz STAR4+ übernommen. Ich möchte mal schauen, wie hoch man mit der Auflösung des DACs gehen kann, bzw wie hoch man die Dynamik treiben kann. In der Beilage mal als erstes die Schaltung. Der ADR441 stellt eine gemaue Referenzspannung von 2.5V bereit. Der ADG779 dient als Mux, der entweder 0V oder 2.5V auf den aktiven Filter gibt. Der Frequenzgang des aktiven Filters ist in activefilter.png ersichtlich. Ich habe mir jetzt folgendes überlegt. Wenn man eine Auflösung von N Bits erzielen möchte, dann muss die PWM-Frequenz so gross sein, dass bei dieser Frequenz die Dämpfung des aktiven Filters mindestens 6dB*N Beträgt. Also Beispielsweise müsste man für 16 Bits eine Dämpfung von mindestens 96 dB haben, anhand des Frequenzgangs sieht man, dass dies ab einer Frequenz von ca. 110 Hz der Fall ist. Also müsste für 96 dB Dynamik die PWM-Frequenz mindestens 110 Hz sein. Ich habe noch ein weiteres Bild angeängt, fpwm.png. Dort gibt die blaue Kurve die mindestens nötige PWM-Frequenz für die gewünschte Dynamik an. Die rote Kurve ist die höchste PWM-Frequenz, die sich mit einem STM32F407 Timer gerade noch realisieren lässt mit der angegebenen Anzahl Bits. Aus diesem Graph kann man meiner Meinung nach entnehmen, dass man eine Dynamik von allerhöchstens 19 Bits bzw. 114 dB erzielen kann. Mit einer Timer-Auflösung von 19 Bits wäre die PWM-Frequenz rund 305 Hz, bei dieser Frequenz hätte das Filter eine Dämpfung von 130 dB. Das müsste theoretisch also funktionieren. Würde man die Timer-Auflösung auf 20 Bits setzen, dann liesse sich allerhöchstens eine PWM-Frequenz von 152 Hz erzielen; für 20 Bits bräuchte man eine Dämpfung von mindestens 120 dB, die das Filter aber erst bei ca. 220 Hz erreicht, d.h. 20 Bits sind nicht mehr realisierbar. Meine Frage wäre nun, wie realisitisch Aufösungen von 16, 17, 18 oder gar 19 Bits mit diesem PWM DAC wären.
Moin, Meine Frage waere nun: Fuer was braucht man so ein lahmarschiges, aber superdupergenaues Signal? Gruss WK
Dergute W. schrieb: > Meine Frage waere nun: Fuer was braucht man so ein lahmarschiges, aber > superdupergenaues Signal? ich will einen neuen GPSDO bauen und meinen bestehenden noch verbessern. Mit dem lahmarschigen Signal wird der Oszillator gesteuert. Da man den nur sehr langsam und nur sehr wenig variieren muss, genügt es, wenn man das Signal mit einer Taktrate von ca. 1 Hz ändern kann. Die Änderungen werden eh winzig sein, aber der Oszillator nimmt eine Abstimmspannung von 0..10 Volt an, und man möchte die Frequenz möglichst fein einstellen können, also will man viele Bits. Geschwindigkeit ist völlig sekundär. Wenn das innerhalb einer Sekunde einschwingt, reicht das.
Moin, Hm - ok. Ich bin nicht so der supergenau-Analogschaltungsbauer, fuer eine hier veroeffentlichte Schaltung sind ja immerhin schon mal Block-Cs drinnen :-) Irgendwas hab' ich noch im Hinterkopf, dass OpAmps es gerne sehen, wenn sie aus ihren beiden Eingaengen rausglotzen, dass dann der Widerstand, den sie sehen gleich gross ist. Ist hier eher nicht so, weiss aber nicht, ob das dann kratzt. Gruss WK
Dergute W. schrieb: > Irgendwas hab' ich noch im Hinterkopf, dass OpAmps es gerne sehen, wenn > sie aus ihren beiden Eingaengen rausglotzen, dass dann der Widerstand, > den sie sehen gleich gross ist. Ist hier eher nicht so, weiss aber > nicht, ob das dann kratzt. das hängt damit zusammen, dass der Bias Current von den Eingängen dann an der Impedanz jeweils denselben Spannungsabfall hervorruft. Aber das ist hier prinzipbedingt nicht möglich, weil beim Sallen Key am + Input ja der Kondensator sitzt. In dem Fall hier ist das aber auch nicht so tragisch, weil der Bias Current einfach einen zusätzlichen Offsetfehler hervorruft. Das wären 1pA * 100k = 100nV, das würde dann noch mit Faktor 4 verstärkt d.h. 400 nV Offsetfehler aufgrund der nicht identischen Beschaltung der Eingänge. Das ist in dieser Anwendung wohl vernachlässigbar, die Offsetspannung vom OpAmp alleine ist schon 750 Mikrovolt.
Hier sind einige infos zur PWM DAC Ripple Reduzierung: https://www.edn.com/cancel-pwm-dac-ripple-with-analog-subtraction/ https://www.ti.com/lit/an/slyt795/slyt795.pdf?ts=1693159210401&ref_url=https%253A%252F%252Fwww.google.ca%252F https://circuitcellar.com/resources/quickbits/pwm-dac-ripple-reduction-2/ https://www.edn.com/fast-settling-synchronous-pwm-dac-filter-has-almost-no-ripple/
16 oder mehr bits braucht man nur, wenn der Stellbereich unangemessen gross ist. Sonst nimmt man naemlich einfach einen 12 bit DAC mit einem Latch davor. Das hat den entscheidenden Vorteil, dass "ungeregelt" der O/VCXO auf seiner letzten Frequenz weiterlaueft. Und das will man ueblicherweise. Man koennte sogar einen spottbilligen PT8211 (2 x 16 bit) benutzen. Der speichert dann selber, will aber per (Spezial-)SPI gesteuert werden.
Motopick schrieb: > Sonst nimmt man naemlich einfach einen 12 bit DAC mit einem > Latch davor. MCP4725: Wert per I2C reinschreiben, der bleibt bis zur nächsten Änderung und kann sogar einen Stromausfall überstehen.
> und kann sogar einen Stromausfall überstehen Entscheidend ist, dass der VCXO weiterlaeuft. Natuerlich inklusive seines "Oefchens". :) Es wird sicher noch viele andere geeignete DACs geben. > aber der Oszillator nimmt eine Abstimmspannung > von 0..10 Volt an und braucht davon fuer die Regelung nur einen Bruchteil des Bereichs.
hmm ok aber irgendwie beantwortet das meine Frage nicht so ganz, ob dieser DAC 16, 17, oder 18 Bits erreichen kann.....
> hmm ok aber irgendwie beantwortet das meine Frage nicht so ganz, ob > dieser DAC 16, 17, oder 18 Bits erreichen kann..... Ich denke mal das wird stark von den OPVs und der Qualitaet der Widerstaende abhaengen. Grundsaetzlich machbar ist das aber schon. > Meine Frage waere nun: Fuer was braucht man so ein lahmarschiges, aber > superdupergenaues Signal? Ist in der Messtechnik nicht ungewoehnlich weil genauer wie ein bezahlbarer DAC und du auch noch sehr einfach Potentialtrennung erreichen kannst. Vanye
Tobias P. schrieb: > hmm ok aber irgendwie beantwortet das meine Frage nicht so ganz, ob > dieser DAC 16, 17, oder 18 Bits erreichen kann..... Theoretisch ja, praktisch ist das eher zweifelhaft. Denn dazu muss VIEL richtig gemacht werden. Angefangen von der Referenzspannungsquelle, Gatter für die PWM, Filter, Offsets der OPVs. ECHTE 130dB Dämpfung muss man erstmal umsetzen. Und zu guter Letzt muss man Auflösung und Genauigkeit unterscheiden, hier vielleicht auch noch die Drift bzw. Temperaturstabilität. Solche hohen Auflösungen macht man heute sicher NICHT mit einer einfache PWM und einem irrsinnig schmalbandigen Filter, sondern nimmt Sigma-Delta DACs und andere Konzepte.
Die Auflösung schafft er natürlich, aber das 19. Bit verschwindet schon im Rauschen vom AD8626. Die Offset-Drift ist ähnlich groß, und zwar pro Grad. Na gut, die ganze Mimik sitzt im Ofen, aber wie gut ist die Temperaturregelung? Dank Ofen ist aber der Biasstrom viel größer als 1pA und von der Biasstrom-Drift weiß man garnichts. Dazu kommen noch so 50pA Leckstrom vom ADG7798. Und noch viel mehr von der Platine, wenn die nicht 100% sauber ist. Der MUX hat zwar im Signalpfad 200MHz Bandbreite, kann aber nicht so schnell umschalten. Ein Diagramm geht bis 10MHz; wenn man die Schaltzeiten zusammenzählt wären evt. 40MHz drin. Das reicht natürlich für 110 oder 300 Hz, verfälscht aber die LSBs, vor allem, weil die Schaltzeiten sehr unsymmetrisch sind. Wie reagiert eigentlich so ein Filter auf die höchsten Frequenzanteile? Ist ein 100K-Widerstand bei 70MHz noch ein Widerstand? Was macht der 1uF damit? Der OP ist ab 1MHz oder so am Ende. Also, im Prinzip ja, aber...
Bauform B. schrieb: > Also, im Prinzip ja, aber... So wie man im Prinzip bemannt zum Mond oder Mars fliegen kann ;-)
Mit höherer Bitzahl wird die Filterung bei PWM immer aufwendiger. Man kann aber auch 2 PWMs addieren, anbei eine einfache Schaltung. Oder man nimmt PCM (Addition mit Überlauf).
Moin, Peter D. schrieb: > Man kann aber auch 2 PWMs addieren, anbei eine einfache Schaltung. Bevor ich mir so einen Quark antu', nehm' ich doch lieber so einen Billig-Audio-DAC wie von motopick vorgeschlagen. ROHM hatte frueher auch so'n Ding, koennte sogar Pinkompatibel gewesen sein. Der frisst dann 3 GPIOs (Wenn's eh so langsam sein kann, braucht's ja keinen HW-I2S Master) und wenn ich immer noch feiner aufloesen will, kann ich noch per SW lustige Sigma-Delta Geschichten rechnen und ausgeben lassen. Gruss WK
Dergute W. schrieb: > Peter D. schrieb: >> Man kann aber auch 2 PWMs addieren, anbei eine einfache Schaltung. > > Bevor ich mir so einen Quark antu', nehm' ich doch lieber so einen > Billig-Audio-DAC wie von motopick vorgeschlagen. Unsinn. Audio-DAC haben keine sonderlich gute DC Kennline. Wozu auch?
Moin, Falk B. schrieb: > Unsinn. Audio-DAC haben keine sonderlich gute DC Kennline. Ein 74ruelps125 ist da natuerlich Groessenordungen besser. scnr, WK
Dergute W. schrieb: > Falk B. schrieb: >> Unsinn. Audio-DAC haben keine sonderlich gute DC Kennline. > > Ein 74ruelps125 ist da natuerlich Groessenordungen besser. Das war gar nicht die Frage und schon gar nicht meine Aussage. Dieses Gebastel ist so oder so im Jahr 2023 für die Katz.
Vanye R. schrieb: >> hmm ok aber irgendwie beantwortet das meine Frage nicht so ganz, ob >> dieser DAC 16, 17, oder 18 Bits erreichen kann..... > > Ich denke mal das wird stark von den OPVs und der Qualitaet der > Widerstaende abhaengen. Grundsaetzlich machbar ist das aber schon. Der TO wird auf geringstes Rauschen im Bereich vom 1/1000 Hz Wert legen müssen -- das Rauschen taucht als ungewollte Phasenmodulation seines GPSDO auf... Die Ref ADR441 ist in diesem Frequenzbereich wohl nicht spezifiziert, konnte kein Rauschspektrum im Datanblatt finden) -- und rauscht auf jeden Fall schon mit 1.2uVpp oberhalb von 0.1Hz. Ich würde mir doch was deutlich besseres raus suchen. Die OPAs AD2826 rauschen mit 16nV/sqrt(Hz), und bei 1kHz ist man schon im 1/f-Bereich. So wird das IMHO nie was... Ich würde da mal bei den bipolaren OPAs suchen, wie LT1028 (1nV/sqrt(Hz) // 1/f corner = 14Hz). Das geht schon mal in die richtige Richtung... Aber dann schlägt das Stromrauschen (1.6pA // 1/f corner = 800Hz) zu! Drum müsste dann die Schaltung DEUTLICH niederohmiger werden! PS: Ein 100kOhm rauscht schon mit 40nV/sqrt(Hz) ... Literatur: vgl. z.B. PMI (Precision Monolithics Inc. - heute Analog Devices), AN-15
:
Bearbeitet durch User
Dergute W. schrieb: > Ein 74ruelps125 ist da natuerlich Groessenordungen besser. Was den Temperaturgang betrifft, natürlich. Er arbeitet hier als analog Umschalter von GND nach 5V Referenz. Damit sind Störungen von DVCC des MC eleminiert.
> Unsinn. Audio-DAC haben keine sonderlich gute DC Kennline. Wozu auch?
Ja eben. Wozu auch?
Der DAC sitzt in einer Regelschleife. Der PT8211 ist zumindest
monoton. Ein wenig Linearitaetsfehler stoert da ueberhaupt nicht.
Der TO sollte seinen VCXO vllt einmal ausmessen um den noetigen
Stellbereich sinnvoll eingrenzen zu koennen.
Also z.B. +/- 2 ppm.
Mit einem Signal von 0 - 10 V zu steuern, ist ja auch kaum sinnvoll.
Und eine "jammernde" PWM wuerde ich da jedenfalls nicht haben wollen.
Sinnvollerweise baut man einen GPSDO mit einem OCXO, der hat schon eine Grundstabilitaet von 10^-8, den kann man dann schoen mit einem 16bit DAC zwischen 1..3V ansteuern. Ich anerkenne den Versuch, das Ganze mit weniger Strom laufen zu lassen, also einen TCVCXO zu verwenden. Dort macht man die Temperaturkorrektur also mit dem DAC. Die Temperaturaenderung sollte langsamer wie die Integrationszeit sein. Bei eingeschraenktem Aussteuerbereich sollten 16 bit genuegen, die sind auch noch zahlbar. Die ueblichen OCXO haben auch nur einen Aussteuerbereich von ppm. Immer dran denken, bei VCXO und PLL Geschichten sollten die Spannungsregler schon rauscharm sein. Alternativ gibt es Chips, welche das Ganze machen. zB den ADF9548.
:
Bearbeitet durch User
Motopick schrieb: > Also z.B. +/- 2 ppm. > Mit einem Signal von 0 - 10 V zu steuern, ist ja auch kaum sinnvoll. mein OCXO hat einen Stellbereich von 0.6ppm über den Spannungsbereich 0..10V.
:
Bearbeitet durch User
Tobias P. schrieb: >> Also z.B. +/- 2 ppm. >> Mit einem Signal von 0 - 10 V zu steuern, ist ja auch kaum sinnvoll. > > mein OCXO hat einen Stellbereich von 0.6ppm über den Spannungsbereich > 0..10V. Das sind 60e-9 / V oder 60e-12/mV. Was will man da mit unter 1mV Auflösung, außer sich selbst veralbern?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.