Guten Tag! Ich realisiere z.Zt. ein Projekt mit Xilinx ISE 10.1 für das Spartan 3A Starter Kit. Ich möchte den, auf dem Board vorhandenen Audio-Ausgang nutzen. Dort werden dann Kopfhörer angeschlossen. Ich möchte hier gerne ein einfaches 1KHz - Signal ausgeben. Das signal wird einfach durch den FPGA erzeugt und an den Audioausgang (kopfhöreranschluss) übertragen. Jedoch weiß ich nicht, wie man die Lautstärke beeinflussen kann? Kann mir hier jemand einen Tipp geben? In diversen Handbüchern hab ich leider nichts gefunden. Danke
Mir fallen da mehrere Möglichkeiten ein, aber welche davon funktioniert kann ich nicht sagen... a) Ausgangspins verändern im ucf-file. Standardmäßig sind das glaube 3,3V mit 20mA. Kann aber sein das andere Teilnehmer der Bank das stört wenn man es verringert. b) eine Art Puls verwenden. Statt dauerhaft 1Khz anzulegen lässt du kurze Pausen zwischendurch. Logischerweise musst du dann die Frequenz erhöhen, bspweise 2khz mit einem duty-cycle von 25%. Kann aber nicht sagen wie das nachher klingt, eventuell nicht 100%ig so wie erwartet. c) geht immer : Kopfhörer mit regelbarer Lautstärke verwenden
Soweit mir bekannt, geht es bei diesem Board nur digital raus. Somit muss man alles (Amplitude, Phase, Frequenz) in einen 1-Bit-Strom übersetzen. Man geht z.B. mit 10MHz raus und toggelt 1 und 0 - damit bekommt man die Nulllinie. Gibt man mehr 1, als 0 aus, steigt der Mittelwert und umgekehrt. Damit wird der Amplitudenverlauf gezeichnet.
Ok, das klingt alles schonmal sehr nachvollziehbar. Danke erstmal!
Auf dem Board, ich hoffe wir reden vom gleichen Board, ist ein LTC2624 four Channel DAC. Leider nicht an der Kopfhörer Buchse angeschlossen.
Ich habe mit dem Spartan 3A schon einfaches Audio erzeugt. (Signaltöne bei User-Aktivität). Die Ausgänge sind auch leistungsstark genug, um kleine Miniaturlautsprecher antreiben zu können. FPGA -> R25 Ohm und einen 32er Piezo.
Geht sowas nicht mit einem Sinus-ROM und dann eine PWM? Zum glätten kann man noch einen Kondensator vor den Ausgang hängen. So funktioniert das hier wunderschön am Celoxica RC10. Das hat auch eine Klinkenbuchse ohne DA-Wandler.
Gustl Buheitel schrieb: > Geht sowas nicht mit einem Sinus-ROM und dann eine PWM? Andreas F. schrieb: > Somit muss man alles (Amplitude, Phase, Frequenz) in einen 1-Bit-Strom > übersetzen. Die PWM macht ja genau diese Übersetzung in einen 1-Bit-Strom. Aber ein anderes Modulationsschema als Andreas vorgeschlagen hat: Andreas F. schrieb: > Man geht z.B. mit 10MHz raus und toggelt 1 und 0 - damit bekommt man die > Nulllinie. Gibt man mehr 1, als 0 aus, steigt der Mittelwert und umgekehrt. Diese Modulation nennt sich delta-Sigma.
Stan, Kyle & Co. schrieb: > Jedoch weiß ich nicht, wie man die Lautstärke beeinflussen kann? Im digitalen in dem du die Amplitude von deinem Signal reduzierst (z. B. mit einer Fixpunkt Multiplikation und passender Wertbereichsanpassung). Sobald aber ein Anspruch an Audioqualität besteht, ist das nicht mehr trivial, da du ja so die erreichbare Amplidutenauflösung reduzierst. Iulius schrieb: > a) Ausgangspins verändern im ucf-file. Standardmäßig sind das glaube > 3,3V mit 20mA. Kann aber sein das andere Teilnehmer der Bank das stört > wenn man es verringert. Die Treiberstärke des FPGA Pins anpassen. Kreative Variante :-) Leider kann man die Treiberstärke nicht vom FPGA Design aus verändern, sondern nur beim Place&Route fix einstellen.
Wieso wird dadurch die Amplitudenauflösung reduziert? Es werden doch nur oben einige digits nicht angesteuert.
Markus schrieb: > Wieso wird dadurch die Amplitudenauflösung reduziert? Es werden doch nur > oben einige digits nicht angesteuert. Ja, genau. Das bedeutet, dass du bei gleichbleibender Wortlänge (Durch den DAC am Ausgang begrenzt) nicht mehr den ganzen Bereich nutzen kannst. Bei kleinen Lautstärken reduzierst du so markant die genutzte Auflösung deines DACs. Darum möchte man in den meisten Fällen (Solange ein analoger Endverstärker genutzt wird) die Lautstärkeanpassung nach dem DAC machen (Oder z. B. durch steuern der DAC Referenzspannung), um die verfügbare Schrittzahl des DAC optimal auszunutzen. Wie gesagt, für kleine Übungsaufgaben auf einem Eval-Board ist das nicht relevant :-)
Ok Ok, ich gebe ja zu, mit einem DAC mit 32bit Wortbreite ist mein Meckern schon eher fehl am Platz: http://www.akm.com/akm/en/product/datasheet1/?partno=AK4399EQ (Da intern dann ein delta-Sigma Modulator läuft, will ich trotzdem einen Hörtest machen :-) )
Christoph Z. schrieb: > (Da intern dann ein delta-Sigma Modulator läuft, will ich trotzdem einen > Hörtest machen :-) ) Das klingt so, als ob Du diesbezüglich etwas Negatives erwartest. (?)
Sigma-Delta-Wandler schrieb: > Das klingt so, als ob Du diesbezüglich etwas Negatives erwartest. (?) Als Ingenieur will man Fakten nicht nur Datenblattwerte :-) Nein, ich erwarte nichts negatives. Das würde ich auch als unprofessionell erachten (Es ist immer wieder ein Kampf mit mir selber sich nicht von den Erwartungen oder Vermutungen verleiten zu lassen).
Christoph Z. schrieb: > Andreas F. schrieb: >> Somit muss man alles (Amplitude, Phase, Frequenz) in einen 1-Bit-Strom >> übersetzen. > Die PWM macht ja genau diese Übersetzung in einen 1-Bit-Strom. > Aber ein anderes Modulationsschema als Andreas vorgeschlagen hat: > Andreas F. schrieb: >> Man geht z.B. mit 10MHz raus und toggelt 1 und 0 - damit bekommt man die >> Nulllinie. Gibt man mehr 1, als 0 aus, steigt der Mittelwert und umgekehrt. > Diese Modulation nennt sich delta-Sigma. So ist es. Ich hatte es nur in einfacheren Worten darstellen wollen.
Wo ist denn der Unterschied zwischen delta-sigma und pwm? Beispiel: Delta-sigma bei 50% und 1MHz: 01 Pwm bei 50% 8bits 4MHz: 00001111 Ist es wirklich alleine die Anordnung? Also dass 75% bei delta-sigma ein 1011 und aber auch ein 0111 oder 1101 sein kann während es bei der PWM immer 0111 ist. Hat delta-sigma deshalb Vorteile wie dass man ein glätteres Signal erhält und auch keinen so großen Kondensator braucht am Ausgang? Danke!
Gustl Buheitel schrieb: > Geht sowas nicht mit einem Sinus-ROM und dann eine PWM? Ganz genau. > man noch einen Kondensator vor den Ausgang hängen. Ist nicht unbedingt nötigt, weil der Kopfhöhrer selber einen Tiefpass darstellt. Bei einem heitgen FPGA bringt man die PWM mit 200 MHz raus.
Experte schrieb: > Gustl Buheitel schrieb: >> Geht sowas nicht mit einem Sinus-ROM und dann eine PWM? > Ganz genau. >> man noch einen Kondensator vor den Ausgang hängen. > Ist nicht unbedingt nötigt, weil der Kopfhöhrer selber einen Tiefpass > darstellt. Bei einem heitgen FPGA bringt man die PWM mit 200 MHz raus. Ich würde nicht den TP im Kopfhörer verwenden, weil dies zu nichtlinearen Verzerrungen führt. Ausserdem werden so Tonhöhen im Bereich Ultraschall generiert, die der KH emitiert und die das Gehör belastet. Zudem wird unnötig Leistung verbraten. Sauber ist es, den KH nur mit audiblen Frequenzen anzusteuern, also vorher geeignet zu filtern.
Gustl Buheitel schrieb: > Beispiel: > > Delta-sigma bei 50% und 1MHz: 01 > Pwm bei 50% 8bits 4MHz: 00001111 > > Ist es wirklich alleine die Anordnung? Aber natürlich. Überlege mal: Die 00001111 sind doch von viel geringerer Frequenz und weniger gut zu filtern.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.