S32K148 DMA on CAN RxMB and RxFiFo

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

S32K148 DMA on CAN RxMB and RxFiFo

55 次查看
FelixR
Contributor III

Hello there smart people,

we are currently using the S32K148 as a CAN gateway and due to performance reasons I have a couple of questions about the CAN bus where I am not completely sure of this would be possible.

  1. Can the FlexCAN unit on the S32K1 use both the RxFiFo and the RxMailboxes simultaneously? So could I have an RxFiFo setup to collect most of the CAN messages on the bus which are and then picked up by the DMA unit and one Message Buffer with different filter setings for a message ment for the CPU?
  2. Can the Tx Mailboxes be written by the DMA unit? So in this example I would take everything from the Rx-FiFo and gateway it to the next bus as fast as possible? I am here unsure if the timestamp field would behave differently if I move it from the RxFiFo to a TxMB:
    FelixR_0-1734431719536.png
  3. In case 1) results in a no. Does a normal RxMB have DMA capabilities? I only read DMA support on the RxFiFo inside the reference manual.

thanks in advance.

0 项奖励
回复
1 回复

36 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

1) yes, RXFIFO and MBs can be used simultaneously. If RXFIFO is enabled, first 8 MBs are used by RXFIFO engine, rest of MBs can be used for TX or RX operation. This assumes default config for filter elements, if more elements is used in filter table then number of MBs available MBs decreases, see CTRL2[RFFN] for more info.
In past I posted some example https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K144-FlexCAN-RXFIFO-DMA-S32DS-ARM-2018-R...

2) there is no HW support for triggering TX messages. You can fill MB by DMA upon SW request, if MB is written backward, from last payload word to CS word, it can probably work too. But the question is if there is any benefit for this kind of operation

BR, Petr

0 项奖励
回复