Forum: Mikrocontroller und Digitale Elektronik MCU mit 16 Bit DACs?


von Gul (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

Wird es gar nicht geben können.

von Peter D. (peda)


Lesenswert?

Dürfte schwer werden, Pins eines MC besser als 50µV störfrei zu halten.

von Purzel H. (hacky)


Lesenswert?

Und das Ganze soll ? Die 16 bit sind ein Furz .. 12 wuerden auch gehen, 
aber 16 geben mehr her, mental, fuer den Anwender.

von Gert (Gast)


Lesenswert?

STM32F373R8T6, STM32H743VIH6

Gert

von Gert (Gast)


Lesenswert?

Gul schrieb:
> und
> ich auch keine Seite mit einer herstellerübergreifenden Parametersuche
> kenne

mouser, farnell, digikey und viele andere Distributoren.

Gert

von Dr. Sommer (Gast)


Lesenswert?

Gert schrieb:
> STM32F373R8T6, STM32H743VIH6

Die haben auch nur 12 bit.

von m.n. (Gast)


Lesenswert?

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.

von Gert (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Gert schrieb:
>> STM32F373R8T6, STM32H743VIH6
>
> Die haben auch nur 12 bit.

Sorry, temporäre Leseschwäche hier. Ich habe ADC gelesen.

Gert

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

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.

von Dr. Sommer (Gast)


Lesenswert?

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.

von Themason (Gast)


Lesenswert?

Ansonsten nen externen DAC nehmen. PT8211 z.b. ...

von Themason (Gast)


Lesenswert?

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.

von Gul (Gast)


Lesenswert?

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!

von Dr. Sommer (Gast)


Lesenswert?

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.

von Gul (Gast)


Lesenswert?

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.

von Der Andere (Gast)


Lesenswert?

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.

von X4U (Gast)


Lesenswert?

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.

von Thomas E. (picalic)


Lesenswert?

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.

von Purzel H. (hacky)


Lesenswert?

>>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..

: Bearbeitet durch User
von X4U (Gast)


Lesenswert?

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).

von Peter D. (peda)


Lesenswert?

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.

von Purzel H. (hacky)


Lesenswert?

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.

von Flippi (Gast)


Lesenswert?

> 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

von Der Andere (Gast)


Lesenswert?

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.

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


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

: Bearbeitet durch User
von Der Andere (Gast)


Lesenswert?

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)?

von Purzel H. (hacky)


Lesenswert?

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..

von Mike (Gast)


Lesenswert?

Um mal auf die Ausgangsfrage zurückzukommen:

Wie wäre es mit diesem hier:

http://www.analog.com/media/en/technical-documentation/data-sheets/ADUC845_847_848.pdf

Der hat zwei 16-Bit Sigma-Delta-DACs. Allerdings schafft er die 
gewünschten 80MHz Takt nicht ganz...

von Frank K. (fchk)


Lesenswert?

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

von Dieter W. (dds5)


Lesenswert?

Noch ganz außen vor gelassen wurde die Frage, wie das so erzeugte 
analoge Signal weiterverarbeitet werden soll.

von Rainer V. (a_zip)


Lesenswert?

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

von Ich Nicht (Gast)


Lesenswert?

PSoC 5LP könnte eventuell was sein.

von Kevin K. (nemon) Benutzerseite


Lesenswert?

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.

von jemand (Gast)


Lesenswert?

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 ;-)

von Kevin K. (nemon) Benutzerseite


Lesenswert?

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.

von jemand (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Am analogen Audio-Ausgang des Raspberry Pi kann man schön die Grenzen 
einer einfachen PWM zu Analog-Wandlung hören.

von Kevin K (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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?

von Stefan F. (Gast)


Lesenswert?

> 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.

von Thomas E. (picalic)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

: Bearbeitet durch User
von Helmut L. (helmi1)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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ß.

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


Lesenswert?

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.

von jemand (Gast)


Lesenswert?

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.

von Helmut L. (helmi1)


Lesenswert?

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.

von Der Andere (Gast)


Lesenswert?

Der TO hat sich nah dem 5. nie mehr gemeldet.

von jemand (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

jemand schrieb:
> Meine beschränkte Vorstellungskraft hat PRobleme mit der Idee,

Das war zu vermuten.

von Stefan F. (Gast)


Lesenswert?

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?

von m.n. (Gast)


Lesenswert?

Stefanus F. schrieb:
> Helfe uns doch mal, wie baut man solche Filter?

Meinst Du mich?

Ich löse Probleme und keine Hirngespinste.

von Major (Gast)


Lesenswert?

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?

von Helmut L. (helmi1)


Angehängte Dateien:

Lesenswert?

Filter, Einschwingzeit ca 40us.

von Thomas E. (picalic)


Lesenswert?

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!

von Rainer V. (a_zip)


Lesenswert?

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

von jemand (Gast)


Lesenswert?

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.

von Rainer V. (a_zip)


Lesenswert?

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

von jemand (Gast)


Lesenswert?

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.

von Rainer V. (a_zip)


Lesenswert?

...ist mein Reden...und Analogfilter 8ter Ordnung...das ist nun wirklich 
dein Film! Am besten noch mit 2 Transistoren :-)
Rainer

von Dergute W. (derguteweka)


Lesenswert?

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

von Thomas E. (picalic)


Lesenswert?

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.

von jemand (Gast)


Lesenswert?

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.

von Dergute W. (derguteweka)


Lesenswert?

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

von m.n. (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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 ;-)

von MaWin (Gast)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von Helmut L. (helmi1)


Lesenswert?

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...

von m.n. (Gast)


Lesenswert?

Helmut L. schrieb:
> Denke dran, Rentner haben nie Zeit...

Danke, daß Du mich daran erinnerst. Ich bin dann mal weg ;-)

von jemand (Gast)


Lesenswert?

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.

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.