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.

TPL5111: M_DRV held high after READY. What happens with DRV?

Part Number: TPL5111

I use a TPL5111 as a timer to power on a uC (after a AP2210/DC-DC) to do some background tasks. The time is set to 1 minute.

A momentary push button (tactile switch) is used to hold M_DRV high for manual power on (to wake up the system immediately instead of 1 minute intervals).

I want to detect a short press (background task then sending READY for power off, in my case every 1 minute) and a long press to execute the main program after the background check.

I can't read the push button by GPIO and must rely on the exact behaviour of the TPL5111 which brings me to the question: What happens to DRVn when M_DRV is kept high (long press) when READY is asserted by the uC because of the background tasks being finished? If the READY is ignored while M_DRV is kept high, and DRV continues to power the uC without interruption, I can use a software timer to check if a long press has occurred because only then the uC still gets power after sending READY.

Is my understanding correct? Will the READY be ignored in this case?

Also, if the main program is invoked (long press) how can I set the TPL5111 by means of using a GPIO pin so that the uC will be powered as long as the program wants to be powered? Is it correct to say that in case I would drive M_DRV from the gpio (open-collector output), which is parallel to the push button, DRV would still gate/de-assert after 1 minute for a short time (20ms?) and then start a new cycle? In my situation, this would lead to a quick power-off/reboot of the system every 1 minute, which must be prevented. Can I use the M_DRV in this way for always-on or should I use a passive diode-logic OR of 1) DRV and 2) GPIO to drive the EN pin of the following AP2210/DC-DC? If I must use some glue circuit after the TPL5111 what diodes and resistor would be recommended (3.3V and the EN_HIGH of the following AP2210 is somewhere at 2V). Note that the power supply of the TPL5111 is not the same as the AP2210 and they use different grounds.

3rd question: is the DRVn a push-pull or an open drain? Could I even use resistors to keep EN high by using GPIO pin of the uC and still be waked up every 1 minute in case the main program is finished (EN low).

Many thanks for helping here.

  • Hi Lukas,

    I have paged our timer expert, he will get to you when he is available.

    Best,

    Evan Su

  • Hi Lukas,

    DRVn starts counting after M_DRV has returned to LOW + some delay time tDB. If we keep M_DRV HIGH, DRVn will stay HIGH and not counting. DONE signals received while M_DRV is HIGH are ignored.

    DRVn is a push-pull output.

  • Thanks. This helped. I could verify that behaviour today. Keeping M_DRV high and sending DONE, DRV is always high, the timer is basically halted. However when I keep M_DRV high without DONE there is exactly one full cycle of the timer (the gate pulse will happen once as the timer has already started), after that DRV remains asserted. Detecting long press should now work as described before. However to keep DRV high in a reliable manner, I will not use the GPIO approachto M_DRV instead use a diode logic OR from DRV and a GPIO to the EN pin of the AP2210.