This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28388D: If the CM owns the CAN peripheral, should it be writing to MCAN registers only?

Part Number: TMS320F28388D


I am trying to get CAN (basic, not CANFD) working on the CM, and I am using the can_ex4_transmit_recieve sample application as a guide (my CAN is on different GPIOs than the sample app), and of course nothing is transmitting. 

My question is, in the can_ex4_transmit_receive.c file, the base-register passed to the various CAN support functions is "CANA_BASE", which is 0x4007000. However the CM owns "MCAN", and its register-set is different than the CAN base of 40070000. 

I am new to the 28388 -- if the CPU1-mux is setting the GPIO-pins to MCAN, I would have thought the CM would only be using the MCAN register set? Should the CM still use the regular CAN registers at 0x40070000?

Thanks,

Jim

  • As I wrote, I thought that to give the CM control over the GPIO70/71 CAN, the mux would have to be set to MCAN. Is it accurate to write that the GPIO70/71 mux could be set to either CAN or MCAN (for the CM); if it is set to CAN, then only the CAN-registers are used, and if it is set to MCAN, then only the MCAN registers are used?

    Thanks,

    Jim

  • Jim,

    Your understanding is correct. MCAN and CAN are two different IP on this device and both can be accessed by CM. If you use CAM function in pinmux option then you need to use the CAN module to drive the bus and incase of MCAN , you need to use MCAN module.

    Regards,

    Vivek Singh