PSRAM
此组件在 ESP32 模块/开发板上启用并配置 PSRAM(如果可用)。某些组件需要 PSRAM,而其他组件可能为可选功能使用它。无论如何, 都需要显式配置它——这与以前版本的 ESPHome 不同。
PSRAM 在 ESP32 以外的平台上不可用。
# 示例配置条目psram: mode: octal speed: 80MHz-
mode (可选): 定义 PSRAM 应使用的运行模式。为
quad、octal或hex之一。 对于 ESP32、ESP32-C5、ESP32-C61、ESP32-S2 和 ESP32-H4 默认为quad,对于 ESP32-S31 默认为octal,对于 ESP32-P4 默认为hex。ESP32-S3 没有默认值,必须设置此选项。 参见下面的说明。 -
speed (可选, int): PSRAM 应运行的速度。支持的值取决于变体: 对于 ESP32、ESP32-C5、ESP32-S2 和 ESP32-S3 为
40MHz、80MHz或120MHz;对于 ESP32-S31 为40MHz、100MHz、200MHz或250MHz; 对于 ESP32-H4 为32MHz或64MHz;对于 ESP32-P4 为20MHz、100MHz或200MHz。默认为该变体支持的最低速度。 -
enable_ecc (可选, bool): 对于 octal 模式,为 PSRAM 启用 ECC(纠错码)(默认关闭)。 ECC 是一种检测和纠正内存中单位错误的方法。它会将可用的 PSRAM 大小和速度减少 1/16,但也会提高某些 ESP32 模块的额定温度范围。
-
disabled (可选, bool): 不要尝试初始化 PSRAM。如果某个配置的组件自动加载 psram, 但 ESP32 模块没有 PSRAM,并且你需要将一条 PSRAM 控制线用于其他用途(例如 ethernet),则需要此选项。默认为
false。 -
ignore_not_found (可选, bool): 当为
true(默认)时,固件会忽略 PSRAM 初始化失败并继续启动。 当为false时,其他组件可以配置更大的 WiFi 缓冲区以加快数据传输,但必须要有 PSRAM,否则设备将 无法启动。
ESP32、ESP32-C5、ESP32-C61、ESP32-S2 和 ESP32-H4 的 PSRAM 仅提供 quad 模式,ESP32-S31 仅支持 octal 模式,而 ESP32-P4 仅
支持 hex 模式。这些就是使用这些变体时的默认值。对于 ESP32-S3,mode 选项是必需的,必须设置为 quad 或 octal。
通常,在 ESP32-S3 模块上,2MB PSRAM 使用 quad 模式,而 8 或 16MB 使用 octal 模式,但请查看
你所使用模块的数据手册以确认。
WARNING
如果你为你的开发板选择了错误的模式,PSRAM 将无法工作。
- 并非所有 ESP32 模块都有 PSRAM。如果你不确定,请查阅你模块的数据手册。
- 并非所有模块都支持所有模式和速度。
- 120MHz 在 octal 模式下不可用,除非使用 ESP-IDF 并在 ESP-IDF 平台的高级配置
中启用了
enable_idf_experimental_features。 - 配置不支持的速度通常会导致 PSRAM 以默认速度运行。