We have an MPC5643L connected to an MC33907 SBC.
CAN communication is connected to the controller embedded on the SBC.
We work in the following situation:
1) CAN communication simulated (the MPC5643L sends few messages on CAN bus and receives different ones from Busmaster in order to simulate a very simple bidirectional communication),
2) a bus-off is intentionally caused short circuiting tx and rx pins (FlexCAN_0.ESR.BOFF_INT = 1 as expected),
3) short-circuit is removed and recovered by a w1c operation on FlexCAN_0.ESR.BOFF_INT (which value is 0 as expected),
4) Unfortunately CAN communication is NOT restored on both direction as expected instead.
Attached screen shows ESR content after point 4).
So the question is: is required any other bit clean-up on ESR register or addition action (on SBC CAN controller maybe???) in order to recover CAN communication after removing the bus-off error?
Any suggestion would be very appreciated.
Thank you in advance.
Yes, the ECR, ESR registers indicate an error passive state due to no ACK received. So MPC5643L is sending messages but other node does not ACKed it.
Restarting your busmaster caused messages to be ACKed again.