Skip to main content
ABouk.1
Associate III
January 11, 2022
Solved

I would like to connect, on the same CAN bus, two different microcontrollers, one uses FDCAN and the other on is using CAN 2.0. Is it possible for them both to communicate ? Also, can i configure the FDCAN RXD interrupt ?

  • January 11, 2022
  • 4 replies
  • 4582 views

..

This topic has been closed for replies.
Best answer by mƎALLEm

from //can-newsletter.org : "Hybrid CAN and CAN FD networks":

it says: "While CAN FD controllers can interpret and transmit both CAN FD and Classical CAN messages, Classical CAN controllers will report CAN FD messages as an error. This mandates a strict separation of CAN FD and Classical CAN networks".

4 replies

mƎALLEm
ST Technical Moderator
January 12, 2022

Dear @ABouk.1

If you are looking for the usage of FDCAN peripheral to communicate (in CAN FD mode) with a classical can on the same bus , you can refer to these documents they are discussing cohabitation of CAN and CAN FD in the same bus/system:

link 1

link 2

Knowing that, you can configure FDCAN peripheral in classical CAN mode.

I think the best way is to use an MCU with two FDCAN peripherals, one which communicates with CAN FD protocol and the other configured in classical mode in such way you will have a bridge between classical CAN and CAN FD.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Javier1
Principal
January 12, 2022

@Community member​ you should take a lok at AN5348

page 2:

CAN-FD features

Main features of the CAN-FD protocol are listed below:

Compatibility with the CAN protocol: CAN-FD node is able to send/receive CAN messages according to

ISO 11898-1

page5:

And this is why FDCAN supports CAN2.0, the data frames are very similar

0693W00000HrM4YQAV.png

hit me up in https://www.linkedin.com/in/javiermuñoz/
mƎALLEm
ST Technical Moderator
January 12, 2022

@Javier Muñoz​ ,

This is when FDCAN peripheral is configured in classical mode so no CAN FD frame is transmitted on the bus. I think the original question is: the possibility of the cohabitation of classical CAN & CAN FD frames on the same bus which causes CAN errors from the node using classical CAN frame format according to the doc I mentioned previously in link 2.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
ABouk.1
ABouk.1Author
Associate III
January 12, 2022

I understand that I must configure the frame Format on Classic mode in order to send/receive CAN 2.0 frames with the FDCAN controller.

There is also some configuration to set up the bus timings (Mbit/s - timeseg1 - timeseg2 ...)

mƎALLEm
ST Technical Moderator
January 12, 2022

For FDCAN in classical mode configuration, please refer to the example provided in STM32CubeH7 under the path STM32H743I-EVAL\Examples\FDCAN\FDCAN_Classic_Frame_Networking

-> No config of nominal bit time for Data phase.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
MAmem.1
Associate III
February 18, 2022

What about the CRC length if a CAN 2.0 MCU communicate with a FDCAN MCU in classic mode ??

mƎALLEm
ST Technical Moderator
February 18, 2022

In Classic mode, FDCAN behaves as classical CAN.

See example provided in STM32CubeH7 under the path: Projects\STM32H743I-EVAL\Examples\FDCAN\FDCAN_Classic_Frame_Networking

This example shows how to send/receive classical CAN frames using FDCAN peripheral to/from STM32 MCUs featuring bxCAN like STM32F1, STM32F4 families etc ..

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.