MPC5777C FlexCan RX FIFO filtering

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5777C FlexCan RX FIFO filtering

ソリューションへジャンプ
1,110件の閲覧回数
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 件の賞賛
1 解決策
1,083件の閲覧回数
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 件の賞賛
1 返信
1,084件の閲覧回数
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 件の賞賛