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

PSRAM

Встроенной оперативной памяти микроконтроллера бывает мало для изображений, звука и сетевых буферов. PSRAM добавляет мегабайты памяти через ту же быструю шину SPI, что и флеш-память, но занимает выводы.

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

PSRAM (pseudo-static RAM, псевдостатическая память) — микросхема оперативной памяти, которую микроконтроллер подключает по быстрой последовательной шине, обычно той же, что и флеш-память. Она добавляет мегабайты памяти там, где встроенной SRAM не хватает: для кадров дисплея и камеры, звуковых буферов, сетевых стеков.

ESP32-S3. По даташиту Espressif PSRAM бывает прямо в корпусе чипа:

ВариантPSRAMШина
ESP32-S3RH22 МБQuad SPI
ESP32-S3R88 МБOctal SPI
ESP32-S3R16V16 МБOctal SPI, питание памяти 1,8 В
ESP32-S3FH4R22 МБ и флеш 4 МБQuad SPI

В модулях объём обозначают буквами: N8R8 — 8 МБ флеш-памяти и 8 МБ PSRAM.

Выводы. Флеш-память и PSRAM делят шину SPI0/1 — выводы SPICLK, SPIQ, SPID, SPIHD, SPIWP, а у PSRAM свой выбор кристалла SPICS1. Режим Octal SPI добавляет ещё пять выводов: GPIO33–GPIO36 — линии данных DQ4–DQ7, GPIO37 — строб DQS. Поэтому у модулей ESP32-S3-WROOM-1 с октальной PSRAM выводы GPIO35–37 заняты — на это обращают внимание на платах вроде ESP32-S3-DevKitC-1. По даташиту выводы памяти в корпусе нельзя использовать ни для чего другого.

Температура. У октальной PSRAM ESP32-S3 рабочая температура до 65 °C; если включить коррекцию ошибок ECC, она растёт до 85 °C, но доступный объём уменьшается на 1/16.

RP2350. У RP2350 PSRAM нет в корпусе, но шина QSPI поддерживает второе устройство: функция QMI CS1n на GPIO0, GPIO8 или GPIO19 даёт второй выбор кристалла для ещё одной микросхемы флеш-памяти или PSRAM, из которой можно исполнять код — XIP.

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

Что такое PSRAM у ESP32-S3?

Дополнительная оперативная память, подключённая к той же шине SPI, что и флеш-память. По даташиту Espressif её встраивают прямо в корпус чипа: 2 МБ Quad SPI у ESP32-S3RH2, 8 МБ Octal SPI у ESP32-S3R8, 16 МБ Octal SPI у ESP32-S3R16V. В модулях её объём обозначают буквой R: N8R8 — 8 МБ флеш и 8 МБ PSRAM.

Почему на плате с ESP32-S3 нельзя использовать GPIO35–37?

Если в модуле октальная PSRAM, режим Octal SPI занимает ещё пять выводов — GPIO33–GPIO37, четыре линии данных и строб DQS. GPIO33 и GPIO34 модуль ESP32-S3-WROOM-1 наружу не выводит, а GPIO35–37 выводит, но у модулей с октальной PSRAM они заняты памятью.

Чем Quad SPI PSRAM отличается от Octal SPI?

Числом линий данных: у Quad SPI их четыре, у Octal SPI — восемь плюс строб, поэтому октальная память быстрее, но занимает больше выводов. По таблице выводов даташита ESP32-S3 для Octal SPI к шести основным выводам памяти добавляются GPIO33–GPIO37.

Источники

  1. Espressif. ESP32-S3 Series Datasheet v2.2 — табл. 1-1 — варианты с PSRAM в корпусе: ESP32-S3RH2 — 2 МБ Quad SPI, ESP32-S3R8 — 8 МБ Octal SPI, ESP32-S3R16V — 16 МБ Octal SPI при VDD_SPI 1,8 В, ESP32-S3FH4R2 — флеш 4 МБ и PSRAM 2 МБ Quad SPI; у октальной PSRAM с ECC максимальная температура 85 °C, но доступный объём меньше на 1/16; табл. 2-14 — выводы для флеш-памяти и PSRAM: SPICS1 — CE# PSRAM, в режиме Octal SPI ещё GPIO33–GPIO37 (DQ4–DQ7, DQS); выводы памяти в корпусе нельзя использовать для другого
  2. Espressif. ESP32-S3-WROOM-1 & ESP32-S3-WROOM-1U Datasheet v1.8 — варианты модулей N4R8, N8R8, N16R8 — флеш Quad SPI и PSRAM 8 МБ Octal SPI; у модулей с октальной PSRAM выводы IO35–IO37 заняты
  3. Raspberry Pi. RP2350 Datasheet — табл. 3 — QMI CS1n на GPIO0, GPIO8, GPIO19: вспомогательный выбор кристалла шины QSPI для второй микросхемы флеш-памяти или PSRAM с исполнением на месте

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