Robot Communication Protocols: CAN, CANopen, CAN FD, and EtherCAT

For a robot to move, the controller must continuously tell every joint where to go and how hard to push, and every joint must continuously report its state back. This communication system works like the robot's nervous system, connecting the "brain" (the controller) to the "body" (joints, sensors, and other actuating and sensing parts). At its core is a standardized set of rules — the communication protocol — that defines how data travels, what it means, and who goes first, so that devices from different sources can understand each other and work together.

Four protocols dominate robot joint communication: CAN, CANopen, CAN FD, and EtherCAT. They are not simple rivals — CAN is the hardware foundation, CANopen and CAN FD are both built on top of it, and EtherCAT takes the Ethernet route. This article walks through each layer in that order: what it is, how it works, and how it differs from the others.

What Is a Communication Protocol?

A communication protocol is three agreements in one: how data is transmitted (electrical signaling and frame format), what the data means (application-layer semantics), and who transmits first (arbitration and timing). On a robot, the protocol directly determines three performance figures: command latency (real-time behavior), multi-axis synchronization accuracy, and how many joints a single bus can carry. There is no universally best protocol — only the best fit for a given requirement.

CAN: The Four-Decade Hardware Foundation

CAN is a fundamental hardware communication protocol, and its defining feature is non-destructive bitwise arbitration. In plain terms, when several devices compete for the bus at the same moment, this mechanism automatically ranks every message by priority: the highest-priority message passes through undisturbed, and lower-priority ones yield. This deterministic preemption means critical commands — such as an emergency stop — are always executed first. It is the root reason CAN has survived forty years in automotive and robotics without being displaced.

On reliability, CAN carries multiple layers of error detection and correction, including CRC checking and bit-error detection, so transmission anomalies are identified and handled. Its differential signaling resists electromagnetic interference, which suits it to environments dense with strong interference sources such as motors and drives.

Two engineering limits are worth remembering: a single frame carries at most 8 bytes of data, and the maximum bit rate is 1 Mbit/s — at which the bus can be no longer than roughly 40 meters. Typical CAN applications include on-board component communication inside robots, automotive electronics, and small to mid-sized automation equipment.

CANopen: A Common Working Language for Joints

CANopen is a standardized application-layer protocol (the CiA 301 specification) built on CAN hardware — a common "working language" for joint communication. Through its object dictionary, every parameter (position, velocity, control word) receives a uniform address — a 16-bit index plus an 8-bit sub-index — so devices from different manufacturers can interpret each other's data.

On the communication side, CANopen defines four complementary mechanisms: PDO for real-time process data, SDO for parameter configuration, NMT for node lifecycle management, and SYNC for multi-axis synchronization triggers. Together they balance real-time transmission with configuration flexibility.

The NMT State Machine: A Node's Lifecycle

Every CANopen node is governed by a network management state machine:

CANopen NMT state machine: Initializing, Pre-Operational, Operational and Stopped states with 01h, 02h, 80h, 81h and 82h commands

After power-up, the node enters Initializing; once self-checks and the application and communication resets complete, it automatically moves to Pre-Operational — SDO configuration is possible here, but PDO real-time communication is not yet active. A start command (01h) from the master brings the node to Operational, where all communication functions are live; a stop command (02h) returns it to Stopped, where only basic communication remains. Two further commands — reset node (81h) and reset communication (82h) — cover fault recovery. This state machine lets the master start, stop, and reset every joint on the bus in a uniform way.

PDO Configuration: Disable, Map, Then Enable

A PDO is not ready out of the box — it must be mapped first:

CANopen PDO configuration flowchart: disable the PDO, configure mapping parameters, enable it, then verify

The PDO is first set invalid (by setting the highest bit of its COB-ID); mapping parameters are then written to define which object dictionary entries the frame carries; the highest bit is cleared to make the PDO valid; and finally the configuration is verified — if the check fails, the process repeats. This sequence guarantees that no half-configured frame ever appears on the bus.

Heartbeat and Node Guarding: Monitoring Who Is Online

With a dozen joints on one bus, how do you notice when one drops offline? CANopen offers two complementary mechanisms:

CANopen heartbeat mechanism: the producer sends a 0x701 frame at the 0x1017 interval while the consumer supervises it within 0x1016

Heartbeat is node-initiated reporting: the joint (producer) periodically emits a status frame with COB-ID 0x700 + node ID, at the interval set in object 0x1017. If the master (consumer) receives nothing within its consumer heartbeat time (object 0x1016), the node is judged abnormal.

CANopen node guarding mechanism: the master polls at the 0x100C interval and the slave replies with a status byte at COB-ID 0x700 plus node ID

