Hallo, folgendes Problem beschäftigt mich: Ein zu entwickelndes Peripheral-Gerät (Kamera) soll über USB2 zum Einen an einen Windows-Host, und zum Anderen (alternativ) an ein uC-basiertes Bedien/Anzeigegerät (ebenfalls noch zu entwickeln) angeschlossen werden. Wäre nur der erste Fall zu lösen, würde ich einen FT2232 in der Kamera verwenden, und auf dem PC den zugehörigen Windows-Treiber/API. Habe ich vor einiger Zeit schon mal mit dem FT245 gemacht, soweit kein Problem. Im zweiten Fall (mit dem selbstgebauten Host) taucht das Problem auf, dass der FT2232 offenbar als Black-Box designt ist, und ohne den Hersteller-Treiber keine Funktion möglich ist. Zumindest konnte ich keine Doku des Innenlebens (Register etc) finden. Der Anschluss an den selbstgebauten Host bzw. die dann selbst zu implementierende Kommunikation mit dem FT2232 scheint daher nicht möglich zu sein. (??) Alternativ zum FT2232 könne man z.B. den ISP 1582 nehmen, zu dem es eine Appnote für die Programmierung gibt. Hier besteht also eine gewisse Aussicht, das Teil vom selbstgebauten Host her erfolgreich anzusprechen. Dummerweise scheint es für den ISP1582 aber keinen Windowstreiber zu geben! (??) Hab ich das Dilemma soweit richtig kapiert, oder was übersehen? Hat jemand eine gute Idee, mit welchem USB Per.Controller sich diese Doppel-Kommunikation bewerkstelligen läßt? ( Die Hintertür, für die Kommunikation Kamera / Bediengerät eine eigene serielle Verbindung unabhängig vom USB zu stricken, wollte ich vorerst mal noch geschlossen lassen :-)) Danke schonmal für eure Ideen! Gruß Martin
Den FT232 (oder 2232) kann man durchaus auch mit nicht-PC-USB-Hosts ansteuern. Einerseits kann das von sich aus der USB-Host-Controller VNC1L ("Vinculum") von FTDI, andererseits gibt es für Linux-Systeme Treibersourcen für die FTxxx-Bausteine. Den Linux-Treibersourcen kann man alle erforderlichen Informationen entnehmen, die nötig sind, um mit einem eigenen USB-Host mit den FTxxx-Bausteinen zu kommunizieren. Andererseits, wenn Du Deinen Aufbau (Deine Kamera) mit einem µC verbinden willst, könntest Du den FT2232 auch umgehen und direkt mit der seriellen Schnittstelle des Aufbaus kommunzieren.
Kannst ja den Cypress FX2 benutzen. Der hat klar definierte Endpoints (die du selbst festlegst) und kann von jedem Host problemlos angespreochen werden. Geht zum Beispiel unter Windows und Linux spielend einfach mit der LibUSB. Ansonsten gäbe es für die FTDI Chips noch die Möglichkeit, einen Vinculum Host Controller in das "Bediengerät" einzubauen. Der kann mit den FTDI Chips natürlich.
Hallo Rufus & Christian, danke für eure schnelle und gehaltvolle Rückmeldungen! * Vinculum: scheidet leider aus, da offenbar kein High-Speed möglich * Linux-Treibersourcen: hab ich gefunden, Danke für den Tip! Da ich mich mit Linux überhaupt nicht auskenne, und mit Windows-Treiberprogrammierung auch nicht, dürfte das ein harter Kampf werden... aber wenigstens ein Ansatz! * Cypress FX2: muss ich mir mal näher anschauen... danke! * Direkte serielle Verbindung: Das wäre halt die "Notlösung" im Fall einer Kapitulation vor dem USB :-)) Da ich so zwischen 20 und 80 MBit/s übertragen muss, wäre hier ein LVDS Link (synchron oder mit selbsttaktenden Daten) angesagt. Der HW-Aufwand wäre durchaus überschaubar, da sich ohnehin auf beiden Seiten FPGAs befinden werden. Die Konfiguration des FT2232 scheint allein über das MProg Tool zu erfolgen, ergänzt durch ein paar Kommandos während der Initialisierung über den Treiber, um vom asynchronen zum schnellen synchronen Interface umzuschalten. Leider lese ich dabei was von BULK Mode! Eigentlich bräuchte ich den Isochronen Mode für garantierte Übertragungsrate/Latenzzeit... Da werde ich wohl nochmal grundlegend in mich gehen müssen... Gruß Martin
> * Vinculum: scheidet leider aus, da offenbar kein High-Speed möglich Du schriebst FT2232 - der macht nur in der "H"-Version High-Speed, alle anderen Varianten sind Full-Speed-Ausführungen (mit 12 MBit). > * Linux-Treibersourcen: hab ich gefunden, Danke für den Tip! Da ich mich > mit Linux überhaupt nicht auskenne, und mit > Windows-Treiberprogrammierung auch nicht, dürfte das ein harter Kampf > werden... Wozu solltest Du Windows-Treiber programmieren müssen? Die liefert FTDI. > Isochroner Modus ... 20..80 MBit/sec Bist Du Dir sicher, daß eine USB-UART hier die Hardware der Wahl darstellt?
> Du schriebst FT2232 - der macht nur in der "H"-Version High-Speed, alle anderen Varianten sind Full-Speed-Ausführungen (mit 12 MBit). ok, ich meine grundsätzlich den "H". Die langsamen Brüder hab ich gar nicht wahrgenommen :-) > Wozu solltest Du Windows-Treiber programmieren müssen? Muss ich natürlich nicht. Aber ich vermute mal dass jemand der Windows-Treiber programmieren könnte, eher was aus den Linux-Treibern rauslesen könnte, als jemand der von beidem k.A. hat... > > Isochroner Modus ... 20..80 MBit/sec > Bist Du Dir sicher, daß eine USB-UART hier die Hardware der Wahl darstellt? Der FT2232H ist ja eher ein USB/FIFO-Umsetzer, der auch noch ein wenig UART dazu spielt. Im Datenblatt wird immerhin mit >25 MByte/s geworben. Der FX2 sieht mit aber tatsächlich interessant aus. Zumindest kann man den in den Isochronen Modus versetzten. Martin
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.