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
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.
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.
>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.
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)
> 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.
>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 :-)))
> 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
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