...
🇮🇹 Meet SonnePower at REAS 2026 in Italy   |   Oct. 8–10, 2026   |   Centro Fiera Montichiari   |   Pavilion 2 – Stand C9 🇮🇹 Meet SonnePower at REAS 2026 in Italy   |   Oct. 8–10, 2026   |   Centro Fiera Montichiari   |   Pavilion 2 – Stand C9

How J1939 Address Claim Works: Source Address Conflicts & ECU Integration

How J1939 Address Claim Works: Source Address Conflicts, NAME Priority, and ECU Integration

Table of Contents

In a J1939 network, every ECU must have a unique identity before it can communicate.

This identity is not just a number. It is established through a structured process called Address Claim, which determines:

  • Which ECU gets which Source Address
  • What happens when two ECUs use the same address
  • How NAME priority decides the winner
  • Whether a device can stay on the network at all

For OEMs and system integrators, understanding this process is critical. Many integration issues with controllers, displays, or I/O modules are not hardware problems—they are address claim conflicts.

J1939 Address Claim network showing controllers, display, I/O module and engine ECU connected by CAN bus

What Is J1939 Address Claim?

J1939 Address Claim is the mechanism that ensures every ECU on the CAN bus has a unique Source Address.

When an ECU powers on:

  1. It selects a preferred Source Address
  2. It broadcasts an Address Claimed message (PGN 60928)
  3. Other ECUs check for conflicts
  4. If no conflict exists, the ECU keeps the address

This process happens automatically at startup and may repeat if conflicts occur.

J1939 Address Claim process flow showing PGN 60928, NAME comparison and Cannot Claim Address

Source Address in J1939: Why It Matters

The Source Address (SA) is the identifier used in every J1939 message.

  • Range: 0–253 (usable addresses)
  • 254: Null address
  • 255: Global broadcast

Every message sent on the network includes the Source Address, which means:

  • If two ECUs use the same address → communication ambiguity
  • Diagnostics, commands, and data may be misinterpreted
  • The system becomes unstable or unpredictable

This is why Address Claim is not optional—it is required for network integrity.

Address Claimed Message (PGN 60928)

During startup, the ECU sends:

  • PGN: 60928
  • Destination: Global (255)
  • Payload: 64-bit NAME

This message tells the entire network:

“I am using this Source Address, and here is my identity.”

The network then decides whether this claim is accepted.

The 64-bit NAME: The Real Identity of an ECU

The NAME field is the key to resolving conflicts.

It is a 64-bit value composed of multiple fields, including:

  • Manufacturer Code
  • Function (what the ECU does)
  • ECU Instance
  • Function Instance
  • Identity Number

This structure ensures that every ECU can be uniquely identified—even if two devices try to use the same Source Address.

NAME Priority: Why Lower Value Wins

When two ECUs claim the same Source Address, J1939 does not rely on timing or randomness.

Instead, it compares their NAME values.

Rule:

The ECU with the numerically lower NAME value wins

  • Winner → keeps the Source Address
  • Loser → must give it up

This is deterministic and ensures consistent behavior across the network.

What Happens During a Source Address Conflict?

Here is the real sequence:

  1. Two ECUs claim the same Source Address
  2. Both broadcast PGN 60928
  3. Each ECU compares its NAME with the other
  4. Lower NAME wins
  5. Higher NAME loses

The losing ECU must then:

  • Try another address, or
  • Send Cannot Claim Address

This process happens very quickly during startup.

J1939 ECU integration checklist for Source Address, NAME, baud rate and CAN termination

Cannot Claim Address and Null Address 254

If an ECU cannot find a valid address, it sends a special message:

  • Cannot Claim Address
  • Uses Source Address = 254 (Null Address)

At this point:

  • The ECU is not fully functional on the network
  • It typically cannot participate in normal communication
  • It may remain in a limited or diagnostic-only state

For OEM systems, this usually means:

The device is present, but not properly integrated.

Why Address Conflicts Happen in Real Systems

In theory, Address Claim is simple.
In real machines, conflicts are very common.

Typical causes include:

1. Duplicate Source Address

  • Two devices configured with the same default address
  • Common with identical I/O modules or displays

2. Default or Generic NAME

  • Some devices ship with similar NAME structures
  • This increases conflict probability

3. Third-party ECU Integration

  • Adding a new controller or HMI without checking existing addresses
  • No address planning across suppliers

4. Multiple Devices of the Same Type

  • Example: two identical expansion modules
  • Both try to claim the same address

5. Startup Timing Misinterpretation

  • Engineers assume “first device wins”
  • In reality, NAME decides—not timing

J1939 ECU Integration: What OEMs Must Get Right

When integrating controllers, HMIs, or I/O modules into a J1939 network, Address Claim must be planned—not left to defaults.

Address Planning

  • Assign unique Source Addresses for each ECU
  • Avoid relying on factory defaults
  • Maintain an address map for the entire machine

NAME Configuration

  • Ensure each ECU has a unique NAME
  • Especially important when using multiple identical devices

System-Level Thinking

A typical mobile machinery architecture may include:

  • Main controller (vehicle control)
  • Display / HMI
  • Distributed I/O modules
  • Engine ECU
  • Hydraulic controller

All of these must coexist on the same J1939 network without conflict.

Practical Troubleshooting Workflow

When Address Claim issues occur, use this sequence:

Step 1 — Check PGN 60928 Traffic

  • Verify that Address Claimed messages are present
  • Confirm Source Address and NAME values

Step 2 — Identify Duplicate Source Address

  • Look for multiple ECUs claiming the same SA

Step 3 — Compare NAME Values

  • Determine which ECU should win
  • Check if the “wrong device” is winning

Step 4 — Check for Cannot Claim Address

Source Address 254 indicates failure

Step 5 — Verify Configuration

  • Source Address settings
  • NAME configuration
  • Device firmware

Step 6 — Validate Network Conditions

  • Baud rate mismatch
  • CAN termination issues
  • Silent/listen-only mode

Practical Checklist Before Adding a New ECU

Before connecting a new device to a J1939 network:

  • Confirm its preferred Source Address
  • Check existing addresses on the network
  • Ensure the NAME is unique
  • Avoid duplicate configurations for identical devices
  • Verify baud rate and CAN wiring
  • Observe Address Claim during startup

This simple checklist can prevent most integration failures.

J1939 ECU integration checklist for Source Address, NAME, baud rate and CAN termination