The Controller Area Network (CAN) is a serial communication protocol bus used for real-time applications, classified under fieldbus communication. It is an efficient serial communication network that supports distributed control systems and is a multi-master bus, allowing multiple devices to communicate without a central controller. Due to its high reliability, flexibility, and real-time capability, CAN bus is widely used in automotive electronics, industrial automation, robotics, and more. For example, in vehicles, CAN bus controls essential components like engine management, anti-lock braking systems (ABS), and airbag systems.
Multi-Master Communication: All nodes are equal, and any node can initiate communication without a master-slave relationship.
Arbitration Mechanism: When multiple nodes attempt to send data simultaneously, CAN resolves conflicts using collision detection and priority arbitration.
High Reliability: CAN bus has built-in error detection and error handling mechanisms to automatically resend erroneous frames, ensuring data transmission reliability.
Flexible Data Length: CAN supports data frames of different lengths, ranging from 8 bytes to 8 KB.
Data Frame: Used to transmit data from the sending unit to the receiving unit.
Remote Frame: Used by the receiving unit to request data from a sender with a matching ID. This frame does not contain a data segment.
Error Frame: Alerts other units of detected errors during message reception or transmission. It consists of an error flag and an error delimiter.
Overload Frame: Informs the receiving unit that it is not yet ready to receive data. It contains an overload flag and an overload delimiter.
Inter-Frame: Used to separate data frames and remote frames from the preceding frame. Inter-frames can be inserted between data, remote, error, or overload frames but cannot be placed before an error or overload frame.
Error Types: CAN errors are categorized into five types: bit errors, stuffing errors, CRC errors, format errors, and ACK errors.
Bit Error: A node monitors the bus for discrepancies between the transmitted and received signal levels, resulting in a bit error if they differ.
Stuffing Error: Detected when six consecutive identical bits appear in a frame position that requires bit stuffing.
CRC Error: Occurs when the receiver’s CRC calculation does not match the sender's CRC.
Format Error: Detected when an invalid value appears in a frame area where a specific value is required.
ACK Error: Happens when the sender does not receive an acknowledgment dominant bit from the receiver during the ACK segment.
Error States: CAN error states include Error Active, Error Passive, and Bus Off:
Error Active: The node can participate in bus communication and actively sends error frames when it detects an error.
Error Passive: If the Transmit Error Counter (TEC) or Receive Error Counter (REC) is equal to or exceeds 128, the node enters the Error Passive state, where it can still communicate but must wait before retransmitting data.
Bus Off: When the TEC reaches or exceeds 256, the node enters the Bus Off state, where it cannot participate in any communication. To recover, the node must reset its error counter and may require hardware or software repairs.
We offer a range of CAN communication devices, such as the ECAN-401 (isolated version) and ECAN-401S (non-isolated version) which support bidirectional conversion between CAN and RS485/RS232/RS422 serial protocols; the ECAN-S01 (, a compact smart protocol conversion module for CAN and TTL; the ECAN-101 , a compact device for CAN to RS485 protocol conversion; and the high-performance ECAN-U01 (isolated version) and ECAN-U01S (non-isolated version) , featuring dual CAN interfaces for CAN-BUS communication analysis. We also offer devices for CAN to fiber optics, industrial Ethernet, and other protocol conversions.