Jeganraj
Jeganraj

Reputation: 383

What happens if a bus-off error occurs in a CAN controller while a car is in motion?

I know that in a CAN controller if the error count reaches some threshold (say 255), bus off will occur which means that a particular CAN node will get switched off from the CAN network. So there won't be any communication at all. But what if the above said scenario happens while the car is moving which contains the ECU (includes the CAN controller)?

Is there any auto-recovery mechanism in a CAN controller to avoid any of the above situations?

Upvotes: 6

Views: 47230

Answers (11)

user15659394
user15659394

Reputation: 1

What happens if a bus-off error occurs in a CAN controller while a car is in motion?

1)HARD SWAPPING can be done in can network. eg: Assume four(4) nodes(ECUS) are connected in can bus network.if we disconnected one ecus then also can bus works properly.
2)In BUSS OFF condition it can hear every signal on the bus network but it cant transmit mssgs(signal). If the car in motion or in rest position. eg: Ecus(ABS) are using for better performance but actual work is done by actuator(DISK BRAKE).

Upvotes: 0

Moustafa ahmed
Moustafa ahmed

Reputation: 1

if a CAN Tx or RX error counter reaches 255 , the node will turn off and be isolated

Upvotes: 0

Michael O
Michael O

Reputation: 11

I know this is an old thread, but the answers are a bit different from the situation I have observed, in relation to the OP question.

From experience, I'm have an issue where my ECU stops communicating with the diagnostic tools while the engine is running, apparantly it has entered the CAN off state. The only reason I know is I have a OBD 2 plug in monitor for engine parameters. I don't get ANY DTC, well most of the time anyways.. sometimes I get DTCs that are not applicable to my vehcile, and some U codes.

That said, the vehicle continues to run just fine, and if I didn't have the plug-in monitor, I would have no idea there was a problem! I'm now pretty sure the ECU for the Engine is having communication problems, and hitting the error counter and shutting off, it's the only thing that makes sense. I checked the CAN signals with a 2 channel O-scope, and they are a bit noisy compared to one of my other cars, so my next step is to swap the ECU and see if that fixes it. I already swapped out the TIPM (Total Integrated Power Module), it serves as a router of sorts between the 2 CAN networks, to the OBD2 port. That apparantly wasn't it.

Upvotes: 1

Abhay Karkun
Abhay Karkun

Reputation: 1

There is something called limp-home mode for the cars. That is the condition when all the ECUs fail in the car network. Then a set of default parameters for the ECUs are initialized and then the system, i.e., your car can continue running only for some time before it is properly serviced by the OEM.

Upvotes: 0

fedi
fedi

Reputation: 468

When the ECU detects a BUS_OFF fault, the ECU should stop its emissions so this is a good question to ask.

There is an auto-recovery mechanism:

  • For the first three detections, the CAN controller resets its registers without a delay
  • For the next detections, the ECU waits 1 second before the reset

Upvotes: 0

wdickerson
wdickerson

Reputation: 869

Yes, if a CAN Tx error count reaches 255, a node will turn off and potentially reset itself. A good implementation will not continue resetting a node if the problem persists.

In addition to this safety mechanism, ECU's (electric control units) also time the duration between valid transmissions of the messages they expect to receive. Therefore, if the engine controller goes offline, nearly every ECU in the vehicle will report "Lost Communication with the Engine Controller."

Typically, these type of CAN problems are identified by DTC's (diagnostic trouble codes) beginning with U, like this one: http://www.obd-codes.com/u0115

Depending on the severity of the issue, the vehicle might enter a "limp home" mode, or might be totally disabled. Problems with the CAN bus on a vehicle are extremely rare, unless there has been some tampering.

Upvotes: 3

shantanusb
shantanusb

Reputation: 21

The recovery mechanism depends on the software stack that's being used. Most new vehicles have AUTOSAR compliant software implementations. In the AUTOSAR communication stack, the CanSM (state manager) module has configurable BusOff Monitoring and Recovery. You can read more at http://autosar.org .

A BusOff however, is a serious situation in a running vehicle. How this is handled at the vehicle level is very specific to the system design. But, in most cases the system would go into a safe mode of operation and all parameters would take pre-set fault values to let the vehicle run with a reduced functionality. You would see the warning lamps on the dash go off to alert the driver. ECUs typically comply with some level of ASIL (https://en.wikipedia.org/wiki/Automotive_Safety_Integrity_Level) standard. This makes sure that such situations are thought of and taken care of during design and development.

Upvotes: 2

Rasmi Ranjan Nayak
Rasmi Ranjan Nayak

Reputation: 11968

When bus-off occurs, the CAN network isolates that node and then resets that node which can able to start communication.

Upvotes: 1

Kiran.vanam
Kiran.vanam

Reputation: 84

During bus off, the node will be isolated.

CAN waits for the mandatory time period, 128 x 11 bits (1408 bits - 5.6 ms for a 250 kbit/s system) of time, and then tries to re-initialize the node.

Upvotes: 4

Swanand
Swanand

Reputation: 4115

As you mentioned, after reaching a specific error count, that node gets disconnected/prohibited from transmitting anything on the bus. This is a description for the bus side.

On the controller side, every CAN controller generates an interrupt on BUS_OFF. It is the controller's responsibility that it should reset the CAN controller and bring it back to the normal state.

This is strictly followed for every CAN controller in any car. And this all happens in a few milliseconds... So for the driver, nothing happens!

Upvotes: 0

jurij
jurij

Reputation: 383

Nothing spectacular will happen, even if the Engine Control Unit looses CAN communication. The car will continue running.

Upvotes: 1

Related Questions