Protocols About 2 min read

CAN, CANopen, and SAE J1939

CAN provides the bus, while CANopen and J1939 define additional communication rules. Identify the message model and device profile before interpreting traffic.

Sources and scopeSource record 25 August 2026

Technical source record: 25 August 2026. Check the linked documentation for current product requirements.

The page distinguishes families but does not reproduce licensed ISO, CiA, or SAE bit level specifications, profiles, or parameter assignments.

Verification and testing

Overview#

Controller Area Network (CAN) is a data link/physical layer family. CANopen and SAE J1939 are different higher layer ecosystems using CAN. Sharing a CAN controller or connector doesn't make their identifiers, bit rate, addressing, transport, device model, or diagnostics interoperable.1

CAN layer#

CAN arbitrates using the message identifier: numerically dominant identifiers gain bus access, so an identifier carries priority and message meaning, not a trustworthy sender identity. Classical CAN and CAN FD differ in frame capabilities. CANopen CC uses CAN Classical; CANopen FD uses CAN FD.2

Record ISO 11898 variant, Classical/FD, nominal and data phase bit rates, 11/29 bit identifiers, sample point/timing assumptions, termination, topology, transceiver voltage, isolation, connector pinout, and bus load. Error detection and fault confinement improve link reliability but don't provide cryptographic authenticity, confidentiality, freshness, or authorisation.

CANopen#

CANopen uses an object dictionary as the device's structured interface. CiA 301 defines the classic application/communication profile; CiA lists version 4.2.0, with CANopen FD defined separately by CiA 1301.3

Key mechanisms include:

  • Network Management (NMT) states and commands;
  • heartbeat/error control and boot up indication;
  • Process Data Objects (PDOs) for configured process data;
  • Service Data Objects (SDOs) for object dictionary access;
  • emergency messages (EMCY), synchronisation, and time distribution.

An integration must pin the device/communication profile, EDS/DCF revision, node ID, object index/subindex, data type, PDO mapping, transmission type, heartbeat, NMT ownership, and save/restore behaviour. SDO success doesn't establish that a value was persistently stored or physically applied.

SAE J1939#

J1939 commonly uses 29 bit CAN identifiers and defines Parameter Group Numbers (PGNs), Suspect Parameter Numbers (SPNs), source addresses, address claim, network management, diagnostics, and multi packet transport. The SAE top level and Digital Annex are revisioned separately; the Digital Annex is the living assignment source for PGNs/SPNs, not the top level prose standard alone.45

Bind values to exact PGN/SPN definitions and revision, scaling, offset, range, not available/error encodings, repetition rate, source address and claimed NAME. Source addresses can change through address claim and aren't cryptographic identities. J1939 21 and J1939 22 cover different data link capabilities; confirm Classical CAN versus CAN FD profile before decoding transport sessions.6

Security and safety#

Passive access can reveal operational state; active injection, diagnostic sessions, NMT commands, address claim, or high priority traffic can disrupt a bus and move machinery. Use an isolated, listen only interface on an approved bench. Enforce bus side gateways with identifier/rate/direction policy, authenticate higher level remote access, and detect new identifiers, address claim conflict, error storms, bus off, impossible rates, diagnostic/control traffic, and changed device profiles.

Validate exact electrical characteristics, arbitration behaviour, decoder limits, error recovery, and product profiles on an isolated listen only or otherwise approved bench.

Primary sources#

Section overview · Wiki home

  1. CAN in Automation, standardized higher layer protocols ↩

  2. CAN in Automation, CANopen lower layers ↩

  3. CAN in Automation, technical documents ↩

  4. SAE International, J1939 top level document ↩

  5. SAE International, J1939 Digital Annex ↩

  6. SAE International, J1939 22 FD data link layer ↩