Ingenieursprojekt:          Ethernet-Interface für den SBC3

Auftraggeber:                HTBL Hollabrunn – Abteilung für Steuerungs- und Regelungstechnik

Projektleiter:                 Ing. Manfred RESEL

Projektanten:                Karl BACHL

                                   Michael WIHSBOECK

 

Da Embedded Ethernet-Lösungen am Mikrocontrollermarkt in den letzten Jahren zunehmend an Bedeutung gewonnen haben, setzte sich auch die Abteilung für Steuerungs- und Regelungstechnik der HTBL Hollabrunn  mit diesem Themengebiet auseinander.

In dieser Abteilung wird derzeit hauptsächlich mit dem sog. SBC3 (Single Board Controller Version 3) gearbeitet. Beim SBC3 handelt es sich um ein Mikrocontrollerboard mit einem 80C552-Prozessor (8051-Familie).

 

 Projektziel war daher, den SBC3 um ein Ethernet-Interface (eine Netzwerkkarte) zu erweitern und diverse Protokolle (ARP, IP, ICMP usw.) zu implementieren, um schlussendlich übers Schul-Netzwerk (Ethernet) z.B. Daten vom SBC3 abrufen zu können.

 

Für die Realisierung der Ethernetanbindung wurde der Ethernetcontroller CS8900A der Firma Crystal gewählt. Der 16-Bit-orientierte Controller unterstützt auch einen für den SBC3 notwendigen 8-Bit-Mode. Als Schnittstelle zwischen dem SBC3 und dem Ethernetboard dient die ECB (4 Adressleitungen, 8 Datenleitungen, I/O Request, I/O-Write, I/O-Read, Reset).

Zur einfachen Verwaltung des 4 kByte großen internen RAMs des CS8900A wird das sog. Packet Page System (mit den Ports „Packet Page Pointer“, „Data Port“ usw.), verwendet.

Man benötigt dazu nur 4 Adressleitungen, durch welche immer eines der acht 16-Bit-Ports (bzw. sechzehn 8-Bit-Ports) ausgewählt wird.

 

Um die Ausgangspegel des Ethernetcontrollers CS8900A an die Pegel des Ethernet-Standards IEEE802.3 anzupassen und zur galvanischen Trennung der Netze, wird der Übertrager S553-0716-00 der Firma Belfuse verwendet.

 

Die Firma AtlantikElektronik (http://www.atlantikelektronik.com) stellte uns dankenswerterweise je 2 Muster des Ethernetcontrollers CS8900A und des Übertragers S553-07-16-00 für die Fertigung des Prototypen des Ethernetboards zur Verfügung.

 

Die Leiterplatte (siehe Photo) wurde in der Schule gefertigt. Nach Inbetriebnahme der Platine wurde zunächst das Address Resolution Protocol (ARP) und das Internet Protocol (IP) implementiert. Dann konnte das Ping-Programm (ICMP Echo) realisiert werden.

Mit dem neuen Ethernetinterface wurde in Verbindung mit dem SBC3 und einer CVI-Visualisierung ein leistungsfähiger Netzwerksniffer realisiert.

Über die Benutzeroberfläche des CVI-Programms wird der Sniffer gestartet, gestoppt und die Filtereinstellungen getroffen. Der SBC3 schickt dann die vom LAN empfangenen und je nach Wunsch gefilterten Ethernetpakete über die parallele Schnittstelle (Centronics) zum PC. Das CVI-Programm, das am PC läuft, wertet die Datenpakete aus und stellt diese am Bildschirm dar.

 

Außerdem wurde auch ein Programm geschrieben, das es ermöglicht den SBC3 als TFTP-Server zu betreiben.

So ist es möglich mit einem TFTP-Client, der z.B. auf einem PC im Netzwerk läuft, eine Datei vom SBC3 anzufordern. Dieser schickt dann die gewünschte Datei (Inhalt: z.B. Werte bestimmter Ports ) zum PC.

Außerdem wurde mit Hilfe der Scriptsprache php auch noch ein TFTP-Client auf Webbasis programmiert, sodass es nicht mehr notwendig ist, einen TFTP-Client auf dem eigenen PC installiert zu haben.

Man braucht nur mehr auf der Webseite die Datei anfordern, der SBC3 schickt dann die Daten zum Webserver, wo ein php-Script die Daten als HTML-Seite aufbereitet.

Somit kann man sich auf jedem Rechner, der Internetzugang hat, die aktuellen Daten des SBC3 auf der Webseite ansehen.

 

Das Trivial File Transfer Protocol basiert im Gegensatz zu FTP (File Transfer Protocol) auf dem wesentlich einfacher aufgebauten User Datagram Protocol (UDP). Ein weiterer Schritt wäre nun die Realisierung eines FTP-, Telnet- und/oder HTTP-Servers.

Dazu müsste jedoch das umfangreiche Transmission Control Protocol (TCP) implementiert werden.  

Im Zuge des Projektes war es auch erforderlich, den vorhandenen 8051-C-Cross-Compiler (DOS-Version) durch eine leistungsfähige Windows-Entwicklungsumgebung (IDE) zu ersetzen.

 

Es wurde der Compiler ProView32 V8.63 der Firma Franklin verwendet. Dieser Compiler zeichnet sich durch eine benutzerfreundliche Oberfläche für die Entwicklung von ANSI C- sowie Assembler-Programmen aus.

Für den Schulgebrauch war es notwendig das vorhandene ROS (Regelungstechnik Operating System) sowie eine fprintf Streamfunktion für die vorhandenen I/O Komponenten des SBC3 (LCD, Centronics, V24) in den Compiler zu implementieren, da dieser Compiler derartige Funktionen nicht zur Verfügung stellte. Die programmierte fprintf Funktion beherrscht alle aus sprintf() oder printf() bekannten Formatbefehle (%x, %c, %s,....) .

Außerdem wurde ein WIN32–Terminal für die serielle Kommunikation mit dem SBC3 entwickelt.

Dieses Terminalemulationsprogramm wurde mit Microsoft Visual C++ 5.0 realisiert. Vorteile dieses Terminals (WIBATerm) sind der geringe Speicherbedarf (~40kB) sowie die einfache Handhabung. Es ist keine Installation notwendig. Da diese Software von uns entwickelt wurde, ist es leicht möglich sie an neue Eigenschaften der Zielhardware anzupassen.

 

Nähere Informationen finden Sie auf unserer Projekthomepage http://ethernet.wihsy.com.

Bei etwaigen Fragen können Sie sich auch via E-Mail an uns wenden: ethernet@wihsy.com