• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32C3 заглушка DeepSleep перестала исполняться

nikolz

Well-known member
в этой картинке влияет вывод на печать так как его там много да еще и задержка добавлена.
Но влияет опять же через раз.
 

nikolz

Well-known member
разобрался.
не та в моем тесте была функция перехода в сон.
-----------------
Осталось только два вопроса:
что в чипе потребляет 5.5 мА
и как это что-то выключить как можно раньше в заглушке.
 

pvvx

Активный участник сообщества
Минимальный deep-sleep c заглушками. s_max_count = 5, sleep time = 10 ms:
1748523962484.png
Всё те-же 13..14 ms (минимум):
1748523978243.png
Время сна не ровно 10 ms, как не измеряй, а кратно наверно RC гену...
1748523985529.png
Хвосты, выращенные ещё при первых тестах ESP32-C3, безусловно есть и никаких десяток нА в deep-sleep от этого не выходит :p
1748524417017.png
(график выведен не с начала включения deep-sleep - иначе в данном PPK2 от nRF не увидеть к чему стремиться ток)
 

pvvx

Активный участник сообщества
И там кошмарный обычный выход из deep-sleep, в коде которого кроме нового засыпания ничего нет (всё вырезано):
1748524716430.png
Где-то в конце 60 ms может быть ваш код, который будет исполняться медленнее чем на MCU из прошлого века...
 

pvvx

Активный участник сообщества
Если уточнять, то через 62.8 ms после старта пробуждения чипа от deep-sleep:
1748525569324.png
Т.е. не опередил ESP8266 c Rapid-loader.
Можно ещё отключить всякие проверки контроля загрузчика, но это всё равно не спасет ESP32-xx от помойки.
 

pvvx

Активный участник сообщества
Берем ESP32-C3 и пусть вечно ничего не делает, а пробуждается каждые 2.5 секунды в своем экстремальном режиме, где всё отключено, включая GPIO, а размер RTC RAM не позволяет вместить что-то более менее работоспособное кроме счета пробуждений...

Ток в deep-sleep возьмем из дока = 5 uA (пофиг, что он там занижен и не учитывает хвосты, снят при заниженном напряжении питания, и прочее потребление компонентов реальной схемы).

Считаем среднее потребление с паузой между пробуждениями в 2.5 секунды: (13*7+2500*0.005)/2513 = 0.0412 mA, т.е. не менее 41.2 uA

Для сравнения возьмем дешевый чип от WCH, или PHY, или TLSR, или NRF, или … который будет работать с пару датчиками и отсылать BLE рекламу каждые 2.5 секунды.

Это типа период активности с передачей по 3-м каналам в 4..6 ms и средним током в 4..6 мА, а в sleep 1..3 uA вместе с датчиками:

(5*5+2500*0.002)/2505 = 0.012 mA, т.е. в среднем по больнице таких чипов это 7..14 uA

По скорости обработки кода после deep-sleep, с пустой незаполненной кэш у них либо паритет c любым ESPxx-xxx или в разы быстрее, т.к. тупая BLE/Zigbee программа с датчиками полностью влезает в RAM, а RAM не отключается во время sleep.

Про остальные режимы, типа Zigbee роутера или BLE приемника с ESP32-xxx лучше ничего не сравнивать, а то станет совсем тошно.
 
Сверху Снизу