mikrocontroller.net

Forum: PC Hard- und Software FTDI USB - Kommunikationsablauf


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.