Forum: Mikrocontroller und Digitale Elektronik PWM-D/A Verbessern ?


von Christoph W. (christoph)


Lesenswert?

Hi.

Mir kam da grad ne Idee. Ich weiß zwar nicht inwiefern sie Umsetzung
finden kann (oder findet) aber trotzdem :

Das größte Problem bei einem PWM-DA ist ja die Zeit. Für angemessen
hohe Sampling-Raten (KHz z.B. für Audio ) braucht man schon schnell
etliche MHz.

Warum dann nicht einfach 2 PWMs zusammenschalten ? 2x 8Bit = 16bit.

Die erste PWM erzeugt eine einfache 256-Schritt-Spannung. Durch eine
kleine Modifikation der PWM wird durch einen 2. Ausgang allerdings noch
eine 2. Spannung erzeugt, die genau eine Stufe höher liegt als die
erste. Diese PWM wird mit dem HIGH-Byte angesteuert.
Diese zwei Spannungen werden mittels der 2. PWM wieder in 256 Schritte
gegliedert, sodass man im Endeffekt auf volle 16 bit kommt.

Für die 1. PWM reicht da schon ein kleiner Eingriff in die
Compare-Unit. Der Ausgang für die untere Grenze wird geschaltet, wenn
CNT >= Wert, die obere Grenze nur, wenn CNT > Wert.

Et voilá :
Das führt im Endeffekt dazu, dass in der Zeit eines einzigen 16-bit-PWM
Durchlaufs locker 25 fertig geglättete Samples entstehen könnten.
(jeweils 10 Durchläufe). Das wäre ja ein rapider Geschwindigkeitsgewinn
um immerhin das 256-Fache !


Ist denn das so überhaupt möglich ? Und wenn ja, wie seht ihr die
Chancen dafür in Anwendung zu kommen ?
Ich kam drauf als ich eine günstige Lösung suchte, Ton zu wandeln (ja
ja, der MP3-Decoder ;). Kann man diese Methode evtl. dafür anwenden ?

von ????????? (Gast)


Lesenswert?

Und wie bitte soll dieses Vorgehen das Problem der Frequenz lösen ?
Auch wenn eine PWM eine andere triggern könnte, wären sie zusammen
immer noch nicht schneller als die Vorgaben des µC.
Oder habe ich da irgendwas in Deinen Ausführungen nicht mitbekommen ?
Ist ja spät und viiiiiiiel zu heiß SCHWITZ

von Christoph W. (christoph)


Lesenswert?

ja. zu heiß isses. eine PWM braucht genausoviele Takte füe ein Sample
wie Stufen, die sie differenzieren kann. bei 16 bit sind das 65536
Takte. Mit der Technik werden erst 8 bit gewandelt (256 Takte). Zur
Glättung 5 Wiederholungen : 1280 Takte. Dann greifen 2 Sample-and-Hold
und die 2. PWM macht in den nächsten 1280 Takten die "Feinwandlung".
Dabei macht die 1. PWM schon die "Grobwandlung" für das nächste
Sample. Das Ergebnis der Wandlung geht wieder in einen Sample-and-Hold
und von dort an den Ausgang.

Ergebnis : 16 Bit Wandlung nach 2560 Takten, statt nach 327680. Das ist
ein 128. der Zeit !

von alfsch (Gast)


Lesenswert?

1. bei zb 20mhz sind 2560 takte rund 8ks , reicht also für 4khz
telefon-qualität
2. nimm uralt 16-bit wandler , tda1543, arbeitet in etwa so...aber viel
schneller...bis 192khz. + 75 ct bei reichelt ...
3. an welche preisklasse denkst du bei den s/h schaltern, für 16-bit
präzision und ohne glitches usw. ..???

von Christoph W. (christoph)


Lesenswert?

1. : Kaskadiert man das nochmal kommt man mit 15 bit auf nur noch 160
Takte ... da schafft ma dann locker Audio ...


meine Frage war ja eigentlich nur aufs Prinzip bezogen ... deinem Punkt
2 entnehme ich, dass es so funktionieren müsste ... und die überlegung
entstammt nur dem Ärger, dass man mal wieder nichts passendes gefunden
hat ...

von alfsch (Gast)


Lesenswert?

nu ja, aber vergiss nicht: der msb wandler braucht bzgl timing und
spanungs-ausgang 16 bit genauigkeit, somit k.v. , denke ich.

von andi (Gast)


Lesenswert?

du kannst auch zwei normale PWM-Ausgänge mit 10kOhm und 2560kOhm
verbinden und danach filtern.

von Peter D. (peda)


Lesenswert?

Für Audioanwendungen besser 8Bit nimmt man das 1Bit oder
1,5Bit-Prinzip:

http://www.romanblack.com/picsound.htm

oder gleich nen richtigen Audio-DAC.

Alles andere ist nur, sich selber in die Tasche zu lügen.


