Jump to content

May I CAN?


PaulG.

Recommended Posts

Our company has been getting an increasing number of orders for devices that use CAN bus. I have zero CAN bus experience so I'm shopping for a good (and preferably cheap) CAN interface/adapter that comes with handy-dandy LabVIEW drivers and/or examples to use for testing. Thanks in advance. cool.gif

Link to comment

Our company has been getting an increasing number of orders for devices that use CAN bus. I have zero CAN bus experience so I'm shopping for a good (and preferably cheap) CAN interface/adapter that comes with handy-dandy LabVIEW drivers and/or examples to use for testing. Thanks in advance. cool.gif

As its your first time, go with what you know!

http://www.ni.com/can/

Link to comment

Our company has been getting an increasing number of orders for devices that use CAN bus. I have zero CAN bus experience so I'm shopping for a good (and preferably cheap) CAN interface/adapter that comes with handy-dandy LabVIEW drivers and/or examples to use for testing. Thanks in advance. cool.gif

We've had good luck with Kvaser CAN devices; our CLA prefers them to NI and ValueCAN. They're cheaper, too.

http://www.kvaser.com/can/

Link to comment

The main difference between them is the speed. What devices are you intending to talk to?

We mostly deal with ISO 11898-2 type CAN's, 1 Mbits/sec, but I don't think we really need that level of speed. We don't do design validation. Just functional testing of printed circuit assemblies.

Link to comment

I've done some work with VectorCAN stuff but I wasn't impressed. The NI CAN devices would of worked better for what we needed, but since Vector is more specialized maybe if we were trying to do more crazy things than just read they would have been the product to have.

Link to comment

We've had good luck with Kvaser CAN devices; our CLA prefers them to NI and ValueCAN. They're cheaper, too.

http://www.kvaser.com/can/

We've also used Kvaser CAN devices with LabVIEW. They work OK. The programming may take a bit more time with them compared to the NI hardware.

The CAN Frame Channel Conversion Library was quite useful in that specific instance. I don't remember why we didn't use the CAN Channel API. Was it that it's only for NI devices?

Link to comment

We've also used Kvaser CAN devices with LabVIEW. They work OK. The programming may take a bit more time with them compared to the NI hardware.

The CAN Frame Channel Conversion Library was quite useful in that specific instance. I don't remember why we didn't use the CAN Channel API. Was it that it's only for NI devices?

Yup, the CAN Channel API is only for NI hardware. I recall doing something similar once: reading raw CAN frames from a KVASER card, writing them to one of the NI-CAN simulated interfaces configured for frames, and reading them back from the other simulated interface configured for channels. This was actually easy to set up, and I had good experiences with the KVASER hardware and software tools.

Link to comment

The CAN Frame Channel Conversion Library was quite useful in that specific instance. I don't remember why we didn't use the CAN Channel API. Was it that it's only for NI devices?

I believe that Channel API also does not work on any NI USB device, so it would also need the Frame to Channel conversion library.

We've also used that library on a FPGA CAN device, where all you receive is a raw stream of bytes. We passed that to the host main, which had an engine running that simply took it, converted it to channel API, and then put it on the virtual CAN bus (CAN256 I believe) and then any where in the code any engine could read CAN 257 as Channel and read what was on the CAN bus that the FPGA was connected to.

I think NI has examples on how to do this.

Link to comment

I went to NI first. wink.gif Too many choices.

If you first decide to go with the new XNET boards, you get down to a more reasonable amount of boards.

We have been using both the Series2 and XNET boards, and the biggest problem with the Series2 boards is the amount of on-board memory that limits the number of frames you can handle autonomously. With XNET this is solved, each port have separate buffers for output and input (the older boards shared one buffer for all ports and directions). XNET also support bus-termination, that can be set from SW.

In our cases we do a lot of fault insertion (skipping X frames, inserting erroneous parameters in the frames etc.) and handle J1939 TP.BAM-TP.DT transfers. Due to this, we have to create our own engine above the NI-CAN or XNET layers. In this scenario XNET really outperforms the NI-CAN, both in terms of actual time it takes to get information to/from the driver, but also in jittering (which is much lower for XNET).

One thing that is missing in XNET compared to NI-CAN, is the ability to run simulated interfaces.

/J

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.