Easily send and receive messages from CAN bus devices and controllers with IOTech’s advanced CAN bus device connector
What is CAN bus?
- The Controller Area Network (CAN) bus system allows for the standard communication between Electronic Control Unit (ECU) devices via a two-line data bus
- The CAN bus standard is widely used in sectors such as automotive, shipping, industrial automation, and robotics. In automotive environments, for example, ECU devices might include the engine control unit, the transmission system, proximity sensors, airbags, and even the audio system.
- Developed by Bosch in 1986 and standardized in 1993 as ISO 11898, CAN bus alleviates point-to-point wiring between electronic components. CAN communication is robust to electromagnetic interference and provides centralized error detection for easy diagnosis
- CAN bus has two main modes: Raw Socket Protocol (RAW) mode which allows sending and receiving of singular CAN bus messages, and Broadcast Manager (BCM) mode which allows sending and receiving of cyclic CAN bus messages. The CAN standard does not specify how to encode or decode the raw data, hence the creation of higher-level standards such as CANOpen
IOTech's high performance CAN bus device connector delivers data to CAN-based devices and supports both the RAW and BCM modes of operation
The CAN bus device connector implements the following key features:
- Support for RAW mode for sending and receiving singular CAN bus messages
- Support for BCM mode for sending and receiving cyclic CAN bus messages
- Reading and writing either generically to the CAN bus network or to specified devices based on CAN bus identifiers
- Support for configuring the cyclic periods in BCM mode
- Support for dynamically adding and removing filter subscriptions based on CAN bus identifiers in BCM mode
- Support for both the standard 11 bit CAN identifier and extended 29 bit CAN identifier modes
- Uses the String data type when sending and receiving the CAN bus messages
Note that the CAN bus connector interacts with CAN via the Linux SocketCAN driver and therefore is not supported on Windows