2023-11-08 03:27 AM
I am trying to connect 2 NUCLEO-G0B1RET6 boards,using CAN FD. I previously did it using CAN, But now i am trying to connect these boards using CAN FD. So far no success,I want to know if it is possible to do it using CANFD.Kindly help me in this regard.
Solved! Go to Solution.
2023-11-15 11:08 PM - edited 2023-11-16 01:10 AM
Issue solved.
2023-11-08 03:36 AM - edited 2023-11-08 03:37 AM
Hello,
Sure you can do it but you should add a FDCAN transceiver to each board.
2023-11-08 03:39 AM
i am using ROHM41041 transceiver on both boards.please let me know if there is any tutorial for this.I am trying since 3days with no success.
2023-11-08 03:44 AM
Sorry I didn't find that transceiver on internet. Do you have its datasheet?
2023-11-08 03:47 AM
2023-11-08 04:01 AM - edited 2023-11-08 04:52 AM
Thanks for the sharing.
Now there are three points to check:
1- If you are using HSI as source of clock please change it and use STLINK-MCO as source clock (precise clock) and configure HSE in bypass mode.
2- According to the transceiver datasheet it cannot exceed 1M/s as CAN bitrate. So if you are exceeding this bitrate with FDCAN you will surely face issues.
3- Check the state of STB pin. STB pin should be at 0 level otherwise it will be in standby mode so the node will be offline.
Hope it helps.
2023-11-08 04:07 AM
I will look into it,and try configuring IOC file again.I hope this works.I will let you know about result.Sigining out now.Thanks for insight.
2023-11-08 05:34 AM - edited 2023-11-08 07:00 AM
Another important point to consider:
From your tranceiver datasheet: it's a 5V one (VCC Min: 4.75V, Max: 5.25V)
If I consider you supply it with around 5V, you have an issue with TxD pin minimum 'High level input voltage':
VIHmin = 0.7 x VCC = 3.5V > IO voltage level provided by the STM32G0 pin (@3.3V).
Even with VCCmin: VIHmin = 0.7 x 4.75 = 3,325V really at the limit!
2023-11-08 07:06 AM - edited 2023-11-08 07:07 AM
What would be your suggestion to overcome this problem?
2023-11-08 07:14 AM - edited 2023-11-08 07:22 AM
Simply use 3.3V transceiver or use voltage level shifter for the final project.
But for testing I think there is an internal pull-up resistor connected to the transceiver TxD pin:
Try to configure CAN_Tx pin in Open Drain. But I cannot guarantee this workaround.