The Address Claiming Process is the cornerstone of Network Management in the context of J1939. Unlike other higher-layer protocols based on Controller Area Network (CAN) that lack default support for dynamic node address assignments, the SAE J1939 standard stands out with its ingeniously designed feature. This feature allows for unique identification of ECUs and their primary function, a capability that sets it apart.
SAE J1939/81 favors using CA (Controller Application) over ECU (Electronic Control Unit). This preference leads to a scenario where one ECU can host multiple CAs. Each Controller Application is assigned a unique address and associated NAME. For consistency, the following chapters will continue using the term ECU, essentially a synonym for CA.
Address Claiming Procedure Overview
For identification purposes, each ECU in a J1939 vehicle network must hold at least one NAME and one address. Single electronic units are allowed to control multiple names and addresses.
The 8-bit ECU address defines the source or destination for messages.
The ECU NAME indicates the ECU’s primary function performed at the ECU’s address. A function instance indicator is added in cases where multiple ECUs with the same primary function share the same network.
The J1939 standard allows up to 253 ECUs with the same function to share the same network. Each ECU is identified by its address and NAME.
The CAN standard does not support node (ECU) addresses, only message IDs, where one node may manage multiple messages. However, the message ID must be hard coded in the application program. Also, in a standard CANopen network, the node address is usually hard-wired or mechanically adjustable (e.g., per dip switch).
As shown in the picture below, SAE J1939 defines a 64-bit NAME to identify each ECU in a network uniquely.

While the 64-bit NAME is appropriate to uniquely identify nodes (ECUs) and their function in a J1939 network, it will nevertheless necessitate unreasonable resources to maintain standard communications.
To provide a more efficient solution, the SAE J1939 Standard defines an address claim procedure where each ECU utilizes an 8-bit address to identify a message’s source or access (destination address) to another ECU in the network. The address claim procedure is designed to assign addresses to ECUs right after the network has been initialized, thus ensuring that the assigned address is unique to the ECU. For instance, an engine may be assigned the address 0 while another engine is present, which will be assigned another address (e.g., 1) and instance.
In addition, the SAE J1939 Standard also defines Preferred Addresses as commonly used devices to minimize the rate of multiple devices demanding the same address and consequently optimize the address claim process. ECUs will generally use their assigned Preferred Address immediately after the power-up process. Still, each ECU must first announce which addresses it intends to claim to prevent any address claim conflicts.
The address claim feature considers two possible scenarios:
- Sending an Address Claimed message:
This first scenario addresses a standard J1939 network startup. Upon powering up (or when requested), an ECU will send an Address Claimed message to the CAN bus to claim an address. All ECUs receiving the address claim will record and verify the newly claimed address with their internal address table. In case of an address conflict, i.e., should two or more ECUs claim the same address, the ECU with the lowest NAME value will succeed and use the address as claimed. The remaining ECUs must claim a different address or stop transmitting to the network.
- Request for Address Claimed message:
Requesting an Address Claimed message from all nodes in the network and, as a result, determining addresses claimed by other ECUs is necessary for ECUs powering up late for various reasons, especially transitional ECUs. Such transitional ECUs may be diagnostics tools, service tools, trailers, etc. This approach allows the ECU to determine and claim an available address or determine which ECUs are currently on the network.
Addresses
The J1939 protocol utilizes an 8-bit device (ECU) address, which theoretically allows the operation of 256 nodes in the same network. The SAE’s restriction of the maximum number of nodes to 30 can only be assumed to be a way to keep bus traffic low.
Consequently, the ECU address is a Controller Application address in a situation where each ECU may accommodate several Controller Applications. The 253 addresses (Address 254 is reserved for Network Management, Address 255 is used for global addressing) are assigned (claimed) for the Controller Applications, not the actual ECU.
The following picture shows an example where, for instance, ECU A accommodates three controller applications.

The picture also demonstrates that ECUs of the same function (ECU A) can coexist in a J1939 network without address collision. J1939 features an ingenious feature: the Address Claim procedure, automatically assigning addresses to each Controller Application. The Controller Applications can claim another free address in case of an Address Claim conflict.
NULL Address
Address 254, the NULL Address, is reserved for network management and used for the Cannot Claim Source Address message.
Global Address
The Global Address (255) is exclusively used as a destination address to support message broadcasting (sending a message to all network nodes).
Address Claim Procedure
The address claim feature considers two possible scenarios:
- Sending an Address Claimed message:
In this scenario, we are discussing a typical network startup process for a J1939. When an Electronic Control Unit (ECU) powers up or upon request, it sends an Address Claimed message to the Controller Area Network (CAN) bus to claim an address. All other ECUs on the network will receive the address claim and record and verify the newly claimed address with their internal address table. An address conflict occurs if two or more ECUs claim the same address. In such a case, the ECU with the lowest NAME value will take the address and use it as claimed. The remaining ECUs must claim a different address or stop transmitting on the network.
- Request for Address Claimed message:
Requesting an Address Claimed message from all nodes in the network and, as a result, determining addresses claimed by other ECUs is necessary for ECUs powering up late for various reasons, especially transitional ECUs. Such transitional ECUs may be diagnostics tools, service tools, trailers, etc. This approach allows the ECU to determine and claim an available address or determine which ECUs are currently on the network.
After completing their Power On Self Test (POST) ECUs (Controller Applications), claiming addresses in the 0 to 127 or 248 – 253 range may initiate regular network activities immediately. In contrast, other ECUs should not begin until 250 ms after claiming an address. This allows competing claims to be resolved before the address is used.
If two ECUs attempt to claim the same address, the ECU with the lowest NAME value will succeed and use the address as claimed. The remaining ECUs must claim a different address by sending another Address Claimed message containing a different address or sending a Cannot Claim Address message.
The destination address for an address claim is always the global address (255) to address all network nodes.
A node that has not yet claimed an address must use the NULL address (254) as the source address when sending a Request for Address Claimed message.
The following flowchart demonstrates the address claim procedure in detail:

SAE J1939 Starter Kit and Network Simulator
Our JCOM.J1939 Starter Kit and Network Simulator is designed to allow the experienced engineer as well as the beginner to experiment with SAE J1939 data communication without the need of connecting to a real-world J1939 network, i.e., a diesel engine. It may sound obvious, but in order to establish a network, you need at least two nodes, and that fact applies especially to CAN/J1939 where the CAN controller will basically shut down after transmitting data without receiving a response. For that reason, our jCOM.J1939 Starter Kit and Network Simulator consists of two J1939 nodes, namely our jCOM.J1939.USB, an SAE J1939 ECU Simulator Board with USB Port.
The jCOM.J1939.USB gateway board is a high-performance, low-latency vehicle network adapter for SAE J1939 applications. The board supports the full SAE J1939 protocol according to J1939/81 Network Management (Address Claiming) and J1939/21 Transport Protocol (TP).









Comments are closed.