FLEXCAN Receiving Issues

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FLEXCAN Receiving Issues

Jump to solution
862 Views
davidzhou
Contributor V

Hi,

I have K60 Towerboard, _K60P144M150SF3RM, with MQX4.2, and CodeWarrior 10.6.4.

I have a weird FlexCan issue. I have 10 MBoxes for Rx-ing. and 2 for Tx-ing. First 5 MBoxes are used for receiving specific CANIDs with Masks set for ID matching. and Next 5 Rx-ing MBoxes for generic CAN IDs. But only for Extended CAN IDs. 

The network has only extended CAN ID (No standard IDs).

The system is working for hours and days. There are more than 10 nodes in the systems.

Occasionally, the first MB stops receiving the CAN ID suddenly. It is confirmed that the CAN ID is on the networked and transmitted, because it can be received by other nodes. If it happens, that CAN ID will not be received until a software reset.

When I debugged into the issue, I found that the interrupt of receiving is not triggered for that specific ID only. Other receiving MBs (9 MBoxes) are still be able to receive the messages. And transmission is also working.

There are no error bits being set. If it is sets, they are cleared at end of the receiving Interrupt ISR, anyway. If this happens, a software reset fixes itself.

I also confirmed that the missing CAN ID is not received in any other MBoxes, Because the receiving ISR is not triggered at all.

My code is FlexCan based in the installation folder of examples for K60.

With your expertise, if you could give me some hints or suggestions that will be a great help to me.

Thank you,

David Zhou.

0 Kudos
1 Solution
584 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi David:

I would suggest you check the CAN Mask registers value when this issue happened.  To check if the register is changed by some unexpected behaviors?  Also you can disable other tasks, only let CAN module work to see whether this issue still exists.

Regards

Daniel

View solution in original post

0 Kudos
3 Replies
585 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi David:

I would suggest you check the CAN Mask registers value when this issue happened.  To check if the register is changed by some unexpected behaviors?  Also you can disable other tasks, only let CAN module work to see whether this issue still exists.

Regards

Daniel

0 Kudos
584 Views
davidzhou
Contributor V

Hi Daniel,

The individual RX mask register is confirmed that they are not changed or accidently modified.

Thank you,

David Zhou

0 Kudos
584 Views
davidzhou
Contributor V

The CAN is working ok. I close this post.

Thank you,

David Zhou

0 Kudos