Hallo, habe in den letzten Wochen mal einen Funktionsgenerator in VHDL programmiert (funktioniert!). Sicher nichts besonderes, aber vielleicht will sich ja jemand das Ein oder Andere abschauen - oder mir noch Tips geben, was man besser machen kann. Stichworte: - FPGA: Spartan3 (XC3S200) in Form des Digilent Starter Kit - DAC: TDA1543 auf Lochraster-Platine (2 Kanäle) - Bedienung über 5 Tasten - Anzeige: LCD mit HD44780 / ST7066 (4x27 Zeichen) - Spannungskonverter für negative LCD-Spannung (Ladungspumpe) - Funktionswerte-Tabelle in BRAM (generiert von einem kleinen C-Programm) - DCM's für Takt, Multiplizierer für Amplitude. - Max. Frequenz mit TDA1543 ca. 100 kHz, bei anderem DAC max. 50MHz möglich - Amplitude und Offset einstellbar Die komplette Bedienung ist ebenfalls in VHDL geschrieben - was einen Haufen (Hardware-)Logik braucht (war eigentlich mehr aus Übung gedacht). Als nächstes möchte ich die Bedienung in Form von einem sehr kleinen Controller im FPGA (z.B. xsoc) und Software in einem BRAM aufbauen. Das ist - denke ich - die elegantere und sparsamere Lösung. Ach so, den Schaltplan für den Anschluss von DAC und LCD habe ich gerade nicht elektronisch, folgt demnächst aber. Bei Fragen, mailt mir. Viele Grüße, Thomas
Hallo Thomas, erstmal Glückwunsch zu deinem Projekt. Hab die Quellcodes zwar nur kurz überflogen aber es sieht recht putzig aus. Die Idee mit dem RAM hatte ich bei meinen Audio-Tests auch, nur das ich eine ganze Welle speicher (und nicht nur nen Halben oder gar einen Viertel-Sinus). Was mich noch interessieren würde wäre die Ansteuerung des TDA1543, da ich diesen auch habe und für ein andere kleine Tests verwenden wollte. Wäre schön wenn du die sachen mal reinstellen könntest. Eine Bedienung unter VHDL hatte ich auch mal gebastelt. Da allerdings nur in ganz klein um das externe RAM auf meinem Spartan3 Board manuell zu beschreiben und auszulesen (war auch nur als einstieg gedacht). Aber es zeigt das man einfache Sachen auch recht gut in VHDL formulieren kann. Schönes Projekt. Was ich mir evtl. mal abgucken werde ist die Geschichte mit den DCMs. Bisher bin ich mit meinem 50MHz Quarz für alles ausgekommen. Aber nicht mehr lange :-) Hast du schonmal daran gedacht den Funktionsgenerator hier als Projekt zu machen ? Gruß Rene
Hallo nochmal, hatte ja versprochen, dass ich noch den Schaltplan einstelle. Wie ihr seht, handelt es sich hier um eine ganz einfache Schaltung, die mehr zum Testen der prinzipiellen Funktion dient. Denn Offset des TDA1543 habe ich mit R1 so eingestellt, dass bei angezeigtem Offset "0.000V" etwa 2 Volt am Ausgang anliegen, so kann man die FPGA-Konfiguration prinzipiell testen. Die Amplitude ist nicht kalibriert, ein eingestelltes Millivolt entspricht also tatsächlich nicht genau einem Millivolt. Auch ist das Ausgangssignal im Frequenzbereich oberhalb etwa 20kHz deutlich verzerrt, obwohl die Ausgabefrequenz 50MHz/5.5/16/2=284kHz beträgt. Wer einen Funktionsgenerator für den (Heim-)Laborbetrieb aufbauen will, der sollte natürlich eine Schaltung mit symetrischer Stromversorgung, kalibrierbarer Verstärkung, besserem Filter etc. aufbauen (gerne auch hier posten). Der Operationsverstärker ist vielleicht auch nicht so gut für diesen Zweck geeignet, ich habe ich nur verwendet, weil er einen weiten Ausgangsspannungsbereich hat. Gruß, Thomas
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.