MPC5777C FlexCan RX FIFO filtering

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

MPC5777C FlexCan RX FIFO filtering

Jump to solution
1,080 Views
darq
Contributor III

Hello,

When RX FIFO is enabled, by default MB0-5 are used for the FIFO and MB6-7 are used for the filters for FIFO (CAN_CTRL2[RFFN] = 0 means 8 entries for filters). When i add one entry of the filter lets say 0x100 it works ok, but i can also see that frames with ID 0 are accepted into the FIFO because i assume other entries are empty. What is the proper way to filter out those frames? I don't really like idea of filling all filter entries with the same ID because i would like to leave them for future extensions. Or am i misunderstanding something?

Best regards

0 Kudos
1 Solution
1,053 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

whole filter ID table is used for matching algorithm, so you should initialize whole ID table. 
The ID is accepted by RXFIFO based on this ID table and acceptance mask registers. So if you have rest of filter elements cleared and mask registers set to compare all bits of IDs, then ID 0 will be accepted by RXFIFO too, simply because there is matched ID in the filter table
Thus the only way is to fill all entries with the same ID as you wrote. But you can easily update filter table based on your needs in future.

BR, Petr 

View solution in original post

0 Kudos
1 Reply
1,054 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

whole filter ID table is used for matching algorithm, so you should initialize whole ID table. 
The ID is accepted by RXFIFO based on this ID table and acceptance mask registers. So if you have rest of filter elements cleared and mask registers set to compare all bits of IDs, then ID 0 will be accepted by RXFIFO too, simply because there is matched ID in the filter table
Thus the only way is to fill all entries with the same ID as you wrote. But you can easily update filter table based on your needs in future.

BR, Petr 

0 Kudos