Blog
Recent Posts
CAN Bus, CAN FD, LIN, J1939, And CANopen Network Analysis Tool
Warwick Control Technologies, a UK company, has released version 3.11.0 of its X-Analyzer network analysis tool. The software provides standard CAN Bus, CAN FD, and LIN all-in-one tool, along with higher-layer protocols such as SAE J1939 and CANopen. When purchased in combination with the Kvaser Hybrid or Hybrid Pro interfaces, the product can be used with standard CAN [...]
SAE J1939 Programming with Arduino – RTS/CTS Session Test Program
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Just for kicks, I extended the previously used Arduino sketch to simulate a fully functional RTS/CTS session (yet again, the code is highly tailored to the previous RTS/CTS session). Based on that sketch, I could simulate all error scenarios on the receiver’s side.This [...]
SAE J1939 Programming with Arduino – Conclusion
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. With all previous programming examples installed and explained, you should now have a pretty good grip on programming your own SAE J1939 application with the Arduino Uno and/or the Mega 2560.Yet, there are still numerous, possible scenarios for J1939 applications and all [...]
SAE J1939 Programming with Arduino – ARD1939 Sample Application
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The typical SAE J1939 ECU application not only involves the protocol stack but also a good amount of input and/or output processing. This could involve reading sensors and sending the result in form of a PGN or reading a PGN and setting [...]
Heavy Duty Truck Diagnostics And Scan Tool Supports OBD-II, SAE J1939, SAE J1708 & 1587 Protocols
The CR-HD unit is the perfect tool for diagnosing and clearing heavy duty diagnostic trouble codes. It covers SAE J1587, SAE J1708 and SAE J1939 protocols for accessing Engine, Transmission, Brakes and more. It features a 2.8” full color LCD display and is ergonomic, highly portable and easy to use. Perfect Scan Tool for Heavy Duty Truck works on [...]
SAE J1939 Programming with Arduino – End of Message Acknowledgment Timeout
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. In order to test all timeouts during an RTS/CTS session, I used a dedicated Arduino sketch to simulate all the “nasty” features that would trigger a communication breakdown. This method was easier to implement rather than using a full SAE J1939 stack. [...]
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 [...]