Node guarding is master-initiated roll call: the master polls each slave at the node guard time (object 0x100C), and the slave answers with one status byte (Bit 7 is a toggle bit, Bits 6-0 carry the node state). A missing reply within the lifetime triggers a guarding event. The two mechanisms — slave-initiated and master-initiated — can run simultaneously.

This system makes CANopen one of the most mature foundations for modular, low-cost, interchangeable joint communication. However, constrained by the bandwidth and synchronization of the underlying CAN bus, CANopen has a clear ceiling in multi-axis synchronization accuracy and overall throughput — a bus carries at most 127 nodes, all sharing 1 Mbit/s. It therefore fits small multi-joint robots and simple service robots with modest performance demands.

CAN FD: A Bandwidth Upgrade for CAN

CAN FD (Flexible Data-Rate) is a CAN extension released by Bosch in 2012 and standardized in ISO 11898-1 in 2015. Its upgrades come in three parts. First, the maximum payload grows from 8 bytes to 64 bytes, reducing frame splitting for larger data and improving efficiency. Second, CRC checking is strengthened from 15 bits to 21 bits, preserving data integrity on long frames. Third, a dual bit-rate mechanism keeps the arbitration phase at the classic rate (up to 1 Mbit/s) for compatibility while the data phase switches to a higher speed — commonly 5 Mbit/s in practice — balancing reliability against latency.

One compatibility caveat: a CAN FD node can send and receive classic CAN frames, but a classic CAN node will raise an error when it sees a CAN FD frame. When the two node types share a bus, the FD nodes must operate in classic CAN mode — 8-byte frames at no more than 1 Mbit/s.

Compared with EtherCAT, CAN FD hardware is cheaper and development is simpler; EtherCAT, in turn, achieves microsecond-level multi-axis synchronization, where CAN FD is weaker. CAN FD therefore suits robots with many joints but non-extreme synchronization demands — collaborative robots and some lightweight humanoids, for example — where it meets performance needs at a significantly lower system cost.

EtherCAT: Built for Synchronization Accuracy

EtherCAT is a real-time Ethernet protocol introduced by Beckhoff in 2003 and later standardized as IEC 61158. It is the mainstream choice in high-performance robotics.

Processing on the Fly: One Frame Serves the Whole Bus

The core mechanism of EtherCAT is processing on the fly:

EtherCAT working principle: the frame passes through each slave, which reads and inserts data as it goes, and the last slave returns it to the master

A frame sent by the master travels through every slave in turn. As it streams past, each slave controller reads its own output data and inserts its input data directly from the moving frame; the remainder continues downstream until the last slave returns the frame to the master. All of this is done by dedicated slave hardware (the ESC) with virtually no processing delay — a single frame completes the data exchange for the entire bus. That is the foundation of EtherCAT's real-time performance.

Distributed Clocks: Every Joint Acts in the Same Microsecond

Distributed clocks give every slave a local clock and automatically compensate clock offsets and propagation delays between stations:

EtherCAT distributed clocks DC mode timing diagram: SYNC0 synchronization with output and input delay and copy-time parameters

The diagram shows one full cycle: after the SYNC0 trigger, the slave executes its output at an exact instant defined by the output calc-and-copy time (0x1C32:6) and output delay (0x1C32:9); on the input side, sampling is latched according to the input delay (0x1C33:9). Through this mechanism, all slave devices — joints, sensors, and so on — act within the same microsecond, with synchronization jitter held below the microsecond level, an order of magnitude the CAN family cannot reach.

The ESM State Machine: Safety by Staged Unlocking

Much like CANopen's NMT, every EtherCAT slave is managed by a state machine (the ESM):

EtherCAT state machine ESM: Init, Pre-Operational, Safe-Operational, Operational and Bootstrap states

The node starts at Init and steps through Pre-Operational (mailbox communication and parameter configuration available), Safe-Operational (inputs are live while outputs stay in a safe state), and Operational (all inputs and outputs active); a Bootstrap state handles firmware updates. This staged unlocking ensures a configuration error never drives a motor directly.

Worth noting: through CoE (CANopen over EtherCAT), EtherCAT reuses CANopen's object dictionary, PDO/SDO mechanisms, and the CiA 402 servo drive profile — engineers familiar with CANopen migrate at very low cost.

These mechanisms give EtherCAT its exceptional synchronization, real-time performance, and flexibility, and make it common in humanoid robots, high-precision collaborative arms, CNC machines, and high-speed packaging lines, with up to 65,535 nodes per segment. The trade-off is higher cost and a higher development threshold than the other protocols.

The Four Protocols Side by Side

