Forum: Mikrocontroller und Digitale Elektronik Serielle Datenverbindung via ETH


von ETHCOM (Gast)


Lesenswert?

Guten Tag.

Einige meiner MC-Boards sind via ETH mit dem PC verbunden.
Diese MC-Boards liefern serielle Daten die mittels käuflicher Auswerte-
und Darstellungstools auf dem PC dargestellt werden.

Die serielle Schnittstelle auf dem PC werden mittels eines virtuellen 
COM Ports auf ETH umgesetzt.
Auf der anderen Seite (MC seitig)  habe ich einen RS232/RS485 zu 
ETH-Umsetzer (MOXA NPORTExpress 311) benutzt in den die zu übertragenden
Daten seriell aus dem Board gelangen.

Ich möchte jetzt den MOXA-Umsetzer einsparen und beabsichtige auf die
neuen MC-Boards ein ETH Modul unterzubringen

Was mir jetzt noch nicht ganz klar ist, was muss ich SW-mässig auf dem
MC-Board tun, damit dann das Board als virtuelles COM-port vom PC aus 
behandelt wird?
Es geht mir nicht um die ETH Verbindung als solche, das klappt schon
alles. Was ich suche ist irgend eine Beschreibung die erklärt wie das
"Gegenstück" zum Virtuelle COM-Port ETH Umsetzer des PCs auf der MC 
aussieht.

Kennt jemand eventuell ein Codebeispiel dazu ?

Hoffe ich konnte halbwegs erläutern was mein Problem ist.

Danke

von spess53 (Gast)


Lesenswert?

Hi

ETH = Eidgenössische Technische Hochschule?

MfG Spess

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

ETHCOM schrieb:
> Was mir jetzt noch nicht ganz klar ist, was muss ich SW-mässig auf dem
> MC-Board tun, damit dann das Board als virtuelles COM-port vom PC aus
> behandelt wird?

Nichts, sofern das "ETH"-Modul sich beispielsweise so verhält wie ein 
XPort von Lantronix.

Wenn das "ETH"-Modul aber nur die Netzwerkhardware ohne 
"Eigenintelligenz" enthält, dann musst Du auf Deinem µC das komplette 
Netzwerkprotokoll selberstricken, also einen IP-Stack zum Laufen 
bekommen und eine Umsetzung deiner seriellen Schnittstelle auf ein 
geeignetes Socketprotokoll.
Das ist z.B. bei Verwendung vom EN28J60 der Fall.


Nebenbei:
Hältst Du es für förderlich, eigene Abkürzungen zu erfinden?

von obfri (Gast)


Lesenswert?

a) viel basteln in HW und SW

b) fertige Lösung z.B. WIZ107SR von WIZNET

von Bronco (Gast)


Lesenswert?

ETHCOM schrieb:
> Es geht mir nicht um die ETH Verbindung als solche, das klappt schon
> alles.

Was ist denn in "alles" so drinn? Läuft TCP/IP schon?

von ETHCOM (Gast)


Lesenswert?

Sri, wenn ich Verwirrung stifte. War nicht meine Absicht.
(In meiner "Umgebung" ist ETH als Abkürzung für Ethernet jedoch
geläufig, ist keine Erfindung von mir. Kann ich natürlich nicht hier 
erwarten. Versuch mich aber künftig verständlich auszudrücken)

Ja, TCP/IP geht (TCP-Looback-Server, Web-Server, DHCP,...). Benutze 
WIZNET W5100, muss also alles selber machen.

Gruss

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

ETHCOM schrieb:
> Benutze WIZNET W5100, muss also alles selber machen.

Naja, dann musst Du schon etliches nicht mehr selber machen, da der 
W5100 schon das ganz TCP/IP-Protokoll für Dich abwickelt.

Jetzt musst Du "nur noch" einen Socket quasi "telnet-like" anstelle 
Deiner seriellen Schnittstelle verbinden.

von ETHCOM (Gast)


