Hallo, Ich plane momentan eine Studienarbeit. Dabei möchte ich einen FPGA von Altera verwenden. Dieser soll zwei Ethernetschnittstellen haben, über die er Frames empfangen und senden kann. Desweiteren soll der FPGA einen Display ansteuern und über mehrere Schalter bedient werden können. Kann man das alles mit einem FPGA machen, oder brauche ich noch einen anderen klassischen Prozessor um die Bedienelemente anzusteuern? Meine Probleme dabei sind eigentlich ganz Grundlegend. Ich brauche erstmal eine gute Einführung in VHDL. Dann müsste ich mich ja auch für einen bestimmten FPGA entscheiden. Dachte dabei an einen Cyclon 2. Ich weis noch nicht ob ich ein Testboard verwede oder doch ein eigenes Board designe. Dabei habe ich dann wieder das Problem, dass ich einen Professionellen bestücker brauche. Oder ich könnte einen FPGA Typ einsetzen der entweder gesockelt werden kann oder noch per hand zu löten ist. Kennt ihr eine Seite wo ich beispiellayouts finden kann, die man selber einfach nachbauen kann? Danke für eure Hilfe!
Auf den ersten Blick scheint das alles mit einem FPGA machbar. Die Frage ist was Du mit den Frames alles machen willst und welche Einstellungen Du vornehmen möchtest. Danach richtet sich stark welches FPGA Du wählen musst. Als Buch zum Thema kann ich Dir nur von Ashenden den "Designers guide to VHDL" empfehlen. Ich vermute mal das Du keinen sooo großen Pincount brauchen wirst. Deswegen solltest Du auf ein BGA verzichten können. Das macht die Sache, mit etwas Übung, gut lötbar. Mfg, Mathi
> Kann man das alles mit einem FPGA machen, oder brauche ich noch einen anderen > klassischen Prozessor um die Bedienelemente anzusteuern? Ja, du kannst alles mit einem FPGA machen, vorausgesetzt er ist "groß" genug, d.h. hat genügend Logikressourcen. Du kannst im Zweifel, d.h. wenn du einen klassischen Prozessor brauchst, einen solchen mithilfe der FPGA-Ressourcen implementieren. Das Prinzip nennt sich "Softcore", und entsprechende CPU-Implementierungen in VHDL gibts diverse fertige, die du einfach benutzen kannst. Auf www.opencores.org müsstest du einige finden. Du solltest aber vorher prüfen, ob es ein einfacher Zustandsautomat nicht auch tut, da dieser wesentlich weniger Logikressourcen benötigt. Zur Erläuterung des Begriffs "Softcore": Das Gegenstück, "Hardcore" genannt, beschreibt einen Prozessor, der nicht mit Hilfe der FPGA-Logikressourcen, sondern als fertige Schaltung neben den Logikressourcen fest auf dem FPGA-Chip implementiert ist. Evtl. hat dein Ziel-FPGA so etwas - das solltest du vorher prüfen. > Ich weis noch nicht ob ich ein Testboard verwede oder doch ein eigenes Board designe. Nimm lieber ein Testboard. Was du dir vorgenommen hast ist für eine Studienarbeit schon einiges, auch ohne dass du ein eigenes Board entwerfen musst. (Natürlich vorausgesetzt dein Prof akzeptiert das).
Mh, das klingt ja schonmal gut! Wie ich erfahren haben, liegt bereits eine Implementierung für die Ethernetschnittstelle vor. Meine Aufgabe bestände also darin, eine Benutzschnittstelle mit einigen Tasten und Drehknöpfen und einem Display zu erstellen. Wie realisisert man die ansteuerung von Display und Tasten? Könnte ich in einen FPGA auch einen AtMega realisieren? Den könnte ich doch dann zur Steuerung der Tasten und des Displays nehmen. Oder ist das zu umständlich?
@ Sebastian (Gast) >Ethernetschnittstelle vor. Meine Aufgabe bestände also darin, eine >Benutzschnittstelle mit einigen Tasten und Drehknöpfen und einem Display >zu erstellen. Das ist schon eher in dem Rahmen machbar. >Wie realisisert man die ansteuerung von Display und Tasten? Mit Zustandsautomaten, auch Finite State Machine genannt (FSM). >Könnte ich in einen FPGA auch einen AtMega realisieren? Im Prinzip ja. > Den könnte ich doch dann zur Steuerung der Tasten und des Displays nehmen. > Oder ist daszu umständlich? Definitiv. MFG Falk
http://www.opencores.org/projects.cgi/web/avr_core/overview Da ist der AVR Core ... mit copy & paste der Adresse und ein Klick auf Projects --> Microcontroller hättest du die Antwort auch selbst gefunden
VGA/LCD Core http://www.opencores.org/projects.cgi/web/vga_lcd/overview Ethernet Core http://www.opencores.org/projects.cgi/web/ethmac/overview GPIO Core http://www.opencores.org/projects.cgi/web/gpio/overview Das sollte alles erschlagen was du vor hast
@ Sebastian: Du hast dir viel vorgenommen. Ein Display läßt sich sicherlich auf einem ARM oder AVR leichter programmieren als in VHDL. Ethernetschnittstelle bringt auch sehr viel Arbeit mir sich, evtl. wird dir die Hardwareschicht schon genug Arbeit machen, TCP oder UDP im Rahmen der Studienarbeit kannst du vergessen, zumal wenn du VHDL nicht im Schlaf programmieren kannst. Da dauert alleine schon die Realisierung einer einfachen I2C Schnittstelle in VHDL länger als in C auf einem Mikrocontroller. Falls du doch mit einem FPGA was machen wollen würdest, schaue dir die Lattice FPGAs an, die sind recht günstig und für dein Vorhaben schnell genug.
@ Google Nutzer: VGA/LCD Core ist nicht in VHDL programmiert. Ethernet Core wird ihn überfordern, da würde ich mich als mehr oder weniger als Erfahrener nicht rantrauen.
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.