Hi,
nach dem ich bei den üblichen Verdächtigen nicht fündig geworden bin und
ich auch keine Seite mit einer herstellerübergreifenden Parametersuche
kenne, werfe ich die Frage einfach mal hier in die Runde:
Ich bin auf der Suche nach einer MCU mit mindestens 80 MHz und (jetzt
kommts!) 2 oder 3 16 Bit DACs. Aber bitte keine Audio-DACs, die schon
mit einer Kapazität entkoppelt sind...
Hat da jemand eventuell einen Tipp?
Danke!
Gul
Gul schrieb:> und> ich auch keine Seite mit einer herstellerübergreifenden Parametersuche> kenne
mouser, farnell, digikey und viele andere Distributoren.
Gert
Gert schrieb:> STM32F373R8T6, STM32H743VIH6
Die haben allerdings nur die STM32 üblichen 12 Bit-DACs.
Sollen es denn 16 Bit Auflösung oder Genauigkeit sein? Die
Einschwingzeit ist ebenfalls nicht spezifiziert. Und warum die CPU mit
>= 80 MHz arbeiten muß bleibt auch offen. Freitags esse ich keine
Salami, nur Fisch ;-)
Es gibt eine Unmenge an µCs mit 16 Bit Timern, die per PWM auch 16 Bit
DACs realisieren können: STM32xxx.
Ich rate aber mal, daß 10 MS/s gefordert werden.
Dr. Sommer schrieb:> Gert schrieb:>> STM32F373R8T6, STM32H743VIH6>> Die haben auch nur 12 bit.
Sorry, temporäre Leseschwäche hier. Ich habe ADC gelesen.
Gert
m.n. schrieb:> Es gibt eine Unmenge an µCs mit 16 Bit Timern, die per PWM auch 16 Bit> DACs realisieren können
…und dann per RC-Glied Gleichspannung draus machen? Ich vermute mal die
störende kapazitive Ankopplung ist ein Hinweis darauf. Aber ich bin mal
gespannt, wofür die Rechenleistung und DAC-Genauigkeit notwendig sein
sollen. Bei 80MHz sollen sicher Gleitkomma-Operationen gemacht werden
und Grafik…der Befehlssatz ist ein Mysterium, vielleicht etwas mit
Java-VM? Soll es ein Labornetzteil mit Web-Schnittstelle werden?
Im ominösen Früher gab es eine Spezies, die als Ingenieur bezeichnet
wurde. Durch jahrzehntelange Züchtungsbemühungen waren die in der Lage,
ein Problem so umzuformulieren, dass es mit den Mitteln ihrer Zeit eine
wirtschaftlich sinnvolle Lösung gab. (Freitagszitat aus der
»Tigerfibel«, S. 91: »Walzen ist billiger als MG!«)
Vielleicht kaufst du dir ein sehr genaues Potentiometer, pufferst das
mit einem triebstarken Operationsverstärker, spendierst eine genaue
Anzeige und beauftragst einen Studenten, vorgegebene Werte einzustellen.
Boris O. schrieb:> Bei 80MHz sollen sicher Gleitkomma-Operationen gemacht werden> und Grafik…
Warum nicht? Könnte doch eine DSP-Anwendung sein.
Boris O. schrieb:> der Befehlssatz ist ein Mysterium, vielleicht etwas mit> Java-VM?
Vielleicht einfach nur ARM? ARM-Mikrocontroller mit 80MHz und FPU sind
jetzt wirklich keine Seltenheit.
Boris O. schrieb:> Soll es ein Labornetzteil mit Web-Schnittstelle werden?
Vielleicht ja eines mit extrem präziser und schneller Regelung?
Boris O. schrieb:> Durch jahrzehntelange Züchtungsbemühungen waren die in der Lage,> ein Problem so umzuformulieren, dass es mit den Mitteln ihrer Zeit eine> wirtschaftlich sinnvolle Lösung gab
Wie sah denn 1980 die wirtschaftlich sinnvolle Lösung für KI-fähige
Computer im Hosentaschenformat aus? Manchmal ermöglichen neue
Technologien neue Lösungen.
Und bevor jetzt jemand sagt : "kein audio dac" ... bitte erstmal auf das
blockschaltbild im datenblatt schauen. Das ist ein R2R Wandler mit
Opamp. Eine Kapazität ist im Chip laut BLockschaltbild im Signalpfad
nicht vorhanden. Und afaik kann man den auch für andere zwecke einsetzen
als Audio.
Boris O. schrieb:> Im ominösen Früher gab es eine Spezies, die als Ingenieur bezeichnet> wurde.
Stimmt. Und diese Spezies war in der Lage, mit gegebenen Anforderungen
zu arbeiten, ohne Ihrem Gegenüber gleich zu unterstellen, er wäre zu
blöd für das, was er da tut und wenn er nur sagt, was er machen will,
kommt eine vieeeeeel einfachere Lösung bei raus, auf die ja niemand
sonst gekommen wäre.
Grundsätzlich: die 80 MHz sind über dem Daumen gepeilt, sollten aber in
etwa hinkommen. Bei der Anwendung geht es um die Konvertierung von
Digitaldaten in eben dieses analoge Signal in Echtzeit.
Und ja, dafür sind 16 bit Auflösung und Genauigkeit erforderlich. Und
ja, es muss ein echter DAC sein und kein Audio/RC-Geraffel. Und ja, ich
schreibe das alles genau so hin, weil es für diese Anwendung erfoderlich
ist. Und nein, es stört mich nicht im mindesten, wenn Oberschlaumeier,
die es sowieso viel besser wissen, diesem Thread einfach fern bleiben.
Danke!
Gul schrieb:> Bei der Anwendung geht es um die Konvertierung von> Digitaldaten in eben dieses analoge Signal in Echtzeit.
Muss denn da viel gerechnet werden? Wenn die Daten nur rausgeschoben
werden sollen, können Controller mit DMA das in Hardware ohne die CPU zu
belasten. Ist aber eh nicht so schlimm, da 80 MHz wie gesagt kein großes
Problem sind.
Dr. Sommer schrieb:> Muss denn da viel gerechnet werden?
Tatsächlich: ja. Es ist eine Checksumme im Spiel, es gibt zwei
Datenformate, zwischen denen man dynamisch umschalten können muss und
die Nutzdaten müssen umorganisiert werden, da die in der Form, in der
sie eingetrudelt kommen, garantiert von keiner DAC-Hardware verwendet
werden können.
Und ein bissl Luft soll ja auch noch bleiben, vielleicht fällt irgend
welchen Leuten ja was cleveres ein, was man damit zusätzlich auch noch
machen könnte.
Gul schrieb:> Stimmt. Und diese Spezies war in der Lage, mit gegebenen Anforderungen> zu arbeiten
Na dann warten wir mal bis du deine Anforderungen vervollständigt hast.
Gul schrieb:> Hat da jemand eventuell einen Tipp?
Es fehlt imo Werte für den analogen Ausgang.
Die benötigte Auflösung hast du ja angegeben (ca.15ppm). Es fehlen
Genauigkeit und Dynamik 0-X (M)Hz?
Ein 80Mhz Prozessor hat ja mit dem DAC erstmal wenig zu tun. Was nützt
dir der schnellste Prozessor wenn der DAC nur bei 10 kHz sauber ausgibt?
Bei 16Bit @ 80Mhz wäre der Ort an dem das Signal generiert wird imo eher
Nebensache.
Wenn es wichtig ist würde ich den DAC auch immer als Subsystem gesondert
designen. Dann bin ich nicht an das was Prozessorhersteller unter analog
versteht gebunden sondern kann selbst designen bzw bei den Spezialisten
kaufen.
Analog Devices ist da meine erste Adresse und deren Demoboards sind
super.
Gul schrieb:> Stimmt. Und diese Spezies war in der Lage, mit gegebenen Anforderungen> zu arbeiten,
Und genau nach Deinen Anforderungen wurde bereits eine korrekte Lösung
genannt: eine 16 Bit PWM mit Tiefpass. Das ist ein "echter DAC", da es
einen digitalen Wert in eine analoge Spannung wandelt (was wäre denn ein
"unechter" DAC?), hat 16 Bit Auflösung und ist "kein Audio-Geraffel"
(dafür wohl i.d.R. zu langsam).
Die geforderte Signal-Bandbreite wurde ja nicht spezifiziert. Und ohne
Wissen über die geplante Anwendung kann sich das auch der beste
Ingenieur nicht aus den Fingern saugen.
>>Boris O. schrieb:>> Im ominösen Früher gab es eine Spezies, die als Ingenieur bezeichnet>> wurde.>>Stimmt. Und diese Spezies war in der Lage, mit gegebenen Anforderungen>zu arbeiten, ohne Ihrem Gegenüber gleich zu unterstellen, er wäre zu>blöd für das, was er da tut und wenn er nur sagt, was er machen will,>kommt eine vieeeeeel einfachere Lösung bei raus, auf die ja niemand>sonst gekommen wäre
Das waren noch Zeiten ... huiii. Mittlerweile sind die Ings viel
smarter, die Moeglichkeiten viel groesser, und mittlerweile ist das
Gegenueber generell zu bloed zu verstehen worum's ueberhaupt geht. Und
als Ing kann man der Firma viel Geld sparen wenn man bei ueberhoehten
Ideen die Anforderungen zurueckschraubt. Oder die Idee allenfalls gleich
in die Tonne sortiert.
Mittlerweile verwendet man eine ganze Leiterplatte mit ARMs, wofuer
frueher 3 Transistoren reichten. zB um einen Ballon aufzublasen. Aber
wenn's mit Webinterface sein muss..
Thomas E. schrieb:> eine 16 Bit PWM mit Tiefpass. Das ist ein "echter DAC",
Zwei kleine Fragen da ich das noch nie mit PWM gemacht habe.
Welche Genauigkeit bekommt man mit PWM hin?
Wie schnell wird das ganze (du musst ja am Ausgang filtern).
X4U schrieb:> Wenn es wichtig ist würde ich den DAC auch immer als Subsystem gesondert> designen.
Bei hohen Anforderungen setze ich noch einen digitalen Trenner
(ADUM1400) zwischen MC und DAC, damit mir das digitale Noise nicht über
Erdschleifen das Analogsignal versaut. <50µV Ripple sind schon ne
Hausnummer.
Naja, PWM ist langsam. Ein Frage der Aufloesung. Das kleinste Bit ist
die kleinste On-Zeit. zB 100ns. 16bit bedeuten nun 65'000 von denen. Das
waeren dann 650us. Und dann muss man noch mit dem Tiefpassfilter
drueber. Also irgendwo bei sub-kHz.
Wenn man's schneller will muss man dithern. Eben, eine Frage der
Anforderungen.
> dafür sind 16 bit Auflösung und Genauigkeit erforderlich
Hi,
Lehne ich mich zu weit aus dem Fenster wenn ich sage, dass beides
zusammen so überhaupt nicht existiert?
lg
Flippi schrieb:> Lehne ich mich zu weit aus dem Fenster wenn ich sage, dass beides> zusammen so überhaupt nicht existiert?
Der Gesamtfehler eines 16 Bit DAC dürfte zumindest die niederwertigsten
1-2 Bit ausmachen.
Insofern hast du wahrscheinlich recht.
Flippi schrieb:>> dafür sind 16 bit Auflösung und Genauigkeit erforderlich>> Lehne ich mich zu weit aus dem Fenster wenn ich sage, dass beides> zusammen so überhaupt nicht existiert?
Man könnte natürlich einen 24-Bit ADC nehmen und von dem nur die oberen
16 Bit benutzen. Schon hat man das.
Der Andere schrieb:> Der Gesamtfehler eines 16 Bit DAC dürfte zumindest die niederwertigsten> 1-2 Bit ausmachen.
Ich habe mit dem DAC8831 recht gute Erfahrungen gemacht, der hat typisch
0,5LSB Linearity error.
Der AD5791 hat 1LSB Error bei 20Bit, ist aber doch sehr teuer.
Peter D. schrieb:> Ich habe mit dem DAC8831 recht gute Erfahrungen gemacht, der hat typisch> 0,5LSB Linearity error.>> Der AD5791 hat 1LSB Error bei 20Bit, ist aber doch sehr teuer.
Ich hatte jetzt erst mal geschätzt.
Aber damit ists ja nicht getan. Wenn der TO 16 Bit Genauigkeit will,
dann darf ein nachfolgendes System einen Fehler von 0,0015% nicht
überschreiten.
Angenommen der Ausgang des DA Wandlers hat einen Ausgangswiderstand von
10 Ohm. Dann wäre dieser Fehler bei einer Belastung deutlich unter einem
Megaohm schon erreicht.
Also braucht man wohl einen Verstärker. 0,01% Widerstände für den
verstärker sind aber schon deutlich zu ungenau.
Und über Thermospannungen und Temperaturdrift haben wir noch gar nicht
geschrieben.
Und ob man das bei einer Bandbreite von 10Hz oder 1MHz haben will ist
nochmal eine ziemlich große Hausnummer
Man kann ziemlich viel erreichen, aber ob der To das kann (und braucht)?
Irgendwann wird der Poster dann noch eine Preisvorstellung in die Runde
werfen, die von voelliger Unkenntniss zeugt.
Und vielleicht kommt etwas spaeter dann auch noch die Anwendung : ein
paar LED ansteuern..
Gul schrieb:> Dr. Sommer schrieb:>> Muss denn da viel gerechnet werden?>> Tatsächlich: ja. Es ist eine Checksumme im Spiel, es gibt zwei> Datenformate, zwischen denen man dynamisch umschalten können muss und> die Nutzdaten müssen umorganisiert werden, da die in der Form, in der> sie eingetrudelt kommen, garantiert von keiner DAC-Hardware verwendet> werden können.http://www.analog.com/en/products/ad9777.html
... und das dann mit einem Sparten 6 oder so füttern.
Ansonsten: TI und Analog haben eine ganze Palette von den Dingern, da
darfst Du Dir selber was raussuchen.
fchk
Frank K. schrieb:> Ansonsten: TI und Analog haben eine ganze Palette von den Dingern, da> darfst Du Dir selber was raussuchen.
...und dann kannst du vielleicht noch mal mit etwas genaueren Angaben
fragen...
Gruß Rainer
Mit einem PWM-DAC ist das auch nicht so einfach, wie es gerne
beschrieben wird. Der Ausgangspin vom Prozessor hat einen Widerstand,
dann wird die PWM aus der I/O-Spannung generiert, die tendentiell
schmutzig und ungenau ist. Daher ein paar Fragen an GUI:
Ausgangsspannungsbereich?
Wie gut soll der DAC an 0V / Umax rankommen?
Monotonie gefordert?
Einschwingzeit?
Langzeitstabilität?
Geht auch ein externer DAC? Welche Kosten dafür sind möglich? Istb ein
SPI vorhanden?
Welche Last muss der DAC treiben?
Sind GND vom Prozessor und analoges GND das gleiche?
In welcher Stückzahl wird die Elektronik später gefertigt? Also auf wie
viele Stück werden die Kosten von deinen gedanken später umgelegt?
Die Kombination echte 16 Bit und aus einem Prozessor generiert hatte ich
letztens auf der Arbeit. Ging nicht. Was möglich wäre: das DAC-Signal
mit einem >=18Bit ADC zurückmessen und ggf. korrigieren. Der ADC muss
dann aber auch 18 echte Bit liefern. Das ist auch im Labor etwas, wo
vorher etwas Schweiß fließt.
Ich sag mal, das wird mit integriertem DAC nicht gut klappen.
Aber:
Dann nimmt man halt einen externen (da ist die Auswahl auch groß genug!)
und hängt den an die SPI, oder parallel. Dann kannst man den µC freier
auswählen, und bist nicht an den einen gurkigen µC mit dem guten DAC
festgelegt.
PS:
PWM - bei 16Bit. Ohjemminee.
Jeder sieht sofort, dass man einen Filter von wahrlich epischen Ausmaßen
braucht, um aus einem 3V3 Rechteck ein mit <50µV AC behaftetes
Ausgangssignal zu machen - was nötig ist, um 16 Bit "Genauigkeit" (was
auch immer das heißen mag) hinzubekommen.
Yepp, das geht so in Richtung 100dB ganz grob.
Mit einem RC-Glied wird das nur was, wenn man mit 100kHz-PWM ein
1Hz-Signal erzeugt.
Seeeeehr Praxistaugilch, muss man schon sagen ;-)
Es ist bei Weitem nicht nur ein Ausgangsfilter mit sehr langsamer
Grenzfrequenz. Bei 16 Bit und 3,3V sind 1LSB 50µV. Welcher
Spannungsregler ist so genau und das auch noch über einen
Temperaturbereich und natürlich über Zeit und wenn ein Prozessor mit
schwankendem Lastverhalten dran hängt. Außerdem müssen die 3,3V durch
die ganzen internen Strukturen vom Prozessor durch, bis sie am
Ausgangspin ankommen. 12 Bit ist unter Umständen noch möglich. Mit einem
Rückmessen über einen besseren (!) ADC kann da unter Umständen noch
etwas verbessert werden, aber die Luft ist da sehr dünn.
Kevin K. schrieb:> Temperaturbereich und natürlich über Zeit und wenn ein Prozessor mit> schwankendem Lastverhalten dran hängt. Außerdem müssen die 3,3V durch> die ganzen internen Strukturen vom Prozessor durch, bis sie am> Ausgangspin ankommen. 12 Bit ist unter Umständen noch möglich. Mit einem> Rückmessen über einen besseren (!) ADC kann da unter Umständen noch> etwas verbessert werden, aber die Luft ist da sehr dünn.
Ja, das auch.
Noch weitere Probleme:
Die Ausgangsstufe des Prozessors ist nicht symmetrisch - einer der zwei
FET ist hochohmiger. Macht einen DC-Fehler. Einen GAIN-Fehler, (vermute
ich), der auch noch mit der Temperatur driften dürfte.
Lächerlich? Bei 16Bit merkt man das...
Dazu: Die von mir erwähnten 1Hz bei 100kHz haben noch weitere Probleme:
Für eine 16-Bit-PWM bei 100kHz benötigt man eine Auflösung von 152ps
(6,5GHz). Dazu ist 1dB die -3dB Grenzfrequenz. Wenn man jede Sekunde den
Wert stellen will, braucht man aber eine viel höhere.
PWM ist gut und schön - für erstaunlich viele Anwendungen ist das
ausreichend. Aber die Anforderungen an die Hardware gehen exponentiell
mit der Frequenz.
Lösen kann man das alles mit einem externen DAC mit entsprechend genauer
Referenz.
jemand schrieb:> Mit einem RC-Glied wird das nur was, wenn man mit 100kHz-PWM ein> 1Hz-Signal erzeugt.
Wer dafür nur ein RC-Glied verwendet, muß schon sehr anspruchslos sein.
Kevin K. schrieb:> Bei 16 Bit und 3,3V sind 1LSB 50µV. Welcher> Spannungsregler ist so genau und das auch noch über einen
Und ein externer DAC braucht keine hochgenaue Referenzspannung?
Träum weiter.
jemand schrieb:> Noch weitere Probleme:> Die Ausgangsstufe des Prozessors ist nicht symmetrisch - einer der zwei> FET ist hochohmiger.
Zuerst nur ein RC-Glied und jetzt auch noch direkt das Ausgangssignal
vom µC-Pin verwenden?
Bei soviel 'Bescheidenheit' wird daraus nichts.
jemand schrieb:> Dazu: Die von mir erwähnten 1Hz bei 100kHz haben noch weitere Probleme:> Für eine 16-Bit-PWM bei 100kHz benötigt man eine Auflösung von 152ps> (6,5GHz). Dazu ist 1dB die -3dB Grenzfrequenz. Wenn man jede Sekunde den> Wert stellen will, braucht man aber eine viel höhere.
Das rechne uns bitte mal vor. Dann zeigt sich, wo die eigentlichen
Defizite liegen.
m.n. schrieb:> Kevin K. schrieb:>> Bei 16 Bit und 3,3V sind 1LSB 50µV. Welcher>> Spannungsregler ist so genau und das auch noch über einen>> Und ein externer DAC braucht keine hochgenaue Referenzspannung?> Träum weiter.
Bei einem DAC mit entweder interner oder externer Referenz kannst du
eben eine dedizierte Referenzspannung verwenden. Mit diesen sind 0,02%
und gute Temperaturstabilität machbar. Verbleibende Ungenauigkeiten sind
entweder trimmbar oder in Software kalibrierbar. Mit einem
Spannungsregler, der den Prozessor versorgt, hast du da keine Chance.
Kevin K schrieb:> Mit einem> Spannungsregler, der den Prozessor versorgt, hast du da keine Chance.
Das will doch niemand ernsthaft machen!
Ein ext. DAC darf >> € 10,-- kosten, aber per PWM aus dem µC liegt die
Kostenobergrenze wohl bei < 20 cent.
Stefanus F. schrieb:> Am analogen Audio-Ausgang des Raspberry Pi kann man schön die Grenzen> einer einfachen PWM zu Analog-Wandlung hören.
Was soll denn dieser Hinweis?
> Stefanus F. schrieb:>> Am analogen Audio-Ausgang des Raspberry Pi kann man schön die Grenzen>> einer einfachen PWM zu Analog-Wandlung hören.m.n. schrieb:> Was soll denn dieser Hinweis?
Ich wollte nur ein konkretes Beispiel nennen, das viele kennen.
Leute, hängt Euch nicht so an der PWM-Lösung auf! Zumindest mit meinem
Beitrag oben wollte ich (schon angesichts der hohen Präzision) das nicht
wirklich als Lösung propagieren, sondern dem TO nur klar machen, daß man
vom Ingenieur (egal, ob früher oder heute) die Lösung bekommt, für die
man die Spezifikation geliefert hat. Offenbar fühlte er sich ja hier
schon durch die Nachfragen angegriffen und und für dumm gehalten.
Ich vermute mal, daß er bei "Echtzeit" auch nicht an die Echtzeit einer
Heizungssteuerung gedacht hat.
Kevin K. schrieb:> Mit einem PWM-DAC ist das auch nicht so einfach, wie es gerne> beschrieben wird.
Ich hab schonmal eine 16Bit-PWM für eine Gleichspanungsnetzteil benutzt,
d.h. für sehr langsame Signale.
Der PWM-Ausgang des MC geht auf ein 74HC04-Gatter, welches als VCC die
Referenz (AD586) benutzt. Dahinter dann ein zweistufiger Tiefpaß mit
OPV.
Kevin K. schrieb:> Außerdem müssen die 3,3V durch> die ganzen internen Strukturen vom Prozessor durch, bis sie am> Ausgangspin ankommen.
Das kann man mit externen Analogschaltern umgehen.
jemand schrieb:> Dazu: Die von mir erwähnten 1Hz bei 100kHz haben noch weitere Probleme:> Für eine 16-Bit-PWM bei 100kHz benötigt man eine Auflösung von 152ps> (6,5GHz). Dazu ist 1dB die -3dB Grenzfrequenz. Wenn man jede Sekunde den> Wert stellen will, braucht man aber eine viel höhere.
Auch das kann man umgehen wenn man einen Grob und einen Fein PWMDAC baut
und die Signale dementsprechend addiert.
jemand schrieb:> Mit einem RC-Glied wird das nur was, wenn man mit 100kHz-PWM ein> 1Hz-Signal erzeugt.
Es gibt auch Filter hoehere Ordnung.
Peter D. schrieb:> Der PWM-Ausgang des MC geht auf ein 74HC04-Gatter, welches als VCC die> Referenz (AD586) benutzt. Dahinter dann ein zweistufiger Tiefpaß mit> OPV.
Genau so!
Neuere Gatter wie z.B. 74AUP1G04 haben Durchlauf- und Anstiegszeiten von
1 - 2 ns. Das reicht locker für ein mit 100 MHz erzeugtes PWM-Signal,
welches bei 16 Bit 1,525 kHz liefert. Bezogen auf 1 Hz sind dies 10
Oktaven, weshalb man mit TP-Filtern höherer Ordnung sehr gut glätten
kann (siehe Tietze/Schenk).
Aber der TO will ja bis heute nicht verraten, was er überhaupt braucht.
Gehen wir mal davon aus, daß er es selber nicht weiß.
Kevin K schrieb:> m.n. schrieb:>> Kevin K. schrieb:>>> Bei 16 Bit und 3,3V sind 1LSB 50µV. Welcher>>> Spannungsregler ist so genau und das auch noch über einen>>>> Und ein externer DAC braucht keine hochgenaue Referenzspannung?>> Träum weiter.>> Bei einem DAC mit entweder interner oder externer Referenz kannst du> eben eine dedizierte Referenzspannung verwenden. Mit diesen sind 0,02%> und gute Temperaturstabilität machbar. Mit einem> Spannungsregler, der den Prozessor versorgt, hast du da keine Chance.
Weil du diesen Unsinn jetzt zum wiederholten Mal schreibst: du hast da
etwas gründlich mißverstanden. Bei einem PWM-DAC genauso wie bei den
meisten (allen?) anderen DAC schlägt eine Abweichung der
Referenzspannung nicht direkt auf den Ausgang durch, sondern nur
relativ zur Wertigkeit des betrachteten Bits.
Je "kleiner" das Bit ist, desto geringer ist der absolute Einfluß der
Referenzspannung. Das ist ja gerade der Witz dabei. Wenn die
Referenzspannung um 1% schwankt, dann schwankt auch die Ausgangsspannung
des DAC um 1%. Vollkommen unabhängig vom digitalen Datenwort (Ausnahme:
0 - da ist die Ausgangsspannung ebenfalls 0, praktisch unabhängig von
der Referenzspannung).
Darüber hinaus muß man ja nicht die PWM direkt vom Pin des µC in den
Filter schicken, sondern darf noch einen z.B. CMOS Buffer dazwischen
schalten. Und wenn man dem eine eigene, saubere Betriebsspannung gibt,
löst sich das ganze "Problem" in Luft auf.
Auch der Ausgangswiderstand dieses Buffers ist weitgehend irrelevant.
Denn die Belastung durch das Filter ist ja a) hochohmig und b) konstant.
Es gibt also lediglich einen konstanten, relativen Fehler. Auch wieder
vollkommen unabhängig vom gewandelten Digitalwert.
Helmut L. schrieb:> Es gibt auch Filter hoehere Ordnung.
Mmhm. Dann rechne doch mal vor.
Dazu muss der TO Daten liefern, aber sind wir mal gnädig:
Wir wollen ein Signal mit 1kHz ausgeben. Der Fehler soll <3LSB sein.
Also musst du das Signal von 0V auf 3V3 in 1ms stellen können, mit
<150µV Fehler.
Dann mal her mit der PWM und dem Filter. Wir warten.
Nicht Bauchgeblubbere ist gefragt, Zahlen.
jemand schrieb:> Dann mal her mit der PWM und dem Filter. Wir warten.
Witzbold. Und was ist die PWM Frequenz? 10kHz oder 1Ghz?
Danach kannst du das Filter dir selber ausrechnen.
Helmut L. schrieb:> Witzbold. Und was ist die PWM Frequenz? 10kHz oder 1Ghz?> Danach kannst du das Filter dir selber ausrechnen.
Wir wollen 1kHz und <150µV (3LSB) Fehler. Also muss das Filter einen
Sprung von 0V auf 3V3 in 1ms mit einer Genauigkeit von 150µs machen
können.
Ich kenne dein Filter höherer Ordnung nicht. Aber aus dem ergibt sich
dann die minimale PWM-Frequenz.
Behaupten wir mal, dein Filter käme mit nur 3 Dekaden (das wird ein
wahrlich episches Filter ;-)) bei der Frequenz aus, brauchst du 1MHz
PWM-Frequenz. Um das auf 16Bit aufzulösen, brauchst du eine PWM mit
einer Zeitauflösung von 15ps. Wie du das lösen willst, würde mich auch
interessieren :-)
Meine beschränkte Vorstellungskraft hat PRobleme mit der Idee, das
Filter so hinzubekommen, dass es mit nur 3 Dekaden bei einer PWM mit 3V3
auf 150µV hinkommt, aber du kannst uns das bestimmt erklären.
Und bitte: Bleiben wir bei Fakten und Zahlen. Bauchgrimmen interessiert
nicht.
m.n. schrieb:> jemand schrieb:>> Meine beschränkte Vorstellungskraft hat PRobleme mit der Idee,>> Das war zu vermuten.
Helfe uns doch mal, wie baut man solche Filter?
Der Andere schrieb:> Der TO hat sich nah dem 5. nie mehr gemeldet.
Vielleicht, weil der Thread mittlerweile so dermaßen weit weg von der
eigentlichen Frage ist, dass es ihn nicht mehr interessiert?
Helmut L. schrieb:> Filter, Einschwingzeit ca 40us.
Ja, toll! Dann braucht man ja nur noch einen µC mit einem 16-Bit
PWM-Timer, der mit 64 GHz getaktet ist!
Axel S. schrieb:> Denn die Belastung durch das Filter ist ja a) hochohmig und b) konstant.
Stimmt natürlich so auch nicht. Ist mit einem gut dimensionierten Buffer
natürlich entschärft, aber in der Praxis nicht aus der Welt. Außerdem
sollte das Filter seinerseits einen Buffer haben, damit die nachfolgende
Stufe auch ein ordentliches Signal sieht...und über den Aufbau des
Filters müßte auch noch nachgedacht werden! Ich betrachte die rein
passive Simulations-Schaltung von Helmi1 als "akademisch"...trotzdem
Danke für die Mühe!
Da wir aber bisher der eigentlichen Frage des TO nicht näher gekommen
sind, wird jeder (mich eingeschlossen) weiterhin sein "Lieblingsthema"
einbringen...aber immerhin...
Gruß Rainer
Helmut L. schrieb:> Filter, Einschwingzeit ca 40us.
Holla, die Waldfee.
Das Filter qualifiziert sich durchaus für das Prädikat "episch" :-)
Jetzt brauchen wir nur noch die dazu passende 15ps-PWM. Die wird ähnlich
episch, da bin ich sicher.
Die Sache ist die, das der Aufwand bei einer PWM mit der Auflösung um
Faktor 2^n zunimmt.
Also von 8 auf 16 Bit ist nicht Faktor 2, sondern Faktor 255 bei der
nötigen Frequenz.
Obendrauf dazu steigt der Filteraufwand im gleichen Maß. Wie du so schön
gezeigt hast.
Darum ist eine PWM einfach nicht das Mittel der Wahl für
Präzisionsanwendungen.
jemand schrieb:> Das Filter qualifiziert sich durchaus für das Prädikat "episch" :-)
Wie ich schon sagte, jeder bringt nun das, was er im Sinn hat...und mit
"episch" meinst du sicher nicht ein Gedicht von Homer?! Wasn also heißt
für dich episch bei einem Filter??? Wöllte es nur mal wissen...
Gruß Rainer
Rainer V. schrieb:> Wie ich schon sagte, jeder bringt nun das, was er im Sinn hat...und mit> "episch" meinst du sicher nicht ein Gedicht von Homer?! Wasn also heißt> für dich episch bei einem Filter??? Wöllte es nur mal wissen...> Gruß Rainer
Naja, im Sinne von ziemlich ausgewachsen, übertrieben kompex.
Das ist was? 8.Ordnung?
Das ist doch keine Praxistaugliche Lösung, selbst wenn man eine
Möglichkeit hätte, eine PWM mit 15ps Auflösung zu erzeugen. Die man so
einfach nicht hat.
Moin,
Nachdem das ja hier zu einer astreinen "Techniken beim Trockenschwimmen"
Veranstaltung migriert ist - wie waers damit: Einen µC mit 12Bit DAC
nehmen und die restlichen unbedingt erforderlichen 4 bit via sigma delta
Prinzip und entsprechender Ueberabtastung erzeugen. Da muss dann das
analoge Filter auch nicht ganz so "episch" sein, wenn man's schafft, die
Quantisierungsfehler spektral irgendwo in einer Nische zu plazieren, die
man dann wegfiltert.
Ansonsten wuesst ich auch nicht, wo das Problem sein sollte, einen
Audio-DAC herzunehmen. Irgendwelche unausbaubare Hochpaesse sind eher
bei Audio-ADCs vorhanden.
Gruss
WK
Dergute W. schrieb:> Einen µC mit 12Bit DAC> nehmen und die restlichen unbedingt erforderlichen 4 bit via sigma delta> Prinzip und entsprechender Ueberabtastung erzeugen.
Das Problem daran ist nur, daß der 12 Bit DAC eben typischerweise auch
nur eine entsprechende Präzision hat. Sonst könnte man ja auch einfach
zwei 8 Bit DACs nehmen und deren Ausgangswerte im Verhältnis 256:1
zusammenmischen.
Dergute W. schrieb:> Ansonsten wuesst ich auch nicht, wo das Problem sein sollte, einen> Audio-DAC herzunehmen. Irgendwelche unausbaubare Hochpaesse sind eher> bei Audio-ADCs vorhanden.
Na, überleg mal. Was ein Audio-DAC braucht:
- Auflösung für Dynamikumfang
- Klirrfaktor <0,1%
- geringes Rauschen
Was er nicht braucht:
- Genauigkeit (wirkt sich nur auf die Lautstärke aus)
- geringen Offset (egal, weil AC-Kopplung)
- geringe Offsetdrift (siehe oben)
- Linearität (ein Klirrfaktor <0,1% reicht) (hat er allerdings oft
trotzdem)
Aus dem was er nicht braucht, sieht man sofort, was ein Audio-DAC
wahrscheinlich nicht kann. Und das ist für 16Bit Genauigkeit (nicht
Auflösung) ziemlich fatal. Allein der Offset und die Offsetdrift sind
üblicherweise grauenhaft, wo das sowieso schon nicht die Kernkopetenz
von Delta-Sigma-DACs ist.
Und jetzt bitte, hätte ich gern mal eine Schlüssige Begründung dafür,
warum man auf Biegen und Breche unter Verlust von 3 Fingern vermeiden
muss, einen echten 18-Bit-DAC z.B. mit SPI zu verwenden. Das ist kein
exotisches Bauteil, und jeder µC hat SPI.
Also, her mit den schlüssigen Begründungen, bitteschön.
Moin,
jemand schrieb:> Na, überleg mal. Was ein Audio-DAC braucht:> - Auflösung für Dynamikumfang> - Klirrfaktor <0,1%> - geringes Rauschen>> Was er nicht braucht:> - Genauigkeit (wirkt sich nur auf die Lautstärke aus)> - geringen Offset (egal, weil AC-Kopplung)> - geringe Offsetdrift (siehe oben)> - Linearität (ein Klirrfaktor <0,1% reicht) (hat er allerdings oft> trotzdem)
All das ist dem Schretteroeffner doch voellig Banane. Der will keine
"kapazitive Entkopplung". Sonst scheint ihn doch nix an Audio-DACs zu
stoeren. Sonst haett' er's doch geschrieben.
Ueber die "kapazitive Entkopplung" muss er sich keine Sorgen machen.
Und er will 16 bit. Warum und wie auch immer. Wenn hier schon die
Vorschlaege mit PWM (also 1bit) und Tiefpassfilter kommen, dann schlag'
ich halt mal vor, 12bit Wandler zu nehmen und nur 4 bit per Filter
dazuzumauscheln.
Warum erwaehne ich wohl die ruhmreiche Disziplin des Trockenschwimmens?
Gruss
WK
Dergute W. schrieb:> Nachdem das ja hier zu einer astreinen "Techniken beim Trockenschwimmen"> Veranstaltung migriert ist
Da hat 'jemand' das Wasser abgelassen und will nun, daß alle nach seiner
Pfeife Luftsprünge ausführen.
Dergute W. schrieb:> Wenn hier schon die> Vorschlaege mit PWM (also 1bit) und Tiefpassfilter kommen, dann schlag'> ich halt mal vor, 12bit Wandler zu nehmen und nur 4 bit per Filter> dazuzumauscheln.
Da ist aber je nach Anforderungen und Möglichkeiten das "Mauscheln"
genau abzuwägen. Die per PWM erzeugten Bits eignen sich nur als MSB. Je
weniger Bits, desto höher die PWM-Frequenz und desto einfacher und
schneller ist die Filterung. Andererseits muß das "Zusammenmauscheln"
mit hoher Genauigkeit erfolgen, damit die Ausgangsspannung monoton
bleibt.
Eine deutliche Verbesserung könnte man schon mit 8 Bit PWM und 8 Bit DAC
erreichen, wie es mit (fast) jedem aktuellen µC umsetzbar wäre. Das
Addieren der Signale im Verhältnis 255:1 erfordert keine allzu stabile
Widerstände.
Das Ergebnis nennt sich dann Hybrid-DAC.
Als Idee:
Ein STM32F407 als schneller µC (168 MHz) zum Beispiel verfügt über
einige, schnelle Timer (168 MHz) mit vielen PWM-Ausgängen, die jeweils 8
Bit PWM mit rund 660 kHz erzeugen können. Vom µC entsprechend
entkoppelt, separat gefiltert und analog zusammengemischt müßte doch ein
brauchbares Ergebnis herauskommen.
Vieleicht eine Lösung für arme, alte Rentner, die es bei kleinem
Einkommen nicht mehr so eilig haben ;-)
Thomas E. schrieb:> Und genau nach Deinen Anforderungen wurde bereits eine korrekte Lösung> genannt: eine 16 Bit PWM mit Tiefpass.
Was für ein Schwachsinn. Dafür müsste das Schaltėlement auch auf 15ppm
genau sein, also die Spannungen zwischen denen es hin und herschaltet,
dazu müsste der Bahnwiderstand der MOSFETs am Ausgang und damit der
Ausgangswiderstand unter 15ppm des Filtereingangswiderstandes, bei
referenzgenauer Spannung, also wohl kaum dem VCC und GND eines uC die je
nach Aktion des Rechenknechtes und dessen Stromaufnahme aus den
Stützkondensatoren schwankt.
Dergute W. schrieb:> 12bit Wandler zu nehmen und nur 4 bit per Filter dazuzumauscheln.
Dazu müssten die 4096 Spannungspegel des 12bit Wandlers auf 1/16 LSB
genau erzeugt werden - sicher nicht, niemals.
Warum palavern hier Leute die nicht mal die allergeringsten Grundlagen
kennen ?
m.n. schrieb:> Vieleicht eine Lösung für arme, alte Rentner
Sicher nicht, nochmal so viel Schwachsinn, besorge den auf 16 bit
genauen Widerstand zum mischen.
MaWin schrieb:> Dazu müssten die 4096 Spannungspegel des 12bit Wandlers auf 1/16 LSB> genau erzeugt werden - sicher nicht, niemals.
Nein, denn der 12 Bit Wandler wird für die LSBs verwendet.
> Warum palavern hier Leute die nicht mal die allergeringsten Grundlagen> kennen ?
Das wollte ich Dich gerade fragen.
m.n. schrieb:> Nein, denn der 12 Bit Wandler wird für die LSBs verwendet.
Auch wenn du es umdrehst brauchst du auf 15ppm genaue PWM Spannungen -
komplett unrealistisch.
m.n. schrieb:> Vieleicht eine Lösung für arme, alte Rentner, die es bei kleinem> Einkommen nicht mehr so eilig haben ;-)
Denke dran, Rentner haben nie Zeit...
MaWin schrieb:> Was für ein Schwachsinn. Dafür müsste das Schaltėlement auch auf 15ppm> genau sein, also die Spannungen zwischen denen es hin und herschaltet,> dazu müsste der Bahnwiderstand der MOSFETs am Ausgang und damit der> Ausgangswiderstand unter 15ppm des Filtereingangswiderstandes, bei> referenzgenauer Spannung, also wohl kaum dem VCC und GND eines uC die je> nach Aktion des Rechenknechtes und dessen Stromaufnahme aus den> Stützkondensatoren schwankt.
Ja, ne, vergiss es. Mit Argumenten, Zahlen und Fakten kommt man hier
nicht weiter.
Beachte einfach, wie agressiv der Tonfall der PWM-Fans ist, und wie
wenige Zahlen und Fakten kommen.
Nicht mal deren "ach so einfache" 15-ps-PWM können sie liefern.