cancel
Showing results for 
Search instead for 
Did you mean: 

Issue in establishing FDCAN communication in Normal Mode

Shubh150
Associate III

I had sought help a while back for code on establish FDCAN communication in Classic mode between H7A3ZI-Q and G474RE, I did get the correct code and it indeed worked with the two boards, but now when I try to run it on Normal mode, the code fails to recieve data on the other end. It would be really helpful if someone explains how to do so. Please find attached zip files containg the code for FDCAN communication in Classic Mode.

1 ACCEPTED SOLUTION

Accepted Solutions
SofLit
ST Employee

Hello @Shubh150 ,

Getting back to your request. I did test your project as it is for both devices: H7A3ZI-Q and  G474RE on Nucleo boards, attached transceivers (MCP2562FD) for each one and didn't notice any issue. I'm receiving well the data on both nodes (H7A3ZI-Q and  G474RE) each time I press the user button.

So I suspect two things:

1- As I said previously: a hardware issue: transceiver not suitable in your application (VIH min for example), transceiver issue (broken), transceiver power supply issue, wiring issue or you didn't use the same GPIOs Tx/Rx pins as configured in the CubeMx. Please read this article.

2- A clock config issue. As NUCLEO-H7A3ZI-Q is having STLINK V3 on it, and as you are using the STLINK MCO with a value of 8MHz I could suspect that this frequency has been modified as the MCO output could be configured  (see this article ) .

PS: I don't recommend the usage of not accurate clock source. In your case it's STLINK-MCO: HSI/2 = 16/2 = 8MHz.

So please use one of the HSE/x in the list as described in this article / Section: 2. How to get MCU target HSE fed by STLINK-V3 MCO with an accurate clock source

Hope It does answer your question

  

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

View solution in original post

2 REPLIES 2
SofLit
ST Employee

Hello and sorry for the late answer.

I didn't understand the case. 

You said the following:


I did get the correct code and it indeed worked with the two boards, but now when I try to run it on Normal mode, the code fails to recieve data on the other end. 

The code worked on the two boards. What do you mean by that? in Loopback mode?

Check if you are using the correct FDCAN Tx/Rx pins connected to the transceivers i.e. the same as the ones configured in the CubeMx. 

For the pin config use HIGH or VERY_HIGH for pin speed.

 

 

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
SofLit
ST Employee

Hello @Shubh150 ,

Getting back to your request. I did test your project as it is for both devices: H7A3ZI-Q and  G474RE on Nucleo boards, attached transceivers (MCP2562FD) for each one and didn't notice any issue. I'm receiving well the data on both nodes (H7A3ZI-Q and  G474RE) each time I press the user button.

So I suspect two things:

1- As I said previously: a hardware issue: transceiver not suitable in your application (VIH min for example), transceiver issue (broken), transceiver power supply issue, wiring issue or you didn't use the same GPIOs Tx/Rx pins as configured in the CubeMx. Please read this article.

2- A clock config issue. As NUCLEO-H7A3ZI-Q is having STLINK V3 on it, and as you are using the STLINK MCO with a value of 8MHz I could suspect that this frequency has been modified as the MCO output could be configured  (see this article ) .

PS: I don't recommend the usage of not accurate clock source. In your case it's STLINK-MCO: HSI/2 = 16/2 = 8MHz.

So please use one of the HSE/x in the list as described in this article / Section: 2. How to get MCU target HSE fed by STLINK-V3 MCO with an accurate clock source

Hope It does answer your question

  

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