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.

TMS570LS1115: CAN re-init after can bus off

Part Number: TMS570LS1115


Hi all,

For our project iam working on the CAN re-init after a bus-off situation. When bus-off happens a interrupt is given where i want to re-init the CAN so i can go back to bus-on mode. 

Is it neccesary to re-init the whole CAN stack ? With whole CAN stack iam referring to the canInit() function where also each message is again initialised. Or is it just a matter of setting the init bit of the CTL register to 0 ( normal mode ). 

Iam pretty novice when it comes to CAN stuff so any tips and tricks would be appreciated!

Kind regards,

Chris

  • Hello Chris,

    No, initialization of the whole CAN stack is not necessary. There are two methods to restore from the CAN bus-off state:

    1. Manually clear the Init bit in CAN control register. When CAN bus-off occurs, the Init bit is set automatically.

    2. Enable the Auto-Bus-On feature: Setting ABO bit in CAN control register enables this feature. If set, the DCAN will automatically start the Bus-Off-Recovery sequence.