s32k CAN and CANFD networking issues

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

s32k CAN and CANFD networking issues

Jump to solution
1,181 Views
fedora
Contributor III

Hi team,

I use two S32K144 development boards to send CANFD using their CAN0, and also connect CAN1 and CAN2 to the CAN bus.

 My question is how will the CAN1/CAN2 of s32k144 handle the CANFD received?


The phenomenon I tested was that there were 15 error frames on the CAN bus when sending CANFD for the first time, but the other end could receive CANFD data.
Send CANFD again, error frames are not visible on the CAN bus.

Is there any relevant document to introduce the above issue?I didn't find it on S32K1xx Reference Manual.

Thanks for your guidance.

Best regards,

Fedora

 

0 Kudos
Reply
1 Solution
1,085 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @fedora,

I believe that the CAN classic node starts sending Active Error Flags when it sees a CAN FD frame, and when the value of TXERRCNT or RXERRCNT becomes greater than or equal to 128, ESR1[FLTCONF] is updated to reflect Error Passive state.

It may be that CAN2 becomes error‑passive or bus‑off, meaning it no longer interferes with the bus.

Best regards,
Julián

View solution in original post

0 Kudos
Reply
4 Replies
1,142 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @fedora,

As you know, CAN1/2 from S32K144 do not support CAN FD. 

CAN FD and Classic CAN nodes cannot be simply mixed; A mix of CAN and CAN FD controllers is only operable if the CAN nodes are made passive for the periods in that CAN FD frames are on the bus.

If a Classic CAN node sees a CAN FD frame, it will start sending error frames.

You must use a CAN PHY with CAN FD passive support:

Snag_1931eda.png

For example, UJA1169TK by default does not support CAN FD Passive feature, but X/F/3 variants do support it:

Snag_19356d2.png

Best regards,
Julián

0 Kudos
Reply
1,134 Views
fedora
Contributor III

Julián, thanks for your support.

Firstly, CAN2 is connected to TJA1051T PHY.

According to your response,  I want to know more is why CAN0 can still receive CANFD data after CAN2 sends 15 error frames?   What happened during this process? Too many error frames may cause CAN2 to be offline, from now on, CANFD can be transmitted between CAN0,  is that correct?

Thanks !

Best regards,

Fedora

Tags (1)
0 Kudos
Reply
1,086 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @fedora,

I believe that the CAN classic node starts sending Active Error Flags when it sees a CAN FD frame, and when the value of TXERRCNT or RXERRCNT becomes greater than or equal to 128, ESR1[FLTCONF] is updated to reflect Error Passive state.

It may be that CAN2 becomes error‑passive or bus‑off, meaning it no longer interferes with the bus.

Best regards,
Julián

0 Kudos
Reply
980 Views
fedora
Contributor III

Hi, Julián:

  Thanks for your reply and hint with very helpful to me.

  I will continue to research it.

Best regards,

Fedora

 

Tags (1)