New Eagle J1939 Library: Difference between revisions
(71 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
The New Eagle J1939 Protocol Library for | 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 handles the complex network management and transmission requirements of the J1939 protocol, such as message packing, error handling and coordinated multi-frame message transmission, which allows 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 successfully in creating a production EPA/CARB OBD-HD compliant engine application. | ||
'''[[#PGN_Support|Current list of supported J1939 messaging]]''' | |||
==Technical Overview== | ==Technical Overview== | ||
The New Eagle J1939 Library implements the Network Management, Data Link and Application layers as described in the J1939 protocol specification. | [[File:Neweagle j1939 dm1 send.png|thumb|right|300px|DM1 Send block]] | ||
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 | The blocks that make up the New Eagle J1939 Libraries use a combination of custom S-functions 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 | 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. | ||
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 | *Data Link Layer – SAE J1939-21 | ||
*Application Layer (see Supported PGNs below) – SAE J1939-71 | *Application Layer (see '''[[#Supported PGNs|Supported PGNs]]''' below) – SAE J1939-71 and SAE J1939-73 | ||
*Network Management – SAE J1939-81 | *Network Management – SAE J1939-81 | ||
== | ==Product Options== | ||
*Diagnostic Messages | New Eagle offers the J1939 Library with two levels of Diagnostic Messaging support: | ||
** | |||
**DM2 | [[File:NEJ1939.png|700px]] | ||
** | |||
** | These two levels target different emissions regulation identifiers as shown below. 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. | ||
** | |||
**DM6 | ==NE-J1939-EMD-LIB== | ||
**DM7 | Engine Manufacturers Diagnostics (EMD) Diagnostic Messages (CCR 1971) | ||
** | |||
** | [[File:NEJ1939_EMD_id.png]] | ||
**DM12 | |||
** | *Diagnostic Messages Support | ||
**DM20 | **DM1 - All active DTCs and some lamps (MIL, RSL, AWL, Protect) | ||
**DM21 | **DM2 - Previously active DTCs | ||
**DM23 | **DM3 - Clear diagnostic information and previously active DTCs | ||
**DM24 | **DM4 - Freeze frame definition and support (fixed format, DTC and six specified parameters) | ||
**DM25 | **DM5 - OBD compliance, previously active and active DTC count, monitors supported and their status (diagnostic readiness) | ||
**DM26 | **DM8 - Test results | ||
** | **DM11 - Clear diagnostic information and active/previously active DTCs | ||
**DM29 | **DM19 - Calibration identification and verification numbers (CAL ID and CVN) | ||
**DM30 | |||
**DM33 | ==NE-J1939-OBD-LIB== | ||
**DM34 | |||
On-Board Diagnostics for Heavy Duty (HD-OBD) Diagnostic Messages (CCR 1971.1) | |||
[[File:NEJ1939_OBD_id.png]] | |||
*Diagnostic Messages Support | |||
**DM1 - All active DTCs and some lamps (MIL, RSL, AWL, Protect) | |||
**DM2 - Previously active DTCs | |||
**DM3 - Clear diagnostic information and previously active DTCs | |||
**DM4 - Freeze frame definition and support (fixed format, DTC and six specified parameters) | |||
**DM5 - OBD compliance, previously active and active DTC count, monitors supported and their status (diagnostic readiness) | |||
**DM6 - Emission-related pending DTCs | |||
**DM7 - Commanded test; system, device or component | |||
**DM8 - Test results | |||
**DM11 - Clear diagnostic information and active/previously active DTCs | |||
**DM12 - Emissions-related active DTCs | |||
**DM19 - Calibration identification and verification numbers (CAL ID and CVN) | |||
**DM20 - Indicates how often monitors complete compared to vehicle operation. | |||
**DM21 - Distance since DTCs cleared, minutes accumulated while MIL activated, time since DTCs cleared | |||
**DM23 - Previously active emission-related DTCs | |||
**DM24 - SPN support for data stream and expanded freeze frame | |||
**DM25 - Expanded freeze frame (format allows DTC and manufacturer-specified number parameters) | |||
**DM26 - Monitors supported and their status for this trip, time since engine start, number of warm-ups since DTC cleared | |||
**DM28 - Emission-related permanent DTCs | |||
**DM29 - Number of regulated DTC counts (Pending, Permanent, MIL-On, PMIL-On) | |||
**DM30 - Test results scaled | |||
**DM33 - Engine emissions increasing AECDs and associated timers (not required HD EPA) | |||
**DM34 - Engine emissions Not-to-Exceed status | |||
*Direct Memory Access | |||
**DM14 - Memory access request | |||
**DM15 - Memory access response | |||
**DM16 - Binary data transfer | |||
*Validation Scripts | |||
[[File:NEJ1939_Validation.png|600px]] | |||
==PGN Support== | |||
Both versions support the following PGNs. | |||
*Managed PGNs | *Managed PGNs | ||
**CBI | **CBI - Compression/Service Brake Information | ||
**CI - Component Identification | |||
**CI | **EC1 - Engine Configuration 1 | ||
**ECUID - ECU Identification Information | |||
**GFTI - Trip Fuel Information (Gaseous) | |||
**EC1 | **LTFI - Trip Fuel Information (Liquid) | ||
** | **SOFT - Software Identification | ||
**TTI2 - Trip Time Information 2 | |||
**VI - Vehicle Identification | |||
** | |||
**LTFI | |||
** | |||
** | |||
**VI | |||
Single-frame transmitted PGNs: Both library versions support the PGN transmit block which makes it easy to add message transmissions by simply identifying the PGN you wish 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. | |||
[[File:NEJ1939_pgn_transmit.png]] | |||
==Licensing== | |||
This product is licensed via the New Eagle License Dongle. Keeping maintenance current allows continued access to updates as the J1939 protocol is revised over time. | |||
===Licensing FAQ=== | |||
Q: I purchased a J1939 Library license but when I try to use it, I get a message (such as the one below) directing me to contact New Eagle Support.<br>[[File:Ntlicense.png]] | |||
A: This message indicates that an obsolete version of J1939 Library Toolbox is installed on your computer and/or MATLAB path. Please uninstall and remove from your MATLAB path. Current versions of the J1939 Library integrate with the MATLAB startup and don't require manually adding the library to your path. New Eagle recommends that you use the latest version of J1939 Library to ensure the best compatibility, feature set and stability. Keeping your software maintenance up to date is the best way to assure that you have access to the latest releases and support. | |||
==Additional PGN Support== | ==Additional PGN Support== | ||
New Eagle is actively expanding supported | New Eagle is actively expanding supported PGNs in the library all the time. Please contact New Eagle for information on additional PGN message support. | ||
==Future Development== | ==Future Development== | ||
*J1939 Client- | *J1939 Client-Side Transport Handler | ||
**Presently, the J1939 Library is focused on transmit aspects. These include | **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 | **Further development on the library will establish a framework for requesting, receiving and parsing PGNs from other J1939 nodes. | ||
*Proprietary PGNs | *Proprietary PGNs | ||
**A framework for easily defining | **A framework for easily defining proprietary PGN messages and linking them to the library’s network management is under consideration. | ||
*HD-OBD and OBDII for alternative fuel applications | |||
==Downloads== | |||
===Datasheet=== | |||
This sheet is being edited. Contact '''[mailto:sales@neweagle.net sales]''' for recent information. | |||
:'''[http://www.neweagle.net/support/wiki/ProductDocumentation/MotoTron/Applications/NE_J1939_Lib_Datasheet.pdf New Eagle J1939 Datasheet]''' | |||
== | ===Library Block Help=== | ||
'''[http://www.neweagle.net/support/wiki/ | :'''[http://www.neweagle.net/support/wiki/ProductDocumentation/MotoTron/Applications/NE_J1939_Lib_Block_Help.pdf New Eagle J1939 Library Block Help]''' | ||
==Webstore== | ==Webstore== | ||
'''[ | |||
'''[https://store.neweagle.net/product/j1939-toolbox-for-motohawk-emd/ NE-J1939-EMD-LIB - New Eagle J1939 Library (EMD)]''' | |||
'''[https://store.neweagle.net/product/j1939-toolbox-for-motohawk/ NE-J1939-OBD-LIB - New Eagle J1939 Library (OBD)]''' |
Latest revision as of 14:35, 9 March 2023
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 handles the complex network management and transmission requirements of the J1939 protocol, such as message packing, error handling and coordinated multi-frame message transmission, which allows 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 successfully 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 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.
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 and SAE J1939-73
- Network Management – SAE J1939-81
Product Options
New Eagle offers the J1939 Library with two levels of Diagnostic Messaging support:
These two levels target different emissions regulation identifiers as shown below. 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.
NE-J1939-EMD-LIB
Engine Manufacturers Diagnostics (EMD) Diagnostic Messages (CCR 1971)
- Diagnostic Messages Support
- DM1 - All active DTCs and some lamps (MIL, RSL, AWL, Protect)
- DM2 - Previously active DTCs
- DM3 - Clear diagnostic information and previously active DTCs
- DM4 - Freeze frame definition and support (fixed format, DTC and six specified parameters)
- DM5 - OBD compliance, previously active and active DTC count, monitors supported and their status (diagnostic readiness)
- DM8 - Test results
- DM11 - Clear diagnostic information and active/previously active DTCs
- DM19 - Calibration identification and verification numbers (CAL ID and CVN)
NE-J1939-OBD-LIB
On-Board Diagnostics for Heavy Duty (HD-OBD) Diagnostic Messages (CCR 1971.1)
- Diagnostic Messages Support
- DM1 - All active DTCs and some lamps (MIL, RSL, AWL, Protect)
- DM2 - Previously active DTCs
- DM3 - Clear diagnostic information and previously active DTCs
- DM4 - Freeze frame definition and support (fixed format, DTC and six specified parameters)
- DM5 - OBD compliance, previously active and active DTC count, monitors supported and their status (diagnostic readiness)
- DM6 - Emission-related pending DTCs
- DM7 - Commanded test; system, device or component
- DM8 - Test results
- DM11 - Clear diagnostic information and active/previously active DTCs
- DM12 - Emissions-related active DTCs
- DM19 - Calibration identification and verification numbers (CAL ID and CVN)
- DM20 - Indicates how often monitors complete compared to vehicle operation.
- DM21 - Distance since DTCs cleared, minutes accumulated while MIL activated, time since DTCs cleared
- DM23 - Previously active emission-related DTCs
- DM24 - SPN support for data stream and expanded freeze frame
- DM25 - Expanded freeze frame (format allows DTC and manufacturer-specified number parameters)
- DM26 - Monitors supported and their status for this trip, time since engine start, number of warm-ups since DTC cleared
- DM28 - Emission-related permanent DTCs
- DM29 - Number of regulated DTC counts (Pending, Permanent, MIL-On, PMIL-On)
- DM30 - Test results scaled
- DM33 - Engine emissions increasing AECDs and associated timers (not required HD EPA)
- DM34 - Engine emissions Not-to-Exceed status
- Direct Memory Access
- DM14 - Memory access request
- DM15 - Memory access response
- DM16 - Binary data transfer
- Validation Scripts
PGN Support
Both versions support the following PGNs.
- Managed PGNs
- CBI - Compression/Service Brake Information
- CI - Component Identification
- EC1 - Engine Configuration 1
- ECUID - ECU Identification Information
- GFTI - Trip Fuel Information (Gaseous)
- LTFI - Trip Fuel Information (Liquid)
- SOFT - Software Identification
- TTI2 - Trip Time Information 2
- VI - Vehicle Identification
Single-frame transmitted PGNs: Both library versions support the PGN transmit block which makes it easy to add message transmissions by simply identifying the PGN you wish 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.
Licensing
This product is licensed via the New Eagle License Dongle. Keeping maintenance current allows continued access to updates as the J1939 protocol is revised over time.
Licensing FAQ
Q: I purchased a J1939 Library license but when I try to use it, I get a message (such as the one below) directing me to contact New Eagle Support.
A: This message indicates that an obsolete version of J1939 Library Toolbox is installed on your computer and/or MATLAB path. Please uninstall and remove from your MATLAB path. Current versions of the J1939 Library integrate with the MATLAB startup and don't require manually adding the library to your path. New Eagle recommends that you use the latest version of J1939 Library to ensure the best compatibility, feature set and stability. Keeping your software maintenance up to date is the best way to assure that you have access to the latest releases and support.
Additional PGN Support
New Eagle is actively expanding supported PGNs 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 OBDII for alternative fuel applications
Downloads
Datasheet
This sheet is being edited. Contact sales for recent information.