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.

TMS320F280049: CAN module reset process

Part Number: TMS320F280049

Hi champs,

We can use SOFTPRES10 or CAN_CTL.SWR to reset CAN module, would you please advise the differences between these two CAN reset methods.

Regards,

Luke

  • Hi Luke,

    Checking back with design if there are differences between the two module reset methods but on a high level, SOFTPRES works by first clearing the corresponding bit (SOFTPRES10,CANA -> '0') then immediately setting it (SOFTPRES10,CANA -> 1).  For CAN_CTL.SWR, module reset is initiated by setting this bit (CAN_CTL.SWR -> '1') but it requires that CAN_CTL.INIT bit is set first prior to setting the SWR bit.  Will get back with you on this topic once I get design confirmation on other differences.

    Regards,

    Joseph

  • Joseph,

    Yes, please help with this.

    I would like to understand the differences between these two reset methods, which registers will reset to default value?

    Thanks for your help.

    Luke

  • Hi Luke,

    SORTPRES method resets the entire DCAN module while SWR bit only resets a subset of the module.  SOFTPRES method would put all the CAN registers to default value.

    Joseph

  • Hi Luke,

    Got a more definitive description between the two software reset options from design:

    During SWR reset, no user configuration is lost. Only status bits get reset along with logic which need to be reset for next CAN transaction.

    During SOFPTRES10 reset, entire DCAN module will get reset including configuration registers.

    Best regards,

    Joseph

  • Joseph,

    If we use below steps to do CAN reset, when we clear CAN_CTL.INIT bit, the CAN transaction should be still working since no user configuration is lost and the logic are reset for next CAN transaction. This is reasonable, is this correct?

    1. EALLOW
    2. set CAN_CTL.INIT
    3. set CAN_CTL.SWR
    4. loop check SWR=0
    5. clear CAN_CTL.INIT
    6. EDIS

    Regards,

    Luke

  • Luke,

    Yes, with the above configuration, user settings are preserved and CAN transactions will be carried out after the above SW reset seqence.

    Regards,

    Joseph