Hi team,
Can you please help to check, is my baud rate calculation for MCAN is correct? Thanks.
Configuration is from C:\ti\mmwave_mcuplus_sdk_04_02_00_02\mcu_plus_sdk_awr294x_08_01_01_06\source\drivers\mcan\v0\mcan.c
Formula is copy from TDA processor code.
/* Configuring default 1Mbps and 5Mbps as nominal and data bit-rate respectively */
if (bitTimes != NULL)
{
/* Initialize bit timings */
bitTimes->nomRatePrescalar = 0x7U;
bitTimes->nomTimeSeg1 = 0x5U;
bitTimes->nomTimeSeg2 = 0x2U;
bitTimes->nomSynchJumpWidth = 0x0U;
bitTimes->dataRatePrescalar = 0x1U;
bitTimes->dataTimeSeg1 = 0x3U;
bitTimes->dataTimeSeg2 = 0x2U;
bitTimes->dataSynchJumpWidth = 0x0U;
}
Bit rate calculation:
bit rate = ((mcan_clk / prescalar) / (Sum of timing parameters))
nomRate, mcan_clk = 80 MHz, prescalar = = (nomRatePrescalar + 1) = 8, Sum of timing parameters = (nomTimeSeg1 + nomTimeSeg2 + 3) = 10
bit rate = (80MHz / 8) / 10 = 1000 kbps
dataRate, mcan_clk = 80 MHz, prescalar = = (nomRatePrescalar + 1) = 2, Sum of timing parameters = (nomTimeSeg1 + nomTimeSeg2 + 3) = 8
bit rate = (80MHz / 2) / 8 = 5000 kbps
Thanks
Wesley