Lesenswert?

ok, korrigiere mich wieder. Es muss heissen:

.... muss also einiges selber machen.

Gut,

vielleicht weiss aber doch noch jemand etwas mehr dazu , was mir hilft.

Danke

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

com2tcp (sf.net) bekannt?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das nimmt einem die PC-Seite ab, hier aber geht es (so wie ich es 
verstanden habe) um das Gegenstück.

von Spess53 (Gast)


Lesenswert?

Hi

>vielleicht weiss aber doch noch jemand etwas mehr dazu , was mir hilft.

Sieh dich mal auf der Seite von WIZNET um. Download Center, filtern nach 
W5100. Da gibt es massenhaft Software.

MfG Spess

von ETHCOM (Gast)


Lesenswert?

Richtig verstanden!!

Spess53 schrieb:
> Sieh dich mal auf der Seite von WIZNET um. Download Center, filtern nach
> W5100. Da gibt es massenhaft Software.

Hab ich natürlich schon gemacht. Konnte aber nichts  identifizieren was
mir helfen würde.

Danke trotzdem.

von Spess53 (Gast)


Lesenswert?

HI

>Hab ich natürlich schon gemacht. Konnte aber nichts  identifizieren was
>mir helfen würde.

Was hast du denn für einen Controller?

MfG Spess

von ETHCOM (Gast)


Lesenswert?

Spess53 schrieb:
> Was hast du denn für einen Controller?

LPC2148

von Spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

>LPC2148

Direkt für den findet sich allerdings weniger. Aber geh mal In den 
Downloadbereich von Wiznet und filter mal nach der Maske im Anhang.

Da findest du z.B 'W5100 Driver Source ver 1.6'. Ist zwar für AVR, aber 
wenn du das SPI-Gedödel für deinen Controller umschreibst sollte der 
Rest auch gehen. Ich habe (fast) das Ganze nach Assembler portiert da 
sollten die Hürden für C um einiges niedriger liegen.

MfG Spess

von ETHCOM (Gast)


Lesenswert?

Ich weiss jetzt nicht ob wir uns richtig verstehen

Ich habe den W5100 via Ethernet am PC schon laufen. Habe auch die AVR
SW 1.6 modifiziert und mit CS (CodeSourcery) und Eclipse für den ARM7
kompiliert.  Geht alles soweit.

Was mir nicht klar ist, wie ich die COM Verbindung herstellen kann.

Also nochmals: Daten irgendwie in den W5100 rein, dann via ETH(Ethernet)
an den PC, dort via virtuelles COM-Port  an ein Tool, dass mit
COM -Schnittstellen arbeitet (einfachster Fall Hyperterminal).
Also funktionsmäßig sowas wie WIZ100SR, nur ohne seriellen
Anschluss sondern via SPI oder parallel gleich in den W5100.

Oder steh ich da irgendwie auf der Leitung ?

Gruss

von Spess53 (Gast)


Lesenswert?

Hi

>Also nochmals: Daten irgendwie in den W5100 rein, dann via ETH(Ethernet)
>an den PC, dort via virtuelles COM-Port

Also Ethernet nach virtuellen COM-Port. Das hat aber nichts mit dem 
W5100 zu tun. Da kann ich dir nicht weiter helfen.

MfG Spess

von ETHCOM (Gast)


Lesenswert?

Hat sehr wohl was mit dem W5100 zu tun, wenn man es als Ganzes 
betrachtet.

Aber, last mal gut sein, so komme ich hier wohl nicht weiter.

Dennoch Danke für die Beiträge.


Gruss

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Spess53 schrieb:
> Also Ethernet nach virtuellen COM-Port.

Das macht das von Martin Thomas erwähnte com2tcp, das auf Sourceforge zu 
finden ist.

von ETHCOM (Gast)


Lesenswert?

Ich verstehe es immer noch nicht.

Auf der PC-Seite ist mir das alles klar, da käme com2tcp o.ä. zum 
Einsatz.

