跳转到内容

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 以默认速度运行。