The emotas CAN MultiProtocol Stack supports various CAN based protocols in one device. Based on a uniform CAN driver API and a universal CAN Queue Implementation the CAN Multiprotocol Stack supports CANopen, EnergyBus, SAE J1939 and proprietary protocols in one application. Especially gateways between various protocols can be implemented in a fast and straight-forward way.
The configuration is implemented using CAN DeviceDesigner, which is included in the delivery. It comes with various profile and signal databases and allows a comfortable configuration of the services, features and data. All features or the existing stacks are included. For CANopen, all Master and Slave services are available and for J1939 broadcast mechanisms and transport protocols to transfer larger data.
The integration of manufacturer-specific protocols is possible in 2 ways. The first is to use the resource-saving slim API that provides simple functions to send CAN messages or to receive registered CAN messages. The reception is realized by callback functions.
The other way is the Full API. Using this API complex signals can be mapped into CAN messages and the CAN Stack automatically handles timer- or event-triggered transmissions and the application only has to update the data. Using this communication and application may be separated. On reception of CAN message the stack automatically updates the application variables.
The EtherCAN CI-ARM9 Ethernet to CAN gateway is ideally suited to use with the multiprotocol stack software, with Ethernet Interface, 454MHz Freescale ARM9 CPU, and access to embedded software development toolchain for developing own embedded Linux applications on the ARM9 processor.
In addition to the EtherCAN CI-ARM9, the Multiprotocol Stack can be used with a large number of microcontrollers and operating systems (Linux, Windows, RTX64…). The CAN DeviceDesigner can be used on Windows and Linux as well.