Validate Hibernate Mode into ESP32

Ritesh
Posts: 1365
Joined: Tue Sep 06, 2016 9:37 am
Location: India
Contact:

Validate Hibernate Mode into ESP32

Postby Ritesh » Tue Dec 20, 2016 6:30 pm

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.
Regards,
Ritesh Prajapati

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Validate Hibernate Mode into ESP32

Postby ESP_Angus » Tue Dec 20, 2016 9:28 pm

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);

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: Validate Hibernate Mode into ESP32

Postby WiFive » Wed Dec 21, 2016 1:07 am

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.

Ritesh
Posts: 1365
Joined: Tue Sep 06, 2016 9:37 am
Location: India
Contact:

Re: Validate Hibernate Mode into ESP32

Postby Ritesh » Wed Dec 21, 2016 3:30 am

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
Regards,
Ritesh Prajapati

Ritesh
Posts: 1365
Joined: Tue Sep 06, 2016 9:37 am
Location: India
Contact:

Re: Validate Hibernate Mode into ESP32

Postby Ritesh » Wed Dec 21, 2016 3:36 am

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.
Regards,
Ritesh Prajapati

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Validate Hibernate Mode into ESP32

Postby ESP_Angus » Wed Dec 21, 2016 5:33 am

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.

ESP_igrr
Posts: 2067
Joined: Tue Dec 01, 2015 8:37 am

Re: Validate Hibernate Mode into ESP32

Postby ESP_igrr » Wed Dec 21, 2016 12:37 pm

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.

Ritesh
Posts: 1365
Joined: Tue Sep 06, 2016 9:37 am
Location: India
Contact:

Re: Validate Hibernate Mode into ESP32

Postby Ritesh » Wed Dec 21, 2016 5:23 pm

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?
Regards,
Ritesh Prajapati

Ritesh
Posts: 1365
Joined: Tue Sep 06, 2016 9:37 am
Location: India
Contact:

Re: Validate Hibernate Mode into ESP32

Postby Ritesh » Wed Dec 21, 2016 5:25 pm

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.
Regards,
Ritesh Prajapati

ry1234
Posts: 9
Joined: Sun Dec 18, 2016 6:15 pm

Re: Validate Hibernate Mode into ESP32

Postby ry1234 » Fri Dec 23, 2016 2:48 am

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

Who is online

Users browsing this forum: FrankJensen and 114 guests