4
\$\begingroup\$

I have several working and inter-operable boards using CANbus. I've shipped hundreds of products using these boards, with no problems. One of my customers is now saying that his fault log shows regular communication losses, indicating that messages are not being received for several seconds. I need to analyze what's happening on the CAN bus to diagnose this problem. What is the most effective way of doing so? I see many CAN/USB dongles, but it's difficult to tell what's useful and what's not without spending a couple thousand dollars buying every one of them.

\$\endgroup\$
6
  • \$\begingroup\$ I assume they have isolated it to your product and have detailed every device on the bus? Then I would ask if they can capture the last message on the bus before the pause with a logic analyser and captures of the wave forms in the last message on a digital scope. I have returned devices to engineers where they had "adjusted" the spi bus wait times. It's not quite the same but you get the idea. \$\endgroup\$
    – Spoon
    Aug 19, 2013 at 20:08
  • \$\begingroup\$ I should clarify, the CANbus is internal to our product, and only runs between two of our boards. \$\endgroup\$ Aug 19, 2013 at 20:20
  • \$\begingroup\$ I hope I'm not trying to teach you to suck eggs but from my experience of customers, engineers of all sorts and production manufacturing the first suspect is the physical connections between the boards ( cable assemblies breaking down, interference, bad solder joints etc...) It's amazing how people jump to the wrong conclusions. Then check with known working devices. If it now works the last changes made to the product need looking at. Of course this "feature" might exist in all products and is only now being reported... \$\endgroup\$
    – Spoon
    Aug 19, 2013 at 22:47
  • \$\begingroup\$ We had this customer's exact unit in our facility, abused it horribly, and couldn't reproduce the problem. We built him a brand new unit, and it's having the same problem. Other customers don't report this problem. Tried multiple cable assemblies, built by different people. Not that I don't appreciate the debugging help! \$\endgroup\$ Aug 19, 2013 at 23:26
  • \$\begingroup\$ The delay in the messages suggests that the start of a packet was detected but not completed and the packet time out reset the receiver state. Considering this with the other comment suggests the issue is site specific which indicates the most obvious reason to be EMI as Mr EMI's answer explains. The error logs should give an indication of it's frequency (10's or thousands of errors a day indicate how susceptible the comms is), grouped failures in certain time periods (Interfering devices being turned on / off etc) could help track it down. \$\endgroup\$
    – Spoon
    Aug 20, 2013 at 9:08

3 Answers 3

2
\$\begingroup\$

I had a CAN Translator from DakotaSoft, which worked for a long time, then stopped entirely. Not sure why, could have taken a fall or a voltage hit. Excellent support, they sent me a replacement, which worked fine. I was pleased with the software, which did exactly what I'd expect from a product like this.

I got a CAN BUS Analyzer from Microchip, which hasn't worked at all; at best, it sees some garbled messages in one particular mode. The software responds poorly, and Microchip's tech support is difficult to reach and often takes a long time to respond.

Others include:

\$\endgroup\$
1
\$\begingroup\$

I bought a Chinese unknown dongle. I mainly use it for automotive applications, and it works pretty well. The only drawback is the software, but it came with source code and binaries for different environments so I'm trying to write something more suitable for my purposes.

\$\endgroup\$
2
  • 3
    \$\begingroup\$ If you post the link to your "chinese unknown" dongle which came with source code, that will make you answer a lot more useful. \$\endgroup\$ Aug 19, 2013 at 20:46
  • \$\begingroup\$ Sure, ebay.com/itm/… there are other similar versions. \$\endgroup\$
    – Djkrugger
    Aug 20, 2013 at 20:23
0
\$\begingroup\$

You can use HUD ECU Hacker which also has a built-in CAN Bus Analyzer / CAN Bus Debugger / CAN Bus Terminal. In Sniff Mode you see all CAN Bus traffic in real time and can write it to a logfile. You can also set filters to see only the packets which you are interested in. HUD ECU Hacker can also decode ISO 15765 packets. In the CAN Raw Terminal you can send commands to any device on the CAN bus and see the response.

HUD ECU Hacker is charityware, which means you can use it for free, but if you like the program you should give a donation to an NGO of your choice.

In contrast to other CAN Bus Analyzer software you don't need to buy an expensive proprietary CAN Bus adapter. HUD ECU Hacker works with a cheap chinese J2534 clone (approx $40 US). You can use the same adapter also to scan your car or motorbike with HUD ECU Hacker in case of a defect.

HUD ECU Hacker CAN Bus Debugger

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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