AspectCANCANopenCAN FDEtherCAT
RoleHardware bus (physical + data link layer)Application-layer protocol on top of CANBandwidth-upgraded CAN hardware protocolReal-time Ethernet-based fieldbus
Payload per frame8 bytes8 bytes64 bytesStandard Ethernet frame, far beyond the CAN family
Max bit rate1 Mbit/s1 Mbit/s1 Mbit/s arbitration, up to 5 Mbit/s data phase in practice100 Mbit/s full duplex
Multi-axis synchronizationNo built-in mechanismSYNC signal, limited accuracyBetter than CAN, still below EtherCATDistributed clocks, sub-microsecond jitter
Max nodesLimited by bus load127Limited by bus load65,535
Cost and development effortLowestLowRelatively lowRelatively high
Typical robot useOn-board component communicationSmall multi-joint robots, simple service robotsCollaborative robots, lightweight humanoidsHumanoid robots, high-precision cobots, CNC machines

In short: CAN is the four-decade hardware foundation; CANopen adds the standard language that lets devices interoperate; CAN FD fixes the bandwidth shortfall; and EtherCAT pushes synchronization into the microsecond range. The protocols are not ranked good to bad — each occupies its own performance and cost bracket.

Protocol Support in EYOU Products

EYOU's standard products cover CANopen, CAN FD, and EtherCAT:

EYOU integrated robot joint actuator family: harmonic and planetary series

The model suffix states the protocol directly: C for CANopen/FD, E for EtherCAT, F for CAN FD, and R for RS485. For what sits inside a joint — motor, encoders, and drive — see What Is Inside a Robot Actuator. If you have a specific application question about matching a protocol to a joint, contact our application engineers directly.

FAQ

Three main differences: payload grows from 8 bytes to 64 bytes per frame; CAN FD uses a dual bit-rate mechanism that keeps the arbitration phase at the classic rate (up to 1 Mbit/s) for compatibility while the data phase runs faster, typically 5 Mbit/s in practice; and CRC checking is strengthened from 15 to 21 bits for better integrity on long frames. CAN FD is the bandwidth-upgraded version of CAN, standardized in ISO 11898-1 in 2015.

Only one way. A CAN FD node can send and receive classic CAN frames, but a classic CAN node cannot parse a CAN FD frame and will raise an error. On a mixed bus, CAN FD nodes must operate in classic CAN mode — 8-byte frames at no more than 1 Mbit/s.

Yes, with conditions. CAN FD nodes must switch to classic CAN-compatible mode, using 8-byte frames at no more than 1 Mbit/s, which suspends the bandwidth advantage. The dual bit rate and 64-byte frames are only available when every node on the bus supports CAN FD.

The core differences are the underlying architecture and synchronization accuracy. CANopen is an application-layer protocol on the CAN bus: 1 Mbit/s, 8-byte frames, at most 127 nodes, low cost and simple development. EtherCAT is Ethernet-based, using processing on the fly and distributed clocks: sub-microsecond synchronization jitter and up to 65,535 nodes per segment, at higher cost and development effort. Through CoE, EtherCAT reuses CANopen's object dictionary and the CiA 402 profile, so the application layer migrates smoothly.

Yes. EtherCAT runs at 100 Mbit/s full duplex versus CANopen's 1 Mbit/s, and its distributed clocks hold synchronization jitter below the microsecond level, while CANopen's SYNC mechanism is limited by CAN bus arbitration and bandwidth. But speed is not the only dimension — CANopen costs less and is simpler to develop, which remains the right answer where performance demands are modest.

The mainstream four are CAN, CANopen, CAN FD, and EtherCAT. CAN handles on-board component communication; CANopen serves small multi-joint and simple service robots; CAN FD balances bandwidth and cost in collaborative robots and some lightweight humanoids; and EtherCAT dominates wherever multi-axis synchronization demands are extreme, such as humanoid robots and high-precision collaborative arms. EYOU joint products cover CANopen, CAN FD, and EtherCAT, with the PHU/RHU series supporting software-switchable CANopen and EtherCAT at the same frame size.

RELATED ARTICLES

Harmonic Drive Systems Explained: Working Principle and Engineering Deep Dive for Robot Actuators

Harmonic Drive Systems Explained: Working Principle and Engineering Deep Dive for Robot Actuators

READ MORE
The Evolution of Robot Actuator Manufacturing: From Hand-Built to Fully Automated

The Evolution of Robot Actuator Manufacturing: From Hand-Built to Fully Automated

READ MORE
What Is Inside a Robot Actuator? Core Components Explained

What Is Inside a Robot Actuator? Core Components Explained

READ MORE

RELATED PRODUCTS

Contents