Peter

von Christoph W. (christoph)


Lesenswert?

nun ja ... ich suche momentan nach einer geeigneten Methode Audio zu
erzeugen. Zur verfügung habe ich einen ARM (AT91SAM7S256), der MP3 in
Software dekodiert. Allerdings hat er noch einen Teil seiner
Leistungsreserven frei, was auch komplexere Lösungen ermöglicht. Da
alles mit Batterie läuft fallen solche Stromfresser wie der 75-Cent TDA
von Reichelt (TDA15-schießmichtot) leider unter den Tisch.

Welche DACs könntet ihr empfehlen ? Wie sähe es dabei mit der
Beschaffbarkeit aus ? Oder gibt es gar welche als Samples (sodass man
sich die sonst sehr teuren Verpackungskosten sparen kann) ?

von TheMason (Gast)


Lesenswert?

@christoph

nehm noch den tlv320aic23b bzw. tlv320dac23b wie der andreas das in dem
mp3-dekoder projekt macht.
der tlv hat mehrere power-off bits womit man die einzelnen teile
abschalten kann (dac/interface/...)
und großartig was an beschaltung braucht der nicht

gruß
rene

von TheMason (Gast)


Lesenswert?

@christoph

mal ne frage zu dem tda15-totgeschossen ...
ich würde den ganz gerne mal benutzen, da der billig ist und ein
einfaches interface hat.
mein problem ist aber der i/u wandler den man dafür bräuchte. dieser
würde vorraussetzen das ich eine bipolare spannungsversorgung habe (die
ich natürlich nicht habe) oder einen rail-2-rail op (den ich auch nicht
habe, und auch nicht extra für den wandler bestellen möchte).
gibt es einen einfachen weg etwas musik aus dem tda1543 (so heißt das
teil) zu holen OHNE I/U wandlung und OHNE zusätlichen OP-Amp ?!
mir geht es nur darum das das signal am ende besser klingt als mein
10-bit-PWM-quietsch-Signal. Ich habe, wenn ich den Wandler ansteuern
möchte, eh nur ein 12 bit i2s signal (aus nem msp+cpld erzeugt)
ich möchte nur mal hören wieviel besser das ganze klingt als der pwm
den ich verwende.

gruß
rene

von Christoph W. (christoph)


Lesenswert?

TDA1543 isses. (fiel mir nur vorhin nich auf Anhieb ein)

also um einen OP-Amp wirst du wohl als Verstärker nicht drumherumkommen
wenn du direkt Lautsprecher oder Ohrhörer anschließen willst. Ansonsten
braucht der auch nicht allzuviel Beschaltung. An und für sich
funktioniert ein Aufbau dieser Art schon recht gut (hatte ich auch mal
am Laufen) :

http://www.jogis-roehrenbude.de/Leserbriefe/CD-Player-Projekt/DAC-Schaltung.gif

Mittels des Spindeltrimmers kannst du die Spannung am TDA variieren.
Etwa um die 8V klingt er recht gut.

von TheMason (Gast)


Lesenswert?

@christoph

also ich möchte den tda sowieso nicht an einem lautsprecher oder
ohr-quäker anpappen sondern an einem line-in eingang.
das ganze soll mal ein lo-fi bass-synthesizer werden.
ich will mir aber wenn es irgend möglich ist den op-amp (und damit die
bipolare versorgung) klemmen können, damit ich alles auf meiner
lochraster unterkriege. bei bipolar braucht man ja immer ein eigenes
netzteil oder ein dc/dc wandler, der aber in dem falle perle vor de
säue wäre, da eh keine high-quality gefordert ist. außerdem muß auf die
lochraster noch ein cpld und eben jener dac.
den trick mit dem erhöhen der spannung auf 8v kenne ich (hab mal in
mehreren hifi-foren über den wandler was lustiges gesehen : 8x tda1543
übereinander gelötet. soll richtig super klingen).
aber gibt es denn wirklich keine möglichkeit den op anp zu klemmen ?
selbst nicht wenn ich den nur für line-out brauche ?!

gruß
rene

von alfsch (Gast)


Lesenswert?

#rene, gemein: lies halt das datenblatt...

nett: mit zb 1k5 am out brauchste sonst nix, damit musik rauskommt.
(+ elko zum entkoppeln der gleichspannung, 5v betrieb is optimal)

+ mit op: da liefert er 2,5v v-ref , um eben bei einfacher +5v
op-schaltung optimal zu arbeiten
...was willste mehr ? bei dem preis cd-qualität, is doch fein !

von TravelRec. (Gast)


Lesenswert?

@Christoph & The Mason:

Sacht mal, wenn Ihr jetzt einen ATTiny26 für die Tonerzeugung nehmen
würdet? Der hat doch ´nen internes 64Mhz PLL, da kann man durch 12 Bit
teilen und erhält dann immernoch 15kHz, oder halt durch 11Bit und
30kHz. Der Prozessor kann dann mit 8Mhz laufen.

