Skip to main content
Moha-Affa
Associate II
January 3, 2020
Question

FDCAN Bittiming Problem __ STM32H750 __

  • January 3, 2020
  • 0 replies
  • 427 views

Hi,

my question is simple , i have these parameter :

Can_Clock = 48 MHz 

Prescaler = 1;

NominalTimeSeg1 = 18

NominalTimeSeg2 = 4

and this is the MX_FDCAN1_Init() :

static void MX_FDCAN1_Init(void)
{
 
 /* USER CODE BEGIN FDCAN1_Init 0 */
 
 /* USER CODE END FDCAN1_Init 0 */
 
 /* USER CODE BEGIN FDCAN1_Init 1 */
 
 /* USER CODE END FDCAN1_Init 1 */
 hfdcan1.Instance = FDCAN1;
 hfdcan1.Init.FrameFormat = FDCAN_FRAME_FD_BRS;
 hfdcan1.Init.Mode = FDCAN_MODE_NORMAL;
 hfdcan1.Init.AutoRetransmission = DISABLE;
 hfdcan1.Init.TransmitPause = DISABLE;
 hfdcan1.Init.ProtocolException = DISABLE;
 hfdcan1.Init.NominalPrescaler = 1;
 hfdcan1.Init.NominalSyncJumpWidth = 1;
 hfdcan1.Init.NominalTimeSeg1 = 18;
 hfdcan1.Init.NominalTimeSeg2 = 4;
 hfdcan1.Init.DataPrescaler = 1;
 hfdcan1.Init.DataSyncJumpWidth = 1;
 hfdcan1.Init.DataTimeSeg1 = 18;
 hfdcan1.Init.DataTimeSeg2 = 4;
 hfdcan1.Init.MessageRAMOffset = 0;
 hfdcan1.Init.StdFiltersNbr = 0;
 hfdcan1.Init.ExtFiltersNbr = 0;
 hfdcan1.Init.RxFifo0ElmtsNbr = 0;
 hfdcan1.Init.RxFifo0ElmtSize = FDCAN_DATA_BYTES_8;
 hfdcan1.Init.RxFifo1ElmtsNbr = 0;
 hfdcan1.Init.RxFifo1ElmtSize = FDCAN_DATA_BYTES_8;
 hfdcan1.Init.RxBuffersNbr = 0;
 hfdcan1.Init.RxBufferSize = FDCAN_DATA_BYTES_8;
 hfdcan1.Init.TxEventsNbr = 0;
 hfdcan1.Init.TxBuffersNbr = 8;
 hfdcan1.Init.TxFifoQueueElmtsNbr = 15;
 hfdcan1.Init.TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION;
 hfdcan1.Init.TxElmtSize = FDCAN_DATA_BYTES_64;
 if (HAL_FDCAN_Init(&hfdcan1) != HAL_OK)
 {
 Error_Handler();
 }
 /* USER CODE BEGIN FDCAN1_Init 2 */
 
 /* USER CODE END FDCAN1_Init 2 */
 
}

With these parameters i get 2 MHz Baud rate without any problem even though i should not !!!

in my case NominalTimeSeg1 + NominalTimeSeg2 + 1(SYNC_SEG) = 23 and i should have 24 to get the 2 MHz !! but with 24 it does not work !!!!

i appreciate any idea guys

Thank you

This topic has been closed for replies.