
[Потрібна допомога] Waveshare ESP32-S3-AUDIO-BOARD: збої холодного запуску ES7210 (мікрофон) та LED (TCA9555)
https://ift.tt/6jkFPZH
Г hardware: * Плата: Waveshare ESP32-S3-AUDIO-Board (Dual Mic Array)
- Аудіопроцес: ES7210 (ADC) + ES8311 (DAC) + TCA9555 (I/O Expander)
- Середовище: ESP-IDF / Arduino (I2C SDA=10, SCL=11)
Опис проблеми: У мене стабільно виникає збій ініціалізації після холодного енергопостачання. Якщо спочатку прошити офіційну прошивку Waveshare, а потім робити теплий перезапуск у мою збірку, мікрофони та LED працюють ідеально. Однак якщо від’єднати живлення й завантажити безпосередньо мою збірку, плата лишається «мертвою»; зелений та кільцевий LED не світяться, ES7210 мовчить/повертає нулі.
Докази (вивантаження регістрів): Я зробив зняття регістрів з робочого стану (після офіційної прошивки) порівняно із збійним станом (після холодного старту).
1. TCA9555 (адреса 0x20) – керування живленням/LED:
- Теплий (робочий):Reg 0x06:
0x9C| Reg 0x02:0xFF - Холодний (збій):Reg 0x06:
0xFF| Reg 0x02:0xFF - Спостереження: Після холодного завантаження Expander залишаєтья у дефолтному режимі «Вхід» (
0xFF), тобто увімкнення живлення підсилювача (PA_EN) та піни скидання кодеку можуть бути вільно плаваючими або заземленими.
2. ES7210 (адреса 0x40) – мікрофонний ADC:
- Теплий (робочий): Reg 0x00:
0x41| Reg 0x02:0xC1 - Холодний (збій): Reg 0x00:
0x32| Reg 0x02:0x02
Що я пробував:
- IC-реплікація I2C: Спробував вручну записати «теплі» значення регістрів (
0x9Cдо0x06на0x20тощо) на самому початкуsetup(). - Таймінг: Додав затримки до 1000 мс, щоб дати стабілізацію живлення перед ініціалізацією I2C.
- Сигнали тактовки: Ініціалізував драйвер I2S спочатку, щоб забезпечити активність MCLK (GPIO 12) перед відправкою I2C-команд ES7210.
Проблема: Попри повторний запис цих регістрів, LED не вмикаються, а мікрофони не фіксують звук після живлення. Виглядає так, ніби TCA9555 не приймає конфігурацію або існує прихована залежність від послідовності подачі живлення, яку я не бачу.
Питання:
- Чи існує конкретний «Hard Reset» пін (GPIO) для TCA9555, який потрібно перемикати перед можливістю I2C-спілкування?
- Чи потребує ES7210 конкретного I2C «рукопожатку» поза системними та аналоговими регістрами живлення, щоб вивести з холодного стану?
- Чи відомі які-небудь проблеми з енергозбереженням для ліній живлення 3.3V/5V на цій платі під час холодного старту?
Будь-яка допомога від людей, які успішно ініціалізували цю плату з холодного стану без використання повних компонентів ESP-ADF, буде дуже вдячна.
1 допис – 1 учасник
HI-FI News
через Home Assistant Community – Останні теми https://ift.tt/ytvT8j3
9 травня 2026 р. 23:02
May 9, 2026 at 11:02PM

Залишити відповідь
Щоб відправити коментар вам необхідно авторизуватись.