Blog
Recent Posts
SAE J1939 Programming with Arduino – Clear to Send Timeout
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The simplest test for a Clear to Send timeout is accomplished by running the Mega 2560 ECU as the only node in the network.To test this scenario, I run the Mega 2560 at an address of 0x80 (128) and attempt to initiate [...]
SAE J1939 Programming with Arduino – RTS/CTS Session Message Timing
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Note the time stamps from line 3 through line 5 of the screen shot (look at the last four numbers indicating the time in tenth of milliseconds; for instance 352.4 milliseconds in line 3). SAE J1939/21 requires a packet frequency between 50 [...]
SAE J1939 Programming with Arduino - Transport Protocol – RTS/CTS Session (SAE J1939/21)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Test items include: Basic function Timing controlNaturally, for the RTS/CTS session we will need two SAE J1939 nodes. In my setup that means communication between the Arduino Uno and the Mega 2560 ECUs. [...]
SAE J1939 Programming with Arduino - BAM Session Message Timing
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Looking at the below image, note the time stamps from line 1 through line 4 of the screen shot (look at the last four numbers indicating the time in tenth of milliseconds; for instance 942.4 milliseconds in line 1). SAE J1939/21 requires a [...]
SAE J1939 Programming with Arduino - BAM Session (SAE J1939/21)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Test items include: Basic function Timing controlThe initial test of the BAM session requires only one ECU, in this case I am using the full protocol running on the Arduino Mega 2560 [...]
SAE J1939 Programming with Arduino - Claiming Address With No Contending Node
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The first and by far simplest test is to check whether or not the node (Arduino Mega 2560) engages into the address negotiation process. This test is accomplished by a simple power cycle (reset) of the unit when no other competing node [...]
SAE J1939 Programming with Arduino - Address Claim Procedure (SAE J1939/81)
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 [...]
SAE J1939 Programming with Arduino - Proof of Concept
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Naturally, with the impression that the Arduino hardware is a far cry away from commercially available, industrial solutions, some doubters may challenge even the point that the Arduino software is up to the task of running a full SAE J1939 protocol stack. [...]
SAE J1939 Programming with Arduino - Program Structure
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. As with every Arduino application, the initialization of data and the J1939 protocol takes place during the setup() function, while the actual application resides in loop().setup() - The j1939.Init function is mandatory to operate ARD1939. You also need to set the preferred [...]
SAE J1939 Programming with Arduino - Functionality Settings
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Overall, the sketch supports three versions of the ARD1939 protocol stack, two for the Arduino Uno (ARD1939-Uno and ARD1939-Uno/TP) and one for the Arduino Mega 2560 (ARD1939-Mega). ARD1939-Uno – For the sake of saving memory resources, this [...]
Loading... Please wait...
