This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCAN337G: If one CAN node gets short, how will other nodes communicate on the bus.

Part Number: TCAN337G
Other Parts Discussed in Thread: TCAN337

Hi ,

I have a generic doubt on CAN communication, I am using TCAN337 transceivers in my deisgn.

Considered, 20 nodes on the CAN bus. If node 1, CANH or CANL gets shorted to ground, then complete Bus will be shorted and how will other 19 nodes communicate.

How will the Controller know which node has shorted . It will look like all nodes sop communicating.

Please suggest your views.

Thanks,

Reshma

  • Reshma,

    Thanks for bringing this to E2E. For starters, if CANL is shorted to ground, it is very likely that CAN communication will still be able to occur, this is true for CANH being shorted to VCC as well. So, there are some fault conditions that will still allow communication to go through.

    But if it's the other way around, there are built-in mechanisms on CAN controllers that can handle this. Within CAN protocol, there is built-in error handling. This error-handling works by incrementing an error counter and transmitting error frames (error-active error frame is 6 dominant bits, error-passive error frame is 6 recessive bits). Once these counters reach certain thresholds, they will change their error state. Eventually, if the condition causing the error persists, the controller will go into BUSOFF state, where it will no longer transmit to the bus. The way this counter works, a transmitter will increment by 8, and receiver of the error will only increment by 1. So, the transmitting node that is causing the error will increment and reach the bus off state faster, and the receiving nodes will be incrementing by 1 and still be okay.

    Now, if all nodes are affected by this because it's a cable harness short, then all nodes will be transmitting error frames based on their error state, but essentially, the problem node is handled because of the transmitting error incrementing the counter faster to the BUSOFF which will stop that device from transmitting entirely and set the bus pins to high impedance. Once this occurs, other nodes will be able to transmit. If the fault is along the cable, then this won't be specific to one node and all nodes will show the error.

    Regards,

    Eric Hackett