Can the 22 FIFOs of LLCE-CAN be used to receive data

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

Can the 22 FIFOs of LLCE-CAN be used to receive data

Jump to solution
631 Views
StanleyShen
Contributor IV

Dears

According to the UserGuide for LLCEfirmware Document Number: Rev1.0.4

Can the 22 FIFOs of LLCE-CAN be used to receive data?

StanleyShen_0-1685968369875.png

Means modify the  LLCE_CAN_MAX_RX_MB to 22

void enable_llce_napi(struct llce_can_dev *dev)
{
	netif_napi_add(dev->can.dev, &dev->napi, llce_rx_poll,
		       LLCE_CAN_MAX_RX_MB);
}

 

0 Kudos
1 Solution
560 Views
StanleyShen
Contributor IV

@Daniel-Aguirre 

Hi Daniel 

Thanks for your replay.

In fact, a load test was conducted on the LLCE-CAN on the Linux side, and it was found that when the load on each LLCE-CAN was greater than 2 frames per millisecond, frame loss occurred and with the increase in load, frame loss also increased.

When the load ratio of the CAN bus reached 88% (i.e. 7 frames per millisecond), 140 frames were lost every 700000 frames.

Before you replied, regarding the LLCE Firmware User Guide, I had made changes to the usage of FIFO in LLCE-CAN Driver from 16 to 22. Currently, testing has shown that 150 million frames per CAN bus have been lost at a load rate of 88%, resulting in 2 frames being lost.

Therefore, this modification can be considered as OK

View solution in original post

2 Replies
597 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

As said under the LLCE Firmware User Guide [Page 17, v1.0.4]:

"22 RXOUT FIFOs mapped to specific filters during configuration phase as it is described by Llce_Can_SetFilterCmdType and Llce_Can_SetAdvancedFilterCmdType. Each RXOUT FIFO contains indexes into the reception descriptor table which includes a reference to the full reception message buffer".

For which, your assumption should be correct.

As for the modification of the function, we cannot find any reference of that specific function under the LLCE examples. Since there is no indication over if only 16 are enabled and 6 are disabled, we assume that the Standard FW provides all 22 FIFO's, they just need to be configured. This assumption is from the LLCE Firmware User Guide [Page 18, v1.0.4]:

"The rest of FIFOs (16-21) are part of a group whose interrupt line is intended to be used for another service. Therefore, the recommendation is to keep the interrupt disabled for these fifos and to use them as polling classes. The host can configure filters with the receive interface set to one of these 6 FIFOs, which can be shared across all of the channels."

Please, let us know.

0 Kudos
561 Views
StanleyShen
Contributor IV

@Daniel-Aguirre 

Hi Daniel 

Thanks for your replay.

In fact, a load test was conducted on the LLCE-CAN on the Linux side, and it was found that when the load on each LLCE-CAN was greater than 2 frames per millisecond, frame loss occurred and with the increase in load, frame loss also increased.

When the load ratio of the CAN bus reached 88% (i.e. 7 frames per millisecond), 140 frames were lost every 700000 frames.

Before you replied, regarding the LLCE Firmware User Guide, I had made changes to the usage of FIFO in LLCE-CAN Driver from 16 to 22. Currently, testing has shown that 150 million frames per CAN bus have been lost at a load rate of 88%, resulting in 2 frames being lost.

Therefore, this modification can be considered as OK