Skip to main content
Graduate
December 12, 2024
Solved

FDCAN no ACK

  • December 12, 2024
  • 1 reply
  • 2287 views

Hi,

I am trying to use a STM32G491KEU6 with FDCAN, but the communication is failing at line:

if (HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TxData!= HAL_OK) { ...

I found out that this is a problem that receiver is not sending a ACK bit - cannot it be a software issue? I am using two STM32G491KEU6 with the same code mentioned bellow, while I am also using a TCAN3403DRBRQ1 transceiver on both boards.
The boards seems ok, I can even see a transmittion on the line with oscilloscope, but there is probably no ACK.

Thank you for any help

    This topic has been closed for replies.
    Best answer by Adam_Stastny

    Ahh, I found the issue... CAN LOW differential had short circuit to GND - bad soldering. Thank you for your time.

    1 reply

    Technical Moderator
    December 12, 2024

    Hello,

    For CAN/FDCAN subject especially when using Normal mode you need to provide more details especially the HW part. So please share schematics.

    Also, I recommend to use HSE with an external crystal instead of HSI.

    As per your code:

    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;

     

    Graduate
    December 12, 2024

    I am sending a schematic. In my PCB, there is also a GND on pin 8 STB (by datasheet, this should allow normal mode instead of standby mode).

     

    Thx for that recommendation.

    Technical Moderator
    December 12, 2024

    Hello,

    Could you please share your ioc file?

    Chenge FrameFormat to FDCAN_FRAME_CLASSIC;

    Could you also please state on Y1? could you please share its datasheet?