How to inject a Bus-Off state in CAN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to inject a Bus-Off state in CAN

跳至解决方案
13,145 次查看
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 项奖励
1 解答
13,118 次查看
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 项奖励
3 回复数
13,119 次查看
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 项奖励
13,067 次查看
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 项奖励
13,050 次查看
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 项奖励