EEVblog Electronics Community Forum
General => General Technical Chat => Topic started by: jtronix on December 20, 2016, 04:36:35 pm
-
Hello,
How to check CAN communication line weakness??
In my system my one device is communicate to several controllers via CAN communication. suddenly one of my CAN device is stop responding and does not communicate with master CAN controller.
For verification purpose i have connect my master controller to other system where i got the same issue.
After searching on internet i found that in CAN communication weak signal causes the issue. May few device will communicate and some of may not.
Can anybody know how to test CAN line??
-
What is the physical topology of your bus, and where are the two 120 Ohm terminators located?
-
Also, can you get oscilloscope pictures of the two CAN lines during communication? There should be just the two levels. Check to see if there are spikes / dropouts due to reflections.
-
oscilloscope pictures are OK. I'm getting correct waveform as per differential pair.
Also i have observe that during trails that sometimes it communicates with master for a a short duration and after few minutes it again fail.
Is there any way to dig out what is the issue in hardware??
-
Is there any way to dig out what is the issue in hardware??
If
- the cable is ok (short and twisted pair wires)
- the 120Ohm R are there
- scope traces looks good (<-- most important one)
then is surely not a cable/Bus/termination issue.
Bad transciever?
Are you sure it is not a SW issue, does the same SW work in other identical HW?
-
Please see the attached waveform.
Software is working fine with other hardware. Transceiver side also getting the correct waveform.
Circuit detail : CAN H and L side common mode choke is connected and after common mode choke 1.3K ohm pullup resistor is connected. No termination resistor is connected here (this is working circuit).
Is there any way to check CAN line strength because in the same line other devices are working.
-
It seems you tried the device on a different CAN bus where it also doesn't work? If yes, then the device is probably broken and needs fixing. The CAN signals look just fine to me. If the problem would be the CAN bus itself other devices would also stop working.
-
I don't like this sentence:
Circuit detail : CAN H and L side common mode choke is connected and after common mode choke 1.3K ohm pullup resistor is connected. No termination resistor is connected here (this is working circuit).
I don't understand, from your description, how that common mode choke is connected, can you show the circuit diagram?
I also don't know, if you say "no termination resistor is connected", that you do have two terminators in an A-to-B topology? If you don't, fix that! CAN networks are very sensitive to that (even if it "worked before").
You can find more here: https://www.eevblog.com/forum/projects/can-bus-impedance-matching/msg1089510/#msg1089510 (https://www.eevblog.com/forum/projects/can-bus-impedance-matching/msg1089510/#msg1089510)
-
Please see CAN bus connection with different slave devices and transceiver connection.
In master side termination resistor is not there and this circuit is worked perfectly in other setup. Now my problem is after few years master stop communication with slave device 5. After a long searching on internet i found that if there are error in CAN network it doesn't mean that it will stop working entirely but the communication with some devices may be weakened or lost.
If this is the case then how to check network strength??
-
I'm not sure that "strength" actually means anything in the context of a CAN interface. You've already checked the signal with a scope and determined that the pulse amplitude is OK.
The correct configuration of a CAN interface is somewhat dependent on the physical cable topology; it's not necessarily plug-and-play. Do your devices all have the correct settings for how many time quanta there are in each phase of the bit time?
-
The topology of a CAN-bus based network is not master-slave, the devices can each "act" as a master, slave or both.
It still bothers me that you don't indicate where the terminators are in your overview. Can you add the places where terminators are located in your overview and can you also put app. lengths aside each drawn line?
I am assuming that the wiring is all twisted-pair, correct?
Can you also measure the resistance between CAN-Hi and CAN-Lo (switch everything off)?
This is a difficult problem to solve from behind a computer-desk so you need to help to help you.
-
Never seen the use of pull up resistors on the CAN bus. Have I missed something :-//
-
@halexa
You are correct, but I suspect it is the terminator, not drawn correctly, (2x60 Ohm, with the midpoint to ground by a capacitor) and an EMC choke for the inputs.
That's why I am asking to measure the resistance between the CAN-Hi and CAN-Lo.
-
Also make sure stubs from the central CAN bus line are short. Not sure what the actual length is, but if I recall it's not more than a quarter of a meter or maybe even 10cm to the device's connector. There are standards that describe the physical properties of the bus in question. If you're not tied to any standard because it's a proprietary application, you may still look at a standard to research some of those parameters.
What length is between nodes? Are the CAN transceivers properly protected (either externally or inside the chip), in case one (eventually) fails?
A resistor to GND/VCC is not uncommon for EMC reductions (biased split termination), but you still need the 120 ohm termination on the begin and end of the bus.
-
If it is either of the last two mentioned termination methods, it means there is a terminator at the "master" which is totally at the wrong place, it should be disabled by removing those resistors. The only two terminators should be at the ends of the main bus, near slave 1 and slave 5. BTW, the maximum stub (T-connection on the main bus) length is 1 meter. This is all assuming that the pictures shown are a good reflection of the real configuration.
The OP is drawing both resistors to VCC, this is uncommon, even a biased split termination has the bias in the middle, not to one supply. I believe we need more detail here to solve the issue !