Hallo Forum, ich habe die Aufgabe bekommen herauszufinden, wie man die Daten, welche von einem FPGA über USB zur verfügung gestellt oder erzeugt werden, mit einem eigenen C Programm weiterverarbeiten kann. Ich habe noch nie mit einem FPGA gearbeitet, meine Kenntnisse beschränken sich auf die Programmiersprache C. Ich habe hier einige Tools zur verfügung wie Nios II EDS 9 und Quartus II. Der FPGA den ich zur verfügung habe ist der Cyclone 2. Ich würde gerne Schritt für schritt in die Sache einsteigen, aber ich weiß nicht womit ich am besten anfange um schnelstmöglich das gegebene Ziel zu erreichen. Vielen Dank für eure Hilfestellung!
Ciggy Alfa schrieb: > ich habe die Aufgabe bekommen herauszufinden, wie man die Daten, welche > von einem FPGA über USB zur verfügung gestellt oder erzeugt werden, mit > einem eigenen C Programm weiterverarbeiten kann. Nach dieser Beschreibung ist dein Problem nicht das FPGA. Denn ob die Daten von einem FPGA oder einem uC oder sonstwoher zu dir kommen, ist für deine Aufgabe vorrangig egal. > von einem FPGA über USB zur verfügung gestellt oder erzeugt werden Und wohin gehen diese Daten danach? Wo ist der USB angeschlossen? Worauf soll dein C-Programm laufen?
Lothar Miller schrieb: > Nach dieser Beschreibung ist dein Problem nicht das FPGA. Denn ob die > Daten von einem FPGA oder einem uC oder sonstwoher zu dir kommen, ist > für deine Aufgabe vorrangig egal. Ja, das ist für die Aufgabe egal, aber um klar zu stellen, dass es sich um einen FPGA handelt wollte ich es trotzdem erwähnt haben. > Und wohin gehen diese Daten danach? Wo ist der USB angeschlossen? > Worauf soll dein C-Programm laufen? Der FPGA (Cyclone 2) ist über den USB-Blaster mit dem PC verbunden. Das C-Programm soll auf dem PC laufen. Nehmen wir an der FPGA führt durch einen Sensor messungen durch und übermittelt diese Daten auf den Rechner, dann will ich diese Daten nicht mit anderen Programmen auslesen und dessen Ergebnisse dann manuel weiterverarbeiten, sondern ich möchte direkt mit einem eigenhändig geschriebenen Programm auf die Messungen zugreifen und sie direkt auswerten können. Es ist eigentlich eine allgemeine Fragestellung und muss nicht unbedingt auf dem Cyclone 2 zurechtgeschnitten sein. Ich denke gesucht ist sowas wie eine C-Bibliothek die den Zugriff auf die Daten ermöglicht.
Ciggy Alfa schrieb: > Es ist eigentlich eine allgemeine Fragestellung und muss nicht unbedingt > auf dem Cyclone 2 zurechtgeschnitten sein. Ich denke gesucht ist sowas > wie eine C-Bibliothek die den Zugriff auf die Daten ermöglicht. dazu müsste man aber genau wissen wie die Daten über USB übertragen werden und dann ist von der Software(Hardware) im FPGA abhänig. Es gibt sehr viele Möglichkeiten per USB daten zu übertragen.
Ciggy Alfa schrieb: > Der FPGA (Cyclone 2) ist über den USB-Blaster mit dem PC verbunden. Tja, wenn du 1. einen Treiber für dieses Programmierkabel hast und 2. vom FPGA aus dieses Kabel zur Datenübertragung verwenden kannst und du 3. vom FPGA auf die entsprechenden Config-Pins zugreifen darfst sowie 4. eine passende Hardwarebeschreibung dafür hast, dann könnte das gehen.
du hast nicht zufällig ein DE2Board? dann kannst du "einfach" mit dem in system memory content editor arbeiten... :D -oder wie das dingen jetzt in quartus genau heißt. dann hast du deine daten zumindest schonmal im fpga. mfg
Schon wieder ein Profi der sich gedacht hat "ich mach mal FPGA" und noch nicht mal ne Kommunikation zwischen µC und PC packen würde. achja nicht böse gemeint aber fang doch mal von Vorne an. Wenn du nen Führerschein machst fährst du ja auch nicht glecih auf der Autobahn mit 200km/h und fragst deinen Fahleehrer wo die Bremse ist.
Schon wieder eine Antwort, die unendlich mal dümmer als die Frage war.
Da kommt ein entsprechendes Interface IC ran z.B. RS232 Levelshifter (z.B: MAX232) oder USB µC (Cypress,ATUSB,ARM)oder USB zu irgendwas Wandler (FTDI). Und dann Baust du dir ne Statemachine im FPGA die mit dem Ding spricht und das Ding programmierst, konfigurierst du so das es mit dem PC Spricht. Und deinen PC programmierst du so das es mit dem Ding spricht (z.B. Visual C++). fertisch. Und dich programmierst du so das du mit dem PC sprichst.
Hallo ciggy, such mam nach dem Stichwort "libusb" oder auch "libusb win" bei Google. Das könnte schon mal in die Richtung gehen was Du suchst. Ob das aber auch mit dem USB-Blaster Interface geht kann ich nicht sagen. Gruß, Michael
Der USB-Blaster ist ja primär zum programmieren, wenn dann geht das über den nur schnarch langsam, weil der ja über JTAG am FPGA hängt. Bei Xilinx gibts auf jeden Fall die Möglichkeit, über interne JTAG Komponenten mit dem Design zu kommunizieren. Aber über den original Programmer wirds eher schlecht, weil die Ansteuerung nicht offen gelegt ist. Würde mich wundern, wenn Altera die Schnittstelle zum USB Blaster offen legt.
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.