• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Демагогия от pvvx

=AK=

New member
Признаком того, что CPU проснулся является сообщение на терминал: ets_main.c
--------------------------------------

Таким образом, если как-то (пока не знаю как) удалось бы прицепиться к этому сообщению,
то можно продолжить работу ESP с того места, откуда заснули.
Все определяется свойствами самого процессора. Надо точно знать, что происходит при выполнении DeepSleep. Вариантов может быть много, в частности:
- Процессор выполняет команду Sleep, чем отрубает питание от (почти всех) периферийных блоков и от всей памяти и полностью теряет весь контекст. Это самый вероятный вариант. В таком варианте пробудить его можно только сбросом, а после пробуждения полностью восстановить контекст очень трудно; это невозможно сделать без внешней памяти и тяжелых процедур сохранения/восстановления контекста.
- Процессор выполняет команду Sleep, при этом базовый контекст сохраняется в регистрах и (хотя бы части) памяти. После прерывания он автоматически восстанавливает контекст и продолжает выполнение команды, следующей за Sleep. Я о-о-чень сильно сомневаюсь, что команда Sleep в ESP обладает такими свойствами.
 

=AK=

New member
Так как питание сохранено, то и сохранено содержимое памяти
А вот этого априори знать невозможно. Несмотря на то, что чип сохранил питание, он перед сном может выборочно отключать питание от любого периферийного блока и любой (или всей) памяти. Для получения малого потребления память как правило обесточивают, особенно если она мало-мальски скоростная. Я практически уверен, что перед сном ESP отрубает питание своей памяти и оставляет запитанным только RTC. Просто за счет того, что чипу требуется быстродействие, его кремний настолько прожорлив, что даже гольный RTC потребляет 20 мкА. А уж RAM миллиамперы сосет даже в статике, без обращений к ней.
 
Очень может быть. Цифры выглядят реалистично для современного уровня технологии, учитывая объем и скорость обращения к RAM.
Да неужели? А почему у других процессоров при уходе в sleep потребление микроамперы, и содержимое RAM никуда не девается? RAM-то набортная статическая везде.
 

=AK=

New member
Да неужели? А почему у других процессоров при уходе в sleep потребление микроамперы, и содержимое RAM никуда не девается?
Угу. Потому что их кремний сделан по другому. Он потребляет мало, зато в принципе не способен обеспечить работу с WiFi хотя бы на 2.4 ГГц.
 

pvvx

Активный участник сообщества
Есть желание сделать выход из режима сна без рестарта ESP.
...
Если не соединять вывод GPIo16 с RESET, то происходит выход из deep-sleep и без рестарта, так как рестар вызывает импульс с GPIO16 на RESET.
Без включенного внутреннего LDO в чипе на 1.1В IRAM память (SDRAM) стирается. При переходе в deep_sleep LDO отключается (тут надо уточнять - может и не всё отключает, может их два, т.к. остается запитанным псевдо RTC с псевдо EEPROM).
Соответственно ваш код не может быть запущен и старая метка перехода в IRAM у загрузчика в ROM тоже стерта.
При включении поддержки питания SDRAM + генератора кварца и выходят ваши мА.
Без включенного LDO (а он походу отключается и по CH_EN) в чипе стирается и область названная RTC памятью (уточняйте - забыл уже, помню только, что проверял три года назад это...). Внешний вывод питания "EEPROM" у чипа есть, но не выведен на модулях. Как запитать этот кусок памяти из вне и сколько он жрет описывал и вы знаете.
 
Последнее редактирование:
Угу. Потому что их кремний сделан по другому. Он потребляет мало, зато в принципе не способен обеспечить работу с WiFi хотя бы на 2.4 ГГц.
У других (СС3220) получается существенно меньше. И работу на 2.4GHz обеспечивает.
  • Low-Power Deep Sleep (LPDS): 135 µA (Measured on CC3220R, CC3220S, and CC3220SF With 256-KB RAM Retention)
 

pvvx

Активный участник сообщества
У других (СС3220) получается существенно меньше. И работу на 2.4GHz обеспечивает.
  • Low-Power Deep Sleep (LPDS): 135 µA (Measured on CC3220R, CC3220S, and CC3220SF With 256-KB RAM Retention)
