Part Number: TMS320F28388D
Other Parts Discussed in Thread: TEST2
Hello.
We are starting development on a 28388D Controlcard and testing the MCAN module.
We are using a Peak CAN-FD to check the outputs.
Timings are calculated with MCAN_BitTimingCalculator.xls from TI:

Testing some configurations using "mcan_ex9_transmit.c":
Test1 (works):
bitTimes.nomRatePrescalar = 3U; // Nominal Baud Rate Pre-scaler. 500Khz
bitTimes.nomTimeSeg1 = 11U; // Nominal Time segment before SP
bitTimes.nomTimeSeg2 = 6U; // Nominal Time segment after SP
bitTimes.nomSynchJumpWidth = 6U; // Nominal SJW
bitTimes.dataRatePrescalar = 1U; // Data Baud Rate Pre-scaler. 1Mhz
bitTimes.dataTimeSeg1 = 11U; // Data Time segment before SP
bitTimes.dataTimeSeg2 = 6U; // Data Time segment after SP
bitTimes.dataSynchJumpWidth = 6U; // Data SJW
Test2 (works):
bitTimes.nomRatePrescalar = 1U; // Nominal Baud Rate Pre-scaler. 1Mhz
bitTimes.nomTimeSeg1 = 11U; // Nominal Time segment before SP
bitTimes.nomTimeSeg2 = 6U; // Nominal Time segment after SP
bitTimes.nomSynchJumpWidth = 6U; // Nominal SJW
bitTimes.dataRatePrescalar = 0U; // Data Baud Rate Pre-scaler. 2Mhz
bitTimes.dataTimeSeg1 = 11U; // Data Time segment before SP
bitTimes.dataTimeSeg2 = 6U; // Data Time segment after SP
bitTimes.dataSynchJumpWidth = 6U; // Data SJW
Test3 (doesn't work):
bitTimes.nomRatePrescalar = 3U; // Nominal Baud Rate Pre-scaler. 500Khz
bitTimes.nomTimeSeg1 = 11U; // Nominal Time segment before SP
bitTimes.nomTimeSeg2 = 6U; // Nominal Time segment after SP
bitTimes.nomSynchJumpWidth = 6U; // Nominal SJW
bitTimes.dataRatePrescalar = 0U; // Data Baud Rate Pre-scaler. 2Mhz
bitTimes.dataTimeSeg1 = 11U; // Data Time segment before SP
bitTimes.dataTimeSeg2 = 6U; // Data Time segment after SP
bitTimes.dataSynchJumpWidth = 6U; // Data SJW
We don't understand why 500K/2M combination does not work as the other two are using exact same timing values.
Is there anything we are not taking in account ?
Than you,
Samuel