01.02.2010, 06:37 PM
In der Zeit, in der Du das alles getippt hast, hättest Du wunderbar auch alles lesen können. Aber meinetwegen... betrachten wir Deinen Redeschwall mal als Traffic. Ich machs aber kurz:
Ich hab hier ein CPLD-Board von Pollin. Eigentlich gut geeignet, um schnelles DDS zu betreiben (DDS per MC-Software schafft nur 10 MHz und reine DDS-Chips sind recht teuer). Allerdings wäre ein FPGA besser geeignet als mein CPLD, weil ein FPGA mehr Register hat. Auf meinem Board ist nun allerdings ganz viel RAM - leider mit 55ns zu langsam, also 10 MHz out.
Nun ist "DDS" aber prinzipiell nicht an eine lookup-table gekoppelt. Für Dreieck kann man zum Beispiel auf lookup ganz verzichten (wird auch so gemacht) und den DDS-Akku direkt als Steuersignal für den DA-Wandler nehmen. Und diesen Wandler kann man - das ist meine Idee - auch frei gewichten und somit andere Kurvenformen als eine lineare Treppe hinkriegen.
Ich wünsch mir Sinus, Dreieck/Sägezahn und Rechteck, wie ich schon schrieb. Also ein normaler DA-Wandler (für Dreieck/Sägezahn) und einen verbogenen (für Sinus). Fertig.
Nun verstanden? Wenn nicht: lesen!
Ich hab hier ein CPLD-Board von Pollin. Eigentlich gut geeignet, um schnelles DDS zu betreiben (DDS per MC-Software schafft nur 10 MHz und reine DDS-Chips sind recht teuer). Allerdings wäre ein FPGA besser geeignet als mein CPLD, weil ein FPGA mehr Register hat. Auf meinem Board ist nun allerdings ganz viel RAM - leider mit 55ns zu langsam, also 10 MHz out.
Nun ist "DDS" aber prinzipiell nicht an eine lookup-table gekoppelt. Für Dreieck kann man zum Beispiel auf lookup ganz verzichten (wird auch so gemacht) und den DDS-Akku direkt als Steuersignal für den DA-Wandler nehmen. Und diesen Wandler kann man - das ist meine Idee - auch frei gewichten und somit andere Kurvenformen als eine lineare Treppe hinkriegen.
Ich wünsch mir Sinus, Dreieck/Sägezahn und Rechteck, wie ich schon schrieb. Also ein normaler DA-Wandler (für Dreieck/Sägezahn) und einen verbogenen (für Sinus). Fertig.
Nun verstanden? Wenn nicht: lesen!