Indicate if CAN frame experienced an arbitration loss (FLEXCAN)

cancel
Showing results for 
Search instead for 
Did you mean: 

Indicate if CAN frame experienced an arbitration loss (FLEXCAN)

128 Views
karl_fraasch
Contributor III

Hello,

I am curious if FLEXCAN module offers any way to detect if a particular frame experienced arbitration loss. Ideally, this information would be available to the sender, once transmit is idle, and the receiver, once the frame has been received.

For example,

On TX side, TxIdle callback provides either a bit or counter to indicate if arbitration loss occurred and number of times on the particular frame that was sent.

On RX side, RxIdle callback provides either a bit or counter to indicate if arbitration loss occurred and number of times on the particular frame received.

It is not clear from the reference manual or SDK if this information is available.

Thank you!

Labels (3)
0 Kudos
1 Reply

77 Views
jorge_a_vazquez
NXP Employee
NXP Employee

Hi Karl Fraasch

The module will automatically retransmit the meesage if there is a arbitration loss. You have the "kStatus_FLEXCAN_ErrorStatus" status in the SDK, when you have a flexcan_callback you can check the BIT1_ERR and the BIT0_ERR bit, but as you can see in the comments, this bit is not set in case of arbitration field:

pastedImage_4.png

pastedImage_1.png

pastedImage_2.png

pastedImage_3.png

Regards

0 Kudos