Forum: Mikrocontroller und Digitale Elektronik USB Host Controller


von Je B. (jebag)


Lesenswert?

Hallo zusammen.

Ich benötige einen Umsetzer, um mit einem USB Gerät (Slave, FTDI232 
Chip)via RS232 PC (Master) Schnittstelle kommunizieren zu können.

Freue mich über Lösungsvorschläge.
Gruß jebag

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Vorausgesetzt, daß Du an Deinem FT232 auch noch einen RS232-Pegelwandler 
(à la MAX232) angeschlossen hast, brauchst Du nur ein simples 
Nullmodemkabel, um das mit der RS232-Schnittstelle eines PCs zu 
verbinden.

Mit Deinem Betreff "USB Host Controller" hat das offensichtlich 
überhaupt nichts zu tun.


Vielleicht solltest Du Dir Deine Aufgabenstellung noch mal etwas genauer 
ansehen?


Ansonsten: Ein verbreiteter USB-Host-Controller ist der VNC1L 
("Vinculum") von FTDI.

: Bearbeitet durch User
von Je B. (jebag)


Lesenswert?

Hallo.

das wird so leider nicht funktionieren.

In meinem USB Device (Transmitter) werkelt ein Mikrocontroller, der über 
einen FT232RQ (USB B Buchse) mit dem USB Port eines PC kommuniziert.
Funktioniert alles top.

Nun soll über eine PC RS232 Schnittstelle mit dem Transmitter 
kommuniziert werden. Die HW im Transmitter soll unberührt bleiben.

Hoffe das ist jetzt deutlicher?

Gruß jebag

von Dr. Sommer (Gast)


Lesenswert?

Nehme z.B. einen Raspberry PI, starte Linux und schreibe ein kleines 
Programm welches den seriellen Datenstrom ausliest und an einen echten 
seriellen Port weiter leitet.
Alternativ programmiere einen Mikrocontroller mit integriertem USB Host 
Controller (wie STM32F4) das zu tun, ist aber kompliziert.
Alternativ baue eine PCI USB Karte in den PC ein. Was ist das für ein PC 
der kein USB hat?

von Jiri D. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Vorausgesetzt, daß Du an Deinem FT232 auch noch einen RS232-Pegelwandler
> (à la MAX232) angeschlossen hast, brauchst Du nur ein simples
> Nullmodemkabel, um das mit der RS232-Schnittstelle eines PCs zu
> verbinden.

Nein.

> Mit Deinem Betreff "USB Host Controller" hat das offensichtlich
> überhaupt nichts zu tun.

Nein.

> Vielleicht solltest Du Dir Deine Aufgabenstellung noch mal etwas genauer
> ansehen?

Der TO hat das schon richtig beschrieben.

> Ansonsten: Ein verbreiteter USB-Host-Controller ist der VNC1L
> ("Vinculum") von FTDI.

Genau. Zum Beispiel:
https://www.ftdichip.com/Products/ICs/VNC2.htm
https://www.ftdichip.com/Support/Documents/AppNotes/AN_182_Vinculum-II_UART_to_FT232Host_Bridge.pdf

Gibt es möglicherweise auch schon fertig zu kaufen.

Der TO hat ein Legacy-Gerät mit RS232 und ein neueres Gerät mit USB 
slave.
Ein Kollege von mir hatte genau die gleiche Situation: älterer PLC 
controller -- der nicht mal einfach so ersetzt werden sollte -- mit 
RS232, neuere Slave-PLCs mit USB.

Einen einfachen USB-UART slave einbauen geht nicht, weil man in diesem 
Fall ja den USB-Host benötigt, so wie vom TO beschrieben (USB-Slave ist 
schon vorhanden). Die Lösung ist, wie schon erwähnt, zum Beispiel ein 
VNC2, der den USB Host mit dem Treiber für den CDC-ACM (oder was das 
Slave-Device benötigt) implementiert und einen normalen UART an einen 
RS232 Pegelwandler heraus gibt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jiri D. schrieb:
> Der TO hat das schon richtig beschrieben.

Nicht in seinem ersten Beitrag. In seinem zweiten schon etwas besser.

Und dafür hat er dann ja auch schon eine Lösung genannt bekommen - den 
VNC1L, für den es sogar ab Werk eine Firmware gibt, die mit dem FT232 
"reden" kann, so daß der Entwicklungsaufwand damit deutlich geringer 
ausfällt als mit einem "normalen" USB-Host.

