2024-05-13 03:30 AM
Hallo everybody,
I have a question about the FDCAN peripheral of the STM32G0B1VC.
I’m using the STM32Cube_FW_G0_V1.6.0 library and I have initialized the bus with AutoRetransmission:
CanHandle.Init.AutoRetransmission = ENABLE;
During the transmission of a frame, when the ACK is not received the peripheral automatically resends the frame after a minimum delay (about 50 usec).
Is there any way to increase the delay between the frames?
When I repeat the test with a different platform, STM32F072VB and STM32Cube_FW_F0_V1.9.0 library, I have a different behaviour: the frame is retransmitted after 1.7 msec.
Is there any way to increase the delay between the autoretransmitted frames with the STM32G0B1VC?
Many thanks
Thomas
Solved! Go to Solution.
2024-05-13 08:01 AM - edited 2024-05-13 08:04 AM
Hello,
The auto-retransmission is managed by the peripheral itself and I don't think there is a way to change that timing. In my opinion the timing between two auto-retransmitted frame that includes the ACK delimiter (1 bit), EOF (7 bits) and IFS (3 bits) which is the minimum before the next frame to start.
Knowing that F0 has bxCAN cell and G0 has FDCAN cell which don't have the same architecture and implementation.
Why are you looking for increasing this timing?
2024-05-13 08:01 AM - edited 2024-05-13 08:04 AM
Hello,
The auto-retransmission is managed by the peripheral itself and I don't think there is a way to change that timing. In my opinion the timing between two auto-retransmitted frame that includes the ACK delimiter (1 bit), EOF (7 bits) and IFS (3 bits) which is the minimum before the next frame to start.
Knowing that F0 has bxCAN cell and G0 has FDCAN cell which don't have the same architecture and implementation.
Why are you looking for increasing this timing?
2024-05-13 08:20 AM
Thank you SofLit.
The reason to have this delay is that the system must operate communicating with an already available device. It looks like this device in case of communication error will keep failing to send the ACK unless a certain time before the retransmitted frame is added.
I can surely add a workaround to implement this delay, but I would prefer to let the peripheral to handle this automatically.
Thomas
2024-05-13 08:33 AM
Hello,
I can surely add a workaround to implement this delay, but I would prefer to let the peripheral to handle this automatically.
Unfortunately this is not possible.
2024-05-13 08:46 AM
Ok, thank you SofLit.