Перейти к содержанию

LP-ядро (LP CPU)

Чтобы устройство на батарейке могло опрашивать датчики, не просыпаясь целиком, в новых ESP32 есть второй, маленький процессор — LP-ядро. Он работает в глубоком сне, когда основное ядро выключено, и будит его только когда нужно.

Обновлено Редакция GAW

LP-ядро (LP CPU, low-power CPU) — второй, малопотребляющий процессор в чипах ESP32-C5 и ESP32-C6. В отличие от основного (HP) ядра, оно остаётся включённым в глубоком сне и может работать само, пока основное ядро и большая часть чипа выключены. По даташиту ESP32-C6 именно LP-ядро позволяет чипу работать в глубоком сне, когда большинство доменов питания выключено.

ЧипОсновное ядроLP-ядроLP-память
ESP32-C6RISC-V до 160 МГцRV32IMAC до 20 МГц16 КБ LP SRAM
ESP32-C5RISC-V до 240 МГцRV32IMAC до 48 МГцLP-память

Что умеет. LP-ядро работает с выводами LP — у ESP32-C6 это GPIO0–7, к которым подключены ещё LP UART и LP I²C, — с LP-периферией и таймерами RTC. Оно может прервать и разбудить основное ядро. Например, LP-ядро может опрашивать датчик и будить основное ядро только при выходе показаний за порог.

Запуск. По даташиту ESP32-C5 LP-ядро запускает основной процессор, собственный таймер или сигнал на выводе LP. Программа хранится в LP-памяти, которая сохраняется во сне.

Предшественник. У классического ESP32, ESP32-S2 и S3 ту же задачу решает ULP-сопроцессор. Режимы сна и способы пробуждения — в статье «Глубокий сон ESP32» и в термине «Спящий режим».

Частые вопросы

Что такое LP-ядро в ESP32-C6?

Второй процессор RISC-V с низким потреблением. Основное ядро ESP32-C6 работает до 160 МГц, а LP-ядро — до 20 МГц, зато оно остаётся включённым в глубоком сне, когда основное выключено. Оно может опрашивать датчики через выводы LP и будить основное ядро, когда есть что обработать.

Чем LP-ядро отличается от ULP-сопроцессора?

Назначение похожее — работа во сне вместо основного процессора. У классического ESP32, S2 и S3 для этого есть ULP-сопроцессор, а в ESP32-C5 и C6 — LP-ядро: полноценный процессор RISC-V с набором команд RV32IMAC, своей памятью LP SRAM и доступом ко всей периферии.

Где хранится программа LP-ядра?

В LP-памяти, которая не выключается в глубоком сне: у ESP32-C6 это 16 КБ LP SRAM. По даташиту ESP32-C5 программа LP-ядра работает с выводами LP, LP-периферией и таймерами RTC, а запустить ядро может основной процессор, собственный таймер или сигнал на выводе LP.

Источники

  1. Espressif. ESP32-C6 Series Datasheet v1.5 — разд. 4.1.1.3 — LP CPU: 32-битный RISC-V RV32IMAC, двухстадийный конвейер до 20 МГц, остаётся включённым в глубоком сне при выключенном HP CPU, может разбудить HP CPU и прервать его, доступ к памяти HP и LP и ко всей периферии, отладка по JTAG/USB; разд. «Особенности» — LP SRAM 16 КБ; разд. 2.3.2 — выводы LP_GPIO0–7 подключены к LP CPU; разд. 4.1.3.7 — благодаря LP CPU чип работает в глубоком сне с выключенными доменами питания
  2. Espressif. ESP32-C5 Series Datasheet v1.5 — разд. 4.1.1.3 — LP CPU: RV32IMAC до 48 МГц, упрощённая малопотребляющая замена HP CPU в режимах сна, может дополнять HP CPU в рабочем режиме; LP CPU и LP-память остаются включёнными в глубоком сне, программа для LP CPU хранится в LP-памяти и работает с LP IO, LP-периферией и таймерами RTC; запуск — процессором, своим таймером или по LP IO

Нашли ошибку?