CAN-Multiprotokoll-Stack
Der emotas CAN-Multiprotokoll-Stack unterstützt verschiedene CAN-basierte Protokolle in einem Gerät. Basierend auf einer einheitlichen CAN-Treiber-API und einer universellen CAN-Queue-Implementierung unterstützt der CAN-Multiprotokoll-Stack CANopen (FD), EnergyBus, SAE J1939 und proprietäre Protokolle in einer Anwendung. Insbesondere Gateways zwischen verschiedenen Protokollen lassen sich schnell und unkompliziert implementieren.

Die Konfiguration erfolgt mit dem im Lieferumfang enthaltenen CANopen DeviceDesigner. Dieser verfügt über verschiedene Profil- und Signaldatenbanken und ermöglicht eine komfortable Konfiguration der Dienste, Funktionen und Daten. Alle Funktionen der vorhandenen Stacks sind enthalten. Für CANopen (FD) stehen alle Master- und Slave-Dienste zur Verfügung, für J1939 Broadcast-Mechanismen und Transportprotokolle zur Übertragung größerer Datenmengen.
Die Integration herstellerspezifischer Protokolle ist auf zwei Arten möglich. Die erste ist die Verwendung der ressourcenschonenden Slim-API, die einfache Funktionen zum Senden von CAN-Nachrichten oder zum Empfangen registrierter CAN-Nachrichten bietet. Der Empfang wird durch Callback-Funktionen realisiert.
Die andere Möglichkeit ist die Full-API. Mit dieser API können komplexe Signale in CAN-Nachrichten abgebildet werden, und der CAN-Stack übernimmt automatisch die zeit- oder ereignisgesteuerten Übertragungen, sodass die Anwendung nur die Daten aktualisieren muss. Mit dieser Kommunikation können Kommunikation und Anwendung getrennt werden. Beim Empfang einer CAN-Nachricht aktualisiert der Stack automatisch die Anwendungsvariablen.
Das EtherCAN CI-ARM9 Ethernet-zu-CAN-Gateway eignet sich ideal für die Verwendung mit der Multiprotokoll-Stack-Software, mit Ethernet-Schnittstelle, 454-MHz-Freescale-ARM9-CPU und Zugriff auf die Embedded-Software-Entwicklungs-Toolchain für die Entwicklung eigener Embedded-Linux-Anwendungen auf dem ARM9-Prozessor.

Zusätzlich zum EtherCAN CI-ARM9 kann der Multiprotokoll-Stack mit einer Vielzahl von Mikrocontrollern und Betriebssystemen (Linux, Windows, RTX64…) verwendet werden. Der CAN DeviceDesigner kann ebenfalls unter Windows und Linux eingesetzt werden.