How to inject a Bus-Off state in CAN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to inject a Bus-Off state in CAN

Jump to solution
18,637 Views
Eth
Contributor I

How can we inject a Bus-Off state for a S32G node in CAN communication, without using an additional hardware or physical intervention?

Thanks in advance

0 Kudos
Reply
1 Solution
18,610 Views
andrei_skok
NXP Employee
NXP Employee

Bus Off occurs when the transmit error count raises above 255. Whenever a node fails to transmit a frame, it increases the error counter and when the counter increases beyond 255, the node gets in bus-off state and can not further participate on the bus.

Some situations which lead to Bus Off situation–

CAN_H / CAN_L line interrupted CAN_H shorted with CAN_L Incorrect Baud Rates at receiving and transmitting nodes.

An interesting article on Bus-Off - [LINK]

The article lists several bus failure modes which can be also be used to inject bus off.

 

View solution in original post

0 Kudos
Reply
3 Replies
18,611 Views
andrei_skok
NXP Employee
NXP Employee

Bus Off occurs when the transmit error count raises above 255. Whenever a node fails to transmit a frame, it increases the error counter and when the counter increases beyond 255, the node gets in bus-off state and can not further participate on the bus.

Some situations which lead to Bus Off situation–

CAN_H / CAN_L line interrupted CAN_H shorted with CAN_L Incorrect Baud Rates at receiving and transmitting nodes.

An interesting article on Bus-Off - [LINK]

The article lists several bus failure modes which can be also be used to inject bus off.

 

0 Kudos
Reply
18,559 Views
Eth
Contributor I

Thank you for the answer.

Would it be possible to produce Bus-Off state with the help of a debugger? e.g. would it be possible to set an incorrect Baud rate via a debugger? (I looked at the manual, but could not locate the address to manipulate an incorrect baud rate.)

0 Kudos
Reply
18,542 Views
andrei_skok
NXP Employee
NXP Employee

You can set the baudrates from config tool like EB tresos, S32 CT, etc.

Different baudrates would result in error in frame transmission and would increase the error count. And when the counter increases over 255, the controller will go in Bus off state.

0 Kudos
Reply