How to select the priority between MBs and FIFO filters

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

How to select the priority between MBs and FIFO filters

Jump to solution
725 Views
luhaiou
Contributor II

In file S32K3XXRM.pdf,

I see that

"the priority of scanning can be selected between MBs and FIFO filters",

but i can not find where to select the priority between MBs and FIFO filters

luhaiou_0-1734936810272.png

I need your help telling me where to set this priority。

Thank you very much.

0 Kudos
Reply
1 Solution
673 Views
IsaulO
NXP Employee
NXP Employee

Hi @luhaiou ,

MCR[IRMQ] affects the matching winner search for MBs.
If the field is 0, the matching winner is the first matched MB whether it is free-to-receive or not. If it is 1, the matching winner is selected according to this priority:

1.The first free-to-receive matched message buffer
2.The last non-free-to-receive matched message buffer

It is possible to select the priority of scan between MBs and Legacy RX FIFO or Enhanced RX FIFO with CTRL2[MRP].

If the selected priority is RX FIFO first:
•If the RX FIFO is a matched structure and is free-to-receive, the RX FIFO is the matching winner regardless of the scan for MBs.
•Otherwise, the matching winner is searched for among MBs as described above.

If the selected priority is MBs first:
•If a free-to-receive matched MB is found, it is the matching winner regardless of the scan for RX FIFO.
•If no matched MB is found, then the matching winner is searched for in the scan for the RX FIFO.
•If both conditions above are not satisfied and a non-free-to-receive matched MB is found, then the matching winner depends on the value of MCR[IRMQ]:
—If MCR[IRMQ] = 0, the matching winner is the first matched MB.
—If MCR[IRMQ] = 1, the matching winner is the RX FIFO if it is a free-to-receive matched structure. Otherwise, the matching winner is the last non-free-to-receive matched MB.

Regarding Legacy RX FIFO and Enhanced RX FIFO, you can find more information at the following link
https://www.nxp.com/webapp/Download?colCode=18_S32K3XX_COMMUNICATION_MODULES_FLEXCAN_WITH_RTD

Hope it helps you.

BR,

IsaulO.

View solution in original post

0 Kudos
Reply
1 Reply
674 Views
IsaulO
NXP Employee
NXP Employee

Hi @luhaiou ,

MCR[IRMQ] affects the matching winner search for MBs.
If the field is 0, the matching winner is the first matched MB whether it is free-to-receive or not. If it is 1, the matching winner is selected according to this priority:

1.The first free-to-receive matched message buffer
2.The last non-free-to-receive matched message buffer

It is possible to select the priority of scan between MBs and Legacy RX FIFO or Enhanced RX FIFO with CTRL2[MRP].

If the selected priority is RX FIFO first:
•If the RX FIFO is a matched structure and is free-to-receive, the RX FIFO is the matching winner regardless of the scan for MBs.
•Otherwise, the matching winner is searched for among MBs as described above.

If the selected priority is MBs first:
•If a free-to-receive matched MB is found, it is the matching winner regardless of the scan for RX FIFO.
•If no matched MB is found, then the matching winner is searched for in the scan for the RX FIFO.
•If both conditions above are not satisfied and a non-free-to-receive matched MB is found, then the matching winner depends on the value of MCR[IRMQ]:
—If MCR[IRMQ] = 0, the matching winner is the first matched MB.
—If MCR[IRMQ] = 1, the matching winner is the RX FIFO if it is a free-to-receive matched structure. Otherwise, the matching winner is the last non-free-to-receive matched MB.

Regarding Legacy RX FIFO and Enhanced RX FIFO, you can find more information at the following link
https://www.nxp.com/webapp/Download?colCode=18_S32K3XX_COMMUNICATION_MODULES_FLEXCAN_WITH_RTD

Hope it helps you.

BR,

IsaulO.

0 Kudos
Reply