2023-04-20 11:42 PM
I use FDCAN in STM32H730 for communication over CAN-FD.
At the moment it works with 500kBit/2000kBit without TxDelayCompensation. But we want to communicate with 1000kBit/4000kBit too. Therefore I want to enable TxDelayCompensation.
I'm not sure how I should configurate the TxDelayCompensation, I didn't find hints in the documentation.
In a discussion in found the following recommendation:
/* Configure and enable Tx Delay Compensation : TdcOffset = DataTimeSeg1*DataPrescaler */
HAL_FDCAN_ConfigTxDelayCompensation(&hfdcan1, DataTimeSeg1*DataPrescaler, 0);
If I enable TxDelayCompensation at 500kBit/2000kBit with the configuration above, the communcation doen't work anymore. The transceiver stops at the first bit.
Does anyone have experience with configuring the TxDelayCompensation?
2023-04-21 02:45 AM
Couple examples of use in CubeH7 board examples
2023-04-21 03:06 AM
Thank you.
Sorry, it was my mistake.
I only inserted DataPrescaler. If I use DataTimeSeg1*DataPrescaler it works.
In the example the third parameter(TdcFilter) of function HAL_FDCAN_ConfigTxDelayCompensation is 0.
Is 0 always a sufficient vaule? Or it is depending on the settings of data timing?