3

It's a really simple question, but I found nothing about it on the internet. I was thinking on buying a CANBUS shield for my Arduino so that I can try to do some things on my car, but I am a bit afraid of a scenario where I shortcut (by mistake) the canbus H and L lines and then possibly mess up something.

What can happen if I shortcut the CANBUS line? Is there a worst-case scenario where I could mess up anythng irreversible that I cannot undo by myself?

Thanks in advance for any answers and tips

3

CAN signals are extremely low current signals and, by design, no damage will occur if either CAN High or Low are shorted to each other, B+ or ground. I have seen many shorted CAN signals caused from rodent damaged wires or faulty control modules and no damage was created by the short. Note that power-train CAN buses can not operate on "single wire mode". If either CAN high or low is shorted the communication will stop on the entire bus. Usually body related CAN buses can operate in single wire mode. If you do accidentally short either CAN signal you are likely to induce fault entries into the vehicle control modules that will need to be cleared after the wiring is repaired.

1

After some more digging I found some answers to that question.

In order to summarize what I found on some other pages, I'll quote everything here.

Here (Edaboard) I found following:

CAN transceivers are short circuit protected by design.

And here (Stackoverflow) I found some more information:

When you short these two lines, there will not be any voltage difference and that falls under voltage range of Recessive bits. In other words, Shorting two lines will be considered as continous transmission of recessive bits.

When you transmit 6 or more consecutive recessive bits, it is considered as Error! And when this error count goes more than 255, Controller goes in BUS_OFF state.

As lines are shorted, there will be way more recessive bits and error count will reach 255 in no time which will lead to BUS_OFF.

CAN protocol does have a "Bus Recovery Mechanism" in which it will wait for 11 consecutive recessive bits for 128 times (Which it will as bus is shorted) but again, same error frame thing will happen and it will be back in BUS_OFF.

That's all I found, but I believe that answers it all.

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.