Forum: FPGA, VHDL & Co. usb Geschwindigkeit


von Spartakus (Gast)


Lesenswert?

Hallo.

Ich muss für eine Realtimemessung sehr viele Daten an einen PC
übermitteln. Bei opencores.org gibt es ja einen USB-Core
http://www.opencores.org/projects.cgi/web/usb/overview . Dort steht
(wie auch bei Wikipedia) das eine Geschwindigkeit bis zu 480Mb/s
erreicht. Ist das wirklich ein Wert, der mit einer normalen USB 2.0
Schnittstelle zu errreichen ist? Oder sind dann Spezialkabel etc nötig?

von Michael (Gast)


Lesenswert?

Ich würde nicht einen Softwarecore verwenden, sondern lieber einen IC
kaufen und den mit dem FPGA verdrahten. Dann brauchst Du nur noch die
Daten an den IC übergeben und eine Statusleitungen abfragen oder
setzen. Ich denke mal das so ein IC nicht teuer sein kann, denn im
USB-Stick müssen die ja auch vorhanden sein.

Grüsse

Michael

von Alex (Gast)


Lesenswert?

Dein USB Stick läuft wohl kaum mit 60MByte/s ?

Bei so hohen Datenraten kapituliert im Normalfall jedes Betriebssystem
über kurz oder lang. Im Normalfall speichert man die Daten nach der
Erfassung zunächst in Echtzeit zwischen (großer RAM) und sendet sie
dann an den PC.

von Spartakus (Gast)


Lesenswert?

Erstmal danke  für die Infos. Das mit dem IC klingt nicht schlecht.
Damit habe ich auch wieder platz gespart. Eine Typbezeichnung hast du
nicht grad parat oder? Werden die Daten dann per I2C übertragen oder
wie funktioniert das dann?

@ Alex
Das hatte ich eh vor. Ich wollte nur wissen wie schnell ich dann die
gepufferten Daten Übertragen kann. Aber evtl bin ich mit USB 1.1 dann
auf der ssicheren Seite :-)

von Joern G. aus H. (Gast)


Lesenswert?

Die 480 MBit/s sind absolut theoretisch auf Anwendungsseite!
Sei froh, wenn du 20MByte/s hinbekommst - schon dass ist sehr
schwierig.
Viele angebliche "USB2.0 Lösungen" schaffen ja nicht mal 10MByte/s

jörn

von Mike (Gast)


Lesenswert?

Die FTDI-Schaltkreise (FPGA <-> FTDI Verbindung via USART) können soweit
ich weiß bis 3MBit. Wenn man dann netto auf 1-2MBit kommt wäre das ein
guter Wert, zumindest die Implementierung auf PC-Seite ist trivial
(D2XX DLL) und um das Checksummen-Handling muss man sich auch keinen
Kopf machen.

Schnellere Lösungen im Low-Cost Bereich sind mir nicht bekannt.

Allerdings ist mir aufgefallen, dass der determinierende Faktor bei den
FTDIs in puncto Geschwindigkeit schon eher der PC ist, der die Daten
dort irgendwie schnell genug entgegen nehmen und ablegen muss. Der
Datentransfer eines USB-Stick wird dann eher über DMA oder ähnliches
organisiert sein, eine Softwarelösung nutzt halt exzessiv die CPU :)

von Michael (Gast)


Lesenswert?

@Mike

Wie wird der FTDI im Programm (PC-Softare) eingebunden? Wenn die
Verbindung zum FPGA mittels UART geschieht, wird dem PC dann eine
serielle Schnittstelle vorgegaukelt?

Gruß Michael

von Dirk (Gast)


Lesenswert?

Hi,


>Wie wird der FTDI im Programm (PC-Softare) eingebunden? Wenn die
>Verbindung zum FPGA mittels UART geschieht, wird dem PC dann eine
>serielle Schnittstelle vorgegaukelt?

Jip per Treiber wird ein Virtual Comport erstellt.

von Marius Schmidt (Gast)


Lesenswert?

Es gibt aber auch einen treiber der ohne com port funktioniert, den
finde ich irgendwie besser.

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.