Im derzeitigen Projekt wird ein ATMega sitzen. War nicht meine Wahl,
moechte der Kunde so. Leider hat der keine Mehrfach-DACs, brauche zwei,
der nun vorgesehene externe DAC7612 kann SPI und ist auch ok. Aber
natuerlich wurmen mich die gut $3 die der kostet. Selbst wenn's bei
diesem Design so bleibt, nur mal so aus Interesse und falls mal wieder
ein ATMega rein muss:
Wieviel Bits bekommt Ihr netto so raus wenn der 16-Bit Timer in etwas
gestutzter Form als PWM-DAC benutzt wird? Sagen wir mal 12-Bit Kappung
und Timer-Takt auf voller Kamelle. Vorausgesetzt eine Meister Proper
blitzsaubere Versorgung an den Pins, nur innen roedelt's da drin weiter.
Quiet Mode wie beim ADC geht meist nicht.
--
Gruesse, Joerg
http://www.analogconsultants.com/
"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Nun, wie du weisst, ist das PWM DAC Prinzip durchaus fuer viele Bits gut,
praktisch alle Audio-DACs sind 1 bit Wandler und erreichen locker ueber
96dB, also 16 bit. Die quarzstabile Aufloesung im Zeitbereich ist
prinzipbedingt monoton und aequidistant.
ABER: Die PWM Stufe im AVR betreibt kein noise shaping, um den Ripple in
Analogsignal zu begrenzen mus der nachfolgende Filter also eine
Daempfung von (gewuenschter Bitzahl, sagen wir 16 also 96dB) der
PWM-Zyklus-Freqeunz haben.
Und die absolute Genauigkeit haengt von der Ausgangsstufe ab, und der
Ausgang des AVR ist nicht exakt, nicht referenzspannungsbezogen, zu
langsam im Umschalten. Niemand hindert einen aber, hinter den Ausgang eine
Treiberstufe zu haengen, die referenzspannungsgenau und picosekundenexakt
umschaltet.
Aber all das ist Aufwand, den man lieber laesst, wenn eine geringere
Bitaufloesung ausreicht.
Ich habe ein mal im Leben eine besser-als-RC-Glied Filterstufe verwendet,
um schnellere Reaktionszeit bei trotzdem guter Filterwirkung bezueglich
der PWM-Zyklusfrequenz zu erreichen, und war immer zufrieden mit VCC-
bezogener Ausgangsspannung, aber im Prinzip (siehe oben) spricht nichts
gegen 16 bit Genaigkeit bei einem 16 bit Timer.
> Quiet Mode wie beim ADC geht meist nicht.
So lange der Pegelwandler/die Treiberstufe an einer sauberen Versorgung
haengt, ist das egal, es geht nur um den Jitter bei der Erkennung des
Flankenwechsels des PWM Signals (den man leider nicht sinusmaessig
filtern kann, trotzdem liegt der im sub-bit-Bereich.
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Audio-DACs sind allerdings auch nicht mit allem moeglichen RAM Geroedel
belastet wie ein uC.
> ABER: Die PWM Stufe im AVR betreibt kein noise shaping, um den Ripple in
> Analogsignal zu begrenzen mus der nachfolgende Filter also eine
> Daempfung von (gewuenschter Bitzahl, sagen wir 16 also 96dB) der
> PWM-Zyklus-Freqeunz haben.
>
Das hatte ich schon vorgesehen, das Signal koennte in diesem Fall
schnarchlangsam im zig-Millisekundebereich sein.
> Und die absolute Genauigkeit haengt von der Ausgangsstufe ab, und der
> Ausgang des AVR ist nicht exakt, nicht referenzspannungsbezogen, zu
> langsam im Umschalten. Niemand hindert einen aber, hinter den Ausgang eine
> Treiberstufe zu haengen, die referenzspannungsgenau und picosekundenexakt
> umschaltet.
>
> Aber all das ist Aufwand, den man lieber laesst, wenn eine geringere
> Bitaufloesung ausreicht.
>
Darauf bezieht sich meine Frage, wie gut das beim ATMega ohne
nachfolgende Logik wuerde. IOW wenn man nur RC hinten dran haengt und
alles was so an Substrat plus Bonddraehten an Stoerspannung entsteht
voll durchschlaegt. Habe noch nie einen ATMega fuer DAC-PWM dieser Art
benutzt.
> Ich habe ein mal im Leben eine besser-als-RC-Glied Filterstufe verwendet,
> um schnellere Reaktionszeit bei trotzdem guter Filterwirkung bezueglich
> der PWM-Zyklusfrequenz zu erreichen, und war immer zufrieden mit VCC-
> bezogener Ausgangsspannung, aber im Prinzip (siehe oben) spricht nichts
> gegen 16 bit Genaigkeit bei einem 16 bit Timer.
>
Im Prinzip ja, aber ... :-)
>> Quiet Mode wie beim ADC geht meist nicht.
>
> So lange der Pegelwandler/die Treiberstufe an einer sauberen Versorgung
> haengt, ist das egal, es geht nur um den Jitter bei der Erkennung des
> Flankenwechsels des PWM Signals (den man leider nicht sinusmaessig
> filtern kann, trotzdem liegt der im sub-bit-Bereich.
Wenn der ATMega ohne separate Treiberstufe keine 11-12 Bits netto
schafft, dann ist der separate DAC wohl hier besser. Denn das soll im
Land bestueckt werden und dann hat man hohe Plazierungskosten pro
Bauteil. Vielleicht nicht gar so hoch wie in Europa, aber schmerzhaft.
Wenn's mich beisst suche ich ob es einen 12-Bit Dual-DAC unter $3 gibt :-)
> Wenn's mich beisst suche ich ob es einen 12-Bit Dual-DAC unter $3 gibt :-)
F�r sowas k�nnte man theoretisch auch einen kleinen CPLD nehmen, wie z.B.
den hier f�r 2,40$ :
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=122-1388-ND
Damit kannst du dutzende von PWMs mit generieren, nebenbei noch einiges an
Logik mit rechnen, parallel dazu dann noch z.B. Schaltreglerlogik erstzen
usw. PWM-Soundausgabe war eins meiner ersten FPGA-Projekte vor einigen
Jahren (urgs, noch in Verilog und die Telespiel-Idee ist mal wieder eins
meiner nie fertiggestellten Hobbyprojekte)
Kam ein sch�ner glatter Sinus raus.
--
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Da sind mir die gut $3 fuer den DAC lieber, bei dem muss ich nichts
programmieren :-)
> Damit kannst du dutzende von PWMs mit generieren, nebenbei noch einiges an
> Logik mit rechnen, parallel dazu dann noch z.B. Schaltreglerlogik erstzen
> usw. ...
Ist nicht ganz so einfach. Z.B. muessen bis auf einen der Schaltregler
alle "beinhart" treiben, einige Ampere Spitze in die Gates rein und
wieder heraus. Mit mindestens 10V Swing. Das schafft ein CPLD nicht, man
braeuchte wieder je zwei Buffer und dann ist man von den Kosten her
schon fast wieder beim Schaltregler IC. Current Mode Control ist auch
nicht so trivial, obwohl ich das gelegentlich sogar mit CD40106 mache.
> ... WM-Soundausgabe war eins meiner ersten FPGA-Projekte vor einigen
> Jahren (urgs, noch in Verilog und die Telespiel-Idee ist mal wieder eins
> meiner nie fertiggestellten Hobbyprojekte)
>
> http://www.jroller.com/fb/
>
> Kam ein sch�ner glatter Sinus raus.
>
Man kann schon viel mit CPLD machen. Aber nicht wenn so richtig Kawumm
hinter den Signalen sitzen muss und man weiss auch nie, ob eine Serie
die naechsten 20 Jahre verfuegbar bleiben wird. Ich hatte frueher
ziemlich gegen PAL/GAL gewettert und wurde manchmal als ewig gestriger
belaechelt. Die Dinger soffen unglaublich viel, wurden recht heiss, und
heute lacht niemand mehr, denn bei etlichen ist nach Abkuendigung Heulen
und Zaehneknirschen angesagt.
Wie Du aber sicher wei�t, sind Sigma-Delta Wandler _keine_
gew�hnlichen PWM Wandler, der Datenstrom sieht "etwas"
anders aus, wird auch anders als mit einem PWM Timer erzeugt
(digitaler Sigma-Delta Modulator) und hat deutlich bessere
spektrale Eigenschaften f�r diesen Zweck.
>ABER: Die PWM Stufe im AVR betreibt kein noise shaping,
Eben, das Noise Shaping gibt es bei Sigma-Delta durch den
(beim DAC digitalen) Integrator f�r umsonst.
Der 1 bit Wandler Datenstrom beim Sigma Delta hat nicht nur
die Eigenschaft, dass die mittlere Zahl der "1" Bits im
Verh�ltnis zur Gesamtzahl der Bits pro Zeiteinheit den gew�nschten
Analogwert ergibt, die "1" Bits sind auch so im Datenstrom
verteilt, dass das Quantisierungsrauschen auf hohe Frequenzen
verschoben und dann vom nachfolgenden Anti-Alias-Filter
abrasiert wird.
Das selbst f�r Audio-Sampleraten in Software nachzubauen wird
man sich mit einem AVR schwer tun.
Gru� Oliver
--
Oliver Bartels + Erding, Germany + obar...@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Es h�ngt immer vom Projekt ab, wie man die Gewichtung setzt:
- Man kann moderne Bauteile hernehmen und daf�r State of the Art
sein, die Produkte sind dann, wenn gut gemacht, gegen�ber dem
Wettbewerb sehr gut positioniert.
Man kann z.B. mit FPGA Dinge machen, die mit "gew�hnlichen"
IC's von der Stange gar nicht gehen.
Daf�r darf man dann auch mal die Entwicklung nachziehen, wenn
sich irgendwas bei den Halbleitern bzgl. Verf�gbarkeit r�hrt.
Das schlie�t nicht aus, dass man bei Teilen, die technologisch
nicht so kritisch sind, auf Nummer sicher geht.
- Oder man setzt nur Teile ein, von denen man 20-j�hrige
Verf�gbarkeit vermutet. Es gibt M�rkte, in denen das Sinn machen
kann, es gibt aber auch M�rkte, in denen man mit dieser
Strategie sehr bald keine Kunden mehr haben wird.
Wir in der Telekommunikation sind gezwungen, die erstgenannte
Strategie zu verwenden, die Produktion von W48 Telefonen ist
nicht mehr wirklich profitabel ;-)
> Im derzeitigen Projekt wird ein ATMega sitzen. War nicht meine Wahl,
> moechte der Kunde so. Leider hat der keine Mehrfach-DACs, brauche zwei,
> der nun vorgesehene externe DAC7612 kann SPI und ist auch ok. Aber
> natuerlich wurmen mich die gut $3 die der kostet. Selbst wenn's bei
> diesem Design so bleibt, nur mal so aus Interesse und falls mal wieder
> ein ATMega rein muss:
>
> Wieviel Bits bekommt Ihr netto so raus wenn der 16-Bit Timer in etwas
> gestutzter Form als PWM-DAC benutzt wird? Sagen wir mal 12-Bit Kappung
> und Timer-Takt auf voller Kamelle. Vorausgesetzt eine Meister Proper
> blitzsaubere Versorgung an den Pins, nur innen roedelt's da drin weiter.
> Quiet Mode wie beim ADC geht meist nicht.
>
Hab' ich ehrlich gesagt nie probiert, ich finde die Programmierung des
PWM ziemlich unerfreulich und wenn du gute DC Performance brauchst
erscheint mir ein externer DAC immer besser geeignet.
Moechte dich aber darauf hinweisen, dass die neuen ATXmega mit 12 bit
DAC kommen (ob einzel oder dual weiss ich jetzt aus dem Kopf nicht).
Nur so als Idee
Klaus
Das mit "Entwicklung nachziehen" moegen viele meiner Kunden gar nicht.
Es gilt immer abzuwaegen was an Vorteil rauskommt. Bei den PAL/GAL in
den 80ern war das beinahe wie heute wo viele fuer einen simplen Delay
Timer sofort einen uC setzen, waehrend unsereins wie gehabt den CD4060
nimmt. Es wurden aber auch an jeder Ecke GAL reingepflanzt und dann kam
oft der Kommentar "Oh, ich glaube wir brauchen jetzt doch ein 5V/100A
Netzteil." Der Knueller war ein Geraet, bei dem sie es tatsaechlich
schafften die Anschlussleistung des normalen Stromkreises vieler
Ziellaender zu ueberschreiten. Das geht heute allein schon wegen der
"neuen gruenen Welle" nicht mehr.
> - Oder man setzt nur Teile ein, von denen man 20-j�hrige
> Verf�gbarkeit vermutet. Es gibt M�rkte, in denen das Sinn machen
> kann, es gibt aber auch M�rkte, in denen man mit dieser
> Strategie sehr bald keine Kunden mehr haben wird.
>
Klar.
> Wir in der Telekommunikation sind gezwungen, die erstgenannte
> Strategie zu verwenden, die Produktion von W48 Telefonen ist
> nicht mehr wirklich profitabel ;-)
>
In Telefonen sind es ASICs. Mich fasziniert es immer wieder, wenn die
hier ein Dreierpack DECT-Foenchen fuer $70 anbieten.
Wobei die alten Telefone besser waren. Nichts geht ueber das gusseiserne
Panasonic Easa-Phone hier auf dem Tisch. 80er Aera, kommt das Siemens
Euroset nicht gegen an und musste weichen. Vor Jahren fuer einen Dollar
auf einem Garage Sale aus einer Kiste gegriffen. Jetzt geaergert, dass
ich nicht die ganze Kiste gekauft habe.
> Da sind mir die gut $3 fuer den DAC lieber, bei dem muss ich nichts
> programmieren :-)
Die 10 Zeilen VHDL f�r einen PWM w�rdest wahrscheinlich auch du als
Nicht-VHDL Experte hinbekommen :-) Oder einfach die Schaltplan-Tools in den
neueren Synthesetools verwenden, da kann man dann eine SPI-Einheit und eine
PWM-Einheit einfach auf einen virtuellen Schaltplan ziehen, und die
Synthesesoftware k�mmert sich um den Rest.
Ich habe letztens mal ein ABEL-HDL Programm gesehen, das sah ja schlimm
aus. Fast so, als m�sste man statt einen Schaltplan zu zeichnen, eine
Netzliste in Textform schreiben. Ist mit den M�glichkeiten und Sprachen der
heutigen Synthese-Programme �berhaupt nicht mehr vergleichbar, das geht
mittlerweile wirklich alles sehr leicht.
> Ist nicht ganz so einfach. Z.B. muessen bis auf einen der Schaltregler
> alle "beinhart" treiben, einige Ampere Spitze in die Gates rein und
> wieder heraus. Mit mindestens 10V Swing. Das schafft ein CPLD nicht, man
> braeuchte wieder je zwei Buffer und dann ist man von den Kosten her
> schon fast wieder beim Schaltregler IC.
Ein normaler Schaltregler schafft das aber auch nicht so einfach.
> Man kann schon viel mit CPLD machen. Aber nicht wenn so richtig Kawumm
> hinter den Signalen sitzen muss und man weiss auch nie, ob eine Serie
> die naechsten 20 Jahre verfuegbar bleiben wird. Ich hatte frueher
> ziemlich gegen PAL/GAL gewettert und wurde manchmal als ewig gestriger
> belaechelt. Die Dinger soffen unglaublich viel, wurden recht heiss, und
> heute lacht niemand mehr, denn bei etlichen ist nach Abkuendigung Heulen
> und Zaehneknirschen angesagt.
Gerade die XC95*-Serie gibt es seit bereits 7 Jahren (das ist zumindest das
�lteste Dokument, was ich dazu im Web gefunden habe) und wird noch aktiv
von Xilinx auf deren Webseite beworben. Aber wie wir ja schon festgestellt
hatten, meistens geben die Hersteller keine Liefergarantie l�nger als 1
Jahr. Dann heisst es Last-Buy und Redesign, wenn der Hersteller es
abk�ndigt (was die gro�en Hersteller aber auch fr�hzeitig ank�ndigen).
H�ngt dann immer vom Projekt ab, wie teuer das wird, wenn da Tests und
Zertifizierungen dran h�ngen. Bei Consumerprodukten mit wenigen Jahren
Produktionszeit oder Hobbyprojekten ist das wiederum unwichtig.
Ich finde es einfacher. Man schreibt einfach nach dem CCR-Interrupt
einen neuen Wert ins Register und feddich. Beim externen DAC muss man
einen String von 14 oder mehr Bits rausroedeln. Ok, wenn SPI schon drin
ist (ist bei ATMega der Fall) geht das ohne viel Bit-Banging Aufwand,
aber beim PWM ist nur ein Register zu beschreiben. Oft gibt es diese
ganzen Routinen vorgekocht aus Libraries.
> Moechte dich aber darauf hinweisen, dass die neuen ATXmega mit 12 bit
> DAC kommen (ob einzel oder dual weiss ich jetzt aus dem Kopf nicht).
>
Danke, damit ginge es. Allerdings haben Distis die kleineren Varianten
44QFP und so immer noch nicht auf Lager.
> Wie Du aber sicher wei�t, sind Sigma-Delta Wandler _keine_
> gew�hnlichen PWM Wandler, der Datenstrom sieht "etwas"
> anders aus, wird auch anders als mit einem PWM Timer erzeugt
> (digitaler Sigma-Delta Modulator) und hat deutlich bessere
> spektrale Eigenschaften f�r diesen Zweck.
F�r FPGAs gibt es daf�r sogar eine nette Application Note von Xilinx, wie
man einen Delta-Sigma DAC baut:
http://www.xilinx.com/support/documentation/application_notes/xapp154.pdf
Wenn der Takt hoch genug ist, dann reicht aber auch ein einfacher
Akkumulator, wie ich es urspr�nglich hier beschrieben gefunden hatte:
http://www.fpga4fun.com/PWM_DAC.html
was dann automatisch ein PWM-Signal generiert. Ich habe es dann einfach so
umgesetzt:
always @(posedge clk) begin
sum[8] = 0;
sum = sum + DACin;
DACout = sum[8];
end
Wieder ein Argument daf�r, ein CPLD einzusetzen :-)
Zig Millisekunden ist ein schnell folgendes Signal.
Nehmen wir an, der AVR laeuft auf 16MHz, wir setzen CLK I(O auch auf 16 MHz,
setzen TOP auf 0x3FF (12 bit), dann ist der PWM-Zyklus 3.9kHz.
Ein einfaches RC-Filter hat eine Daempfung von 6dB/Oktave, wir brauchen
mehr als 72dB, also 12 Oktaven weniger, also ein Tiefpass mit Grenzfreqeunz
0.0009 Hz, also 1050 Sekunden oder ziemlich viele Millisekunden.
Du brauchst also einen besseren Filter, oder solltest deine Anforderungen
noch mal ueberdenken.
Klar ist eins: Wenn du auf (Milli-)Sekunden filterst, und dieses effektiv tust,
also ohne Einstreuungen und kapazitive Kopplung hoher Frequenzen, ist alles
was der AVR an Stoerimpulsen auf der Versorgungsspannung produziert schon
laengst ausgefiltert. Es bleibt nur das langsame Driften der Versorgungs-
spannung entweder durch Belastungsaenderung (LCD-Beleuchtung an/aus :-)
oder Temperaturaenderung, ausgebuegelt (aber damit auch wirksam) auf viele
Sekunden.
Willst du das ausschliessen (weil der DAC Werte absolut und nicht relativ
zur Versorgungsspannung liefern soll) dann muss er mit temperaturkonstanter
und versorgungsspannungsunabhaengiger Referenzspannung versorgt werden,
der AVR selbst liefert AREF, immerhin gut 1000 mal stabiler als die
Versorgungsspannung.
> Darauf bezieht sich meine Frage, wie gut das beim ATMega ohne nachfolgende
> Logik wuerde. IOW wenn man nur RC hinten dran haengt und
Ich hab hier gerade einen ATMega8 auf dem Tisch und koennte ihn 12 bit DAC
Werte liefern lassen, an einem 10k/22uF Tiefpass anschliessen (U2/U1 = 0,00018
bei PWM-Zyklusfrequenz, also Daempfung besser 12 bit, aber Grenzfrequenz unter
1Hz,
so bei 0.7), nur hab ich kein Messmittel, um die Qualitaet dieses Signals
betrachten
zu koennen, ob nicht doch Fluktuationen oder Rauschen drauf ist, die es
schlechter als
12bit machen, was letztlich natuerlich ein Aufbauproblem (Layout,
Komponentenwahl) waere,
aber bei realen Widerstaenden, Elkos, und Massebezugspunkten eben schon Einfluss
hat.
> Wenn der ATMega ohne separate Treiberstufe keine 11-12 Bits netto schafft
Schafft er, aber nur mit RC-Glied nicht mit Reaktionszeiten im
Millisekundenbereich, sondern eher im Sekundenbereich.
Ok, ich habe noch PID dahinter, da kann das ruhig etwas "knattern" :-)
> Du brauchst also einen besseren Filter, oder solltest deine Anforderungen
> noch mal ueberdenken.
>
> Klar ist eins: Wenn du auf (Milli-)Sekunden filterst, und dieses effektiv tust,
> also ohne Einstreuungen und kapazitive Kopplung hoher Frequenzen, ist alles
> was der AVR an Stoerimpulsen auf der Versorgungsspannung produziert schon
> laengst ausgefiltert. ...
Nicht ganz. Es gibt vieles, was die Stoerungen auch innerhalb des uC
langzeitdriften laesst. Z.B. Abroedeln bestimmter Berechnungen alle paar
Sekunden.
> ... Es bleibt nur das langsame Driften der Versorgungs-
> spannung entweder durch Belastungsaenderung (LCD-Beleuchtung an/aus :-)
> oder Temperaturaenderung, ausgebuegelt (aber damit auch wirksam) auf viele
> Sekunden.
>
> Willst du das ausschliessen (weil der DAC Werte absolut und nicht relativ
> zur Versorgungsspannung liefern soll) dann muss er mit temperaturkonstanter
> und versorgungsspannungsunabhaengiger Referenzspannung versorgt werden,
> der AVR selbst liefert AREF, immerhin gut 1000 mal stabiler als die
> Versorgungsspannung.
>
Nur die AREF laesst sich m.W. nicht fuer diese PWM benutzen, jedenfalls
nicht ohne externe aktive Bauteile.
>> Darauf bezieht sich meine Frage, wie gut das beim ATMega ohne nachfolgende
>> Logik wuerde. IOW wenn man nur RC hinten dran haengt und
>
> Ich hab hier gerade einen ATMega8 auf dem Tisch und koennte ihn 12 bit DAC
> Werte liefern lassen, an einem 10k/22uF Tiefpass anschliessen (U2/U1 = 0,00018
> bei PWM-Zyklusfrequenz, also Daempfung besser 12 bit, aber Grenzfrequenz unter
> 1Hz,
> so bei 0.7), nur hab ich kein Messmittel, um die Qualitaet dieses Signals
> betrachten
> zu koennen, ob nicht doch Fluktuationen oder Rauschen drauf ist, die es
> schlechter als
> 12bit machen, was letztlich natuerlich ein Aufbauproblem (Layout,
> Komponentenwahl) waere,
> aber bei realen Widerstaenden, Elkos, und Massebezugspunkten eben schon Einfluss
> hat.
>
1Hz taete mir schon genuegen.
>> Wenn der ATMega ohne separate Treiberstufe keine 11-12 Bits netto schafft
>
> Schafft er, aber nur mit RC-Glied nicht mit Reaktionszeiten im
> Millisekundenbereich, sondern eher im Sekundenbereich.
Das wuerde schon reichen, aber ich baue diesen hier lieber wie gehabt
mit externem DAC auf. Den kann der Kunde wieder rausbugsieren, wenn er
sich doch fuer einen uC mit DACs drin entscheidet.
> Eben, das Noise Shaping gibt es bei Sigma-Delta durch den
> (beim DAC digitalen) Integrator f�r umsonst.
>
> Der 1 bit Wandler Datenstrom beim Sigma Delta hat nicht nur
> die Eigenschaft, dass die mittlere Zahl der "1" Bits im
> Verh�ltnis zur Gesamtzahl der Bits pro Zeiteinheit den gew�nschten
> Analogwert ergibt, die "1" Bits sind auch so im Datenstrom
> verteilt, dass das Quantisierungsrauschen auf hohe Frequenzen
> verschoben und dann vom nachfolgenden Anti-Alias-Filter
> abrasiert wird.
Warum sind eigentlich Delta Sigma D/As so selten in uCs vorhanden? Ein
Delta Sigma D/As erster oder zweiter Ordnung braucht doch kaum mehr
Logik als die fast �berall vorhandenen PWM Einheiten.
Gr��e,
Jan
Richtig spa�ig ist sowas:
http://lib.tkk.fi/Diss/2003/isbn9512264110/isbn9512264110.pdf
Wobei ich etwas Zweifel hab, das die erzielten Ergebnisse reichen, damit
man ohne sehr aufwendige Filter, das wirklich nutzen kann.
> Wieder ein Argument daf�r, ein CPLD einzusetzen :-)
Wenn du den CPLD schon einsetzt kannst du auch gleich ne Delta Sigma
Wandler bauen, ich w�rde aber ganz stark darauf tippen, das ein
konvetioneller D/A dann g�nstiger und besser kommt, gerade auch was den
Stromverbrauch betrifft.
Gr��e,
Jan
MfG JRD
>die Produktion von W48 Telefonen ist
>nicht mehr wirklich profitabel ;-)
Da w�re ich mir gar nicht so sicher - die Nachbauten waren auch recht
teuer :-)
-ras
--
Ralph A. Schmid
http://www.dk5ras.de/ http://www.db0fue.de/
http://www.bclog.de/
Ich verstehe nicht, warum bei den HW-PWMs so gut wie nie eine Option da ist, den
Vergleich mit den revertierten Bits zu machen. Kostet so gut wie keine HW und
sorgt f�r eine sch�ne Verteilung des Ausgangssignals. Zwar nicht so sch�n wie
bei DeltaSigma, aber besser als beim normalen Vergleich.
Bei SW-PWMs geht das recht einfach. Da kann man die Nibbles �ber LUTs umdrehen.
--
Georg Acher, ac...@in.tum.de
http://www.lrr.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
>> Schafft er, aber nur mit RC-Glied nicht mit Reaktionszeiten im
>> Millisekundenbereich, sondern eher im Sekundenbereich.
> Auch meine leidige Erfahrung mit 16 Bit PWM auf 68HC908:
Bei mir war's der 68HC11 :-)
> Man mu� mehrere 1pol RC-Filter mit langen Zeitkonstanten
> kaskadieren damit der Ripple bei Signalen wie 7FFF
> ertr�glich bleibt.
Wobei auch ein "Tiefpass 1. Ordnung" gereicht haette, nur
bei 8 MHz / 16 bit = 122 Hz PWM-Zykluszeit mit so was bei
Sprungantwort zu 99.9985% an den Sollwert rankommen heisst
537 Sekunden warten, wie du gesehen hast:
> Wenn man dann aber von 0000 auf FFFF umschaltet dauert es
> Sekunden bis das Signal mal in den Endwert einkriecht.
> Letztlich ist sowas f�r wenige Anwendungen brauchbar.
Och, erstens gibt es steilere Filter, und zweitens hat man
sowieso meist nur 8 bit Aufloesung benoetigt, und drittens gibt
es viele Anwendungen in denen langsame Reaktion kein Drama
ist, man denke an Temperatur, und viertens gibt es noise
shaping, z.B. Magic Sinewaves wenn man Sinus erzeugen will.
Intel hatte bei seinen 16 Bit Controllern ehedem glaube ich
eine Option auf binary rate multiplier ( "Pulszahlenmodulator" )
umzuschalten. Vgl. CD4089. Einen 74HC4089 gabs wohl nicht obwohl
ihn die Obsoletenhᅵndler natᅵrlich anbieten.
Das wᅵrde bei RC-Glied als Filter was bringen. Aber meist
wird (8Bit-)PWM eher bei Motoren u.ᅵ. verwendet wo das dann
wegen der Schaltverluste der Treiber nicht attraktiv ist.
Aber umschalten kᅵnnen zwischen beiden Varianten wᅵre
natᅵrlich wᅵnschenswert.
MfG JRD
Also 3.9kHz/2^12 sind bei mir 0.95Hz, oder hab ich da was ᅵbersehen?
Grᅵᅵe
Markus
Nee, richtig, lag um 10^3 daneben, daher kommt unten mit den
realen Bauteilwerten auch 0.7Hz raus.
Der tausender-Bereich stimmt bei 16 bit Aufloesung.
Es gibt auch einen 7497. Naja, eher "gab" ;) Allerdings ist die TI-Beschreibung
im Datenblatt auch eher unverst�ndlich.
>Das w�rde bei RC-Glied als Filter was bringen. Aber meist
>wird (8Bit-)PWM eher bei Motoren u.�. verwendet wo das dann
>wegen der Schaltverluste der Treiber nicht attraktiv ist.
>Aber umschalten k�nnen zwischen beiden Varianten w�re
>nat�rlich w�nschenswert.
F�r Motoren w�rs ja auch egal, die haben gen�gend Tr�gheit. Aber schon f�r
LED-PWM ist das gerade bei mittleren Helligkeiten sehr hilfreich. Wenn ich im
FPGA was mit PWM brauche (LEDs, LCD-Kontrast, ...), kommt eigentlich immer das
mit der Revertierung rein.
Der Einkaufspreis eines 611 lag mW damals für die Post bei DM 200,-
--
mfg hdw
> Wenn's mich beisst suche ich ob es einen 12-Bit Dual-DAC unter $3 gibt :-)
Gibt's: Z.B. MCP4822. Hat eingebaute Referenz oder MCP4922 multiplizierend.
Gruß,
Jürgen
--
GPG key:
http://pgp.mit.edu:11371/pks/lookup?search=J%FCrgen+Appel&op=get
Danke. Sehr schoen, immerhin fuer rund $2.50 beschaffbar. Natuerlich
nicht pin-kompatibel mit dem Texas Teil <grummel>.
Beim zweiten Laden des Datenblattes hat's wieder den Adobe aufgehaengt.
Ich muss doch mal die Windows-Taste in CTRL-ALT-DEL ummodeln :-)
Frueher waren alle mit Chips wie DAC0808 zufrieden, den es fuer 60 Cents
gibt. Heute muss das seriell, mehr Bits, mehr PS und mehr Fernsehkanaele
sein ...