Why it cannot wake up from hibernation if after a long time?

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
6 posts / 0 new
Last post
yingfen
Offline
Last seen: 2 years 9 months ago
Joined: 2019-08-07 00:10
Why it cannot wake up from hibernation if after a long time?

Hi dialog,

Our chip is 14682. We are using a GPIO pin to wake up the chip from hibernation. To save power, we set the wake-up pin as input(not as other demos, set it as input_pullup). 

Our setting:

During initialization:
hw_gpio_configure_pin(WKUP_PORT, WKUP_PIN, HW_GPIO_MODE_INPUT, HW_GPIO_FUNC_GPIO, 0);
hw_wkup_init(NULL);
hw_wkup_configure_pin(WKUP_PORT, WKUP_PIN, 1, HW_WKUP_PIN_STATE_HIGH);
hw_wkup_set_debounce_time(0);

Before going to sleep:
hw_wkup_register_interrupt(wake_up_cb, 5);
pm_set_sleep_mode(pm_mode_hibernation);

We can wkup within 1-2 mins after hibernation, but if 5 mins or longer past, it cannot wake up again. We notice that V18 and V18P drops down gradually after entering hibernation. Is that the possible reason? 

We use LR44, a non-rechargeable 1.5V coin battery for all the power supply(involving regulator to convert into 1.8V). But we don't set the battery type in config(thus it should be the default setting). Is that another possible reason? If so, how should we set to ensure it can wake up even after a long time?

Thanks,

Yingfen

Device: 
MHv_Dialog
Offline
Last seen: 1 year 2 months ago
Staff
Joined: 2013-12-06 15:10
Hi Yingfen,

Hi Yingfen,

It is possible that the peak current at wake-up pulls your supply coltage down below the minimum operating voltage fo the Da1468x. I recommend that you pu a probe on the output of your boost converter to monitor the voltage during the wakeup attempt. The longer you sleep, the more current will be pulled from the boost regulator because the output rails of the DA1468x are completely discharged.

/MHv

yingfen
Offline
Last seen: 2 years 9 months ago
Joined: 2019-08-07 00:10
Hi MHv,

Hi MHv,

Thanks for your reply. I've checked the VBAT and it looks good during wake up(when it can wkup and it cannot wkup). Also, if I take out the battery and put it back again after hibernation, when it cannot wake up with GPIO input, it can still wake up using this kind of hardware reset. Does it indicate that it's not the voltage problem?

Yingfen

yingfen
Offline
Last seen: 2 years 9 months ago
Joined: 2019-08-07 00:10
I did another test using the

I did another test using the power mode test in peripherals_demo and the development board. If the VBAT is 3V, it will always work. If we take away the jumper on J13, the VBAT will be 1.8V. At the time, user button cannot wake up the chip, even though the signal on the P1.6(the pin for the user button) is low. If we short VBAT and V18 or V18P, it works again. What's the reason for it?

yingfen
Offline
Last seen: 2 years 9 months ago
Joined: 2019-08-07 00:10
Do you have any other

Do you have any other suggestions?

PM_Dialog
Offline
Last seen: 6 months 3 weeks ago
Staff
Joined: 2018-02-08 11:03
Hi yingfen,

Hi yingfen,

Do you have the BOD enabled? Please check the dg_configUSE_BOD macro. The DA14682 contains a BOD circuitry which is based on sensing selected voltages in the chip every clock cycle. If one of the voltages is found to be below the pre-configured threshold, then a HW reset is issued. Please refer to the datasheet.

In addition, how you are testing that the chip goes into hibernation? Are you measuring the current consumption? The power consumption in hibernation is around 7-9uA. Keep in mind that you should NOT have the debugger attached because the hibernation will be corrupted and as a result a cold boot will take place.

Thanks, PM_Dialog