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.

CCS/TPS65381A-Q1: I can't modify the bit IGN_PWRL value of the register WR_SAFETY_FUNC_CFG in the diagnostic state

Part Number: TPS65381A-Q1

Tool/software: Code Composer Studio

During MCU initialization, I set the register WR_SAFETY_CHECK_CTRL value to 0x17. I read the register RD_SAFETY_STAT_5 value as 0x07,

and then I set the register WR_SAFETY_FUNC_CFG  value to 0x95, but I read the register RD_SAFETY_FUNC_CFG value as 0x85,and I failed to modify the bit IGN_PWRL value.

and then I set the register WR_DEV_CFG2  value to 0xD0, and  I read the register RD_DEV_CFG2 value as 0xD0,and I successfully modified the bit POST_RUN_RST value.

How can I change the bit  IGN_PWRL value?

thanks!

  • Hi, 

    I did a quick test of toggling IGN_PWRL on our EVM while the device is in DIAGNOSTIC state and was able to confirm the bit can be toggled using 7-bit hex command code (without parity). Are you using the same parity option?

    In my case these were the commands used to write/read IGN_PWRL:

    Writing Safety Functional Config Register to set IGN_PWRL
    WR_SAFETY_FUNC_CFG  value to 0x95   (0x1a ; 0x95)

    Read Functional Config Register
    RD_SAFETY_FUNC_CFG  (0x1d)

    Writing Safety Functional Config Register
    WR_SAFETY_FUNC_CFG  value to 0x85 (0x1a ; 0x85)

    Updating Functional Config Register
    RD_SAFETY_FUNC_CFG  (0x1d)

  • Thank you for your reply!

    My function is right.  The bit IGN_PWRL can't be written because the wake-up event of CANWU has occurred.

    It is explained in the data manual 5.3.7: The IGN_PWRL bit is also cleared after a detected CANWU wake-up event