von Jiri D. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Jiri D. schrieb:
>> Der TO hat das schon richtig beschrieben.
>
> Nicht in seinem ersten Beitrag.

Ich finde schon. Im Subject steht "Host Controller", er hat ein 
USB-Device mit eingebautem FTDI und muss damit mit einem "RS232 PC 
(Master)" kommunizieren. "Master" meint wohl, dass da der Host 
Controller hin muss.

Ich kann aber verstehen, dass man bei RS232/USB Problemen normalerweise 
an die USB-Device Bridges zu Legacy-Schaltungen mit UART/RS232 denkt. 
Als mir der Kollege von dem Problem erzählt hat, ging es mir genauso. 
Deshalb finden man bei der Suche auch üblicherweise Produkte/Vorschläge 
zu solchen Fällen.

> In seinem zweiten schon etwas besser.

Klar, ab dann war definitiv es eindeutig.

> Und dafür hat er dann ja auch schon eine Lösung genannt bekommen - den
> VNC1L, für den es sogar ab Werk eine Firmware gibt, die mit dem FT232
> "reden" kann, so daß der Entwicklungsaufwand damit deutlich geringer
> ausfällt als mit einem "normalen" USB-Host.

Ja, da sind wir d'accord. Wobei ich den VNC2 vorgeschlagen habe. Ist 
wahrscheinlich aber egal.

@Je B.:
Es gibt von FTDI Development Boards und fertigen Code, der genau das 
machen sollte, was du suchst:

Development Board "V2DIP1":
https://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#V2DIP1
https://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_V2DIP1-32.pdf

Dazu den Programmer/Flasher
https://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#VNC2_Debugger

(z.B. jeweils ~15 EUR bei Mouser)

Dazu bräuchtest du dann noch einen TTL-RS232 Pegelwandler, DB9 Stecker 
etc.

Code und Binary:
https://www.ftdichip.com/Firmware/Precompiled.htm
"UART to FT232 Host Sample Application ROM"
oder
"UART to CDC Modem Sample Application ROM"
Da sind auch die Application Notes 182 und 183 (s. oben) verlinkt.

Vor einigen Wochen hatte ich so etwas schon fertig gesehen (mit einem 
nicht-FTDI Controller), kann mich aber nicht mehr erinnern, wo das war 
:(

Edit:
Habs gefunden: Basierend auf einem PIC 24FJ64GB002
https://www.hobbytronics.co.uk/usb-host-board-v2

Aber es hat keinen TTL-RS232 Pegelwandler und für mich sieht es so aus, 
als ob nur die RX/TX Leitungen herausgeführt sind, RTS/CTS/... scheinen 
zu fehlen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jiri D. schrieb:
> "UART to CDC Modem Sample Application ROM"

Damit wird man nicht glücklich, wenn man einen FT232 ansteuern will. Der 
ist kein CDC.

von Je B. (jebag)


Lesenswert?

Hallo zusammen.

Erstmal vielen Dank für die Fülle an wertvollen Informationen. Damit 
kann ich schon mal experimentieren.

Hier noch das Feed von FTDI,

Hello Jens,

OK you need a USB host to host FT232R?

The best solution is to use the FT90x.

We provide example code in AN_360 FT900 Example Applications, but since 
we provide source code you can customise to meet your needs:

FTDI have produced an example FT90x UART to FT232 Host Bridge 
application.
See AN_360 FT900 Example Applications.
This example demonstrates bridging an FTxxx class device (eg FT232R, 
FT-X Series) present on the FT90x USB host port to a UART interface, 
with data transferrable in both directions.
Note: since the USB commands that are used in order to control FTxxxx 
devices would be exposed, the library is provided as precompiled.

Take a look at FT90x UART to FT232 Host Bridge, there is already a 
software example which can host FTDI devices.
A video has been created which demonstrates this:
https://youtu.be/_vwOKFaOcJI

There are significant benefits of FT90x:

-Eclipse based IDE
-Source code for API drivers is provided
-Significant performance improvement
-Actively in development by R&D
-Improved documentation and software examples

We provide FT90x Development Modules and a free FT90x Toolchain for 
custom application development.

: Bearbeitet durch User
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.