Hello,
A customer is having a problem with his CAN-bus installation at two separate sites in Holland. We have many installations working perfectly world-wide but this problem has me stumped.
The CAN bus runs at 50 kbit/s over a maximum distance of 500m. There are approximately 40 nodes distributed in clusters (cabinets) along the bus. No stubs are present. At the sites in question the CAN bus runs correctly for extended periods of time then will lock up. At this point the CAN-H wire is measuring approx 0V, with CAN-L approx 2.5V. If the engineer disconnects the CAN-H from the terminator the CAN-H reverts to 2,5V and the CAN bus continues to operate.
My understanding of the CAN transceiver is that the CAN-H output driver cannot drive low, nor the CAN-L drive high. The data sheet block diagram implies this is correct, however the schematic of CAN-H and CAN-L outputs show in fact they are push-pull and conceivably the CAN-H could actually drive low in certain (fault) conditions.
Our schematic is fairly straight-forward, the CAN wires have a MOV on them to clamp spikes but nothing else. Terminations are correct on the site; 120R at each end of the bus and nothing at the intermediate nodes. Multimeter readings across the CAN pair confirm this, approx 60R. The RS pin connects to 0V via 47K to slew the edges. 15V and 0V accompany the CAN pair.
I have not yet been to site with a scope (although that's bound to happen soon), currently I'm just trying to gather ideas of what to look for when I go.
To me the problem smacks of a latch-up since reducing the current (by removing the CAN-H from the terminator) clears the fault.
Is there any mechanism whereby the transceiver can latch its CAN-H low? Are there any tricks to identify the offending node, if indeed that's the problem? If there were a volt drop in the 0V line causing common-mode issues, could these cause a latch-up like this?
I would greatly appreciate any thoughts you have.
Thank you for your help.
Best regards
John Ansell