器件型号: TMS320F280039C
在配置 MCAN 位时序时、我提供了 MCAN clk = 40MHz、并且 iAM 将波特率从 500k 更改为 8Mbps(最高 5Mbps)、其工作原理如下: 标称值= 1Mbps、数据= 5Mbps、标称值= 8Mbps。我需要选择合适的时钟和位时间参数来为 CAN FD 配置这些波特率。
switch(位)
{
用例 0:/* 125 kbps */
bitTimes_myMCAN0.nomRatePrescalar = 15;
休息;
案例 1:/* 250kbps */
bitTimes_myMCAN0.nomRatePrescalar = 7;
休息;
案例 2:/* 500kbps */
bitTimes_myMCAN0.nomRatePrescalar = 3;
休息;
案例 3:/* 1Mbps */
bitTimes_myMCAN0.nomRatePrescalar = 1;
休息;
用例 4:
bitTimes_myMCAN0.nomRatePrescalar = 3;
bitTimes_myMCAN0.dataRatePrescale = 3;
休息;
用例 5:
bitTimes_myMCAN0.nomRatePrescalar = 3;
bitTimes_myMCAN0.dataRatePrescale = 1;
休息;
情形 6:
bitTimes_myMCAN0.nomRatePrescalar = 1;
bitTimes_myMCAN0.dataRatePrescale = 1;
bitTimes_myMCAN0.dataTimeSeg1 = 4;
bitTimes_myMCAN0.dataTimeSeg2 = 3;
bitTimes_myMCAN0.dataSynchJumpWidth= 3;
休息;
情形 7:
//SysCtl_setMCANClk (SysCtl_MCANCLK_DIV_2);
bitTimes_myMCAN0.nomRatePrescalar = 0x1U;
bitTimes_myMCAN0.nomTimeSeg1 = 0x9U;
bitTimes_myMCAN0.nomTimeSeg2 = 0x8U;
bitTimes_myMCAN0.nomSynchJumpWidth = 0x8U;
bitTimes_myMCAN0.dataRatePrescale = 0x0U;
bitTimes_myMCAN0.dataTimeSeg1 = 0x5U;
bitTimes_myMCAN0.dataTimeSeg2 = 0x0U;
bitTimes_myMCAN0.dataSynchJumpWidth= 0x1U;
休息;
情形 8:
// SysCtl_setMCANClk (SysCtl_MCANCLK_DIV_1);
bitTimes_myMCAN0.nomRatePrescalar = 0x4U;
bitTimes_myMCAN0.nomTimeSeg1 = 0x4U;
bitTimes_myMCAN0.nomTimeSeg2 = 0x1U;
bitTimes_myMCAN0.nomSynchJumpWidth = 0x1U;
bitTimes_myMCAN0.dataRatePrescale = 0x0U;
bitTimes_myMCAN0.dataTimeSeg1 = 0x1U;
bitTimes_myMCAN0.dataTimeSeg2 = 0x1U;
bitTimes_myMCAN0.dataSynchJumpWidth= 0x1U;
休息;
默认值:
休息;
}