Forum: Mikrocontroller und Digitale Elektronik PCM WAV ATXmega


von MOBA 2. (Gast)


Lesenswert?

Hallo Leute,

ich habe vor einen Audio-Player mittels XMega zu bauen. Dieser sollte 
Geräusche klar und deutlich wiedergeben.

Dazu habe ich den XMega32A4 welcher das PCM-Signal von einem SPI-CHip 
liest, und es mittels Sample-Rate der Dateien von 32Khz ausgibt. Dabei 
beträgt die PWM-Frequenz 125kHz.

Das ganze wollte ich über einen aktiven TP 2. Ordnung mit Grenzfrequenz 
von 3kHz filtern und dann auf den Eingang des TDA7052 geben. Daran hängt 
ein 1W 8 Ohm Lautsprecher. Der TDA bekommt 12V, der XMega 3,3V.


Ich habe mit Sound noch nicht gearbeitet, meine Frage daher, passen die 
o.g. Parameter (Samplerate PCM-Datei 32Khz, PWM-Taktrate 125kHz, 
fc=3kHz).
Welcher OP-AMP würde sich am besten dafür eignen, um geringen 
Rauschanteil zu bekommen. Ich wollte damit u.a. Sprache und div. Sounds 
(Motor, Feuer, etc..) wieder geben - da wäre rauschen nicht so geil.

von Christian B. (casandro)


Lesenswert?

Wenn Du eh nur 3 kHz als obere Grenzfrequenz haben willst, so nimm doch 
einfach 8 kHz Abtastrate. So ein ATXMega schafft locker das zu 
überabtasten auf die 125 kHz die Du haben willst.

Der Filter dahinter ist unkritisch, das Du Nutzsignale bis 3 kHz hast, 
aber Störsignale erst ab 125 kHz. Da reicht auch ein simples RC-Glied 
aus.

Selbst wenn Du wirklich bis 16 kHz rauf willst und somit Deine 32 kHz 
voll ausnutzen willst, sollte durch das Überabtasten mit 125 kHz 
(natürlich mit zum Beispiel einem sinc-Filter) kein Problem sein.

Ich würde Dir übrigens 128 kHz PWM-Frequenz empfehlen, das wäre dann ein 
Vielfaches von 8 bzw 32 kHz.

Wahrscheinlich kannst Du sogar einfach digitale Buffer verwenden und 
direkt auf den Lautsprecher gehen. 125 kHz kann so ein normaler 
dynamischer Lautsprecher bei weitem nicht mehr wiedergeben.

von MOBA 2. (Gast)


Lesenswert?

Hallo,

danke für die Antwort. Ich habe jetzt eine einfachere Schaltung 
aufgebaut, da ich das auch erst so gedacht habe. Ich habe einen TDA7267 
(kann auch an dem liegen - weiß ich leider nicht). Diesen habe ich nach 
Datenblatt angeschlossen (also PWM vom µC direkt über den Kondensator 
(100nF) an den TDA ohne Filter, Ausgang über C an den Lautsprecher), 
PWM-Frequenz 125kHz, Abtastrate der PCM-Datei liegt im Flash des µC und 
hat eine Samplerate von 8kHz. Das Sample ist ein einfaches "okay". Auf 
dem PC hört sich das ganz gut an, auf dem µC habe ich extremes 
hintergrundrauschen.

