Blog

Open Source J1939 CAN Drivers

Open Source J1939 CAN Drivers

DMC has been using the SAE J1939 CAN protocol in LabVIEW applications since 2010. A few years ago, DMC wrote a first generation set of J1939 drivers using the NI-CAN Channel API provided by National Instruments (NI) which was, at the time, a standard NI CAN API for use on the NI-CAN hardware family.

Since then, NI released XNET. XNET is a modernized, unified, and easier to use API for CAN, LIN and Flex Ray interfaces and is to be used with NI’s XNET hardware family. 

NI’s move to XNET prompted DMC to develop a second generation of J1939 drivers using the new API.  

What’s new?

These updated drivers run on modern XNET CAN modules and include new features such as multi-packet and DM (Diagnostic Message) functionality. 

Though DMC previously provided only a trial version of the software, the drivers are now completely free and open source.

Who is this useful for?

These new J1939 drivers are intended to be used in automated testing and hardware in the loop (HiL) simulation. However, they are generic enough to serve a wide range of potential use cases. 

Also, since the drivers are now open source, developers can customize them to better fit their applications and/or implement functionality that isn’t currently supported. 

To make adding additional application layer functionality easier, these drivers expose a generic data link (J1939-21) API for handling multi-frame messages.

What do I need to start developing?

Since these drivers are built on the NI XNET API, XNET compatible hardware is needed to use them. See the CAN hardware in this table (below) for available options.

List of CAN hardware compatible with DMC's J1939 drivers
Source: www.ni.com

Compatibility

The drivers are compatible with LabVIEW 2015 - 2017 and NI XNET 15.0 – 17.0.

Where can I get these?

The drivers can be downloaded here.

Comments

There are currently no comments, be the first to post one.

Post a comment

Name (required)

Email (required)

CAPTCHA image
Enter the code shown above:

Related Blog Posts