RX FIFO + 128 Filters

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

RX FIFO + 128 Filters

1,518 次查看
venkataramanabu
Contributor I

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."

0 项奖励
回复
3 回复数

1,316 次查看
PetrS
NXP TechSupport
NXP TechSupport

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

0 项奖励
回复

1,316 次查看
venkataramanabu
Contributor I

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

0 项奖励
回复

1,316 次查看
PetrS
NXP TechSupport
NXP TechSupport

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 

0 项奖励
回复