Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Using FPGA cRio and 9853 for a J1939 CAN

We are currently trying to interface with a J1939 CAN network using a cRio 9012, 9104 chassis and the 9853 module.  We have Labview 8.2.  I stumbled accross the examples for Labview 8.6 and newer.  Is there any particular solution/road we should be going down?

 

I have experience using Labview with a cDAQ, but have not much experince with RealTime and FPGA.

 

I got the thermocouple module to work using FPGA, so the RIO itself and the module do work.

 

Thanks for any guidance/help you can send my way.

0 Kudos
Message 1 of 8
(9,384 Views)

Have you looked J1939 Example Code  ?

GCentral
0 Kudos
Message 2 of 8
(9,374 Views)

I have looked at them but have not tried to complete them in Labview 8.2.  It looks like there are J1939 sub-vi's that are used, and I assumed since the other VI's were created with LV 8.6 I wouldn't be able to use the sub-vi's either.

0 Kudos
Message 3 of 8
(9,370 Views)

If you have a current SSP you should contact the NI application engineers and have them convert it for you.

 

If you do not, you can download an evaluation version and convert it yourself. You will need LabVIEW Real Time and the FPGA module too.

GCentral
0 Kudos
Message 4 of 8
(9,366 Views)

Thanks for the advice, I'll call an applications engineer as my 30 day trial of SSP is still running.

0 Kudos
Message 5 of 8
(9,365 Views)

The way I would approach J1939 on the cRIO would depend on what features of J1939 you needed for your app.  If you are just reading or writing broadcast messages that fit in a single 8 byte frame it will be just as straight forward as standard CAN.  Basically in this case you would be reading frames on the FPGA code, transmit them to the realtime portion where you can convert them to channel data using a CAN database.  Writing would be just the opposite direction.

 

If you are using requests for PGN data, lets say to retrieve DTC codes, or R/W data using advance diagnostic messages (say DM14/15/16 for example) things will get a bit more difficult but not too bad.  If you are expecting to tx or rx multi-frame packets and need the transport protocol of J1939, then things can get complex fast.

 

DMC recently developed a set of J1939 protocol drivers for LabVIEW which are based on the NI-CAN channel API.  The drivers were written in LabVIEW just like the NI frame example, but provide functions at a layer above the base CAN channel API layer.  This allows the simultaneous capture of data from both J1939 packets which are simple broadcast CAN frames, or more complex transport using BAM, including extended data frames.

 

I suppose something like this could be written into the realtime of the cRIO, and just pass frame data back and forth using some very basic code on the FPGA.

0 Kudos
Message 6 of 8
(9,361 Views)
We are looking for J1939 LabVIEW drivers. If anynody has it, please contact us on ikbal.inamdar@tcs.com with quotation.
0 Kudos
Message 7 of 8
(9,179 Views)

Please take a look at our J1939 Transport Protocol Reference Examples. This document has a collection of J1939 VIs attached to it. You may be looking for something more than this, but if you haven't seen this, take a look.

 

Best,

 

John M

National Instruments
Applications Engineer
0 Kudos
Message 8 of 8
(9,161 Views)