Morgen...!
' schrieb:So nun aber die Probleme, Schieberegister werden im FPGA nicht compiliert,
Nope. Das geht, zumindest in 8.6.1 und Schieberegister sind auch in den NI Styleguidelines für FPGA-I/O (Stichwort: Pipelining) das nötige Konstrukt... Siehe
http://zone.ni.com/devzone/cda/tut/p/id/3749 Meinst Du vielleicht Rückkopplungsknoten? Schieberegister sind die, die man mit Rechtsklick auf den Schleifenrand erzeugt...
' schrieb:Die Umsetzung mit der getrennten Eingabe von Tongeneration, Tonfrequenz,... ist leichter gesagt als getan. Ich habe am Anfang viel Zeit damit verschwendet, den Sinus nicht über diesesn Sinusgenerator zu erstellen. Jedoch ist mir keine Umsetzung gelungen durch die eingeschränkte Funktionsvielfalt im FPGA.Mit dem Sinusgenerator kann ich wenigstens einen Ton generieren und damit war ich schon sehr glücklich. Es ist zwar nicht die schönste Art und Weise aber ich hatte mir zur Not gedacht, einfach 30 Sinusgeneratoren zu verwenden.
Ich will Dich nicht enttäuschen, aber mit 2048 Werten mit 16bit für 30 Generatoren bist du bei 125 kByte Speicherbedarf für die Werte (da der Compiler das glaube ich nicht sinnvoll mit nur einem Speicherbedarf optimiert) - und das haben die kleinen FPGAs schon nicht mehr. Bei NI gibt es ein Beispiel, wie man einen beliebigen Sinus ausgeben kann. Schau Dir das doch mal an.
' schrieb:Hat jemand schon Erfahrung mit dem Sinusgenerator? Wieso gibt dieser nur ganze Zahlen aus? Wie kann ich eine Dämpfung realisieren, wenn bei der Verwendung von Festkommazahlen immer die essentiellen Stellen weggeschnitten werden und dadurch nur Nullen ausgegeben werden?
Was gibt denn dein DA-Modul aus? Normalerweise können DA-Wandler nicht mit Festkommazahlen umgehen, sonden halt nur mit Integern - und da macht es halt auch Sinn, mit "ganzen Zahlen" zu arbeiten. Außerdem fressen Festkommazahlen die Performance, die du glaube ich brauchst, um halbwegs sinnvolle Töne erzeugen zu können... Zum Thema Skalierung (und Dämpfung ist ja nichts anderes als eine laufzeitabhängige Skalierung ) siehe
http://zone.ni.com/devzone/cda/tut/p/id/3661
Viele Grüße,
ch