Labor für Verteilte Systeme FH-Wiesbaden http://wwwvs.cs.hs-rm.de/projekte/ip-ueber-can.pdf IP über CAN Beteiligte an der Hochschule • • Prof. Dr. Reinhold Kröger Dipl.-Inform. (FH), M.Sc. Marcus Thoss Kooperationspartner • Siemens AG A&D, Nürnberg Laufzeit Beginn: Mai 1998 Ende: Januar 1999 Finanzierung • • 80% Siemens AG A&D 20% Zuschuss FHW Veröffentlichungen • Patentschrift WO0052706 v. 8.9.2000 • Reinhold Kröger, Marcus Thoss, Martin Gergeleit: "IP über CAN", Technischer Bericht, Fachhochschule Wiesbaden, Fachbereich Informatik, 1999. Kurzbeschreibung In der Automatisierungstechnik haben sich auf den unteren Netzebenen mehrere Feldbusprotokolle entwickelt und etabliert, die im Vergleich zu dem im LAN-Bereich verbreiteten Ethernet durch Echtzeitfähigkeit und kurze Frame-Längen gekennzeichnet sind. Beispiele solcher Protokolle sind etwa Profibus und Controller Area Network (CAN). Für die Vertikale Integration ist von Interesse, mit den standardisierten Internet-Protokollen von den höheren Netzebenen der Automatisierungspyramide in die Feldebene vorzudringen. In diesem Projekt wurde untersucht, inwieweit das standardisierte Internet Protocol (IP) über den CAN-Bus abgewickelt werden kann. Der verfolgte Ansatz basiert darauf, den CAN-Bus als Ethernet-Segment erscheinen zu lassen (vgl. Abb. 1). Dazu werden zwei aufeinander aufbauende Systemschichten vorgesehen, nämlich eine CAN-Treiber-Schicht zum Umgang mit der CAN-Hardware und eine überlagerte Ethernet-Schicht. Letztere hat die Aufgabe, sich nach oben als Ethernet-Karten-Treiber Seite: 1 Labor für Verteilte Systeme FH-Wiesbaden http://wwwvs.cs.hs-rm.de/projekte/ip-ueber-can.pdf verkleidet in den TCP/IP-Stack zu integrieren, Ethernet Frames zu fragmentieren bzw. zu reassemblieren und die Fragmente nach unten über die vom CAN-Treiber offerierte Schnittstelle der CAN-Hardware zu übergeben bzw. von dieser entgegenzunehmen. Ein Grundproblem der Ethernet-Schicht ist dabei die Zuordnung zwischen den knotenbezogenen MAC-Adressen in Ethernet Frames und den eher inhaltsbezogenen CAN Object Identifiers (COB-IDs), wie sie von der CAN-Hardware für die Adressierung verwendet werden. Die entwickelte Lösung sieht einen zusätzlichen Knoten als zentrale Instanz im CAN-Segment vorgesehen, der COB-ID-Server genannt wird und eine Menge von frei wählbaren COB-IDs verwaltet (vgl. Abb. 2). Hierdurch wird die Verträglichkeit mit anderen CAN-Protokollen auf dem CAN-Bus gewährleistet. Die in den Teilnehmerknoten integrierte Ethernet-Emulationsschicht und der COB-ID-Server implementieren zusammen ein Protokoll, das die Zuweisung von COB-IDs für verschiedene Zwecke erlaubt, die Flußkontrolle im Kommunikationsablauf zwischen den Knoten regelt, und bei Mangel an freien COB-IDs deren Wiederverwendung ermöglicht. Das entwickelte Verfahren erreicht insgesamt eine vollständige Emulation eines Ethernet-Segments. Die dargestellte Architektur bringt große Vorteile mit sich. So ist die Übertragung über CAN für den TCP/IP-Stack und alle darauf aufsetzenden Applikationsprotokolle in funktionaler Hinsicht völlig transparent. Insbesondere bleiben alle Eigenschaften der IP-Ebene, die der Stack i.d.R. bereitstellt, wie Multicasting, Routing, usw. erhalten. Anwendungen wird der gewohnte Aufbau einer TCP-Verbindung bzw. die Übertragung von UDP-Paketen zwischen CAN-Knoten ermöglicht. Hierauf können bei Bedarf alle höheren Standard-Protokolle der TCP/IP-Familie, wie HTTP, SMTP, SNMP usw. sowie eigene Netzwerkanwendungen aufsetzen. Eine Implementierung des Verfahren erfolgte für die µController-Plattform Siemens 80C167 unter dem Echtzeitbetriebssystemkern PXROS (HighTec, Saarbrücken) sowie für übliche PC-Hardware mit zusätzlicher ISA-CAN-Karte unter Microsoft Windows NT. Zwischen mehreren PC/Windows NT-Systemen wurden höhere Protokolle wie NT-Filesharing über CAN erfolgreich demonstriert. Zusätzlich wurden Leistungskenngrößen für die beiden Plattformen ermittelt, die insgesamt positiv ausfielen. Seite: 2