Achso: Ich nutze übrigends 8-Bit PCM MONO PC unsigned. Die Datei habe 
ich online (hiermit http://audio.online-convert.com/convert-to-wav) in 
die PCM gewandelt und dann mit eigenem PCM-To-H VB-Programm konvertiert 
in ein .h-Array.

Vll. liegt auch oben der Fehler, und gar nicht an meiner Schaltung. Nur 
das Ergebnis zzt. ist katastrophal. Ggf. setze ich die Frequenz auch 
noch hoch vom TP, da ich eine extreme Klangqualitätsreduzierung habe, 
wenn ich den später gewollten Sound mit kleienr als 32kHz Samplerate 
nutze. Das Feuer bspw. klingt nach nichts mehr richtig. Total dumpf. 
Deswegen brauche ich die 32Khz Samplerate, und dementsprechend muss ich 
den TP dann auf 16kHz setzen.
Muss ich ein sinc-Filter nehmen dafür, oder geht der TP 2. Ordnung? ich 
brauche def. die 32kHz.


Als OP-AMP wollte ich den LM328 nutzen, da ich davon zig habe. Wäre das 
dafür ok?

von Horst M. (horst)


Lesenswert?

Marius D. schrieb:
> ich habe vor einen Audio-Player mittels XMega zu bauen. Dieser sollte
> Geräusche klar und deutlich wiedergeben.
>
> Dazu habe ich den XMega32A4 welcher das PCM-Signal von einem SPI-CHip
> liest, und es mittels Sample-Rate der Dateien von 32Khz ausgibt. Dabei
> beträgt die PWM-Frequenz 125kHz.

Den eingebauten DAC des ATxmega32A4 willst Du nicht nehmen, es muß 
unbedingt PWM sein?

von MOBA 2. (Gast)


Lesenswert?

Hallo,

der würde natürlich auch gehen, muss keine PWM sein, welche Vorteile 
hätte ich denn damit? Bräuchte ich weiterhin einen TP oder würde es dann 
dann reichen das Signal direkt auf den TDA zu geben, also einkoppeln via 
Kondensator?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Marius D. schrieb:
> welche Vorteile
> hätte ich denn damit?

Du hast eine analoge Spannung und keine zerhäckselte. Damit hast Du 
deutlich weniger Störungen auf Deiner Platine. Außerdem hast Du mit 
12Bit eine höhere Auflösung.

Marius D. schrieb:
> Bräuchte ich weiterhin einen TP

Ja, und zwar um die Stufen des DACs etwas zu verschleifen. Ein einfaches 
R/C-Filter mit einer Grenzfrequenz von 20kHz reicht.

Marius D. schrieb:
> also einkoppeln via
> Kondensator?

Genau. Achte darauf, dass Du in der Eingangsschaltung des TDA die 
Möglichkeit zur Abschwächung des Signals vorsiehst, um den TDA nicht zu 
übersteuern. Der DAC gibt Spannungen von 0V...AREF aus.

: Bearbeitet durch User
von MOBA 2. (Gast)


Lesenswert?

Hallo und danke für die Antwort Knut,

Könnte ich schaltungstechnisch trotzdem hergehen und den aktiven TP 2 
Ordnung mit Grenzfrequenz von 21kHz nehmen? Die Faktoren n,m habe ich 
als 1 gesetzt und dann einen TP aufgebaut mit C = 10nF und R = 750. Wäre 
das ok von der Dimensionierung?

Ansonsten spricht jetzt erstmal viel mehr für den DAC, alleine schon die 
höhere Auflösung und die geringere Störung.


Jetzt nochmal zum TDA (wie gesagt, ist mein erstes wirklich analoges 
Projekt), der TDA7052: Dort kann ich an den OUT1/2 direkt den 
Lautsprecher anschließen, und brauche keine Entkoppelkondensatoren. 
Zudem kann man die Lautstärke regulieren (kurze Frage hierzu: Ich wollte 
erst hergehen und die digitalen Werte mit einer Prozentzahl 
multiplizieren, um die Lautstärke zu regulieren, besser ist aber wohl 
der Eingang dafür?!).

Jetzt nochmal zur Abschwächung des Signals: AREF sind 3,3V, der OP-AMP 
als TP 2 Ordnung glättet die Spannung. Muss ich hier noch großartig was 
abschwächen?
Die Abschwächung wäre ja quasi indirekt eine Lautstärkenregelung? Wie 
übersteuer ich denn den TDA, ist da eine max. Input Voltage oder sowas 
angegeben, muss ich wenn überlesen haben...


Und jetzt die Entscheidene Frage: LM358 für TP 2. Ordnung ok?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Marius D. schrieb:
> Könnte ich schaltungstechnisch trotzdem hergehen und den aktiven TP 2
> Ordnung mit Grenzfrequenz von 21kHz nehmen?

Kanonen auf Spatzen. R/C Kombination reicht. Du sollst ja nur die 
Bitstufen glätten. Diese äußern sich in kratzigem Sound in den Höhen.

Marius D. schrieb:
> Zudem kann man die Lautstärke regulieren

Achtung: Das kann nur der TDA7052A/AT.

Marius D. schrieb:
> Ich wollte
> erst hergehen und die digitalen Werte mit einer Prozentzahl
> multiplizieren, um die Lautstärke zu regulieren, besser ist aber wohl
> der Eingang dafür

Dazu müsstest Du an dem Eingang eine analoge Spannung anlegen. Dies 
könntest Du mit dem 2. DAC Kanal machen. Ansonsten multiplizierst Du 
halt. Der Signal/Rausch-Abstand wird bei kleiner Lautstärke dann aber 
schlechter.

Marius D. schrieb:
> Jetzt nochmal zur Abschwächung des Signals: AREF sind 3,3V, der OP-AMP
> als TP 2 Ordnung glättet die Spannung. Muss ich hier noch großartig was
> abschwächen?

Der TDA7052 verstärkt 40db. Das heißt, dass Du ihn je nach 
Betriebsspannung schon mit 700mVss übersteuerst. Baue doch Dein 
Eingangsfilter so, dass Du bei maximaler Ausgangsspannung des DAC die 
Ausgänge gerade so noch nicht übersteuerst. Pin2 des TDA7052 muss 
übrigens mit 4k7 an Masse gelegt werden. Der Eingangswiderstand des R/C 
Filters sollte also wenigstens 47kOhm groß sein.

von MOBA 2. (Gast)


Lesenswert?

Hallo Knut,

Ja, ist korrekt, ich nutze die-A TDA's.
Bei VolumeControl werde ich noch nicht ganz schlau, in welchem Bereich 
sich die Spannung bewegen muss? Ist das auf Betriebsspannung bezogen 
oder worauf?

Wollte entweder den DAC oder nen R/C TP mit PWM dazu nutzen, dort eine 
Gleichspannung anzulegen, je nachdem wie groß die sein muss.

Die Betriebsspannung von TDA ist übrigends 12V.

Welchen Grund hat das, dass der Eingang einen Widerstand gegen Masse mit 
4k7 haben muss?

Also Sprich, die Verstärkung von 40db (Faktor 100), d.h. meine max. 
Eingangsspannung darf nur < 120mV betragen?
D.h. ich muss das max. Signal des DAC (3,3V) noch runtersetzen auf 120mV 
(Faktor rund 28).

Kann ich das mit einem Spannungsteiler am Eingang des TDA machen? Dann 
könnte ich das direkt mit dem Pull-Down kombinieren, oder nicht?

Wäre als Einkoppelkondensator für den TDA ein 2µ2 okay, oder könnte ich 
auch einen 10µF nehmen?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Marius D. schrieb:
> Ja, ist korrekt, ich nutze die-A TDA's.
> Bei VolumeControl werde ich noch nicht ganz schlau, in welchem Bereich
> sich die Spannung bewegen muss? Ist das auf Betriebsspannung bezogen
> oder worauf?

Auf Masse, siehe Datenblatt.

Marius D. schrieb:
> Welchen Grund hat das, dass der Eingang einen Widerstand gegen Masse mit
> 4k7 haben muss?

Weil die Innenschaltung dies erfordert, siehe Datenblatt.

Marius D. schrieb:
> Kann ich das mit einem Spannungsteiler am Eingang des TDA machen? Dann
> könnte ich das direkt mit dem Pull-Down kombinieren, oder nicht?

Ich habe doch schon geschrieben, dass Du den Eingangswiderstand vom 
Filter so anpassen kannst dass der Pegel stimmt. Dann brauchst Du auch 
keinen weiteren Spannungsteiler.

Marius D. schrieb:
> Wäre als Einkoppelkondensator für den TDA ein 2µ2 okay, oder könnte ich
> auch einen 10µF nehmen?

1uF reicht in dem Fall auch schon, der muss dann zwischen DAC-pin und 
Filtereingang.

von MOBA 2. (Gast)


Lesenswert?

Hallo Knut,

mein Anliegen wurde noch nicht ganz geklärt.

1. Stimmt die Berechnung mit dem Faktor 100 und der max. 
Eingangsspannung von 120mV in den TDA?

2. Wegen dem Spannungsteiler, ich wollte dort nur wissen, ob das möglich 
wäre mit dem Spannungsteiler, oder ob das das Audio-Signal negativ 
beeinflussen würde.

3. Warum soll der Einkoppelkondensator zwischen DAC und RC-TP? Der 
gehört doch lt. Datenblatt hinter RC und vor TDA

4. Das mit dem Volume Control habe ich vll. falsch erklärt. Ist schon 
klar, dass das auf Masse bezogen ist. Meine Frage war eher. Wenn ich den 
2. DAC-Ausgang nutze, dann habe ich dort 3,3V bis 0V am VC. Die Frage: 
Sind denn 3,3V ausreichend genug um max. Lautstärke zu haben, oder 
bräuchte man dort die Betriebsspannung? Das geht mir nicht hervor aus 
dem Datenblatt.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Marius D. schrieb:
> 1. Stimmt die Berechnung mit dem Faktor 100 und der max.
> Eingangsspannung von 120mV in den TDA?

Probier´s aus. Die 40db sind auch nicht in Stein gemeißelt und 
unterscheiden sich von Chip zu Chip.

Marius D. schrieb:
> 2. Wegen dem Spannungsteiler, ich wollte dort nur wissen, ob das möglich
> wäre mit dem Spannungsteiler, oder ob das das Audio-Signal negativ
> beeinflussen würde.

Wegen des Spannungsteilers musst Du Dir keine Sorgen machen, der teilt 
nur die Spannung.

Marius D. schrieb:
> Warum soll der Einkoppelkondensator zwischen DAC und RC-TP? Der
> gehört doch lt. Datenblatt hinter RC und vor TDA

Wenn Du den Koppel-C vorn anbringst, sparst Du Bauteile. Es ist nur 
wichtig, dass keine DC den Verstärkereingang erreicht, wo Du sie 
abtrennst, ist egal.

Marius D. schrieb:
> Die Frage:
> Sind denn 3,3V ausreichend genug um max. Lautstärke zu haben, oder
> bräuchte man dort die Betriebsspannung? Das geht mir nicht hervor aus
> dem Datenblatt.

Schau Dir mal Seite 7 im Datenblatt an (Juli 1994), da sind 3 Diagramme 
drauf.

von MOBA 2. (Gast)


Lesenswert?

Hallo Knut,

habe ich auch gesehen mit der Seite 7, max. Spannung sind 2V.

Mal eine andere Frage: Habe ich das im XMEGA Errata richtig verstanden, 
dass wenn man AREF oder allg. eine höhere Spannung als 1V nimmt (bpsw. 
Betriebsspannung), dass dann ein sehr großer Fehler entsteht beim DAC?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Nimm den XMega A4U, da sind die Fehler bereinigt und ARef kann bis 2.4V 
gehen.

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.