CAN (Controller Area Network)

ist ein serielles Bussystem, das speziell für die Vernetzung intelligenter Geräte sowie Sensoren und Aktoren in einer Maschine oder Fabrik gedacht ist. CAN ist ein serielles Multi-Master-Bussystem, was heißt, dass mehrere CAN Knoten gleichzeitig Buszugriff anfordern können, der tatsächliche singuläre Zugriff eines Knotens wird also während des Zugriffsvorgangs entschieden. Das in der ISO 11898 behandelte Bussystem besitzt Echtzeitfähigkeit und benutzt dabei die untersten zwei Schichten des ISO/OSI-Schichtmodells.

In CAN Netzwerken findet keine Adressierung von angemeldeten Knoten oder Endpunkten im herkömmlichen Sinne statt, sondern es werden Nachrichten nach dem Prioritätsprinzip übermittelt. Ein sendender Knoten übermittelt seine Nachricht an alle CAN Knoten im Netzwerk, wobei jeder Knoten dann aufgrund des Identifiers entscheidet ob er die Nachricht verarbeitet oder nicht. Der Identifier regelt ebenfalls die Priorität der Nachricht bei der Zuteilung des Buszugriffs.

Jede CAN Nachricht kann von 0 - 8 Byte an Nutzerdaten übertragen. Natürlich können größere Informationsmengen in mehrere Nachrichten aufgeteilt werden. Die maximale Übertragungsrate ist auf 1 Mbit/s festgelegt, was bei einer Netzwerklänge von bis zu 40 Metern zutrifft. Für längere Übertragungswege muss die Datenrate heruntergesetzt werden, was folgende Aufstellung in Richtwerten wiedergibt:

  • 1 Mbit/s <= 40 m
  • 125 kbit/s <= 500 m
  • 50 kbit/s <= 1000 m

Günstige Controller, die den CAN Data Link Layer in Hardware bereitstellen und eine einfache Verbindung von Mikrocontrollern ermöglichen, gibt es bereits seit 1989. Heutzutage sind mehr als 25 CAN Protokoll Controller von mehr als 10 Herstellern verfügbar, was Gate Array Lösungen noch nicht mit einschließt.

Die Hauptkriterien für den Einsatz von CAN sind wie folgt:

  • Geringe Kosten
  • Zuverlässige Funktion auch unter schweren Umgebungsbedingungen
  • Sehr gute Echtzeitfähigkeit und
  • eine einfache Benutzbarkeit

CANopen

ist ein auf CAN basierendes Kommunikationsprotokoll, welches hauptsächlich in der Automatisierungstechnik und zur Vernetzung innerhalb komplexer Geräte verwendet wird. Das Hauptverbreitungsgebiet von CANopen ist Europa. Jedoch steigen sowohl in Nordamerika als auch in Asien die Nutzerzahlen.

CANopen unterstützt dabei Kommunikationsobjekte, die Daten aus einem Objektverzeichnis lesen, schreiben, anfragen oder auf diese Werte reagieren können. Außerdem existieren spezifische Geräte- und Anwendungsprofile, die das Gerät oder die Anwendung in ihrer Funktionalität beschreiben.