Page 1 of 2

Validate Hibernate Mode into ESP32

Posted: Tue Dec 20, 2016 6:30 pm
by Ritesh
Hi,

There is one node called it as Hibernate Mode into ESP32 which is low power mode after deep sleep mode.
Which API is used to enter ESP32 into Hibernate mode and which API is used to come out of that mode?

Do I need to invoke any GPIO line to wake up it from hibernate mode or any RTC event need to be called to wake from hibernate mode as RTC is working in that mode as well?

Also, I think only rtc is working in that mode and all other interfaces are turned off at that time..Correct?

What is practical average power requirements in that mode?
Let me know if anyone have any information regarding above questions for hibernate mode.

Re: Validate Hibernate Mode into ESP32

Posted: Tue Dec 20, 2016 9:28 pm
by ESP_Angus
I'm not sure we specifically have anything that is called a "hibernate mode" in ESP32? Where was this mentioned?

The deep sleep modes are documented here:
http://esp-idf.readthedocs.io/en/latest ... sleep.html

Deep sleep is the closest to what would be called "hibernate" in other systems (CPU off, peripheral clocks off unless required, most RAM disabled, etc.)

The CPU also sleeps ("light sleep") when idle in esp-idf. This is automatic, if all tasks in the system are blocked then the CPU will sleep. You can use vTaskDelay() in your code in order to block a task for a fixed period, to avoid keeping the CPU running.

It's also possible to configure the WiFi in "modem sleep" mode in order to reduce consumption while using WiFi:

Code: Select all

esp_wifi_set_ps(WIFI_PS_MODEM);

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 1:07 am
by WiFive
ESP_Angus wrote:I'm not sure we specifically have anything that is called a "hibernate mode" in ESP32? Where was this mentioned?
It feels like he is bidding on commercial projects and consulting jobs on outsourcing websites then coming to the forum asking for members and staff to do the work for him because he is not qualified. Now simply copy/pasting questions from clients. I don't like it. Just my feeling/opinion, maybe not accurate.

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 3:30 am
by Ritesh
ESP_Angus wrote:I'm not sure we specifically have anything that is called a "hibernate mode" in ESP32? Where was this mentioned?

The deep sleep modes are documented here:
http://esp-idf.readthedocs.io/en/latest ... sleep.html

Deep sleep is the closest to what would be called "hibernate" in other systems (CPU off, peripheral clocks off unless required, most RAM disabled, etc.)

The CPU also sleeps ("light sleep") when idle in esp-idf. This is automatic, if all tasks in the system are blocked then the CPU will sleep. You can use vTaskDelay() in your code in order to block a task for a fixed period, to avoid keeping the CPU running.

It's also possible to configure the WiFi in "modem sleep" mode in order to reduce consumption while using WiFi:

Code: Select all

esp_wifi_set_ps(WIFI_PS_MODEM);
Hi,

Sorry for typo mistake. I am asking about Hibernation Mode in which only RTC Timer is active and some RTC related GPIOs are activer to operate RTC related functionality.
• Power mode
– Active mode: The chip radio is powered on. The chip can receive, transmit, or listen.
– Modem-sleep mode: The CPU is operational and the clock is configurable. The Wi-Fi/Bluetooth baseband
and radio are disabled.
– Light-sleep mode: The CPU is paused. The RTC and ULP-coprocessor are running. Any wake-up
events (MAC, host, RTC timer, or external interrupts) will wake up the chip.
– Deep-sleep mode: Only RTC is powered on. Wi-Fi and Bluetooth connection data are stored in RTC
memory. The ULP-coprocessor can work.
– Hibernation mode: The internal 8MHz oscillator and ULP-coprocessor are disabled. The RTC recovery
memory are power-down. Only one RTC timer on the slow clock and some RTC GPIOs are active. The
RTC timer or the RTC GPIOs can wake up the chip from the Hibernation mode.
Let me know if you need any further information from my side

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 3:36 am
by Ritesh
WiFive wrote:
ESP_Angus wrote:I'm not sure we specifically have anything that is called a "hibernate mode" in ESP32? Where was this mentioned?
It feels like he is bidding on commercial projects and consulting jobs on outsourcing websites then coming to the forum asking for members and staff to do the work for him because he is not qualified. Now simply copy/pasting questions from clients. I don't like it. Just my feeling/opinion, maybe not accurate.
No. Right Now, I have started to almost 3 projects in which we have planned to use ESP32 chip and its new compare to ESP8266 chip on which i have worked almost 6 months fully.

