In diesem Aufsatz wird eine Ethernet-Verbindung verwendet. Ähnlich wie beim USB stehen auch für Ethernet Chips zur Verfügung, die die Kommunikation vereinfachen sollen. Dazu gehört der Chip WIZ5500 der koreanischen Firma „WIZnet“, der auf dem Modul WIZ550io verbaut ist. Dieser ermöglicht einen vereinfachten Datenaustausch über Ethernet. Die Inbetriebnahme des Chips ist aber nicht ganz einfach. Die verfügbaren Unterlagen sind eher kryptisch, wenig konkret und lassen viel Raum für Interpretationen. Ziel in diesem Aufsatz ist es, durch Übersenden eines Bytes vom PC an eine Platine, die Zustände eines Mikrocontroller-Ports zu steuern. Im Fachjargon spricht man auch von einer "Socketraw"-Verbindung.
Bei einer Ethernet-Verbindung werden die Signale differenziell über verdrillte Leitungen ("twisted pairs") übertragen. Für Senden (Tx) und Empfangen (Rx) gibt es jeweils ein eigenes Adernpaar. Die Einspeisung auf die Leitung erfolgt mit Hilfe von Signalübertragern – also gleichspannungsfrei. Jeder Teilnehmer in einem Ethernet-Verbund hat eine global einmalige Adresse, die sogenannte MAC-Adresse (MAC steht für Media Access Control) . Anhand dieser Adresse ist jeder Teilnehmer eindeutig identifizierbar. Der Datenaustausch über Ethernet geschieht mit Hilfe von Protokollen. Die beiden bekanntesten sind UDP (User Datagram Protocol) und TCP/IP (Transmission Control Protocol / Internet Protocol). Die Datenübertragung mit Hilfe von UDP ist schnell, aber ungesichert.
TCP/IP enhält viele Sicherheitsmechanismen. Die Datenübertragung per TCP/IP ist aber gerade deshalb langsamer als beim UDP aber auch die am weitesten verbreitete Verbindungsart. Beim TCP/IP-Protokoll erhält jeder Teilnehmer neben der MAC-Adresse noch eine Netzwerkadresse (IP-Adresse). Diese ist 4- oder 6 Byte lang. Der Verbindungsaufbau geschieht über sogenannte "Socketverbindungen“. Es können mehrere Sockets gleichzeitig eine Verbindung eingehen, so dass ein Gerät gleichzeitig mit mehreren anderen Geräten im Netz Daten austauschen kann.
Inhaltsverzeichnis
Steuern über Ethernet, real und konkret
Ethernet
Das Modul
Ethernet und Mikrocontroller
Software Server
Software Client
Zielsetzung & Themen
Die vorliegende Arbeit beschreibt die technische Umsetzung einer Ethernet-basierten Steuerung, bei der Zustände eines Mikrocontroller-Ports durch das Senden von Datenpaketen von einem PC aus kontrolliert werden, wobei der Fokus auf der praktischen Anwendung des WIZ5500-Chips liegt.
- Grundlagen der Ethernet-Kommunikation und Socket-Verbindungen
- Hardware-Anbindung des WIZ550io-Moduls via SPI-Interface
- Register-Konfiguration des WIZ5500-Chips für den Datenaustausch
- Implementierung der Server-Software auf einem MSP430-Mikrocontroller
- Entwicklung einer clientseitigen Steuerungssoftware in Visual Basic
Auszug aus dem Buch
Ethernet
Bei einer Ethernet-Verbindung werden die Signale differenziell über verdrillte Leitungen ("twisted pairs") übertragen. Für Senden (Tx) und Empfangen (Rx) gibt es jeweils ein eigenes Adernpaar. Die Einspeisung auf die Leitung erfolgt mit Hilfe von Signalübertragern – also gleichspannungsfrei.
Jeder Teilnehmer in einem Ethernet-Verbund hat eine global einmalige Adresse, die sogenannte MAC-Adresse (MAC steht für Media Access Control). Anhand dieser Adresse ist jeder Teilnehmer eindeutig identifizierbar. Der Datenaustausch über Ethernet geschieht mit Hilfe von Protokollen. Die beiden bekanntesten sind UDP (User Datagram Protocol) und TCP/IP (Transmission Control Protocol / Internet Protocol). Die Datenübertragung mit Hilfe von UDP ist schnell, aber ungesichert. TCP/IP enhält viele Sicherheitsmechanismen. Die Datenübertragung per TCP/IP ist aber gerade deshalb langsamer als beim UDP aber auch die am weitesten verbreitete Verbindungsart. Beim TCP/IP-Protokoll erhält jeder Teilnehmer neben der MAC-Adresse noch eine Netzwerkadresse (IP-Adresse). Diese ist 4- oder 6 Byte lang. Der Verbindungsaufbau geschieht über sogenannte „Socketverbindungen“. Es können mehrere Sockets gleichzeitig eine Verbindung eingehen, so dass ein Gerät gleichzeitig mit mehreren anderen Geräten im Netz Daten austauschen kann. Real fließt der Datenverkehr über einen Speicherbereich des Arbeitsspeichers, der über eine Portnummer festgelegt ist. Einige Portnummern sind fest vergeben. Diese sollten für eine angepaßte eigene Verbindung nicht benutzt werden. Dazu gehört z.B. der Port 23, der für Telnet reserviert ist, der Port 25, der für SMTP reserviert ist und der Port 5000, der für GSM Kommunikation reserviert ist. Eine Liste der reservierten Ports findet man in [8].
Zusammenfassung der Kapitel
Steuern über Ethernet, real und konkret: Einführung in die Zielsetzung, eine Steuerung mittels Ethernet statt USB zu realisieren, unter Verwendung des Moduls WIZ550io.
Ethernet: Erläuterung der physikalischen Übertragung sowie der Protokollgrundlagen von UDP und TCP/IP.
Das Modul: Vorstellung des WIZ550io-Moduls, seiner Pinbelegung und der notwendigen SPI-Schnittstelle.
Ethernet und Mikrocontroller: Beschreibung des Schaltungsaufbaus zwischen dem Mikrocontroller MSP430F5659 und dem Ethernet-Modul.
Software Server: Detaillierte Anleitung zur Programmierung des Mikrocontrollers in C, inklusive Register-Initialisierung und Socket-Handhabung.
Software Client: Vorstellung der Client-Software in Visual Basic zur Kommunikation mit der Hardware.
Schlüsselwörter
Ethernet, WIZ5500, Mikrocontroller, MSP430, SPI-Schnittstelle, TCP/IP, Socket-Programmierung, Datenaustausch, Register-Konfiguration, C-Programmierung, Visual Basic, Verbindungsaufbau, Netzwerksteuerung, Socket-raw, Hardware-Anbindung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit thematisiert die Implementierung einer Ethernet-Schnittstelle für Mikrocontroller, um externe Hardware direkt über ein PC-Netzwerk zu steuern.
Was sind die zentralen Themenfelder?
Die Themen umfassen die Ethernet-Grundlagen, die SPI-basierte Anbindung von Hardwaremodulen und die Programmierung von TCP/IP-Verbindungen.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist der Aufbau einer stabilen Kommunikationsverbindung, um spezifische Ports eines Mikrocontrollers gezielt per PC-Befehl zu schalten.
Welche wissenschaftliche Methode wird verwendet?
Es wird ein anwendungsorientierter, technischer Ansatz verfolgt, der auf der Analyse von Datenblättern und der praktischen Implementierung in C und Visual Basic basiert.
Was wird im Hauptteil behandelt?
Der Hauptteil behandelt die Hardware-Verkabelung, die Register-Programmierung des WIZ5500-Chips und die Software-Logik für Server und Client.
Welche Schlüsselwörter charakterisieren die Arbeit?
Ethernet, WIZ5500, Mikrocontroller, SPI, TCP/IP und Socket-Programmierung sind die prägenden Begriffe.
Warum wird der 1-Byte-Modus in der SPI-Kommunikation verwendet?
Der 1-Byte-Modus vereinfacht das Auslesen und Schreiben der Register, da die ChipSelect-Leitung fest auf Masse gelegt werden kann.
Wie wird die Verbindung zwischen Server und Client hergestellt?
Die Verbindung erfolgt über einen standardisierten TCP-Handshake, bei dem ein Socket auf eine Anfrage lauscht und diese anschließend bestätigt.
Welche Rolle spielt der MSP430F5659 in diesem Projekt?
Er dient als zentrale Steuereinheit, die das WIZ550io-Modul via SPI ansteuert und die empfangenen Netzwerkdaten in Schaltbefehle für LEDs umsetzt.
Wie wird die erfolgreiche Kommunikation getestet?
Die Kommunikation wird mittels des Ping-Befehls in der Windows-CMD und durch die Reaktion der Hardware (LEDs) auf gesendete Bytes validiert.
- Arbeit zitieren
- Dipl.-Ing.(TU/TH) Franz Peter Zantis (Autor:in), 2016, Steuern über Ethernet, München, GRIN Verlag, https://www.grin.com/document/510142