Forum: Mikrocontroller und Digitale Elektronik µC per USB ins Ethernet


von Martin (Gast)


Lesenswert?

Hallo Fachleute.

Ich stehe vor dem Problem, ein µC-Board, welches keinen Ethernetausgang 
besitzt, ans Ethernet anzubinden. Da ein USB-Ausgang vorhanden ist, wäre 
die Idee natürlich naheliegend, einen USB-Ethernet Dapater zu verwenden 
(RS232 soll nicht verwendet werden).
Habe auch einen USB-Ethernet Adapter hier liegen, einen von D-Link, 
dieses Teil benötigt natürlich auf der USB-Seite spezielle Treiber.

Hat schon jemand probiert dies an nen µC anzubinden, mit angepassten 
µC-USB-Treibern?

Vielleicht ein paar Worte zur Koplexität:
Es ist keine besonders anspruchsvolle Anwendung, es sollen lediglich ein 
paar Bytes geschickt werden, die dann auf µC Seite ausgewertet werden.

Wäre für jeden Tipp und Ideen dankbar.

Mit freundlichem Gruß
Martin

von Peter (Gast)


Lesenswert?

die Frage ist was es für ein µC-Board ist. Wenn du die Treiber brauchst 
könntest du sie dir von Linux nehmen, dort sind ja die quellen für die 
meisten USB-WLAN Adapter vorhanden.

Aber ist das USB auch ein USB-Host oder kann man dort nur eine 
Verbindung zu einem PC herstellen?

Ich denke aber das ganze wird zu komplex und nicht mal ebend zu machen 
sein. Besser ist wirklich über ein RS323 to Lan (XPort) Adapter zu 
gehen.

von Martin (Gast)


Lesenswert?

Es ist ein Protypboard mit eigenem BIOS, sprich ich kann keine 
Linuxteriber anwenden. Das die ganze Geschichte nicht einfach so aus der 
Hand zu schütteln ist, war mir schon bewusst. Ist ja auch ein größeres 
Projekt angedacht.
Hoffe vielmehr, dass vielleicht jemand schon was ähnliches in Angriff 
genommen hat und ein wenig Erfahrung teilen kann.

von A. F. (artur-f) Benutzerseite


Lesenswert?

>Hat schon jemand probiert dies an nen µC anzubinden, mit angepassten
>µC-USB-Treibern?

Um einen USB Controller in µC zu realisieren, der auf diesen Adapter 
zugreift ist mehr als mühsam. DLINK stellt außerdem keine Treiber 
online. Also wirst du da wohl keinen Erfolg haben.

von Peter (Gast)


Lesenswert?

Mit linux treiber meinte ich Quellcode, wenn du keien Quellcode 
verwenden kannst wie willst du das überhaupt machen?

von Karl-heinz S. (cletus)


Lesenswert?

Nimm einen X-Port von Lantronix.

von Martin (Gast)


Lesenswert?

Mal kurz eine andere Möglichkeit, die mir spontan in den sinn kommt.
Auf dem Board ist ein FTDI2232D. Wenn ich den USB-Ethernet Adapter 
wegfallen lasse, und stattdessen einen Rechner zwischen schalte. Auf 
diesem Rechner läuft dann eine selbsterstellte Software, die folgendes 
erfüllt:
- Server Application
- nimmt Daten über Ethernet und TCP/IP von einem Client entgegegen
- mit Hilfe der FTDI-Treiber und .dll Anbindung über USB an das Board

Dies müsste doch so funktionieren, oder? Ich habe ja mit den Treibern 
und der .dll die Möglichkeit eine Applikation mit COM-Port Anbindung zu 
schreiben, die dann die Daten die ich über Ethnernet vom Client 
empfangen habe weiterzuleiten? Damit wäre die Anbindung ans Ethernet 
gegeben, ich kann über einen Client und Ethernet weiterhin auf das Board 
zugreifen.

Ich bitte für Hinweise, wie gesagt, war sehr spontan, sind eventuell 
grobe Denkfehler enthalten.

