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: Reset DCAN in software

Part Number: TMS320F28388D

Hi expert,

A related question. Do we have any resgister to reset DCAN module? How to reset DCAN in software?

Thanks

Sheldon

  • Hi Sheldon,

    I believe you are referencing the responses from the other thread where the DCAN module will be used by the three cores of the F28388D during the bootup process wherein the DCAN control is allotted always by the master CPU.  Once another core gets the control of the DCAN, the module has to be "reset" - meaning it has to be initialized before it can be used.  The "reset" step here is actually setting the Init bit in CAN_CTL as well as setting the CAN bit timings (discussed in the first 4 paragraphs of section 30.4.1 in the CAN section of the TRM).

    Below is the illustration of the steps in allocating ownership of the DCAN and "reset" or Initialization of the DCAN module by another core:

    1.) In CPU1, turn off the DCAN peripheral clock

    2.) In CPU1, allocate the CPU that will have control of DCAN (example: CPU2 will  control DCAN)

    3.) In CPU2 (which is now allowed by CPU1 to control DCAN), set the DCAN peripheral clock

    4.) In CPU2, run functions CAN_initModule() and CAN_setBitRate() to complete the initialization of the DCAN module. You still need to set up the message objects before starting the CAN module again with function CAN_startModule().

    Hope this helps.

    Regards,

    Joseph