Blog
Recent Posts
SAE J1939 Programming with Arduino - Address Claiming Procedure
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. In the following, we will focus merely on two basic messages, Request Message and Address Claimed (Yet again, for further, more detailed information see the literature recommendation in the appendix).The Request Message is used by a CA to request information, such as NAME [...]
SAE J1939 Programming with Arduino - Address Claim And Preferred Address
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. For the purpose of a quick address claiming process, each control application should maintain a preferred address. SAE J1939/81 recommends that the preferred address (i.e. the address the ECU/CA attempts to claim on power-up) should be re-programmable to permit the proper configuration of [...]
SAE J1939 Programming with Arduino - Address Claim Technical Requirements
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The SAE J1939/81 Network Management defines the processes and messages associated with managing the source addresses of applications communicating on an SAE J1939 network. Network management is concerned with the management of source addresses and the association of those [...]
SAE J1939 Programming with Arduino - Device NAME
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Each ECU (Electronic Control Unit) that actively participates in SAE J1939 communication (i.e. sending) requires a unique name, which is composed of a stream of 64 bits. Within the standard the device name is defined as NAME. It contains information that [...]
SAE J1939 Programming with Arduino - SAE J1939/81 - Address Claim Procedure
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Network Management under SAE J1939 is primarily represented by the Address Claiming Process. While other higher layer protocols based on Controller Area Network (CAN Bus) do not support node address assignments per default, the SAE J1939 protocol provides yet another ingeniously designed [...]
SAE J1939 Programming with Arduino - Multi-Packet Peer-to-Peer (RTS/CTS Session)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The communication of destination specific (peer-to-peer) multi-packet messages is subject to flow-control. Connection Initialization – The sender of a message transmits a Request to Send message. The receiving node responds with either a Clear [...]
SAE J1939 Programming with Arduino - SAE J1939/21 - Transport Protocol (TP)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Even though extremely effective in passenger cars and small industrial applications, the CAN Bus technology alone was not suitable to meet the requirements of truck and bus communications, especially since its communication between devices is limited to only 8 bytes per message. [...]
SAE J1939 Programming with Arduino - Multi-Packet Broadcast (BAM Session)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. In order to broadcast a multi-packet message, a node must first send the Broadcast Announce Message (BAM), which contains the following components: Parameter Group Number (PGN) of the multi-packet message Size of the multi-packet message Number of packagesThe BAM message allows all [...]
SAE J1939 Programming with Arduino - PGN Range
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Parameters groups are, for instance, engine temperature, which includes coolant temperature, fuel temperature, oil temperature, etc. Parameter Groups and their numbers (PGN) are listed in SAE J1939 (roughly 300 pages) and defined in SAE J1939/71, a document containing roughly [...]
SAE J1939 Programming with Arduino - The Two Elements of the SAE J1939 Protocol Stack
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Any SAE J1939 hardware must support SAE J1939/1x and SAE J1939/21, otherwise they’re useless, because these standards describe the CAN Bus physical layer and the basic protocol features. That part is sufficiently covered (i.e. for demonstration purposes) by our CAN Bus [...]