For S32K144 CAN0 - Is it possible to configure RX FIFO with 128 Extended Filter IDs ?
The Reference manual Says
"The memory corresponding to the first 38 MBs can be configured to support a FIFO reception scheme with a powerful ID filtering mechanism, capable of checking incoming frames against a table of IDs (up to 128 extended IDs or 256 standard IDs or 512 8-bit ID slices), with individual mask register for up to 32 ID filter table elements."
Hi,
no, this is not possible on S32K144.
These words are probably copied from the RM of the device that includes more than 32 MBs.
S32K144's FlexCAN0 has 32MBs and FlexCAN 1/2 just 16MBs.
So the number of available full extended ID filter element (in format A) in RXFIFO table is less;
for FlexCAN 0 it is 104
for FlexCAN 1/2 it is 40
BR, Petr
Hi
Thank you for answering. However I still am not convinced.
a. No member of this family has more than 32MBs. So it is unlikely this was copied from somewhere.
b. Page 1728 says
"An additional memory area, which starts at 0xE0 and may extend up to 0x2DC (normally
occupied by MBs 6–37) depending on the CAN_CTRL2[RFFN] field setting, contains
the ID filter table (configurable from 8 to 128 table elements) that specifies filtering
criteria for accepting frames into the FIFO."
So this clearly says there is memory up to MB6-37( 32 Nos) which could be used for filters.
c. Again on the same page, the RX-FIFO structure indicates memory for ID Filter element 0 to 127 from 0xE0 to 0x2DC.
While the MB 0-5 are from 0x80 - 0xDC.
d. It is possible that in RX FIFO mode the 32 MBs exist from 0xE0 to 0x2DC ( 32MBs). This would allow 128 Filter IDs while at the same time allowing RX-FIFO
Regards
Ramana
Hi,
a,b,c) yes, sometimes RM description can be little bit misleading. Commonly the peripheral description is based on the module IP and so in this case it could points to full RXFIFO implementation on many places. However based on chip-specific information (chapter 53-1) S32K144 has less number of MBs and so such info about full feature RXFIFO is not valid.
d) No, it is not. There are 32MBs on S32K144 FlexCAN0. Those 32MBs occupies memory area from offset 0x80-0x27C. With RXFIFO enabled area with offset 0x80-0xDC (normaly MB0-MB5) is used by RXFIFO engine. The rest of MB area , 0xE0-0x27C (MB6-MB31), can be used to define ID filter table. Thus 26 MBs are left and those can hold 26*4=104 full extended IDs.
BR, Petr