Muss ich aber auf der MC/W5100 Seite denn gar nichts machen ? Heisst das 
,
man füttert einfach den W5100 nach Verbindungsaufbau (z.B.als  TCP
Server), alle übertragene Daten kommen dann als quasi serielle Daten
auf dem virtuelle  COM-Port am PC raus , welches z.B mit com2tcp oder
andere SW realisiert ist. Ist das so ? (Wäre ja zu einfach).

Danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

ETHCOM schrieb:
> Heisst das, man füttert einfach den W5100 nach Verbindungsaufbau
> (z.B.als  TCP Server),

Im Prinzip sieht das genau so aus. Auf welche Art und Weise die Daten an 
den W5100 zu übertragen sind, und auf welche Art und Weise die 
empfangenen Daten aus dem W5100 herauszubekommen sind, wird in dessen 
Dokumentation stehen; höchstwahrscheinlich sind diese in ein Protokoll 
verpackt, über das auch die Signalisierung des Verbindungsaufbaus sowie 
die Steuerung des -Abbaus vonstatten geht.

Sieh Dir doch mal die "Treiber"beispiele an, die Spess53 erwähnt hat, 
und sieh nach, ob da der Begriff "telnet" auftaucht.

von M. K. (avr-frickler) Benutzerseite


Lesenswert?

http://en.wikipedia.org/wiki/COM_port_redirector

Wenn du die vurtuelle serielle Schnittstelle, auf PC-Seite konfigurieren 
möchtest ist die RFC-2217 interessant für dich.

von ETHCOM (Gast)


Lesenswert?

Es geht hier nicht um die PC-Seite!

@Rufus,

da ich alle Beiträge lese, habe ich das natürlich schon nach deinem
zweiter Beitrag hier getan, in dem du Telnet erwähnt hast. Ich find
nichts zum Thema Telnet im ganzen Wiznet Packet (wenn ich richtig
gesucht habe).

Zum W5200 gibt es aber ein Codebeispiel bei WIZNET .  Beide Devices sind
zwar nicht ganz gleich, vielleicht kann man aber in der obere Ebene
wenigsten sehen wie es geht.

Wie geht es dann in meinem spezielen Fall weiter , bitte ? Mit Telnet
hatte ich noch nichts zu tun. Wäre da RFC 2217 ( Telnet Com Port
Control Option) ein Stickwort ?


Danke, schönen Tag noch.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Im Paket "W5100_driver_v1_6[0].zip" sind die grundlegenden 
"Treiber"funktionen enthalten.

Damit kannst Du auf Deinem µC mit listen auf eingehende Verbindungen 
auf einem Socket warten, den Du mit socket vorher einrichtest.

Mit recv empfängst Du Daten, mit send sendest Du welche. Die hier 
übertragenen Daten kannst Du direkt als die Daten auffassen, die über 
Deine virtualisierte serielle Schnittstelle übertragen werden.

"Richtiges" telnet macht mehr, aber das brauchst Du für Deine Anwendung 
nicht, hier reicht der "raw"-Betrieb aus.

von ETHCOM (Gast)


Lesenswert?

Ok, danke ich versuch's mal.

Werde berichten ob es funktioniert.

Servus

von ETHCOM (Gast)


Lesenswert?

Zur Info für diejenigen die sowas auch nutzen wollen:

Genauso funktioniert es!! Man denkt halt immer zu kompliziert.

ETHCOM schrieb:
> man füttert einfach den W5100 nach Verbindungsaufbau (z.B.als  TCP
> Server), alle übertragene Daten kommen dann als quasi serielle Daten
> auf dem virtuelle COM-Port am PC raus , welches z.B mit com2tcp oder
> andere SW realisiert ist.

Danke an alle, speziell aber an Rufus und Martin Thomas, für's "auf den
 richtigen Weg bringen".

Gruss

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na also!

Freut, geholfen zu haben.

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.