STM32H730 FDCAN TxDelayCompensation
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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?
- Labels:
-
FDCAN
-
STM32H7 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-04-21 2:45 AM
Couple examples of use in CubeH7 board examples
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-04-21 3: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?
