I have setup two chanels to send data from PC to micrcontroller. Both of them were working initially. Now one of the chanel does not work. WHen I dont send any data, Impedence between Can-H and Can-L is 120 Ohm on both chanels. WHen I send data, impedence of of the faulty chanel goes several order higher and status of CAN bus becomes passive.

My questions are

  • What does it mean "CAN Bus is Passive"?
  • Why does the impedence change when I send data?

I am using HI 3110 to interface can bus to micrcontroller.

  • \$\begingroup\$ And how are you measuring impedance on an active circuit? \$\endgroup\$ – Transistor Nov 8 at 14:53
  • \$\begingroup\$ Multimeter. I have a PCB with test points that allow me to monitor CAN-L and CAN-H signals. I put multimeter across these points and measure impedence. \$\endgroup\$ – ali.hssn Nov 8 at 14:55
  • \$\begingroup\$ so you have the OHMETER mode of the MultiMeter connected across the CAN Bus. This mode injects current into the bus, causing a permanent offset voltage that may exceed the expected "OFF" voltage. \$\endgroup\$ – analogsystemsrf Nov 8 at 14:58
  • \$\begingroup\$ But on 2nd chanel, OHMETER does not have any noticeable effect. If I can verify that HI 3110 is broken, I can replace it. But I cannot replace based on a guess. \$\endgroup\$ – ali.hssn Nov 8 at 15:04
  • \$\begingroup\$ "Passive" in this context means "error passive". When a CAN node has received 127 incorrect frames in a row, it goes into error passive mode, where it will still listen but not flag for errors. After 255 incorrect frames it goes "bus off" and stops participating in communication entirely. In case of hardware faults, all nodes will rapidly enter these states. \$\endgroup\$ – Lundin Nov 8 at 15:33

The mistake is the way of measuring the impedance. A multimeter will output a precise current to the load and measure the voltage drop, U = R*I gives the Impedance R.

If there is already some data traffic on the bus wire this means also additional voltages on the wire. The multimeter can not distinguish between voltage drop due to the injected current and due to data transfer, so leading to faulty impedance readings on the mulitmeter.


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.