a few question about MCAN of LPC54608

cancel
Showing results for 
Search instead for 
Did you mean: 

a few question about MCAN of LPC54608

301 Views
1668834026
Contributor I

Hello, everyone,

 I have a few question about MCAN of LPC54608, and need your help.

pastedImage_2.png

Q1: Can these structures, such as rxfifo0, rxfifo1 and rxbuffer, be used together in CAN0 or CAN1? For example, When I use CAN0, message is divided into two portions, stored in part of fifo, and part of buffer.

Q2: What is the role of Tx Event FIFO? I don't find it used in SDK,  and what circumstances to use it? Can you give me some examples?

Q3: What is the difference about  RxFIFO and RxBuffer?

Labels (1)
0 Kudos
1 Reply

231 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, 植渲 周 

Regarding your question, I will reply one by one.

Q1: Can these structures, such as rxfifo0, rxfifo1 and rxbuffer, be used together in CAN0 or CAN1? For example, When I use CAN0, message is divided into two portions, stored in part of fifo, and part of buffer.

 >>>>>As you know one message ID corresponds to only ONE FIFO, the SFEC bits specify which FIFO will receive the message when the message ID is matched and accepted.

pastedImage_3.png

Q2: What is the role of Tx Event FIFO? I don't find it used in SDK,  and what circumstances to use it? Can you give me some examples?

 >>>>>>>As you know there are three type of TX buffer:TX buffer, TX FIFO/Queue, TX event FIFO for CAN-FD module of LPC family, the TX event FIFO means that the TX EVENT FIFO message is transmitted, after the TX message transfer is over, the TX status will be saved in another event FIFO. For the TX buffer and TX FIFO/Queue, just the TX message is transferred, the TX simple  status is just updated in a register rather than a buffer.

Regarding the question how to access the Event FIFO, I copy it here from RM:

"When reading from the Tx event FIFO, two times the Tx event FIFO get index value stored in the EFGI bit field in the TXEFS register has to be added to the Tx event FIFO start address stored in the EFSA bit field in the TXEFC register.

"

But the CAN-FD driver in SDK does not cover the TX event FIFO mechanism.

pastedImage_4.png

Q3: What is the difference about  RxFIFO and RxBuffer?

>>>>>>>As the name implies, RXFIFO is based on FIFO mechanism, the RxBuffer is based on message buffer mechanism. For the RxBuffer mechanism, when the Rxbuffer receives a message, user can read the buffer directly. But for the RxFIFO mechanism, it is complicated, user has to get the RxFIFO index in a register, then compute the address of received buffer in the RxFIFO by the index, then read buffer.

Hope it can help you

BR

XiangJun rong

0 Kudos