I am using MPC5746C controller for developing Front camera module application.
In that CAN BUS 1 if we simulate the Buss off interrupt triggers only 3-4 times after that is not triggering , Auto bus recovery is not happening even thought i have enabled BOFFREC and also after that BOFFINT INTERRUPT also not coming .
I am creating SWCAN bus off by shorting CAN wire into ground .. TXERROR counter is reaching to 255 then its going into bus off state but after even though continue short i am not getting any interrupt for further(only getting 4 times initially).
Same scenario tested in 2 wire CAN , there i am receiving continuous interrupt unit ll bus wires shorted to ground..
Here is the vector address details.
SWCAN- CanBusOffInterrupt_1, /* Vector # 579 FlexCAN1_1_ESR_BOFF
2Wire CAN -CanBusOffInterrupt_2 /Vector # 591 FLEXCAN_2_ESR_BOFF
@Petr Stancik updated
the FlexCAN module can leave the bus off state if it sees 128 occurrences of 11 consecutive recessive bits, so it must see RX pin high. Thus it depends what you have on RX line which is driven by CAN transceiver. Not sure what PHY do you use on your SWCAN.
Anyway the ESR1[BOFFDONEINT] bit indicates the FlexCAN has finished counting 128 occurrences of 11 consecutive recessive bits on the CAN bus and is ready to leave Bus Off.
unfortunately I do not fully get the issue, it could be fine you describe the behavior in more detail. How do you test bus off, type of recovery etc.
The node enters bus off state when try to send a message but detect an errors, repeatedly. So if node leaves a bus off and transmit again with detecting error it must enter bus off later. Do yo see error interrupts with increasing TXERR counters before bus off is entered?