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?
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
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.
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 :-)
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
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 :)
@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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.