Память SDRAM жрет на утечках. В основном жрет сам LDO.
У ESP внутреннее питание 1.1В. Токи там до 300 мА. Стабилизатор на диапазон 1 мкА...300 мА не может ничего не жрать. Жрет достаточно, не менее дцать мкА, чтобы стабилизировать это питание на уровне в проценты...
Но ещё больше жрет генератор кварца - там показатели в единицы мА. Если генератор отключен - то чип имеет только утечки и жручку от LDO.
Некоторые чипы не имеют LDO... или имеют раздельные ключи управления питанием поблочно. Обычно это называется PMU. В ESP8266 блок PMU отсутствует. Включение блоков осуществляется включением на них CLK в коммутаторе.
Отдельный кусок чипа названный RTC (коим не является) имеет свой низкочастотный RC генератор и таймер. Он остается рабочим в режиме deep_sleep.
 
Последнее редактирование:
Память SDRAM жрет на утечках. В основном жрет сам LDO.
У ESP внутреннее питание 1.1В. Токи там до 300 мА. Стабилизатор на диапазон 1 мкА...300 мА не может ничего не жрать. Жрет достаточно, не менее дцать мкА, чтобы стабилизировать это питание на уровне в проценты...
Но ещё больше жрет генератор кварца - там показатели в единицы мА. Если генератор отключен - то чип имеет только утечки и жручку от LDO.
Некоторые чипы не имеют LDO... или имеют раздельные ключи управления питанием поблочно. Обычно это называется PMU. В ESP8266 блок PMU отсутствует.
Ядро СС3220 тоже не от 3V питается... ESP явно не для микропотреблений сделан.
 

pvvx

Активный участник сообщества
Ядро СС3220 тоже не от 3V питается... ESP явно не для микропотреблений сделан.
Ну у ESP8266 нет возможности выбора тактирования ядра CPU от низкочастотного RC генератора, при выключенном кварцевом. Минимальная частота тактирования там от PLL, которая идет от блока кварцевого генератора... А это на MHz всегда жрет и порядок объявлен ~ 2 мА :)
Во всяком случае описания как это сделать не дано, если оно и есть в чипе.
По этому глупые домыслы о технологиях самого чипа .... :) :)
Технологии изготовления (микроны) не дают разницы в потреблении на порядки.
Тем более, как выяснено из практики, тактирование шин CPU и части периферии производится на частоте от кварца. Без тактирования не работает и GPIO блок.

Выдумки Nikolz осуществить без внешнего MCU невозможно. При sleep, отключенном CPU (deep-sleep/простой sleep), никакие прерывания (и отключены таймеры) не отрабатываются и анализировать внешние события невозможно. Когда включен CPU и сидит на команде ожидания прерывания (для уменьшения потребления, встроенная в основной цикл вечно исполняемой процедуры ets_run() в ROM) - тогда прерывания доступны, но в данном виде ESP8266 жрет много мА. Функции sleep и пробуждения из неё по пину GPIO2 встроены в ROM, но из-за остаточного потребления в данном sleep к 5 мА не используются. Возможно понизив частоту в PLL можно немного уменьшить потребление данного CPU на
asm volatile ("waiti 0;"); // Wait for Interrupt
 
Последнее редактирование:

pvvx

Активный участник сообщества
А уж RAM миллиамперы сосет даже в статике, без обращений к ней.
Сложно проверить? Отключите с чипа кварц на ходу и измерьте.
SDRAM на 2 МБайта 100MHz встроенная в RTL серии "A", при регенерации то, жрет те-же 2 мА, а технологии там схожие, да напряжение питания у CPU и потрахов больше...
 
Последнее редактирование:
Ну так он и стоит на порядок дороже.
Ну не на порядок, но раза в три да. Готовые модули да, где-то почти на порядок дороже. Но что-то мне подсказывает, что после игры с ESP, и, может быть, с RTL8710, таки придется для industrial использовать именно это. Бытовуху можно и на ESP.
 

pvvx

Активный участник сообщества
asm volatile ("waiti 0;");дает минимум 6 ма.
Если отключить CPU и оставить прерывания то в два раза меньше.
Нет смысла. Зачем остановленный CPU при невозможности воспринимать внешние события (сигналы на GPIO и интерфейсы)?
Типа замена резистора в питание - чтобы жрало? :)
можете развить свою мысль как с внешним MCU сделать выход из deep-sleep без рестарта?
Это достаточно сложно. Без внешнего MCU не реализуемо, т.к. надо управлять состоянием GPIO отвечающих за загрузку. А вы в других MCU не сильны и всегда отказывались..