Danke für Tips.

P.S.
(Die Möglichkeit mit dem Xport (und allen anderen Ethernet<->Seriell 
Wandlern entfällt leider, weil der UART-Anschluss auf dem Board 
andersweitig in Benutzung ist)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Auf dem Board ist ein FTDI2232D.

Wenn der für die von Dir eingangs angesprochene USB-Schnittstelle 
("USB-Ausgang") zuständig ist, dann kannst Du an den sowieso kein 
anderes USB-Gerät (Device) anschließen, da der FT2232 selbst ein 
USB-Gerät ist.

Um USB-Geräte ansteuern zu können, bedarf es eines USB-Hosts, Geräte 
(Devices) können nicht untereinander kommunizieren.

Für die von Dir angedachte PC-Lösung gibt es übrigens eine kleine und 
feine Softwarelösung: com2tcp, Bestandteil von 
http://com0com.sourceforge.net/

Auf dem PC richtest Du die FTDI-VCP-Treiber ein und verbindest com2tcp 
mit der virtuellen seriellen Schnittstelle des FT2232. Über das Netzwerk 
kannst Du Dich nun beispielsweise mit telnet mit dem von com2tcp zur 
Verfügung gestellten Socket verbinden und hast eine annähernd direkte 
Datenverbindung zur UART Deines Controllers.

von Dennis (Gast)


Lesenswert?

>Es ist keine besonders anspruchsvolle Anwendung, es sollen lediglich ein
>paar Bytes geschickt werden, die dann auf µC Seite ausgewertet werden.

Dir ist hoffentlich schon klar, dass man für die paar Bytes auch ein 
SW-UART nutzen kann, d.h. eigentlich reichen dir 2 I/O Ports. Ein 
HW-UART wäre da gar nicht nötig.

Die Lösung mit dem zwischengeschaltetem PC ist natürlich viel eleganter, 
energieeffizienter und kostengünstiger :-)))

von Andreas W. (Gast)


Lesenswert?

du kannst auch den FT2232 runternehmen und statt dessen den x-port 
verwenden.

von Martin (Gast)


Lesenswert?

> Wenn der für die von Dir eingangs angesprochene USB-Schnittstelle
> ("USB-Ausgang") zuständig ist, dann kannst Du an den sowieso kein
> anderes USB-Gerät (Device) anschließen, da der FT2232 selbst ein
> USB-Gerät ist.

Das ist mir (leider erst jetzt) auch aufgefallen, nachdem ich die 
Datenblätter des FTDI durchgeflogen habe.
Das war was aus der Abteilung erst fragen dann selbst denken. Sorry.
Danke für die Hilfe.


> Dir ist hoffentlich schon klar, dass man für die paar Bytes auch ein
> SW-UART nutzen kann, d.h. eigentlich reichen dir 2 I/O Ports. Ein
> HW-UART wäre da gar nicht nötig.

Natürlich spricht einiges gegen einen Rechner dazwischen. Die Sache ist 
aber die, am Layout des Boards soll nichts geändert werden, und 
sämtliche I/O sind vergeben. Eine Porterweiterung kommt leider auch 
nicht Frage. Mir bleibt einfach nur der FTDI/USB.

> Für die von Dir angedachte PC-Lösung gibt es übrigens eine kleine und
> feine Softwarelösung: com2tcp, Bestandteil von
> http://com0com.sourceforge.net/

Danke für den Hinweis, das werde ich mir gründlich anschauen.

Vielen Dank für die Hinweise, vor lauter Ideen stürmt man gleich los und 
dann übersieht man schnell was. Top Forum.

Gruß
Martin

von ttl (Gast)


Lesenswert?

nimm einen Router, zb. von Asus WL-500g auf dem OpenWrt läuft. Da gibt 
es Treiber für den FTDI. Wir setzen das so industriel ein, es 
funktioniert wunderbar und es ist kostengünstig. Kannst du aber auch bei 
uns beauftragen,
das sollte in ein paar Stunden erledigt sein.

lehr (at) ml-engineering . net

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.