CAN Bus Off

Apr 05, 2006 6 Replies

Hai ,



can any one help us in diagnosing the following issues


1,What will happen when we induce CAN Bus Off in a network of 4 nodes? (Only specific node will goes to bus off with respect to RTR bit message we blocked or all the nodes on the network goes to Bus Off state.if so why?)
2,When we will get Fault notification frame from ECU if it enters in to Bus Off (Before entering in to Bus off or after re-initialization of ECU(i.e after recovery)?)
3,How can we calculate the Bus Off recovery time? (Is it the time difference between the last valid frame transmitted before inducing Bus Off (error frames) and after recovery from Bus Off).
4,Is the recovery time depends on the time we are blocking RTR bit or ECU will recovery automatically after specified time though we block .
5,can we block ack or RTR for specified time using CAN Stress tool, if so how?

Thanking you all



from raj



Impossible to tell, if you don't tell *how* you induce it. Generally, bus-off is not a state you can induce "in a network", but one that a each CAN node can be in on its own --- or not.

Read the word: "bus off". Do you seriously expect a node in such a state to go _on_ the bus and send something?

You can't, because there's no such thing. Recovery from Bus Off is specified in terms of successfully received bits, not time.

The CAN spec is really quite explicit about all such things. Read it. Then read it again, and understand it.

Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.

Hmmm... getting a CAN node into bus-off state shouldn't be hard. Just put it on a bus all of its own, or one where all other nodes have completely different timing, so it will never receive an ACK, or be flooded with error frames every time it tries to send.

Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.

putting a node on its own and keep on transmitting will not lead itself to bus-off!!

this is because the CAN spec says that under this condition (only 1 node on the bus keeping on transmitting), the node should not go to bus-off state.

And, for this case, I already tried, and never got to bus-off successfully.

however, with different nodes with different timing, i'm not sure whether this will work..

A short cut of CAN_H and CAN_L definitely forces a _transmitting_ controller to Bus-Off

Heinz

How Bus off is handled at hardware level and software level differently?

Yes.

-- Grant Edwards grante Yow! I'm ZIPPY the PINHEAD at and I'm totally committed visi.com to the festive mode.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required