голый чип ESP стоит 60 центов. да и плату для него сделать значительно проще чем для CC3320, а написание программ еще на порядок проще.
На ARM большей части программистов проще, т.к. есть масса наработок и куча ПО. Вы судите только по своим ограниченным общением с ESP8266 знаниям.
RDA чипы дешевле, но имеют более современную начинку - больше RAM и есть USB2.0 встроенный контроллер... Готовое ПО присутствует, чипы прошли несколько ревизий...
ESP работает надежно , поэтому для массового тиража вне конкуренции по конечной цене изделия.
Не имеет BOR, большое колл-во ошибок в ROM, требуется дорогая и большая Flash (от 1 мегабайта, для аналогов достаточно 256 килобайт), глюки в закрытой части ПО, куда исправления не поставить, полное отсутствие свободных GPIO не влияющих на тип загрузки, нет многих нужных современных интерфейсов, ... Это ему и мешает выйти на рынок каких-либо изделий кроме китайского али.
Та-же участь и у ESP-32, если не исправят множественные баги чипа и код в ROM. Задача исправления дешева, т.к. баги уже известны и локализация их не сложна в чипе...
 
Последнее редактирование:
Голый чип СС3320 в Маузере стоит десять баксов поштучно. А собранный модуль ESP-12F на Али всего $1.70, да еще и с бесплатной доставкой.
На сайте TI $4.99@1k, модули от AI-THINKER мы где-то чуть меньше $2 покупали, но вот стабильность их вызывает огромные сомнения, а качество софта просто удручает. Это в приложениях, где потребляемая мощность меня вообще не интересует. Но есть и те, где это важно.
 

pvvx

Активный участник сообщества
На сайте TI $4.99@1k, модули от AI-THINKER мы где-то чуть меньше $2 покупали, но вот стабильность их вызывает огромные сомнения, а качество софта просто удручает. Это в приложениях, где потребляемая мощность меня вообще не интересует. Но есть и те, где это важно.
Чипы с закрытым наглухо софтом не интересуют даже мелко-серийников. Большим конторам проще заказать свой SoC. Ниша для камней TI на рынка мала. Для ESP вообще нет таковой, ну кроме тусующихся здесь нескольких десятков человек. Это уровень до тысяч покупок ESP в год на Россию в пике :) По определению от Nikolz - это 0.8*1000 = 800 $ годового оборота :) :)
Тут и вопрос - какая нафиг ревизия у ESP чипов, если контора их выпускающая не имеет бабок вообще?
Большая часть софта у них - сторонняя - от энтузиастов :) и цельнотянутая.
Ни один из крупных объединений-производителей электронных модулей не выпусти ни одного модуля с ESP. Только конторы, окучивающие сегмент DIY.
 
Последнее редактирование:
Чипы с закрытым наглухо софтом не интересуют даже мелко-серийников. Большим конторам проще заказать свой SoC. Ниша для камней TI на рынка мала. Для ESP вообще нет таковой, ну кроме тусующихся здесь нескольких десятков человек. Это уровень до тысяч покупок ESP в год на Россию в пике :) По определению от Nikolz - это 0.8*1000 = 800 $ годового оборота :) :)
Поговаривают, не знаю правда ли, что TI закрывает свое направление WiFi SoC, не может конкурировать с китайцами, которым, опять же поговаривают, правительство доплачивает, чтобы они демпинговали. При этом какие закладки есть в этих IoT, и что они начнут делать, будучи выставленными в интернет, знает только китайский КГБ. Во всяком случае, так говорят авторизованные продавцы TI, может просто оправдываются за цены.
 

pvvx

Активный участник сообщества
Поговаривают, не знаю правда ли, что TI закрывает свое направление WiFi SoC, не может конкурировать с китайцами, которым, опять же поговаривают, правительство доплачивает, чтобы они демпинговали. При этом какие закладки есть в этих IoT, и что они начнут делать, будучи выставленными в интернет, знает только китайский КГБ. Во всяком случае, так говорят авторизованные продавцы TI, может просто оправдываются за цены.
Ну это история, касаемо наших мелких WiFi-SoC (!), имеет ноги от RDA. Там до сих пор не ясно, пиар ли был, или действительно у них был заказ на 6 лимонов чипов... Но весь крупняк в данной сфере, мелких чипов для IoT с WiFi склонился к передаче разработок мелким контрам, т.к. им невыгодно и хлопотно это дело. Когда разовьются - купят с потрохами... Я вот не знаю даже, но похоже Realtek продал разработку MXCHIP, т.к. на модулях EMW3080 стоят RTL8710BN, перемаркированные на MXCHIP.
Samsung место в данной сфере тоже застолбил, но кроме рекламы за год никаких движений. :)
 
Последнее редактирование:
Сверху Снизу