von alfsch (Gast)


Lesenswert?

+christoph : wegen power: dann nimm halt tda1545 , 16bit, neuerer typ,
ca 3ma verbrauch (kostet rund 1,50 bei ??segor?? glaub ich)

von TheMason (Gast)


Lesenswert?

@alfsch

ich hatte in dem datenblatt selbst nur was von stromausgang gelesen.
in dem link von christoph war das ding ja als line-out beschaltet
(hatte ich vorhin erst gesehen).
ich hab deshalb nochmal gefragt weil ein kollege von mir meinte ohne op
und nur mit einem widerstand würde das dingen noch grottiger klingen als
mit ner standard-pwm. von daher war ich etwas verunsichert.
aber ich glaub ich werd es mal so probieren ...
wäre echt ne feine sache wenn ich den grottigen pwm durch einen
(halbwegs) rausch und quietsch-freien dac ersetzen könnte.
es sollte halt nur nicht soviel aufwand sein (op, bipolare versorgung,
eigenes netzteil usw...) da ich zum einen nicht mehr viel platz auf der
platine hab, und zum zweiten das ganze eh nur ein kleines bastel-projekt
ist um mal zu schauen wie denn ein (langsamer) 16-bitter klingt der
audio machen soll :-))

gruß
rene

von Christoph W. (christoph)


Lesenswert?

also für einen Line-In reichen die 2mA out vom 1543 allemal. Da brauchst
du keine weiteren Teile. Halt wie in dem Bilderlink, den ich dir
angegeben habe - das funktioniert für ein Line-In prima.



ich hab mir mal den tlv320aic23 angeschaut ... bei digikey kostet der
4,83 zzgl. Versand ... wie verhält TI sich denn in Sachen Samples
(Versandkosten von Digikey sind mir für die kleine Sache zu hoch -
selbst wenn ich 3 nehmen würd)

also den TDA1545 kennt segor nicht ... aber ansonsten sieht der Spitze
aus !

Vielen Dank für die vielen und guten Tips !

Ich denk aber trotzdem - wenn ich einen Weg finde den TLV zu
beschaffen, werd ich den nehmen - @Andreas : wie klingt denn der im
"Einsatz" ?

von TheMason (Gast)


Lesenswert?

erstmal danke für den tip. ich glaub ich werde das mal einfach
probieren.
ich wollte den aufwand nur halt nicht zu groß werden lassen, weil es
mir auch darum geht den msp über einen cpld zum senden von i2s zu
veranlassen. und damit der aufwand für den dac nicht größer ist als der
des cplds (der schon viel verdrahtung braucht) wollte ich halt einen dac
nehmen der "mal eben schnell" angeschlossen ist (und natürlich nicht
so teuer ist :-)).

also ich hab 3 stück von den tlv320aic als samples bekommen. ti ist da
recht spendabel :-)). würde dir aber echt den tlc320dac empfehlen, da
du ja wahrscheinlich keinen audio-eingang brauchst (aic = audio
interface codec = a/d und d/a, der dac ist wirklich nur ein reiner
dac)

ach ja was ich noch zu den dingern sagen wollte : relativ gute qualität
und für low-power bestens geeignet (hab den schon in einigen
batterie-betriebenen applikationen gesehen)

von alfsch (Gast)


Lesenswert?

Search Item 1: tda1545
Stock Database
  Part Number  Description  Price
  Found:2
  TDA1545A-PHI  / DIP 8  3.90EUR

bei fibra-brand

segor hats wohl nimmer.

von Christoph W. (christoph)


Lesenswert?

Ok. Jetz bin ich aber vom TLV320DAC fasziliert. TI schickt ohne Probleme
Samples ? Was hast du angegeben ? Hast du neben dem TLV noch andere
Teile angefordert ?

von TheMason (Gast)


Lesenswert?

@christoph

auszug aus meiner liste ....

1x msp430f135
4x msp430f149
1x msp430f161
1x msp430f169
4x tas3004
3x tas3103
5x sn75... (rs232 <-> ttl)
3x pcm1701
2x pcm1606
2x tms470
...

ok, diese liste ist sehr unvollständig, und ich habe über 2 jahre immer
wieder mal samples geordert. ti mag das gar nicht wenn man die liste bis
zum anschlag ausreizt. die haben mir auch schon eine "bestellung"
abgewiesen (ok da war ich auch sehr dreist :-)))
aber ansonsten sind die echt problemlos. jedenfalls bisher.
die paar samples tlv320irgendwas dürften die eigentlich nicht
abweisen.

probier es einfach mal. ich hab mit ti bisher nur gute erfahrungen
gemacht (vor allem mag ich den msp430 *gg)

gruß
rene

von Christoph W. (christoph)


Lesenswert?

ok. ich werd einfach mal 3 probieren ...

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.