Hallo, kann mir jemand was zu der Übertragungsrate des FT 245 von FDTI sagen?.. Im Datenblatt steht, dass mit dem Virtuellen Com Port Treiber 300 kbyte pro sekunde übertragen werden können. Ist somit also gewährleistet, dass 300 bytes jede millisekunde an den Rechner übertragen werden? Oder lässt sich darüber keine zuverlässige Aussage bei usb machen? Also mir geht es eigentlich darum, gezielt sagen zu können wieviel bytes ich in jeder millisekunde maximal in den Puffer schieben darf ohne das dieser überläuft.
Da gibt es glaube ich eine 65kByte Obergrenze (für die Puffergröße, bin mir aber über die genaue Größe nicht sicher). Solange der Puffer nicht voll ist, kannst du Daten ohne Verlust senden. Bei der Übertragung wirst du also eine Art Handshake einführen müssen, wo der PC nach jedem Datenblock das Leeren des Puffers an den Mikrocontroller, DSP, ... bestätigt (senden eines einzelnen Zeichens). Dann kann dieser erneut senden. Die Datenrate wird dann im wesentlichen durch die Reaktionsgeschwindigkeit des PCs limitiert.
Die ganze USB Geschichte geht blockweise. Pro Millisekunde kannst Du mit etwa einen uebertragenen Block rechnen. Wenn Du also Byteweise schreibts, wirst Du nur etwa ein kByte pro Sekunde uebertragen koennen.Formuliere es also so um: Du darfst je Millisekunde einen Block in den FT245 schieben, vorausgesetzt, er passt auch in die Puffer des FT245.
Hallo Wobei Handshake durch die RD und WR-Leitungen sowieso garantiert ist. Um diese Millisekunde erreichen zu können, muss der Latency Timer entsprechend eingestellt werden. Ich habe aber vom Support erfahren, dass diese Millisekunde jedoch nur im Idealfall erreicht wird. Ich habs leider nicht probiert, da ich noch nie so hohe Übertragungsraten benötigte. Gruß, Martin
Hallo, danke für eure Antworten! Mit dem Handshake nutzt mir nicht viel, weil mein Protokoll was ich an den PC übertragen will in Echtzeit läuft...zwar nur ganz Soft, aber bremsen kann ich das Datenaufkommen trotzdem nicht. Um eine Aussage treffen zu können ob der FT245 geeignet ist, muss ich also wissen wieviele bytes ich pro millisekunde reinschieben kann ohne das der buffer irgendwann überläuft, weil er nicht zügig genug geleert wird. Mein grosses Problem ist also gar nicht mal ein hohes Datenaufkommen, sondern dass ich eine Aussage über das garantierte Transfervolumen pro Zeiteinheit über USB treffen muss. Danke nochmal
>>Mit dem Handshake nutzt mir nicht viel, weil >>mein Protokoll was ich an den PC übertragen will in Echtzeit >>läuft...zwar nur ganz Soft, aber bremsen kann ich das Datenaufkommen >>trotzdem nicht. Dann solltest Du nicht den VCP Treiber verwenden, sondern den D2XX Direct DLL Treiber. Der ist um einiges schneller.
"Mein grosses Problem ist also gar nicht mal ein hohes Datenaufkommen, sondern dass ich eine Aussage über das garantierte Transfervolumen pro Zeiteinheit über USB treffen muss." Dazu kann man keine allgemeingültige Aussage treffen, da zwar jede ms ein Datenblock übertragen wird aber immer nur an ein Gerät. Sind mehrere an einem Host angeschlossen, dann passt da schon nichts mehr.
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.