New Eagle J1939 Library

From NewEagleWiki
Jump to navigation Jump to search

The New Eagle J1939 Protocol Library for OBD (On-Board Diagnostics) or EMD (Engine Management Diagnostics) offers an easy to use approach to add J1939 protocol support to any existing or new MotoHawk project. It abstracts all the complex network management and transmission requirements of the J1939 protocol allowing fast development of a J1939 compatible application.

In addition to application level messaging defined in J1939-71 which is provided with an easy to use SPN/PGN block interface, this library seamlessly interfaces with the MotoHawk OBD Fault Manager behind the scenes to provide diagnostic trouble code messages such as DM1 defined in J1939-73. This blockset has been used succesfully in creating a production EPA/CARB OBD-HD compliant engine application.

Current list of supported J1939 messaging

Technical Overview

The New Eagle J1939 (OBD/EMD) Library implements the Network Management (J1939-81), Data Link (J1939-21) and Application Diagnostic (J1939-73) layers as described in the J1939 protocol specification. The library's Simulink blocks and code generation provide simple support for the complex features of J1939. The New Eagle J1939 Library includes support for BAMs, RQSTs, ACK/NACK, RTS/CTS, optimized multi-frame PGN transport, and Address Claiming, among other considerations.

The blocks that make up the New Eagle J1939 Libraries use a combination of custom S-functions as and existing MotoHawk blocks to allow the user to efficiently add the J1939 protocol to any project. This ensures continued compatibility with future MotoHawk releases and controller families.

The New Eagle J1939 Library uses the J1939 structure of PGNs and SPNs. This makes it simple to integrate into an existing model by allowing the user to define SPNs throughout the model. The Library will automatically collect and manage the SPN data required for each PGN message, optimizing speed and memory usage and simplifying the model layout. The separation of SPNs and PGNs greatly simplifies the process of adding support for additional PGNs. It allows the communication functions (PGNs) of the module to be collected in a common location in the Simulink model to simplify network management functions and allows the SPNs to be set near where they are calculated to minimize signal routing in the model.

DM1 Send block

The J1939 OBD Diagnostic Messages integrate seamlessly with the MotoHawk OBD Fault Manager blocks to provide access to available fault status and freeze frame data. The OBD Custom Fields feature of the fault manager is used to define SPN and FMI numbers for each fault and manage the additional information required for J1939 compliance.


J1939 Supported Functions

  • Data Link Layer – SAE J1939-21
  • Application Layer (see Supported PGNs below) – SAE J1939-71 & SAE J1939-73
  • Network Management – SAE J1939-81

Supported PGNs

New Eagle offers the J1939 Library with two levels of Diagnostic Messaging support:

These two levels target different emissions regulation identifiers.

  • Engine Manufacturers Diagnostics (EMD) Diagnostic Messages (CCR 1971)
    • DM1
    • DM2
    • DM3
    • DM4
    • DM5
    • DM8
    • DM11
    • DM19

  • On-board Diagnostics for Heavy Duty (HD-OBD) Diagnostic Messages (CCR 1971.1)
    • DM1
    • DM2
    • DM4
    • DM5
    • DM6
    • DM7
    • DM8
    • DM11
    • DM12
    • DM19
    • DM20
    • DM21
    • DM22
    • DM23
    • DM24
    • DM25
    • DM26
    • DM27
    • DM28
    • DM29
    • DM30
    • DM33
    • DM34
  • Direct Memory Access (HD-OBD only)
    • DM14
    • DM15
    • DM16

Both version support the following PGNs.

  • Managed PGNs
    • CBI
    • CCVS
    • CI
    • DD
    • DLCC1
    • EC1
    • EEC1
    • EEC2
    • EEC3
    • EFL_P1
    • EGF1
    • ET1
    • ET3
    • HOURS
    • IC1
    • IO
    • IT6
    • LFC
    • LFE
    • LFI
    • LTFI
    • VD
    • VDHR
    • VEP1
    • VH
    • VI
  • Single-frame transmitted PGNs: Both library version support the PGN transmit block which makes it easy to add message transmission by simply identifying the PGN you which to transmit. The block automatically provides a list of SPNs contained within the message which can be useful in adding SPN write blocks to the model to populate the message data. The New Eagle DBC CAN Networking Toolbox can also be used with the J1939 CAN database file (*.dbc) to quickly handle single frame PGNs.

NE-J1939-EMD-LIB provides a low cost entry point to J1939 protocol support. This level provides the common messaging required to interface with instrument clusters including basic fault messages for cluster lights and interface panel fault readout. When its time to target emissions certification, upgrading to NE-J1939-OBD-LIB includes the additional messaging and capability required such as emissions-related DTC codes and extended freeze frame support.

Additional PGN Support

New Eagle is actively expanding supported PGN’s in the library all the time. Please contact New Eagle for information on additional PGN message support.  

Future Development

  • J1939 Client-side Transport Handler
    • Presently, the J1939 Library is focused on transmit aspects. These include: parsing requests, transmitting PGNs, and managing the network.
    • Further development on the library will establish a framework for requesting, receiving, and parsing PGNs from other J1939 nodes.
  • Proprietary PGNs
    • A framework for easily defining Proprietary PGN messages and linking them to the library’s network management is under consideration
  • HD-OBD and OBD2 for Alternative Fuel Applications

Datasheet

New Eagle J1939 Datasheet

Library Block Help

New Eagle J1939 Library Block Help

Webstore

NE-J1939-EMD-LIB - New Eagle J1939 Library (EMD)

NE-J1939-OBD-LIB - New Eagle J1939 Library (OBD)