So, I know how ESP8266 chip is working and also worked on NONOS and RTOS SDK for ESP8266. But, recently before one month, I have started to work on ESP32 chip.

That's why i am asking some questions to get clarification of some doubts which will be more helpful to design hardware based on ESP32 chip.

Sorry for that if I have asked more questions but my intention was to clear all my doubts w.r.t. ESP32 chip and there are some many new concepts and things to be included apart from ESP8266 chip.

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 5:33 am
by ESP_Angus
WiFive, it's absolutely fine that Ritesh is asking questions here. That's what this forum is for!
Ritesh wrote:
ESP_Angus wrote: Sorry for typo mistake. I am asking about Hibernation Mode in which only RTC Timer is active and some RTC related GPIOs are activer to operate RTC related functionality.
I'm sorry, I didn't see this term had been introduced in the datasheet. In reality, the hibernation mode and deep sleep more are very similar - it just refers to which power domains are powered on during deep sleep.

The deep sleep doc explains all of the different power domains. Powering down all of these is the Hibernation Mode referred to in the datasheet.

As noted in the deep sleep doc, in the current silicon revision the RTC fast memory is never powered down during sleep so consumption will be slightly higher as a result.

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 12:37 pm
by ESP_igrr
One more note: it is possible to power down RTC fast memory (it just is kept powered on by default). If you do so with the current chip revision, it will resume from deep sleep but will experience a watchdog reset and then proceed to normal boot. This extra time spent waiting for wdt reset may cancel out the savings achieved by powering off the fast memory, depending on the duty cycle of your application.

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 5:23 pm
by Ritesh
ESP_Angus wrote:WiFive, it's absolutely fine that Ritesh is asking questions here. That's what this forum is for!
Ritesh wrote:
ESP_Angus wrote: Sorry for typo mistake. I am asking about Hibernation Mode in which only RTC Timer is active and some RTC related GPIOs are activer to operate RTC related functionality.
I'm sorry, I didn't see this term had been introduced in the datasheet. In reality, the hibernation mode and deep sleep more are very similar - it just refers to which power domains are powered on during deep sleep.

The deep sleep doc explains all of the different power domains. Powering down all of these is the Hibernation Mode referred to in the datasheet.

As noted in the deep sleep doc, in the current silicon revision the RTC fast memory is never powered down during sleep so consumption will be slightly higher as a result.
Hi,

Thanks for reply. So, it means that there is not much difference between deep sleep mode and hibernation mode as per your statement. Correct?

Also, have you checked practical power consumption into deep sleep mode with default RTC enabled with fast memory support?

Re: Validate Hibernate Mode into ESP32

Posted: Wed Dec 21, 2016 5:25 pm
by Ritesh
ESP_igrr wrote:One more note: it is possible to power down RTC fast memory (it just is kept powered on by default). If you do so with the current chip revision, it will resume from deep sleep but will experience a watchdog reset and then proceed to normal boot. This extra time spent waiting for wdt reset may cancel out the savings achieved by powering off the fast memory, depending on the duty cycle of your application.
So, it means that it's risky to power down RTC fast memory which will cause watchdog reset and module will be restarted and will come into normal boot mode.

Let me correct if I am wrong.

Re: Validate Hibernate Mode into ESP32

Posted: Fri Dec 23, 2016 2:48 am
by ry1234
ESP_igrr wrote:One more note: it is possible to power down RTC fast memory (it just is kept powered on by default). If you do so with the current chip revision, it will resume from deep sleep but will experience a watchdog reset and then proceed to normal boot. This extra time spent waiting for wdt reset may cancel out the savings achieved by powering off the fast memory, depending on the duty cycle of your application.
Hi -
Is the watchdog reset issue when waking up from hibernate mode (RTC fast mem powered down) going to be fixed in the next revision of the silicon early 2017?

Thanks