TCAN1145-Q1: After setting the sleep mode, the MCU was not immediately powered off by the control

Part Number: TCAN1145-Q1

Tool/software:

Hello support,

We encountered a problem with the transceiver tcan1145. When the wake-up message WUF cycle was set to 1ms, during the MCU's sleep mode, the PN-related functions of the transceiver were first enabled, and the settings for standby and sleep were all successful. There was a probability that the "inh" did not immediately control the MCU to power off, and the MCU successfully entered sleep and powered off approximately 400ms later. During the sleep process, the WUF was continuously sent.

At the same time, confirm that the sleep mode status flag is 0.


Could you please tell me what the reason is?

  • Hi Chengyu,

    Can you label the signals names on the waveform above? Are you saying that the transceiver enters sleep mode, but INH is still turning on for about 400ms? 

    At the same time, confirm that the sleep mode status flag is 0.

    What is the sleep mode status flag here? Are you referring to MODE_SEL bits in 0x10 register? In sleep mode those bits should be 001.

    Regards,

    Sean

  • Hello Sean,

    Thank you for your reply.

    Sorry, I didn't mark it clearly on the picture.

    The pink waveform in the graph represents the process from the beginning of the power-down function (where I raised an IO level) until the MCU completely enters power-down mode and the IO becomes low. This process includes settings for PN-related options, settings for STANDBY, and settings for SLEEP.

    As can be seen from the screenshot: Normally, when the transceiver is set to sleep mode, the MCU immediately powers off and the IO pins are pulled low. When an issue occurs, the transceiver is also set to sleep mode. However, the MCU does not immediately power off at this point. In my opinion, the INH has not been immediately pulled low because the MCU's power supply is controlled by the INH. The program still executed for about 400 milliseconds.

    We conducted another experiment: After setting up SLEEP, in the subsequent while loop, we continuously toggled another IO.

    And the result shows that after the program had been running for about 400ms, the MCU finally powered off.

    What is the sleep mode status flag here?

    We consulted FAE and FAE asked us to confirm whether the SMS position bit in register 52h has been set. We confirmed that there was no activation.

     Are you referring to MODE_SEL bits in 0x10 register? In sleep mode those bits should be 001.

    I will do the same way to read the 0x10 register and give some feedback today.

    Best regards,

    Wu chengyu

  • Hello Sean,

    I trtied read the 0x10 register  after set SLEEP and find that it was set to 001(sleep)under normal circumstances. But when it is abnormal, it was not set to 001(sleep) immidiately.

    So  why when the wake-up message WUF cycle was set to 1ms, the transceiver did not enter the SLEEP mode immediately after being set up by SPI successfully and after about 400 milliseconds, it enters sleep mode and controls the INH for power-down?Could you tell us what is your opinion?

    Best regards,

    Wu chengyu

  • Hi Chengyu,

    But when it is abnormal, it was not set to 001(sleep) immidiately.

    What is the MODE_SEL read in this case?

    Also, what's the intention of sending WUF cycle during the sleep process? Once you enable selective wakeup, the device will starting monitoring the bus, if there is a valid WUF it will set CANINT flag. This can happen in normal and standby mode, depend on how your MCU react to a wakeup from CAN, it may probably stop the transceiver from entering sleep mode. I would recommend to set SW_EN =1 in the same SPI write with entering sleep mode, as those bits are in the same register. And before entering sleep mode, add the step to clear all the interrupt registers.

    Please let me know if this could solve the issue.

    Regards,

    Sean