Part Number: LAUNCHXL-F280039C
Tool/software:
Hi team,
There was a problem when debugging canfd sends
- debugging:
Demo board : LAUNCHXL-F280039c
Use the routine mcan ex9 transmit.c.Do not change the configuration of mcan in the routine.Nominal Bit Rate of 500 kbps and Data bit rate of 1 Mbps is used.
Modify the sending program to send a frame of data at an interval of 1s.
After sending dozens of data, canfd entered the bus off state because MCAN_ECR.TEC >255.
![]()


When I set brs=0,Nominal Bit Rate of 1 Mbps and Data bit rate of 1 Mbps is used. canfd can operate normally even if one frame of data is sent at 1ms interval

At first, I suspected that there was an anomaly in the canfd_rx self-test due to the receive delay.
But I calculated, canfd_rx self-test should not be a problem

The theoretical sampling points can be calculated according to the sampling point setting
Nominal SP = (bitTimes.nomTimeSeg1 + 1)/(bitTimes.nomTimeSeg2 + 1 + bitTimes.nomTimeSeg1 + 1) = (9 + 1)/(9 + 1 + 8 + 1) = 10/19 ≈ 52.6%
Data SP ≈ 52.6%
The oscilloscope captures the bus delay time about 100ns, yellow -> canfd_tx , green->canfd_rx

When set brs=1,
Nominal Bit Rate of 500 kbps,1 bit time = 2000ns, So Nominal SP should be at 2000ns * 0.526 - 100ns =952ns
Data bit rate of 1 Mbps, 1bit time = 1000ns, So Data SP should be at 1000ns * 0.526 - 100ns = 426ns
From the data, there should be no send data error count
So this is where I don't quite understand, why does the bus off state appear after brs is enabled
2.Question
I'm not sure if my calculation is correct, if not, can you explain it.
why does the bus off state appear after brs is enabled? Is there any way to solve this problem, can you help debug it?
Thanks!




