Ви можете бути знайомі з подвійними ядрами Xtensa у вашому ESP32, які розподіляють код ініціалізації та фонову активність між ними. Проте більшість людей не знають про окремий співпроцесор, прихований у штампі. Цей одноядерний співпроцесор із наднизьким енергоспоживанням (ULP) не активний, навіть коли головний процесор переходить у режим сну. Ви помічаєте це лише тоді, коли вам це потрібно, тому в більшості проектів на нього не звертають уваги.
Однак це може зберегти ваш проект живим протягом тривалого часу. Якщо вам не потрібен головний процесор для регулярного виконання важких завдань, ULP стає зіркою шоу та підтримує роботу, споживаючи енергію.
Співпроцесор ULP є частиною мікросхеми, яка ніколи не спить повністю
Це не зовсім те, що ви хочете, але те, що вам потрібно
Третє ядро вашого ESP32 не даремно називається «ULP». Його цілковита мета полягає в тому, щоб запобігти роботі будь-чого іншого на дошці, коли вона не активна. Коли ваш ESP32 переходить у глибокий сон, основний двоядерний процесор і більшість пам’яті вимикаються. ULP вільний від цього глибокого сну, оскільки він працює в домені живлення плати годинника реального часу (RTC) і споживає мінімальну потужність.
Що стосується доступу до пам’яті, він використовує невелику виділену частину повільної пам’яті RTC, зазвичай 8 КБ на класичному ESP32, для зберігання програмних інструкцій і даних журналу, необхідних для виконання простих завдань, для яких він був розроблений. Наприклад, головний процесор ESP32 споживає близько 240 мА (або більше) під час активного виконання, тоді як ULP споживає близько 200 мА, що на кілька порядків нижче. Він навіть падає до 10 мкА в режимі глибокого сну.
Він невеликий, але виконує важливі функції, економлячи заряд акумулятора
Без ULP ваш проект довго не працюватиме від акумулятора
ULP не є заміною для основних ядер ЦП. Він призначений для виконання вузького набору завдань, які не під силу головному процесору, принаймні, якщо ви хочете зберегти батарею. Більшість проектів, заснованих на датчиках, витрачають більшу частину часу на одну справу — перевіряють температуру, яка не змінилася, кнопку, яку ще не натиснули, або рівень води, який не змінився.
Виконання цих завдань на двоядерному процесорі є марною тратою в проекті, що працює від батареї. ULP призначений для моніторингу датчиків, отримання показань АЦП, опитування контактів GPIO та перевірки, чи значення перетнуло порогове значення. Коли вашому пристрою потрібно виконати реальні завдання, такі як підключення до Wi-Fi, обробка даних або керування розподілом пам’яті, ULP активує головний ЦП.
ULP оптимізує час роботи батареї, отримуючи резервне та економічно ефективне тестування, тоді як потужна частина чіпа прокидається лише тоді, коли це дійсно необхідно.
Більшість людей забувають про його існування, поки він дійсно не знадобиться проекту
Він може літати під радаром
Якщо вашому проекту ESP32 не потрібна оптимізація глибокого сну, йому взагалі не потрібно використовувати співпроцесор ULP. Лише коли вам потрібно, щоб ваш пристрій працював місяцями від маленького акумулятора, ви будуєте його на основі ULP. Датчик вологості ґрунту у вашому саду, дистанційний датчик температури або детектор витоку під раковиною можуть працювати багато років, тому що основний чіп часто повністю вимкнений.
ULP виходить з режиму сну для періодичного опитування, значно зберігаючи заряд батареї. Використовуючи пам’ять RTC, він зберігає результати, які головний процесор повинен прочитати після того, як він виходить з режиму сну. ULP виникає, коли люди розуміють, що їхній чіп весь час мав процесор і чекав на проект, який зможе його використовувати. Він має реальні апаратні обмеження, але це задумом. ULP ніколи не був призначений для виконання більш ніж простих завдань з низьким енергоспоживанням, і він справляється з цим ідеально.
- Бренд
-
ATRIP
- Особливості підключення
-
UART, USB
ESP32 — це фантастична плата розробки, яка поєднує в собі надійні функції за доступною ціною. Незважаючи на те, що він дешевший за Arduino та Raspberry Pi Pico, він перевершує більшість своїх конкурентів. Більш того, ESP32 навіть має функції Wi-Fi і Bluetooth, вбудовані в кожну плату, що робить його чудовим для проектів, де ви не можете тримати мікроконтролер підключеним до комп’ютера весь час.
Ваш ESP32 може працювати довше, ніж ви думаєте
Якщо вашому проекту не завжди потрібен Wi-Fi або Bluetooth, або ви часто виконуєте обчислення, ви можете використовувати процесор ULP, щоб максимізувати час роботи акумулятора. Це додаткове ядро може працювати на низьких рівнях потужності та підтримувати ваш проект. Це дозволяє вашому головному чіпу переходити в глибокий сон, поки він працює безшумно у фоновому режимі.