7
\$\begingroup\$

I am trying to connect ICP CON i-7565 (USB <-> CAN interface) to a custom made device (supporting CAN 2.0B, proved to work with PCL-841 card). Although I think I have configured the Baud rate and acceptance code/mask correctly, I can't see any CAN messages coming from the device (ICP provides a tool that should allow me to send and receive CAN messages).

I-7565 might be wrong interface for me, I might have misconfigured it, or it is simply broken. Or I am just doing something wrong out of my ignorance. I don't think anyone can help me with my specific problem, so I am rather asking for general information on how are problems with CAN bus identified and analyzed. In TCP/IP for example, you would call ping, you'd recheck your IP address, gateway settings, etc.

Question is: How do you troubleshoot CAN bus communication?

\$\endgroup\$

closed as too broad by Chetan Bhargava, Samuel, Joe Hass, Daniel Grillo, RedGrittyBrick Jan 17 '14 at 11:05

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ When you say "proved to work with PCL-841 card", do you mean you have such card, connected the device and it worked? If so, what happens when you connect the three (ICP, PCL and the custom device) to the same bus? The two still work? The ICP is able to snoop the traffic? The ICP and the PCL can talk to one another? There is much room to investigation in this setup to get more clues about what's wrong. \$\endgroup\$ – fceconel Jan 13 '14 at 17:06
  • \$\begingroup\$ Yes, I have a working connection with PCL-841. This 'eavesdropping' approach could be the way forward, but it is little beyond my abilities at this moment. I will try and let you know how it works. \$\endgroup\$ – lot Jan 14 '14 at 17:06
  • \$\begingroup\$ I managed to connect all three devices to the same bus as you suggested - those two still work together, but I can see nothing in ICP utility. \$\endgroup\$ – lot Jan 15 '14 at 17:05
  • \$\begingroup\$ Most probably the problem lies in what Dave mentioned, the ICP was made for a high level protocol and is simply ignoring packet he doesn't recognize. Do you really need to use that specific device? There are other options available; for instance Atmel has a devkit (atmel.com/Images/…) with two CAN ports and a PC apps to control them, at a reasonable price (similar to the ICP in the link you included). \$\endgroup\$ – fceconel Jan 15 '14 at 21:41
  • \$\begingroup\$ @fceconel oops, I've just noticed that Dave edited my question and supplied a wrong link. Now it points to the actual device page. \$\endgroup\$ – lot Jan 15 '14 at 22:29
6
\$\begingroup\$

One of the first things you should do is look at the bus signals with an oscilloscope, both individually and in differential mode. This will allow you to see whether the terminations are set up properly, what the bit period really is, and whether there are any noise, risetime or voltage offset issues.

The next step would be to try a CANbus analyzer tool, which will give further insight into any protocol problems.

It looks like the ICPCON device is designed to support DeviceNet specifically; does it support diagnosing the "raw" CAN messages?

\$\endgroup\$
  • \$\begingroup\$ I am a software engineer, I don't have an oscilloscope :-) But thanks anyway, I will ask our electricians for one, but I doubt they use such a thing. I guess CANbus analyzer will only work as long as I have some CANbus messages to analyze - core of my problem is that I dont. Manual for the device only mentions deviceNet when it says that pin connection is also specified in DeviceNet specifications, so I it doesn't look to be limited to deviceNet only. \$\endgroup\$ – lot Jan 14 '14 at 17:13
  • 2
    \$\begingroup\$ In embedded systems, there is no such thing as a "pure software" or "pure hardware" engineer. Each needs to be conversant with the development issues as well as the debugging tools and techniques of the other. \$\endgroup\$ – Dave Tweed Jan 14 '14 at 22:15
  • \$\begingroup\$ I agree with you, Dave. Unfortunately I have no background in embedded systems, yet. I am trying to create one right now :-) I've set up 'eavesdropping', but still I can see no CAN messages, I am more and more convinced that my USB interface is broken. Thank you very much for your help, I wanted to upvote your answer, but I have insufficient reputation. \$\endgroup\$ – lot Jan 15 '14 at 13:39
  • \$\begingroup\$ I edited the post to point to the actual device page \$\endgroup\$ – lot Jan 15 '14 at 22:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.