can't wake up form hibernation by VBUS_Handler

⚠️
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//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
2 posts / 0 new
Last post
魏文彬
Offline
Last seen:4 months 2 weeks ago
加入:2019-04-10 03:51
can't wake up form hibernation by VBUS_Handler

Hi DA team

In the previous post you told me "The DA14682 can wake up form hibernation via the VBUS (USB) interrupt."

But I can only wake up via the wkup button。

I plugged in the USB while sleeping and did not enter the VBUS_Handler。

I can only do the following configuration:

hw_wkup_init(NULL); hw_wkup_configure_pin(HW_GPIO_PORT_1,HW_GPIO_PIN_6, 1, HW_WKUP_PIN_STATE_LOW); hw_wkup_register_interrupt(button_interrupt_cb, 1);

and in button_interrupt_cb is:

void button_interrupt_cb(void) { hw_cmp_reboot_system(); }

Please tell me how to configure to wake up using VBUS(USB) interrupt in hibernation state.

very thanks!

Device:
PM_Dialog
Offline
Last seen:1 day 20 hours ago
工作人员
加入:2018-02-08 11:03
Hi There,

Hi There,

Apologies let me clarify my answer.

In case of extended sleep mode, DA14682 can wake-up in two ways:

  • Synchronously, from the Timer1 or the BLE timer in Extended Sleep mode only.
  • Asynchronously, from the Wake-up timer or the VBUS (USB) interrupt.

In case of hibernation mode, DA14682 can only wake-up asynchronously from the Wake-up timer.

If you would like to wake-up the DA14682 with VBUS (USB) interrupt, a possible solution would be to use the VBUS to trigger GPIO by dividing VBUS with pull-up resistor and connecting GPIO with pull-down setting. The VBUS plugin could wakeup the system is by generating RST pulse when VBUS plugs in. Any GPIO can be used to wake the chip from hibernation. Another possible solution would be to use a C-R circuit in the VBUS line, that circuit generates a pulse that was applied to the RST pin. The same can be used for a GPIO.

Thanks, PM_Dialog