Hallo zusammen, hab mich hier so ein wenig zum Thema FPGA durchs Forum gelesen weiß aber leider immer noch nicht so richtig weiter. Für meine Dipl. Arbeit muß ich zwei sich mit etwa 50kHz verändernde Gleichspannungen über einen ADU (evtl. ad9248 20MSP) digitalisieren die Werte in einer Art Tabelle sortieren, und über eine noch zu dimensionierende Schnittstelle (vermutlich Wlan über WiPort) an einen PC weitergeben. Für einen FPGA spricht soweit ich das bisher verstanden habe seine Geschwindigkeit, seine Flexibilität und somit seine Erweiterbarkeit der in ihm dargestellten HW für spätere Erweiterungen wie zum Bsp. eine Vorprozessierung der aufgenommen Daten. Zudem könnte ich evtl ADU µC und Ausgabeschnittstelle in dem FPGA integrieren. Gegen einen FPGA spricht jedoch nach meinen bisher rudimentären FPGA Kenntnissen, dass ich mir für den FPGA quasi für jede Aufgabe zunächst einen passenden Core bauen müsste und dies wohl der Aufgabe der Schaltung gegenüber ein wenig oversized wäre, da die Arbeit wohl eigentlich auch von einem µC + ad + wiport + ein wenig ram erledigt werden könnte, oder? Zudem habe ich noch keinerlei Kenntnisse in VHDL, habe bisher nur in C und Assembler programmiert (Basic und Pascal mal außen vorgelassen). Wie groß ist so grob der Aufwand sich in VHDL einzuarbeiten? Ich bin bisher der Ansicht, dass eine komplett Realisierung der Aufgabe in einem FPGA inkl Einarbeitung in die Programmierung mit VHDL binnen 6 Monaten ein wenig zu eng wird, kann mich da jemand vom Gegenteil überzeugen? Vielen Dank für jegliche Antowrt und Ratschlag! (Ausser denen die beleidigend sind ;) ) Gruß Stefan
Tja, was gibts da zu überlegen. Du bist Student, also Lernender. Also mach das was Du noch nicht kannst. Wenn überschaubar wird, das eine VHDL-Lösung von der Zeit zu aufwendig wird, kannst Du immer noch einen Softcore nehmen.
Das hängt ganz davon ab, was mit den Daten genau geschehen soll. Wenn es nur darum geht, die AD Messwerte wegzuschreiben bzw. an den PC zu senden, dann sollte das mit einem Mikrocontroller kein Problem sein. Sollen allerdings noch aufwändige Vorverarbeitungen (z.B. FIR-Filter oder ähnliches) in Echtzeit durchgeführt werden, ist die Lösung mit einem FPGA angebracht. Den größten Spielraum lässt dir natürlich der FPGA. Wenn du ein ausreichend großes Modell nimmst (Stratix oder Stratix II von Altera beispielsweise), bevorzugt auf einem Evaluation Board, dann kannst du da problemlos einen Prozessor drauf synthetisieren, der in C oder C++ programmiert werden kann. Bei Bedarf kann dieser dann mit VHDL Einheiten erweitert werden.
Hallo nochmal, und schon mal vielen Dank für die obigen Antworten! Also wenn ich das im Moment richtig verstehe bräuchte ich einen µC Core der die Datenverarbeitung übernimmt letztendlich nicht unbedingt selber zu programmieren, hier könnte ich ja evtl. einen fertigen Softcore her nehmen und ihn wie gewöhnlich mit C / ASM programmieren? Einen AD Wandler mit 20 MSPS in einem FPGA abzubilden halte ich im Moment nicht für sinnvoll, da ich vermute, dass ich da die Geschwindigkeit nicht raus holen kann oder? Also würde ich den AD9248 trotz FPGA nehmen und "einfach" davor setzen. Letzendlich würde ich in der momentanen Planung einfach nur einen µC in einem FPGA synthetisieren und mir somit alle Erweiterungsoptionen offen halten. Digitale Filter und evtl. Bildverbesserungen sind zwar nicht teil meiner Arbeit, aber durchaus in Planung. Aus diesem Geschtspunkt wäre es natürlich sinnvoll sich diese Optionen offen zu halten. Bin für weitere Ratschläge und Infos zu günstigen EVAL Boards dankbar! Gruß Stefan Edit: Würde dieses Evalboard fürs Erste reichen? http://www.xilinx.com/products/devkits/HW-SPAR3A-SK-UNI-G-image.htm kann man Designs die man für diesen FPGA programmiert hat später auf größere FPGAs übertragen? Bekannte Probleme?
> muß ich zwei sich mit etwa 50kHz verändernde Gleichspannungen ... Meine Gleichspannungen haben f=0 Hz :-) Wenn du 50kHz Gleichspannung hast, wozu brauchst du dann > ... einen AD Wandler mit 20 MSPS ... > hier könnte ich ja evtl. einen fertigen Softcore her > nehmen und ihn wie gewöhnlich mit C / ASM programmieren? Wieviel Zeit hast du? Wieviel Geld hast du? > Würde dieses Evalboard fürs Erste reichen? Kauf dir gleich noch ein paar dieser absurden Stecker dazu... :-/ Die gibts nicht an jeder Ecke.
Ich würde als Kompromiss evt. einen DSP in Betracht ziehen, einfach zu programmieren v.a. in Bezug auf Filter, schneller AD Wandler onboard und massig Schnittstellen. Da würde z.B. sogar ein 16-bit DSP wie der 56F801x reichen. Ohne VHDL Kenntnisse ist man da schneller am Ziel.
> muß ich zwei sich mit etwa 50kHz verändernde Gleichspannungen ... >> Meine Gleichspannungen haben f=0 Hz :-) Das dieser Einwand kommen würde war mir bewusst. Mit der Bezeichnung als DC wollte ich nur verdeutlichen, dass es sich hierbei nicht um ein periodisches Signal handelt. Die Spannungen stellen Phasen- und Amplituden Informationen einer vorherigen I/Q-Demodulation dar. >Wenn du 50kHz Gleichspannung hast, wozu brauchst du dann >> ... einen AD Wandler mit 20 MSPS ... Prinzipiell hast du recht, ein 20MSPS AD Umsetzer ist oversized, aber den müsste ich nicht beschaffen, der liegt hier schon rum. Zeit habe ich in etwa 6 Monate, Finanziell ist das Projekt relativ belastungsfähig, aber übertreiben sollte ich natürlich nicht :) > Kauf dir gleich noch ein paar dieser absurden Stecker dazu... :-/ Bessere Vorschläge? ... Such mich grad durch die Altera Website nach nem günstigen Board für den Stratix, habt ihr dazu Vorschläge? Danke! CU Stefan
Wo liegt den das Know-How der Kollegen/Betreuer? In der Gruppe kann man sich gegenseitig helfen, dass sollte die Entscheidung auch beeinflussen
> Bessere Vorschläge?
Nein, das Board ist sein Geld durchaus wert, aber du solltest gleich ein
paar der Stecker (z.B. bei Trenz) mitbestellen, sonst wartest du nochmal
eine Woche, bis du loslegen kannst.
Und das soll ne Diplomarbeit werden? Welcher Studiengang? Welche Uni/FH?
Stefan K. wrote: > Einen AD Wandler mit 20 MSPS in einem FPGA abzubilden halte ich im > Moment nicht für sinnvoll, da ich vermute, dass ich da die > Geschwindigkeit nicht raus holen kann oder? Also würde ich den AD9248 > trotz FPGA nehmen und "einfach" davor setzen. Anders gehts auch gar nicht. Ein FPGA arbeitet rein digital, da kann man keinen AD-Wandler synthetisieren. Der muss auf jeden Fall extern davor.
> Wo liegt den das Know-How der Kollegen/Betreuer? Das ist ganz wichtig. Du wirst nicht glauben, wie verloren du dastehst, wenn dir keiner einen Tipp geben kann... :-/ @ Christian > Ein FPGA arbeitet rein digital, > da kann man keinen AD-Wandler synthetisieren. ACTEL Fusion? Aber der ist zu langsam... :-/
Lothar Miller wrote: > @ Christian >> Ein FPGA arbeitet rein digital, >> da kann man keinen AD-Wandler synthetisieren. > ACTEL Fusion? > Aber der ist zu langsam... :-/ Naja, der ist ja schon da als Hardware drauf, er wollte ja einen synthetisieren....oder was immer "abbilden" auch heißt.
> Naja, der ist ja schon da als Hardware drauf, er wollte ja einen > synthetisieren....oder was immer "abbilden" auch heißt. Naja, das liefe ja auf ein ASIC raus :-/ Ich beschreibe z.B. für ein Xilinx-FPGA ein getaktetes RAM und das Ding wird als BRAM instantiiert, habe ich dann kein RAM synthetisiert? Fazit: Hurra, das Haar ist gespalten.
Ich wollte auch gerade verweisen :D Also zum Thema VHDL als Neuling: Ist etwas seltsam sich als C-konformer Programmierer an diese Denkweise zu gewöhnen, aber durch die schöne Simulationsmöglichkeit (waveform) kann man schnell sehen, was klappt und was nicht. Der Aufwand für einfache Anwendungen ist nicht allzu hoch. Das Buch VHDL-Synthese (Reichardt/Schwartz) ist da wirklich zu empfehlen. Da ich auch einen uC brauche, versuche ich den jetzt mit dem NIOS II auf dem FPGA zu synthetisieren. Inwieweit das gutgeht, kann ich erst nächste Woche sagen :D
Also erstmal danke für Eure Antworten! Zur Frage ob DAS eine Diplomarbei sein soll habe ich momentan selbst noch so meine Bedenken da die reine Datenaufnahme und Weitergabe über eine Schnittstelle mit dem bischen Puffern zwischendurch wohl "etwas" wenig. Habe am Montag aber ein Gespräch mit dem Projektbetreuer, da werd ich da mal aushandeln wieviel von der weiteren Signalverarbeitung, die sonst auf einem embedded-PC passieren soll ich in meine Arbeit vllt. schon mit einbeziehen könnte. Zu meinem Studiengang: Dipl. Elektrotechnik - Fachrichtung Nachrichtentechnik (FH) Gruß Stefan P.S.: Schönes Wochenende!
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.