Forum: PC Hard- und Software FTDI USB - Kommunikationsablauf


von Matthias (Gast)


Lesenswert?

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

von Christian R. (supachris)


Lesenswert?

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.

von Matthias (Gast)


Lesenswert?

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

von Christian R. (supachris)


Lesenswert?

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