Site Information

 Loading... Please wait...

Simulating SAE J1939 PGNs Used By Truck & Bus FMS (Fleet Management System) Standard

Posted by Wilfried Voss on

Simulating SAE J1939 PGNs Used By Truck & Bus FMS (Fleet Management System) StandardWhat is the FMS Standard?

In the beginning of the 21st century, GPS-based vehicle tracking systems became more and more affordable, but they still could not provide vehicle related technical information. In 2002, six major truck manufacturers (Volvo, Scania, Iveco, MAN, DAF, Mercedes-Benz) decided to create a standardized vehicle interface for these GPS based tracking systems, and they named it the FMS standard.

FMS Standard lower layer protocols:

  • Application layer – SAE J1939/71
  • Data link layer – SAE J1939/21
  • Physical layer – ISO 11898-2 High-speed CAN, 250 kbit/s bus speed
  • Physical connectors – Not standardized

FMS Standard 1.0 (Initial standard issued in 2002)

Bus FMS standard (Ver. 00.01 issued in 2007, specialized standard for buses and coaches including specific signals like door openings, etc. Since then the original “FMS Standard 1.0” was also referred as “Truck FMS Standard”)

FMS Standard 2.0 (extended standard issued in 2010. This standard took over some signals from the Bus FMS Standard, but FMS Standard 2.0 was still handled separately for Trucks.)

FMS Standard 3.0 harmonized Bus and Truck standard (issued in 2012). From now on there is only FMS Standard 3.0, but there are separated sections inside for buses and trucks.

The development of FMS-standard is now under the umbrella of the European Automobile Manufacturers’ Association ( ACEA). The dedicated working group “Heavy Truck Electronic Interface Group” meets regularly to discuss the needs of the FMS-standard. 

Common Parameters for Truck & Bus FMS Standard

The following represents a list of supported parameters shared by the Truck FMS Standard and the Bus FMS Standard:

  • Wheel Based Speed
  • Clutch switch
  • Brake switch
  • Cruise control active
  • Accelerator pedal position
  • Total fuel used
  • Fuel Level
  • Engine speed
  • Total Engine Hours
  • Vehicle Identification Number
  • SW-Version supported
  • Requests supported
  • Diagnostics supported
  • High resolution Total vehicle distance
  • Drive recognize
  • Driver 1 working state
  • Driver 1 time related states
  • Driver 1 card
  • Driver 2 working state
  • Driver 2 time related states
  • Driver 2 card
  • Tachograph vehicle speed
  • Direction indicator
  • Tachograph performance
  • Overspeed
  • Handling information
  • System event
  • Engine coolant Temperature
  • Ambient Air Temperature
  • Driver 1 identification
  • Driver 2 identification
  • Fuel Rate
  • Instantaneous Fuel Economy
  • Simulating FMS Parameters

    All of the above mentioned parameters are represented by PGNs (Parameter Group Numbers) as defined in the SAE J1939-71 Standard. In the following, I will focus on a subset and demonstrate how to create a simulation of these FMS parameters.

    SAE J1939 ECU Simulator Board With USB PortFor this purpose, I am using our SAE J1939 ECU Simulator With USB Port, connected to a Windows PC, which, in turn runs our jCOM1939 Monitor, an SAE J1939 Monitoring, Analyzer and ECU Simulation software.

    The jCOM.J1939.USB gateway board is a high-performance, low-latency vehicle network adapter for SAE J1939 applications. It allows any host device with a USB COM port to monitor SAE J1939 data traffic and communicate with the SAE J1939 vehicle network.

    The board supports the full SAE J1939 protocol according to J1939/81 Network Management (Address Claiming) and J1939/21 Transport Protocol (TP).

    The jCOM1939 Monitor Software is the perfect tool to monitor, analyze, and simulate SAE J1939 data traffic. The system combines our jCOM.J1939.USB that functions as an SAE J1939 to USB (or UART) gateway. A comprehensive and easy-to-use, easy-to-understand Windows software displays not only SAE J1939 data traffic; it also allows to scan the network, simulate an ECU (incl. full node address negotiation features), and respond to data request messages.

    For the purpose of a comprehensive demonstration, I have picked the following PGNs:

    • Accelerator Pedal Position - PGN 61443, SPN 91
    • Engine Speed - PGN 61444, SPN 190
    • Ambient Air Temperature - PGN 65269, SPN 171

    Note: The combination of ECU Simulator and PC software is also able to simulate the VIN (Vehicle Identification Number), which is only available per request. For an example see my post SAE J1939 Project With Arduino Uno/Mega2560: Requesting & Simulating Vehicle Identification Number (VIN).

    In a first step, after triggering the Address Claim procedure, I edited the PGN for Engine Speed:

    Admittedly, the data as entered was chosen randomly, and I entered only the bytes for the simulated engine speed.

    The full setup looks like this:

    Note: According to the SAE J1939-71 Standard, PGN 61443 - EEC2 is transmitted using a 50 milli-second interval. For mere demonstration purposes, I took the liberty of editing 500 milli-seconds to create a smoother data display as shown below (the device is quite capable of handling the 50 msec interval).

    All J1939 data is being transferred to the vehicle bus by means of our ECU Simulator. And, naturally, the software also allows filtering and displaying of PGNs received from the bus. For more information about the software see: jCOM1939 Monitor, an SAE J1939 Monitoring, Analyzer and ECU Simulation software.

    If you need more information or have questions, please feel free to contact me though this website.