Forum: FPGA, VHDL & Co. FPGA als USB Massenspeicher?


von Michael (Gast)


Lesenswert?

Hallo!

Ich habe eine Aufgabe bekommen, die ich dank wissensfreiheit 
(hauptsächlich) in Sachen USB im Moment schwer überblicken kann und 
würde mich über Ideen oder Hinweise von Euch freuen.

Über einen Spartan 3e 500 soll (unter Anderem) ein bisschen AD gewandelt 
und die Messungen ausgewertet werden. Die ausgewerteten Messdaten sollen 
dann als Textdatei über USB an einen Computer gehen. Entweder, indem das 
Gerät als Massenspeicher erkannt wird und die Dateien einfach rüber 
kopiert werden, oder indem ein USB Stick eingesteckt wird, auf den 
automatisch die Messdaten kopiert werden.

Günstiger wäre die Variante des Geräts als Massenspeicher. In dem Fall 
müsste der FPGA wohl am einfachsten die Messdaten auf einen Flash 
Speicher kopieren, an dem parallel ein USB Flash Controller sitzt... 
oder gibt es da einfachere Möglichkeiten? Ist das ganze für einen 
Studenten mit rudimentären C und VHDL Kenntnissen eurer Meinung nach in 
1-2 Monaten machbar?

Ich danke für jeden Hinweis!

Viele Grüße

Michael

von Duke Scarring (Gast)


Lesenswert?

Michael schrieb:
> Studenten mit rudimentären C und VHDL Kenntnissen eurer Meinung nach in
> 1-2 Monaten machbar?

Nein. Die Zeit brauchst Du alleine schon für den USB-Teil...

Hast Du schon eine fertige Hardware?

Duke

von John-eric K. (mockup)


Lesenswert?

Zum Thema Massenspeicher
http://www.ftdichip.com/Products/ICs/VNC1L.htm

oder der neuere
http://www.ftdichip.com/Products/ICs/VNC2.htm

============================
Typical Applications
# USB Flash drive to MCU  PLD  FPGA for data storage and firmware 
upgrades.
============================

kommt ja drauf an, ob die USB Geschichte selber gemacht werden muss von 
dir
oder ob es reicht den Chip definiert anzusprechen der dir USB abnimmt.

Gruß
John-Eric

von Michael (Gast)


Lesenswert?

>Hast Du schon eine fertige Hardware?

Zur Hand habe ich im Moment ein Spartan 3e Starter Kit und ggf. ein 
Nanoboard 2 von Altium. Für das Starterkit würde ich, je nach USB 
Controller, einen Adapter bauen. Das Nanoboard hat schon einen Cypress 
Controller mit Sourcecode/Treibern dabei, allerdings finde ich das 
Altium System mit Software Stacks usw. ein bisschen unübersichtlich.

>http://www.ftdichip.com/Products/ICs/VNC2.htm

Den habe ich mir schon mal angeguckt und sieht interessant aus. Hast du 
mit dem FTDI Chip schon mal gearbeitet?

Das ganze soll so einfach wie möglcih sein, je mehr fertig ist, desto 
besser. Den USB Stack selbst zu schreiben fällt auf jeden Fall aus... da 
bin ich einfach nicht Informatiker genug für ;)

von Uwe Bonnes (Gast)


Lesenswert?

Einfacher machst Du die Sache, wenn das Board nur Device ist. Du 
spendierst dem Board ein ordentliches Flash, wie z.b. ein M25P64 
serielles Flash und einen FT2232H. Wenn das Board standalone lauft, 
speicherst Du die Messdaten im Flash, wenn der PC angeschlossen ist, 
schreibts Du die gespeicherten oder die aktuellen Daten je nach 
Geschwindigkeitsanforderungentweder im synchronen oder im asynchrochnen 
FT245 Style Fifo an den PC. Auslesen kannst Du am PC dann einfach die 
(usb) serielle Schnittstelle.


Aber falls die Berechnungen nicht zu kompliziert sind, und die 
Datenraten nicht zu hoch, hoert sich das eher als Aufgabe fuer einen 
Mikrokontroller an...

von Günter (. (dl4mea)


Lesenswert?

Hallo,

hier habe ich mal beschrieben wie ich von einem AD-Wandler über ein FPGA 
16MByte/sec auf den PC transferiere. Vielleicht ist das ja auch ein 
Ansatz für dich:

Beitrag "High Speed Capturing (10MByte/sec)"

ciao, Günter (dl4mea)

von Mike (Gast)


Lesenswert?

Das Spartan 3e Kit hat eine serielle Schnittstelle. An einfachsten wäre 
es sicherlich ein USB auf Seriell Kabel zu verwenden. Oder muss das 
wirklich ein Massenspeicher-Gerät sein?

Falls es unbedingt Massenspeicher sein muss - es gibt auch schon fertige 
Module mit den Vinculum Chips:

http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#V2DIP1

Das schliesst du über einen PMOD-Connector an das Board an.

Die 1-2 Monate für diese Aufgabenstellung finde ich allerdings sehr 
sportlich ;).

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
Noch kein Account? Hier anmelden.