Hey, fange gerade an mich in die Thematik FTDi USB einzuarbeiten und habe einen Berg voll Fragen. Arbeiten werde ich speziell mit dem FT2232 - Dual USB UART/FIFO im FIFO Interface Mode unter Benutzung beider Kanäle. Die Doku habe ich soweit es geht auch durch, was mir jedoch immer noch nicht ganz klar ist wie der eigentliche Kommunikationsablauf aussieht !?! Meine MCU schreibt Daten in das 384byte grosse FIFO im Falle das es leer ist. Wie schaut nun jedoch der folgende Ablauf aus, falls ich von Seiten meiner Software z.B 16kbyte Daten anfordere. Es wäre klasse wenn jemand mir hier mal etwas Licht im Dunkeln beschert. Einfach mal so ein Step-by-Step Ablauf der ganzen Geschichte. Wie läuft die Interaktion User Mode - Kernel Moce Treiber ab ? Was muss ich in Hinsicht auf die 16ms Timesclice beachten die mir Windows zur Verfügung stellt. Vielen lieben Dank, Matze
Du schreibst mit deinem µC immer ein Byte in den FIFO, wenn nicht voll ist. Ist er voll, musst du warten. Wenn du 16kByte anforderst, musst du halt zwischendurch immer warten, bis der Host die Daten geholt hat. Auf der PC-Seite musst du ja nur angeben, wieviele Bytes du haben willst, und der Treiber kümmert sich drum, die zu holen. das Empty Signal brauchst du eigentlich nur, wenn du an den µC was schreibst. Dann muss der µC solange nicht leer ist das FIFO auslesen.
Puffert der USB Treiber die Daten eigentlich zwischen bevor sie an die eigentliche Applikation übertragen werden ? Wie würde es aussehen, wenn meine Software ihre Timeslice abgibt bevor die Daten da sind ? Alles in allem vielleicht sogar banale Fragen, aber irgendwie ist mir der eigentliche Ablauf 'Windows-SW' -- 'USB - Treiber' - FTDI CHip noch nicht so wirklich klar. Wäre nett wenn ein 'bewandeter' hier noch mal Hilfe leisten könnte. Vielen Dank&Gruss, Matze
Was hast du denn mit deinem TimeSlice immer? Klar werden die gepuffert, der USB Host hat doch auch Speicher. Um den Windows Scheduler musst du dir keine Sorgen machen, ich hol auch von einem Cypress FX2 Daten mit 40MByte/s ab, ohne dass ich da irgendwas mit dem Scheduler machen muss.
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.