Press "Enter" to skip to content

SAE J1939/81 Network Management – Address Claim Procedure

Network Management under SAE J1939 is primarily represented by the Address Claiming Process. While other higher-layer protocols based on Controller Area Network (CAN) do not support dynamic node address assignments by default, the SAE J1939 standard provides this ingeniously designed feature to uniquely identify ECUs and their primary function.

SAE J1939/81 prefers using CA (Controller Application) rather than ECU (Electronic Control Unit). In all consequence, one ECU can run multiple CAs. Each Controller Application will have one address and associated NAME. The following chapters will continue using the term ECU, a synonym for CA.

Address Claiming Procedure Overview

Each ECU on a J1939 vehicle network must have at least one name and address for identification purposes. A single electronic unit can manage multiple names and addresses.

The 8-bit ECU address is used to specify the source or destination of messages. The ECU NAME is used to identify the primary function of an ECU at its address. In cases where there are multiple ECUs with the same primary function sharing the same network, a function instance indicator is added to distinguish between them.

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 uniquely identify each ECU in a network.

While the 64-bit NAME is undoubtedly appropriate to uniquely identify nodes (ECUs) and their function in a J1939 network, it will nevertheless necessitate unreasonable resources to maintain standard communications.

In order 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 the source of a message or to access (destination address) another ECU in the network. The address claim procedure is designed to assign addresses to ECUs right after the network has been initialized and thus assuring 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 defines Preferred Addresses to commonly used devices in order to minimize the rate of multiple devices demanding the same address and consequently optimizing the address claim process. ECUs will generally use their assigned Preferred Address immediately after the power up process, but in order to prevent any address claim conflicts, each ECU must first announce which addresses it intends to claim.

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 into the CAN bus in order 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 the necessary procedure for ECUs powering up late for various reasons, but especially transitional ECUs. Such transitional ECUs may be diagnostics tools, service tools, and trailers, etc. This approach allows the ECU to determine and claim an available address or to find out which ECUs are currently on the network.

Addresses

The J1939 protocol utilizes an 8-bit device (ECU) address, which, theoretically, would allow the operation of 256 nodes in the same network. It can only be assumed that the SAE was trying to keep the bus traffic on a low level by restricting the maximum number of nodes to 30.

In all consequence, the ECU address is really 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 co-exist in a J1939 network without address collision. J1939 features a very ingenious feature, the Address Claim procedure which automatically assigns addresses to each Controller Application. In case of an Address Claim conflict, the Controller Applications are able to claim another free address.

NULL Address

The address 254, the so-called NULL Address, is reserved for network management, and it is used for the Cannot Claim Source Address message.

Global Address

The Global Address (255) is exclusively used as a destination address in order 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

This first scenario addresses a standard J1939 network startup. Upon powering up (or when requested), an ECU will send an Address Claimed message into the CAN bus in order 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 the necessary procedure for ECUs powering up late for various reasons, but especially transitional ECUs. Such transitional ECUs may be diagnostics tools, service tools, and trailers, etc. This approach allows the ECU to determine and claim an available address or to find out 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 their regular network activities immediately, while other ECUs should not begin until a time of 250 ms after claiming an address. This allows competing claims to be resolved before the address is being used.

In the event that 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 send a Cannot Claim Address message.

The destination address for an address claim is always the global address (255) in order to address all nodes in the network.

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:


A Comprehensible Guide to SAE J1939A Comprehensible Guide to J1939 is the first work on J1939 besides the SAE J1939 standards collection. It provides profound information on the J1939 message format and network management combined with a high level of readability.

The information in this book is based on two documents of the SAE J1939 Standards Collection:

  • J1939/21 – Data Link Layer
  • J1939/81 – Network Management

This book is an attempt to create an enjoyable and readable J1939 reference for everybody. The information provided in this book is, besides the SAE J1939 Standards Collection, based on publicly available information such as, but not limited to web sites and printed literature as well as contributions by engineers familiar with Controller Area Network and the J1939 protocol. The information in this book, while based on the J1939 standard, is not a reproduction of any copyrighted SAE document. More Information…

Comments are closed.

Copyright © 2024 Copperhill Technologies Corporation
wpChatIcon
wpChatIcon