0
\$\begingroup\$

I'm developing a device which is controlled by the received CAN messages. The device should be eventually mounted in a vehicle. The device receives messages only. It doesn't send any messages on the bus.

The device was tested in HiL successfully.

Once the end customer connected the device in the vehicle, more than 3000 errors were detected on the bus in short time.

As far as I understand, if my device detected 127 errors while receiving the messages, it should go "error passive" and after 255 errors it should go "bus off". Isn't it correct. My device is not configured to automatically re-transmit after entering "bus off" mode.

My question is, what can cause those many errors once my device is connected on the bus? The bus had no errors before connecting my device.

My assumption is that the senders on the bus don't have the same bit-timing as my device. But even if this is the case, the maximum errors detected should be 255, right?

\$\endgroup\$
  • 1
    \$\begingroup\$ Why is the word "infinite" used in the title? \$\endgroup\$ – Andy aka Dec 6 '19 at 8:22
  • \$\begingroup\$ What happens when your device is set to silent? \$\endgroup\$ – Jeroen3 Dec 6 '19 at 8:24
  • \$\begingroup\$ @Andyaka The error number keeps increasing without an end as long as the device is connected to the bus. \$\endgroup\$ – Salahuddin Dec 6 '19 at 8:42
  • \$\begingroup\$ @Jeroen3 I didn't try to. It should not be silent. But this is something I can try for debugging. \$\endgroup\$ – Salahuddin Dec 6 '19 at 8:44
0
\$\begingroup\$

My assumption is that the senders on the bus don't have the same bit-timing as my device. But even if this is the case, the maximum errors detected should be 255, right?

Acknowledge timeout does not cause bus-off.

| improve this answer | |
\$\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.