MAX98357: цифровой усилитель звука Печать
Добавил(а) microsin   

Микросхема MAX98357A/MAX98357B это простой в использовании, недорогой цифровой усилитель Class D, работающий по входу с модуляцией pulse-code modulation (PCM). Он предоставляет параметры, аналогичные лидерам рынка усилителей Class AB, с эффективностью усилителей Class D. Цифровой интерфейс I2S автоматически распознает до 35 различных схем тактирования PCM и TDM, что устраняет необходимость программирования через I2C. Функционирование дополнительно упрощается, так как не нужен внешний сигнал MCLK, который обычно используется для PCM-обмена данными. Возможно простое подключение - только источник питания, сигналы LRCLK, BCLK, и усилитель будет воспроизводить цифровой звук. Новая схема контактов позволяет клиентам использовать экономичный корпус WLP без необходимости дорогостоящих переходных отверстий (дополнительную информацию см. в апноуте [2]).

Цифровой аудиоинтерфейс отличается высокой гибкостью: MAX98357A поддерживает I2S данные, а MAX98357B - данные с выравниванием по левому краю (left-justified data). Обе микросхемы поддерживают 8-канальные мультиплексированные с временным разделением каналов (TDM) данные. Цифровой аудиоинтерфейс поддерживает заданную частоту дискретизации между 8 и 96 кГц для всех поддерживаемых форматов данных. Микросхемы могут быть сконфигурированы для создания левого канала, правого канала или (left/2 + right/2) выходного сигнала из входных стереофонических данных. Микросхемы работают с использованием 16/24/32-битовых данных для режимов I2S и выравнивания по левому краю, а также 16-битовых или 32-битовых данных с использованием режима TDM. IC устраняют необходимость во внешнем сигнале MCLK, который обычно используется для PCM-обмена данными. Это уменьшает помехи (EMI) и возможные проблемы с соединением плат, а также уменьшает размер и количество контактов интегральных схем.

Микросхемы MAX98357A/MAX98357B также характеризуются очень высоким допуском широкополосного джиттера на сигналах BCLK и LRCLK (типовое значение 12 нс), чем обеспечивается надежная работа звуковой системы.

Технологии active emissions-limiting, edge-rate limiting и схема управления перерегулированием (overshoot control) значительно снижают EMI. Бесфильтровая схема модуляции с расширенным спектром исключает необходимость фильтрации выходного сигнала в традиционных устройствах класса D и уменьшает количество компонентов в конечном решении.

Микросхемы доступны в корпусах 9-pin WLP (1.345 мм x 1.435 мм x 0.64 мм) и 16-pin TQFN (3 мм x 3 мм x 0.75 мм), и они могут работать в диапазоне температур -40°C .. +85°C.

Основные функции:

● Работа от одного источника питания (2.5V .. 5.5V)
● Выходная мощность POUT = 3.2 ватт на нагрузке RL = 4 Ом при питании 5V
● Ток покоя 2.4 мА
● КПД 92% (RL = 8 Ом, POUT = 1 ватт)
● Шум на выходе 22.8μVRMS (AV = 15dB)
● Низкий коэффициент искажений 0.013% THD+N на частоте 1 кГц
● Не требуется тактовый сигнал MCLK
● Частоты дискретизации звука от 8 до 96 кГц
● Поддеживаются режимы выхода Left, Right или (Left/2 + Right/2)
● Продвинутая технология управления скоростью перепада на выходе позволяет устранить необходимость выходных фильтров (Edge Rate Control Enables Filterless Class D Outputs)
● 77dB PSRR на частоте 1 кГц
● Low RF Susceptibility Rejects TDMA Noise from GSM Radios
● Extensive Click-and-Pop Reduction Circuitry
● Надежная защита от короткого замыкания и перегрева
● Размеры корпусов, экономящие место на печатной плате: 1.345mm x 1.435mm WLP (шаг выводов 0.4mm) и 3mm x 3mm TQFN
● Рекомендуемое решение по разводке с одним развязывающим конденсатором займет место 4.32 mm2

Возможные области применения:

● Устройства, питающиеся от одной Li-ion ячейки или от 5V
● Умные колонки
● Ноутбуки, планшеты, смартфоны, камеры
● IoT-устройства
● Игровые устройства со звуковой и тактильной обратной связью для интерфейса пользователя

[Что означает "77dB PSRR на частоте 1 кГц"]

PSRR (Power Supply Rejection Ratio) — это коэффициент подавления помех по цепи питания. Параметр показывает, насколько хорошо чип игнорирует пульсации и шумы, приходящие по линии питания (VDD), и не пропускает их в выходной аудиосигнал.

"77dB PSRR" — это отношение уровня помехи на входе питания к уровню той же помехи, которая пролезла на выход (в звук). Если перевести в "разы", то получится ≈ 7000 раз по напряжению (20·log₁₀(7000) ≈ 77). То есть, если по питанию гуляет пульсация 100 мВ, на выходе она ослабнет до ~14 мкВ.

"на частоте 1 кГц" — измерение сделано на частоте пульсации 1 кГц. PSRR — частотно-зависимая величина: на низких частотах он обычно высокий, а с ростом частоты падает.

[Почему это важно]

MAX98357A/B — это усилитель класса D, который питается от того же источника (например, 5 В или 3.3 В), что и управляющий микроконтроллер (например ESP32-C3), и при этом сам создаёт импульсные помехи по питанию. Возможны две проблемы:

1. Помехи извне (например, от DC-DC преобразователя, USB-питания, ШИМ-схем) могут пролезть в звук как гул, свист или треск. Высокий PSRR (77 дБ — хороший показатель) это подавляет.

2. Помехи от самого усилителя могут уйти обратно в питание и "отравить" работу ESP32 (особенно чувствительны Wi-Fi и аналоговые узлы). Здесь помогает не PSRR, а правильная развязка: керамические конденсаторы 100 нФ + 10 мкФ + 100–470 мкФ прямо у ножек VDD усилителя, отдельная дорожка питания, при возможности — ферритовый фильтр.

[Практические выводы]

- 77 дБ на 1 кГц — это нормальный, «рабочий» уровень для недорогого аудиоусилителя. Для сравнения: хорошие Hi-Fi ЦАПы/усилители имеют PSRR 90–120 dB.
- В области низких частот (50/100/120 Гц — наводки от сети и импульсных БП) PSRR обычно ещё выше, что хорошо для подавления гула.
- В области высоких частот (десятки-сотни кГц — рабочая частота класса D) PSRR падает, поэтому качество развязки по питанию важнее, чем сам параметр PSRR.
- Если услышите в колонке свист, гул или треск — в первую очередь проверьте питание и добавьте конденсаторы, а не ищите чип "с лучшим PSRR".

Итог: "77dB PSRR на частоте 1 кГц" означает, что чип ослабляет пульсации питания на частоте 1 кГц примерно в 7000 раз — этого достаточно для большинства любительских проектов, но требует аккуратной развязки питания на плате.

Это характеристика, которая описывает устойчивость усилителя к радиопомехам и его способность не детектировать и не усиливать наводки от сотовых телефонов стандарта GSM и других источников радиосигнала (Wi-Fi, Bluetooth, GSM, LTE). То есть чип плохо "ловит" ВЧ-наводки, которые приходят от радиопередатчиков, и не превращает их в слышимый звук.

"Rejects TDMA Noise" — "подавляет TDMA-шум". TDMA (Time Division Multiple Access) — это метод множественного доступа с временным разделением, который использовался в GSM (2G). В GSM передача ведётся не непрерывно, а короткими импульсами с частотой примерно 217 Гц (в стандарте GSM это частота кадров TDMA). Каждый импульс — это всплеск ВЧ-мощности.

"from GSM Radios" — "от GSM-радиостанций", то есть от мобильных телефонов, работающих в сетях 2G.

[Как это проявляется на практике]

Классический эффект, знакомый многим: телефон лежит рядом с колонкой или усилителем, и перед входящим звонком или SMS слышно характерное «ту-ду-ду-ду-дт» — стрекотание, треск, жужжание. Это и есть TDMA-шум.

Механизм возникновения таких помех:

1. Телефон периодически отправляет короткие ВЧ-импульсы на базовую станцию (~900/1800 МГц).
2. Эти импульсы наводятся на дорожки платы, провода динамика, входы усилителя.
3. Нелинейные элементы в усилителе (особенно входной каскад) детектируют ВЧ-сигнал, как радиоприёмник — огибающая импульсов (217 Гц) оказывается в звуковом диапазоне.
4. Вы слышите это как ритмичный треск.

[Почему это важно]

- ESP32-C3 работает с Wi-Fi и Bluetooth — оба являются источниками ВЧ-излучения. Если усилитель чувствителен к RF, он может поймать помехи от собственного радиомодуля ESP32. Это уже не TDMA (Wi-Fi/BT передают иначе), но эффект похож — треск, шум, свист.

- Если рядом с устройством будет мобильный телефон (даже просто лежащий), при активной передаче в 2G-сети (сейчас редко, но в некоторых регионах ещё есть) он может наводит» треск.

- Хорошая новость: MAX98357A/MAX98357B имеют низкую RF-восприимчивость, то есть производитель заявляет, что чип устойчив к таким наводкам. Это плюс по сравнению с простыми аналоговыми усилителями (например, PAM8403 или LM386), которые часто "ловят" телефоны.

[Что делать на практике (даже с хорошим чипом)]

1. Развязка по питанию: керамика 100 нФ + 10 мкФ у ножек VDD.
2. Короткие дорожки от I2S ESP32 до усилителя; I2S — цифровой интерфейс, но при плохой разводке может излучать.
3. Экранирование и разнесение: держите усилитель и провода динамика подальше от антенны ESP32-C3 и от места, где обычно лежит телефон.
4. Ферритовые бусины на проводах динамика — классический способ задавить ВЧ-наводки.
5. Витая пара для проводов динамика — снижает излучение и восприимчивость.
6. Если используете корпус — металлический или с токопроводящим покрытием помогает, но не забывайте про антенну Wi-Fi/ BT (её нельзя экранировать).

Итог: фраза означает, что MAX98357A/B устойчив к ВЧ-наводкам и не ловит характерный треск от GSM-телефонов — это заметный плюс для портативных аудиоустройств, работающих рядом с радиомодулями и мобильниками. Но полностью полагаться только на чип нельзя: правильная разводка и развязка питания по-прежнему обязательны.

Это характеристика, которая говорит о наличии в чипе развитой схемы подавления щелчков и хлопков — нежелательных звуковых артефактов, возникающих при включении, выключении, изменении режима или переключении питания усилителя.

[Что такое click и pop]

- Click (щелчок) — короткий резкий звук, обычно высокочастотный, длительностью единицы-десятки миллисекунд.

- Pop (хлопок) — более низкочастотный, глухой звук, часто с большей амплитудой, может длиться десятки-сотни миллисекунд.

- Оба — это переходные процессы на выходе усилителя, которые попадают в динамик и слышны как «тук», «пф», «чпоньк».

Откуда они берутся:

1. Включение питания: конденсаторы в цепи заряжаются, напряжение на выходе скачком меняется с 0 до середины питания (bias). Динамик получает импульс.
2. Выключение питания: обратный процесс — разряд конденсаторов, снова скачок.
3. Включение/выключение усилителя (enable/shutdown): выход переходит из высокоимпедансного состояния в рабочее и обратно.
4. Изменение режима (например, переключение sample rate, mute/unmute).
5. Пробуждение из sleep — в ESP32-проектах это особенно актуально, если усилитель питается от того же домена, что и MCU.
6. DC-смещение: если на выходе есть постоянное напряжение, при подключении динамика через конденсатор происходит бросок тока.

[Как работает схема подавления]

Производитель называет её «extensive» (обширная, развёрнутая), что обычно означает комбинацию нескольких механизмов:

1. Плавный запуск (soft-start): напряжение bias на выходе нарастает не мгновенно, а по заданной кривой (обычно десятки-сотни мс). Динамик не получает резкого скачка.
2. Плавное выключение (soft-stop): симметрично, выход «съезжает» к нулю перед отключением питания.
3. Mute-логика: при переходах выход принудительно заглушается на время переходного процесса.
4. Управляемый порядок включения/выключения: внутренние узлы запускаются в определённой последовательности, чтобы избежать конфликтов.
5. Контроль DC-смещения: минимизация постоянной составляющей на выходе, чтобы не было броска через разделительный конденсатор (если он есть).
6. Деглитчинг (deglitch) на управляющих входах: фильтрация коротких ложных срабатываний EN/SD.

[Почему это важно]

Для портативного MP3-плеера на ESP32-C3 click-and-pop — одна из самых раздражающих проблем:

- При подаче питания устройство должно включаться тихо — без «БУМ» в динамике или наушниках.
- При переключении треков или пауз усилитель может кратковременно отключаться (экономия энергии) — и при возврате в работу не должно быть щелчка.
- Если усилитель питается через MOSFET или LDO, управляемый ESP32, при включении/выключении питания будут переходные процессы. Схема подавления их скрывает.
- В режиме deep sleep (если вы его используете) усилитель обычно выключается — важно, чтобы пробуждение было бесшумным.

[Что делать на практике]

Даже с хорошей встроенной схемой подавления полезно:

1. Разделительный конденсатор на выходе, если нагрузка — не усилитель класса D напрямую (у MAX98357A выход мостовой, конденсатор не нужен, но у линейных ЦАПов — нужен).
2. Управление EN/SD через GPIO ESP32 с задержкой: сначала подать питание, подождать, потом включить усилитель; при выключении — наоборот.
3. Порядок инициализации в коде: включать I2S и подавать данные до включения усилителя, чтобы не было «пустого» запуска; глушить выход перед выключением.
4. Развязка питания — резкие скачки питания сами по себе могут вызывать pop.
5. Не отключать питание усилителя мгновенно — если возможно, дать ему завершить soft-stop.

Итог: «Extensive Click-and-Pop Reduction Circuitry» означает, что MAX98357A/MAX98357B имеют встроенную развёрнутую схему подавления щелчков и хлопков при включении, выключении и переключениях. Для конечного решения это большой плюс: устройство будет включаться и выключаться тихо, без характерного «бум» в динамик. Но полностью полагаться только на чип не стоит — правильный порядок инициализации в прошивке и развязка питания остаются вашей задачей.

[Особенности подключения и работы]

- Связка с микроконтроллерами: идеально подходит для плат ESP32, Arduino и Raspberry Pi, часто используется для сборки интернет-радио или голосовых ассистентов.

- Выводы подключения: основные линии — BCLK (битовый клок), LRC (синхронизация каналов) и DIN (данные).

- Смешивание каналов: по умолчанию стереовход (левый и правый каналы) смешивается в пропорции 50/50 для моно-выхода. Конфигурацию можно изменить пайкой резисторов для вывода только левого (L) или только правого (R) канала.

Упрощенная блок-схема:

MAX98357 Simplified Block Diagram

Предельные абсолютные максимальные значения (Absolute Maximum Ratings)

Параметр Значение
VDD, LRCLK, BCLK и DIN относительно GND -0.3V .. +6V
Все другие выводы относительно GND -0.3V .. (VDD + 0.3V)
Непрерывный ток In/Out через VDD/GND/OUT_ ±1.6A
Непрерывный входной ток (все другие выводы) ±20mA
Длительность короткого замыкания OUT_ на GND или VDD Непрерывно
Длительность короткого замыкания OUTP на OUTN Непрерывно
Непрерывная рассеиваемая мощность (TA = +70°C):
WLP (снижение допустимой нагрузки 13.7мВт/°C выше +70°C) 1096 мВт 
TQFN (снижение допустимой нагрузки 20.8мВт/°C выше +70°C) 1666 мВт
Температура кристалла +150°C
Диапазон рабочих температур -40°C .. +85°C
Температура пайки/монтажа (reflow, паяльная паста) +260°C
Температура вывода (пайка, 10 секунд, TQFN) +300°C

Примечание: стрессовые превышения указанных параметров в этой таблице могут привести к необратимому повреждению устройства. Эти параметры приведены только как рейтинг, и функционирование устройства при таких условиях не подразумевается. Нахождение устройства при действии этих значений параметров может привести к снижению надежности.

Температурные параметры корпусов(1)

WLP
Тепловое сопр. кристалл - окружающая среда (Junction-to-Ambient, θJA) 73°C/Вт
Тепловое сопр. кристалл - корпус (Junction-to-Case, θJC) 50°C/Вт
TQFN
Тепловое сопр. кристалл - окружающая среда (Junction-to-Ambient, θJA) 48°C/Вт
Тепловое сопр. кристалл - корпус (Junction-to-Case, θJC) 7°C/Вт

Примечание (1): тепловые сопротивления получены по методу, описанному в JEDEC-спецификации JESD51-7, с использованием 4-слойной печатной платы. Для получения подробной информации о тепловых характеристиках корпуса обратитесь к www.maximintegrated.com/thermal-tutorial.

Электрические характеристики

VDD = 5V, VGND = 0V, GAIN_SLOT = VDD. BCLK = 3.072 МГц, LRCLK = 48 кГц, нагрузка в виде динамиков (ZSPK) подключена между выходами OUTP и OUTN, ZSPK = ∞, TA = TMIN .. TMAX, если не указано что-то иное. Типовые значения при TA = +25°C. См. примечание (2).

Параметр Символ Условия
min Typ MAX Ед.
Диапазон напряжения питания VDD Гарантируется PSRR(6) 2.5   5.5 V
Блокировка при пониженном питании UVLO   1.5 1.8 2.3
Ток покоя (рабочий режим, тишина) IDD TA = +25°C   2.75 3.35 mA
TA = +25°C, VDD = 3.7V   2.4 2.85
Ток режима "выключено" (Shutdown) ISHDN ~SD_MODE = 0V, TA = +25°C   0.6 2 µA
Ток режима "приостановлено" (Standby) ISTNDBY ~SD_MODE = 1.8V, без BCLK, TA = +25°C   340 400
Время включения tON     7 7.5 мс
Выходное напряжение смещения VOS TA = +25°C, усиление = 15dB   ±0.3 ±2.5 mV
Уровень Click-and-Pop KCP Пиковое напряжение, TA = +25°C, A-взвешивание, 32 выборки в секунду(3) Вход в shutdown   -72   dBV
Выход из shutdown   -66  
Power-Supply Rejection Ratio PSRR VDD = 2.5V .. 5.5V, TA = +25°C 60 75   dB
TA = +25°C(3, 4) f = 217 Гц, 200 mVP-P пульсаций   77  
f = 10 кГц, 200 mVP-P пульсаций   60  
Выходная мощность(3) POUT THD+N 10%, усиление = 12dB ZSPK = 4Ω + 33µH   3.2   W(Вт)
ZSPK = 8Ω + 68µH   1.8  
ZSPK = 8Ω + 68µH, VDD = 3.7V   0.93  
THD+N = 1%, усиление = 12dB ZSPK = 4Ω + 33µH   2.5  
ZSPK = 8Ω + 68µH   1.4  
ZSPK = 8Ω + 68µH, VDD = 3.7V   0.77  
Total Harmonic Distortion (THD) + Noise THD+N f = 1kHz, POUT = 1W, TA = +25°C, ZSPK = 4Ω + 33µH, WLP   0.02 0.06 %
  f = 1kHz, POUT = 1W, TA = +25°C, ZSPK = 4Ω + 33µH, TQFN   0.02  
  f = 1kHz, POUT = 0.5W, TA = +25°C, ZSPK = 8Ω + 68µH   0.013  
Динамический диапазон DR A-взвешивание, ZSPK = 8Ω + 33µH, VRMS = 3.40V, 24- или 32-bit данные   103.5   dB
Выходной шум VN A-взвешивание, 24- или 32-bit данные(4)   22.8   µVRMS
Усиление (относительно опорное уровня 2.1dBV) AV GAIN_SLOT = GND через 100kΩ 14.4 15 15.6 dB
GAIN_SLOT = GND 11.4 12 12.6
GAIN_SLOT = не подключен 8.4 9 9.6
GAIN_SLOT = VDD 5.4 6 6.6
GAIN_SLOT = VDD через 100 кОм 2.4 3 3.6
Ограничение тока ILIM     2.8   A
Эффективность ε ZSPK = 8Ω + 68µH, THD+N = 10%, f = 1kHz, усиление = 12dB   92   %
Ошибка усиления ЦАП       1   %
Frequency Response (АЧХ)     -0.2   +0.2 dB
Частота переключения Class D fOSC     300   кГц
Полоса частот Spread-Spectrum       ±20  
Цифровые фильтры ЦАП
VOICE MODE IIR LOWPASS FILTER (LRCLK < 30 кГц)
Частота среза полосы пропускания fPLP Частота, до которой пульсации не превышают допуск 0.443 x fS     Гц
Срез -3dB 0.446 x fS    
Срез подавления fSLP       0.464 x fS
Ослабление в полосе подавления   f > fSLP 75     dB
AUDIO MODE FIR LOWPASS FILTER (30 кГц < LRCLK < 50 кГц)
Частота среза полосы пропускания fPLP Частота, до которой пульсации не превышают допуск 0.443 x fS     Гц
Срез -3dB 0.446 x fS    
Срез -6.02dB  0.5 x fS    
Срез подавления fSLP       0.58 x fS
Ослабление в полосе подавления   f > fSLP 60     dB
AUDIO MODE FIR LOWPASS FILTER (LRCLK > 50 кГц)
Частота среза полосы пропускания fPLP Частота, до которой пульсации не превышают допуск 0.24 x fS     Гц
Срез -3dB 0.31 x fS    
Срез подавления fSLP       0.477 x fS
Ослабление в полосе подавления   f > fSLP 60     dB
Цифровой аудиоинтерфейс
LRCLK Range 1 fS1   7.6 8 8.4 кГц
LRCLK Range 2 fS2   15.2 16 16.8
LRCLK Range 3 fS3   30.4 48 50.4
LRCLK Range 4 fS4   83.8 96 100.8
Разрешающая способность   Режим I2S/left justified   16/24/32   бит
Режим TDM   16/32  
Диапазон частот BCLK fBCLK BCLK должна быть 32, 48 или 64X от LRCLK 0.2432   25.804 МГц
Время лог. 1 BCLK  tBCLKH   15     нс
Время лог. 0 BCLK tBCLKL   15    
Максимальный низкочастотный джиттер BCLK и LRCLK   RMS джиттер ниже 40 кГц   0.5  
Максимальный высокочастотный джиттер BCLK и LRCLK   RMS джиттер выше 40 кГц   12  
Напряжение лог. 1 на входе VIH Цифровые аудиовходы 1.3     V
Напряжение лог. 0 на входе VIL     0.6
Ток утечки на входе IIH, IIL VIN = 0V, VDD = 5.5V, TA = +25°C -1   +1 µA
Входная емкость CIN     3   пФ
Время установки данных DIN относительно тактового сигнала BCLK tSETUP   10     нс
Время установки LRCLK относительно тактового сигнала BCLK tSYNCSET   10    
Время удержания данных DIN относительно тактового сигнала BCLK tHOLD   10    
Время удержания LRCLK относительно тактового сигнала BCLK tSYNCHOLD   10    
Пороговые напряжения внутреннего компаратора на входе ~SD_MODE
B0   См. далее описание работы ~SDMODE 0.08 0.16 0.355 V
B1   0.65 0.77 0.825
B2   1.245 1.4 1.5
Внутренний подтягивающий к GND резистор ~SD_MODE RPD   92 100 108 кОм
Пороговые напряжения внутреннего компаратора для управления усилением
  V_GAIN_SLOT Усиление AV = 3dB 0.65 x VDD   0.85 x VDD V
Усиление AV = 6dB 0.9 x VDD   VDD
Усиление AV = 9dB 0.4 x VDD   0.6 x VDD
Усиление AV = 12dB 0   0.1 x VDD
Усиление AV = 15dB 0.15 x VDD   0.35 x VDD

Примечания:

(2) 100% производства тестируется при TA = +25°C. Спецификации вне пределов температуры гарантируются дизайном.
(3) Тесты усилителя Class D выполняется на резистивной нагрузке, включенной последовательно с индуктивностью для симуляции реального динамика. Для RL = 8 Ом, LL = 68 мкГн. Для RL = 4 Ом, LL = 33 мкГн.
(4) Во входном цифровом сигнале тишина.
(5) Динамический диапазон измеряется по методу EIAJ. -60dBFS 1 кГц выходной сигнал, A-взвешивание, нормализация на 0dBFS. f = 20 Гц .. 20 кГц.
(6) PSRR означает Power Supply Rejection Ratio — коэффициент подавления помех по цепи питания.

MAX98357 Audio Interface Timing Diagram fig1

Рис 1. Диаграмма времени аудиоинтерфейса I2S (MAX98357A).

MAX98357 Audio Interface Timing Diagram fig2

Рис 2. Диаграмма времени аудиоинтерфейса Left-Justified (MAX98357B).

MAX98357 Audio Interface Timing Diagram fig3

Рис 3. Диаграмма времени аудиоинтерфейса TDM.

Многочисленные графики типовых рабочих характеристик см. в оригинальном даташите [1].

Цоколевка выводов корпусов WLP и TQFN:

MAX98357 package WLP MAX98357 package TQFN

Назначение выводов:

Корпус Имя Функция
WLP TQFN
A1 4 ~SD_MODE Выключение (Shutdown) и выбор канала (Channel Select). Подтяните ~SD_MODE к низкому уровню для выключения устройства. В режимах I2S или LJ вывод ~SD_MODE выбирает канал данных (таблица 5). В режиме TDM вывод ~SD_MODE и GAIN_SLOT вместе используются для выбора канала (таблица 7).
A2 7, 8 VDD Вход для подачи питания.
A3 9 OUTP Положительная фаза выхода, подключается к динамику.
B1 1 DIN Вход цифрового сигнала.
B2 2 GAIN_SLOT Выбор усиления  и канала. В режимах I2S и LJ определяется усление на выходе (таблица 8). В режиме TDM используется для выбора канала с помощью ~SD_MODE (таблица 7). В режиме TDM усиление фиксированное на 12dB.
B3 10 OUTN Отрицательная фаза выхода, подключается к динамику.
C1 16 BCLK Bit Clock Input (вход тактов для бит).
C2 3, 11, 15 GND Ground, земля, обший провод.
C3 14 LRCLK Frame Clock (такты кадра). Такты левого/превого канала для режимов I2S и LJ. Такты синхронизации для режима TDM.
- 5, 6, 12, 13 N.C. No Connection (не используемые выводы).
- - EP Exposed Pad, контактная площадка для теплоотвода на донце корпуса. EP внутри микросхемы ни к чему не подключена. Соедините EP с заливкой медь земли, чтобы лучше рассеивалось тепло.

[Подробное функциональное описание]

MAX98357A/MAX98357B это цифровые усилители мощности звука PCM input Class D. MAX98357A принимает стандартные данные I2S через сигналы DIN, BCLK и LRCLK, а MAX98357B принимает на тех же входах данные, выровненные влево (left-justified data). Обе версии также принимают данные TDM 16-bit или 32-bit, количество слотов до 8. Цифровые интерфейсы звука не нуждаются во внешнем сигнале MCLK, который обычно требуется для передачи данных I2S.

~SD_MODE. Этот вход обслуживает две задачи одновременно:

1. Shutdown (выключение) — если подать низкий уровень (GND), чип переходит в режим пониженного энергопотребления (менее 0.6 мкА). Выходной каскад переводится в высокоимпедансное состояние.

2. Выбор канала (Channel Select) — если оставить вывод высоким, он определяет, какой аудиоканал (левый, правый или их смесь) будет воспроизводиться.

[Выбор канала в режиме I2S / Left-Justified]

В режиме I2S (или Left-Justified для версии MAX98357B) ~SD_MODE управляет каналом через разные уровни напряжения:

Уровень на ~SD_MODE Канал
Низкий (GND) Shutdown (выключен)
Высокий (напрямую к VDD) Левый канал
Высокий через резистор RSMALL (например, 69.8 кОм) Правый канал
Высокий через резистор RLARGE Моносмесь: (Левый/2 + Правый/2)

[Выбор канала в режиме TDM]

В режиме TDM (Time Division Multiplexing) всё иначе:

- Усиление фиксировано на 12 дБ (нельзя изменить).
- SD_MODE и GAIN_SLOT вместе выбирают один из 8 каналов TDM-потока.

Это и есть та самая таблица 7 из даташита :

~SD_MODE GAIN_SLOT Канал TDM
Низкий X Выключен
VDD GND 0
VDD VDD (0 Ом) 1
VDD Не подключен 2
VDD VDD (100 кОм) 3
VDD GND (100 кОм) 4
VDD через RLARGE GND 5
VDD через RLARGE Не подключен 6
VDD через RLARGE VDD 7

[Ключевые различия между режимами]

Параметр I2S / LJ режим TDM режим
Усиление 5 значений: 3, 6, 9, 12, 15 dB Фиксировано 12 dB
Роль GAIN_SLOT Установка усиления Выбор канала (вместе с ~SD_MODE)
Роль ~SD_MODE Выбор канала (L, R, L/2+R/2) Часть выбора канала (см. таблицу выше)
Разрядность 16/24/32 бит 16 или 32 бита
Макс. каналов Стерео До 8 каналов

Важное предупреждение: не меняйте уровень на GAIN_SLOT во время воспроизведения — это может вызвать слышимые щелчки и хлопки (clicks/pops).

Для MP3-плеера на ESP32-C3:

- Используйте режим I2S — это стандартный формат для ESP-IDF, и вы сможете гибко настраивать усиление.
- SD_MODE подключите к GPIO — сможете программно включать/выключать усилитель (экономия энергии в паузах).
- Для стерео понадобятся два чипа (или один в режиме моносмеси), так как MAX98357A — моно усилитель.

Если вы не планируете использовать TDM (что маловероятно для MP3-плеера), сложная логика с GAIN_SLOT вам не понадобится — достаточно выставить усиление один раз при старте.

Цифровой интерфейс звука MAX98357A/MAX98357B (digital audio interface, DAI) включает в себя подавление низких частот и постоянной составляющей (DC blocker) со спадом -3 dB на частоте 3.7 Гц.

Модели MAX98357A/MAX98357B отличаются низким током покоя, технологией подавлением щелчков на выходе и отличным RF-иммунитетом. Интегральные микросхемы обеспечивают производительность аудио класса AB и эффективность класса D при минимальном занимаемом пространстве на печатной плате. Усилитель класса D имеет модуляцию spread-spectrum (модуляция с расширением спектра) со схемой управления граничной скоростью и перерегулированием, которая предлагает значительные улучшения в плане RF-излучения выходным каскадом усилителя. Усилитель оснащен функцией подавления щелчков, которая уменьшает слышимые переходные процессы при запуске и выключении. Усилитель также включает в себя защиту от термической перегрузки и короткого замыкания выхода.

Режимы цифрового audio-интерфейса. Цифровой звуковой интерфейс поддерживает частоты дискретизации от 8 до 96 кГц, разрядность выборок 16, 24, 32 бита для данных I2S обычного формата и с левым выравниванием, а также для формата TDM с количеством тайм-слотов до 8, разрядностью 16-bit или 32-bit. Когда у сигнала LRCLK скважность 50%, формат определяется типом применяемой микросхемы (MAX98357A/MAX98357B). Когда используется импульс кадра для LRCLK, формат данных автоматически конфигурируется в режиме TDM. Импульс кадра показывает начало первого тайм-слота.

MCLK не нужен. MAX98357A/MAX98357B устраняют необходимость во внешнем сигнале тактов MCLK, который обычно используется для PCM-обмена данными. Этот факт уменьшает помехи и возможные проблемы развязки на печатной плате, также уменьшается необходимое место на печатной плате и необходимое количество выводов для подключения.

Допуск на джиттер BCLK (таблица 1). Микросхемы MAX98357A/MAX98357B обладают устойчивостью цифрового аудиоинтерфейса чипа к джиттеру (дрожанию) тактовых сигналов — BCLK (Bit Clock) и LRCLK (Left/Right Clock). Это показатель того, насколько «неровными» могут быть тактовые импульсы, прежде чем чип начнёт ошибаться в приёме данных.

Таблица 1. Допуск на джиттер.

Частота RMS JITTER TOLERANCE (нс)
< 40 кГц 0.5
40 кГц – BCLK 12

0.5 нс для RMS джиттера ниже 40 кГц - это допуск на НЧ дрожание. Такой джиттер вызван медленными процессами: температурным дрейфом, фазовыми шумами PLL, нестабильностью генератора. Он «размазан» во времени и проявляется как медленная рассинхронизация. Допуск здесь очень жёсткий (0.5 нс), потому что низкочастотный джиттер напрямую влияет на качество звука — вносит искажения в восстанавливаемый сигнал.

12 нс для широкополосного RMS джиттера — это допуск на высокочастотное дрожание. Такой джиттер вызван быстрыми процессами: перекрёстными помехами, шумами питания, отражениями в линиях, электромагнитными наводками. Он «размазан» по широкому спектру. Допуск здесь значительно мягче (12 нс), потому что высокочастотный джиттер в основном «усредняется» на тактовых фронтах и меньше влияет на точность выборки данных.

Eказанные допуски по джиттеру действуют при условии, что динамический диапазон остаётся выше 98 dB. То есть чип гарантирует, что даже при джиттере в пределах этих значений он не теряет разрешающую способность и не вносит заметных шумов в сигнал. Динамический диапазон > 98 dB означает, что соотношение между самым громким и самым тихим воспроизводимым сигналом превышает 98 dB — очень высокий показатель для аудио.

Полярность BCLK (таблица 2). В режиме работы I2S/left-justified поступающие данные всегда вдвигаются по фронту нарастания уровня BCLK. В режиме TDM микросхема MAX98357A вдвигает последовательные данные по фронту BCLK, в то время как MAX98357B вдвигает данные по спаду BCLK.

Таблица 2. Полярность BCLK.

Режим PART NUMBER Полярность BCLK
I2S MAX98357A Положительный перепад
Left-justified MAX98357B
TDM MAX98357A
MAX98357B Отрицательный перепад

Полярность LRCLK (таблица 3). LRCLK определяет, какие данные в настоящий момент считываются цифровым интерфейсом звука - данные левого канала или данные правого канала. MAX98357A указывает слово левого канала при низком уровне LRCLK, а MAX98357B указывает слово левого канала при высоком уровне LRCLK.

Таблица 3. Полярность LRCLK.

PART NUMBER Полярность LRCLK (левый канал)
MAX98357A Низкий уровень
MAX98357B Высокий уровень

LRCLK поддерживает только частоты 8, 16, 32, 44.1, 48, 88.2 и 96 кГц, частоты 11.025, 12, 22.05 и 24 кГц не поддерживаются. Не снимайте LRCLK, когда присутствует BCLK, иначе это может привести к непредсказуемому поведению, включая большое постоянное выходное напряжение.

Standby Mode. Микросхемы автоматически входят в режим приостановки (standby mode), когда снимается BCLK (BCLK перестает переключаться). В standby-режиме динамик Class D выключается, и выходы переходят в состояние высокого сопротивления, чем гарантируется отсутствие в нагрузке нежелательного тока. Standby-режим уменьшает потребление энергии для обычного режима работы (340 мкА), однако не достигает потребления режима полного выключения (full shutdown 0.6 мкА). Standby-режим может использоваться для уменьшения потребления энергии, когда нет свободных выводов GPIO микроконтроллера, чтобы перевести уровень SD_MODE в лог. 0.

Цифровые фильтры DAC. Цифро-аналоговый преобразователь (digital-analog converter, DAC, ЦАП) обладает функцией цифровой фильтрации, которая конфигурируется автоматически в зависимости от того, какой звук воспроизводится - голос или музыка (т. е. зависит от используемой частоты выборок, sample rate). Этот фильтр устраняет эффект наложения спектра (aliasing) и любой другой высокочастотный шум, который иначе мог появиться на выходе. В таблице 4 показаны автоматически выбираемые настройки цифрового фильтра.

Таблица 4. Настройки цифрового фильтра.

Частота LRCLK Частота среза -3dB Частота среза по ограничению пульсаций Частота среза полосы подавления Ослабление в полосе подавления (dB)
fLRCLK < 30 кГц 0.446 x fLRCLK 0.443 x fLRCLK 0.464 x fLRCLK 75
30 кГц < fLRCLK < 50 кГц 0.47 x fLRCLK 0.43 x fLRCLK 0.58 x fLRCLK 60
fLRCLK > 50 кГц 0.31 x fLRCLK 0.24 x fLRCLK 0.477 x fLRCLK 60

~SD_MODE и функция выключения (shutdown). В микросхемах реализован режим низкого энергопотребления, или режим выключения (low-power shutdown mode), с током потребления меньше 0.6 мкА (типовое значение). В состоянии shutdown все внутренние блоки выключены, включая установку выходов драйвера на высокое сопротивление. Переведите уровень ~SD_MODE в лог. 0, чтобы активировать shutdown.

Также состояние ~SD_MODE определяет, какой звуковой канал отправляется на выход усилителя (см. таблицу 5 далее).

Переведите ~SD_MODE в высокий уровень, чтобы выбрать слово левого канала в stereo входных данных. Подключение ~SD_MODE к высокому уровню через резистор достаточно малого номинала (RSMALL) выберет правое слово в stereo входных данных. Подключение ~SD_MODE к высокому уровню через резистор достаточно большого номинала (RLARGE) выберет левое и правое слово в stereo входных данных (left/2 + right/2). Значения RLARGE и RSMALL определяются по напряжению VDDIO (напряжение логики интерфейса управления), и их номиналы определяются по формулам:

RSMALL (кОм) = 94.0 x VDDIO - 100
RLARGE (кОм) = 222.2 x VDDIO - 100

Когда устройства конфигурируются в режиме левого канала (на ~SD_MODE напрямую подан высокий логический уровень интерфейса управления), следует избегать нарушения ограничений Absolute Maximum Ratings для ~SD_MODE (см. соответствующую таблицу врезки "Параметры MAX98357A/MAX98357B" выше). Обеспечение условий, когда VDD всегда больше, чем VDDIO - один из способов предотвращения нарушения Absolute Maximum Ratings для ~SD_MODE. Если это невозможно в реальном приложении (например если VDD < 3.0V и VDDIO = 3.3V), то необходимо добавить небольшой резистор (~ 2 кОм) последовательно с ~SD_MODE, чтобы ограничить входящий ток для вывода ~SD_MODE. Это не является проблемой при использовании режимов правого канала или (левый/2 + правый/2).

На рис. 4 и рис. 5 показано, как подключить внешний резистор к ~SD_MODE, когда используется драйвер с открытым стоком (open-drain) или двухтактный драйвер (push-pull).

MAX98357 SD MODE fig4

Рис. 4. Резистор ~SD_MODE, подключаемый с использованием драйвера с открытым стоком (Open-Drain Driver).

MAX98357 SD MODE fig5

Рис. 5. Резистор ~SD_MODE, подключаемый с использованием двухтактного драйвера (Push-Pull Driver).

Startup. За исключением режима BCLK = 256 кГц, единственной необходимой последовательностью для запуска является то, что LRCLK должен запуститься в течение 1/2 LRCLK периода запуска BCLK.

Когда используется режим BCLK = 256 кГц, накладываются дополнительные требования для правильного включения:

1) BCLK и LRCLK не должны прикладываться до того, как микросхема разрешена.

2) BCLK и LRCLK должны стартовать с лог. 0, с переходом в лог. 1.

3) После того, как VDD станет > 2.3V И уровень SD_MODE лог. 1, должно пройти 10 мкс ожидания до запуска сигналов BCLK и LRCLK.

4) LRCLK должен запуститься как минимум на 1/2 BCLK позже запуска BCLK.

5) LRCLK должен запуститься не более чем 1/2 LRCLK после запуска BCLK.

6) LRCLK должен завершить полный цикл; не должно быть не завершенных циклов (no partial LRCLK cycles).

7) Будучи запущенными, BCLK и LRCLK должны оставаться на частотах переключения 256 кГц и 8 кГц соответственно, и их работа не должна прерываться во время работы устройства. Если нужно остановить BCLK и LRCLK, SD_MODE должен быть сначала переведен в уровень 0V. Последующие запуски с BCLK = 256 кГц и LRCLK = 8 кГц должны следовать шагам 1-6.

Рис. 6 показывает пример, когда VDD достигает максимума UVLO до применения ~SD_MODE. В этом примере присутствует 10 мкс ожидание после прикладывания SD_MODE.

MAX98357 startup sequence BCLK 256kHz fig6

Рис. 6. Требуемая последовательность startup, когда используется BCLK = 256 кГц.

Режимы I2S и Left Justified. MAX98357A следует стандартному таймингу I2S, позволяя задержку на 2 цикл BCLK после перепада LRCLK до начала нового слова данных (рис. 7 и рис. 8). MAX98357B следует спецификации тайминга левого выравнивания данных (left justified), когда перепады LRCLK выравниваются с началом нового слова данных (рис. 9 и рис. 10). LRCLK поддерживает только частоты 8, 16, 32, 44.1, 48, 88.2 и 96 кГц, частоты 11.025, 12, 22.05 и 24 кГц не поддерживаются. Не снимайте LRCLK, когда присутствует BCLK, иначе это может привести к непредсказуемому поведению, включая большое постоянное выходное напряжение.

MAX98357A I2S Digital Audio Interface Timing 16 Bit fig7

Рис. 7. Тайминг цифрового аудиоинтерфейса MAX98357A, режим I2S, 16-bit разрешающей способности.

MAX98357A I2S Digital Audio Interface Timing 32 Bit fig8

Рис. 8. Тайминг цифрового аудиоинтерфейса MAX98357A, режим I2S, 16-bit разрешающей способности.

MAX98357B Left Justified Digital Audio Interface Timing 16 Bit fig9

Рис. 9. Тайминг цифрового аудиоинтерфейса MAX98357B, режим Left-Justified, 16-bit разрешающей способности.

MAX98357B Left Justified Digital Audio Interface Timing 32 Bit fig10

Рис. 10. Тайминг цифрового аудиоинтерфейса MAX98357B, режим Left-Justified, 32-bit разрешающей способности.

Режим выхода цифрового аудиоинтерфейса выбирается по напряжению на выводе ~SD_MODE. Таблица 5 показывает, как выбираются доступные режимы. Пороги B0–B2 показаны выше во врезке "Параметры MAX98357A/MAX98357B", см. секцию "Пороговые напряжения внутреннего компаратора на входе ~SD_MODE". Значения pullup-резисторов ~SD_MODE, т. е. RSMALL и RLARGE, зависят от уровня напряжения VDDIO. См. в таблице 6 пример для значений pullup-резисторов.

Таблица 5. Управление ~SD_MODE.

Статус ~SD_MODE Выбранный канал
High VSD_MODE > Порога B2 Левый (left)
Pull-up через RSMALL Порог B2 > VSD_MODE > Порог B1 Правый (right)
Pull-up через RLARGE Порог B1 > VSD_MODE > Порог B0 (left/2 + right/2)
Low Порог B0 > VSD_MODE Выключено (Shutdown)

Таблица 6. Примеры значений pull-up резисторов ~SD_MODE.

Напряжения уровней логики (VDDIO), V RSMALL, кОм RLARGE, кОм
1.8 69.8 300
3.3 210.2 634

Режим TDM. Этот режим определяется автоматически по короткому синхроимпульсу канала на LRCLK. Схема частотного детектора определяет ширину бита. В режиме TDM микросхемы MAX98357A/MAX98357B имеют фиксированное усиление 12dB. GAIN_SLOT и SD_MODE используются для выбора, какой из 8 каналов данных TDM будет использоваться. Таблица 7 показывает подключение GAIN_SLOT и SD_MODE для выбора канала. Для MAX98357A данные достоверны по фронту нарастания BCLK. Для MAX98357B данные достоверны по спаду уровня BCLK.

Таблица 7. Выбор канала в режиме TDM.

~SD_MODE GAIN_SLOT Канал Бит
Low X Off -
VDD GND 0 16/32
VDD VDD через 0 Ом 1 16/32
VDD не подключен 2 16/32
VDD VDD через 100 кОм 3 16/32
VDD GND через 100 кОм 4 16/32
VDD через RLARGE GND 5 16/32
VDD через RLARGE не подключен 6 16/32
VDD через RLARGE VDD 7 16/32

Рис. 11, 12, 13 и 14 иллюстрируют работу TDM, когда для LRCLK используется синхроимпульс кадра. В режиме TDM здесь должно быть 128 (16-bit режим) или 256 (32-bit режим) периодов BCLK на кадр. В режиме TDM микросхемы принимают только данные с форматом 16-bit или 32-bit, и может быть выбран любой из 8 слотов TDM.

MAX98357A TDM 16 Bit DAI Timing fig11

Рис. 11. Тайминг MAX98357A TDM 16-Bit DAI.

MAX98357A TDM 32 Bit DAI Timing fig12

Рис. 12. Тайминг MAX98357A TDM 32-Bit DAI.

MAX98357B TDM 16 Bit DAI Timing fig13

Рис. 13. Тайминг MAX98357B TDM 16-Bit DAI.

MAX98357B TDM 32 Bit DAI Timing fig14

Рис. 14. Тайминг MAX98357B TDM 32-Bit DAI.

Class D Speaker Amplifier. Усилитель класса D для динамиков, без фильтров на выходе дает лучшую эффективность по сравнению с усилителями класса AB. Это достигается за счет ключевого режима работы транзисторов выходного каскада в классе D. Любые потери мощности выходного каскада класса D происходят только из-за потерь на сопротивлении открытого канала MOSFET (эти потери вычисляются по формуле I2R) и дополнительного незначительного тока утечки в режиме тишины.

Выходной каскад без фильтров, с низким EMI. Традиционные усилители Class D требуют использования на выходе внешних LC-фильтров или экранирования, чтобы удовлетворять регуляторным требованиям стандарта EN55022B по электромагнитным излучениям (electromagnetic-interference, EMI). Активная схема ограничения излучения путём управления скоростью фронтов и модуляция с расширением спектра от компании Maxim снижают электромагнитные помехи, сохраняя КПД до 92%.

Режим модуляции с расширением спектра от Maxim выравнивает широкополосные спектральные компоненты, а запатентованные методы гарантируют, что изменение периода переключения от цикла к циклу не ухудшает воспроизведение звука и КПД. Модулятор расширения спектра MAX98357A/MAX98357B случайно меняет частоту переключения на ±20 кГц около средней частоты (300 кГц). Выше 10 МГц широкополосный спектр с точки зрения EMI выглядит как шум (рис. 15).

MAX98357 EMI 12inch Speaker Cable and No Output Filtering fig15

Рис. 15. EMI с кабелем динамика 12 дюймов без фильтра на выходе.

Ограничение тока динамика. Если выходной ток усилителя превышает предельное значение (обычно 2.8A), то микросхема запрещает выходы примерно на 100 мкс. По окончанию этой задержки работа выходов восстанавливаются. Если состояние перегрузки сохраняется, то микросхема продолжает запрещать и разрешать работу выхода, пока чрезмерная нагрузка на выходе не будет устранена.

Выбор усиления. Микросхемы MAX98357A/MAX98357B предоставляют 5 вариантов программируемого усиления, выбор осуществляется с помощью входа GAIN_SLOT, и это работает только в режимах I2S/left justified. Усиление отсчитывается от полного диапазона выхода ЦАП, который составляет 2.1 dBV (Таблица 8).

Таблица 8. Выбор усиления.

GAIN_SLOT Усиление I2S/LJ (dB)
Подключено к GND через резистор 100 кОм ±5% 15
Подключено к GND 12
Никуда не подключено 9
Подключено к VDD 6
Подключено к VDD через резистор 100 кОм ±5% 3

В режиме TDM усиление автоматически устанавливается в фиксированное значение 12dB. При условии, что желаемый размах выходного сигнала не ограничен напряжением питания, выходной уровень микросхемы можно рассчитать по уровню цифрового входного сигнала и выбранному усилению усилителя согласно следующему уравнению:

Уровень сигнала на выходе (dBV) = уровень сигнала на входе (dBFS) + 2.1dB + выбранное усиление (dB)

В данной формуле принято соглашение, что цифровой сигнал 0dBFS соответствует аналоговому уровню 0dBV (1.0V RMS) до усиления.

Подавление переходных процессов (Click-and-Pop Suppression). В микросхемах усилителя встроена продвинутая технология подавления щелчков от Maxim. При включении схема подавления щелчков и хлопков снижает слышимые переходные процессы внутри устройства, плавно увеличивая входной сигнал от состояния "mute" до 0dB. При переходе в режим shutdown дифференциальные выходы динамика одновременно падают до GND.

Комплексное подавление щелчков и хлопков в MAX98357 не зависит от порядка подачи и снятия питания. Подача тактирования DAI перед или после изменения SD_MODE работает в плане подавления щелчков одинаково.

У MAX98357 при входе в shutdown действительно нет плавного снижения громкости (ramp-down). Его реакция на shutdown — мгновенное отключение выхода, а не плавное "съезжание" от 0dB к mute, как при старте. Но это не означает, что появится раздражающий "хлопок" — чип использует другой механизм подавления шума при выключении. Для оптимального подавления щелчков и хлопков плавно сведите цифровые данные на входе SDIN к нулю перед отключением питания MAX98357.

[Информация по применению]

MAX98357 Left Channel PCM Operation 6dB Gain fig16

Рис. 16. Работа в режиме левого канала PCM с усилением 6dB.

Примечание (*): левый канал, когда на GPIO лог. 1. MAX98357A/MAX98357B выключается, когда на GPIO лог. 0.

MAX98357 Left Channel PCM Operation 12dB Gain fig17

Рис. 17. Работа в режиме левого канала PCM с усилением 12dB.

Примечание (*): левый канал, когда на GPIO лог. 1. MAX98357A/MAX98357B выключается, когда на GPIO лог. 0.

MAX98357 Right Channel PCM Operation 6dB Gain fig18

Рис. 18. Работа в режиме правого канала PCM с усилением 6dB.

Примечания:

(*): левый канал, когда на GPIO лог. 1. MAX98357A/MAX98357B выключается, когда на GPIO лог. 0.
(**) при 69.8 кОм подразумевается, что VGPIO = 1.8V.

MAX98357 Left 2 Right 2 PCM Operation 6dB Gain fig19

Рис. 19. Работа в режиме левого и правого канала (Left/2 + Right/2) PCM с усилением 6dB.

Примечания:

(*): левый канал, когда на GPIO лог. 1. MAX98357A/MAX98357B выключается, когда на GPIO лог. 0.
(**) при 300 кОм подразумевается, что VGPIO = 1.8V.

MAX98357 Stereo PCM Operation Two ICs fig20

Рис. 20. Стерео PCM с двумя микросхемами.

Примечания:

(*): левый канал, когда на GPIO лог. 1. MAX98357A/MAX98357B выключается, когда на GPIO лог. 0.
(**) при 69.8 кОм подразумевается, что VGPIO = 1.8V.

MAX98357 Channel TDM Operation Gain Fixed 12dB fig21

Рис. 21. 4-канальная работа TDM (с фиксированным усилением 12dB).

Примечание (*): когда на GPIO лог. 1, микросхемы выводят звук каналов 0 .. 3.

Функциональная диаграмма микросхем:

MAX98357 Functional Diagram

Безфильтровый Class D. Традиционные усилители класса D требуют на выходе наличие фильтра для восстановления звукового сигнала. Из-за фильтра увеличивается стоимость, размеры усилителя, уменьшается эффективность и ухудшаются параметры THD+N. Специальная технология модуляции у микросхем MAX98357A/MAX98357B позволяет исключить фильтр на выходе. Используется индуктивность катушки динамика, а также объединенная механическая фильтрация громкоговорителя и уха человека, в результате чего из прямоугольного высокочастотного прямоугольного выходного сигнала восстанавливается звуковой компонент. Поскольку частота переключения выходного каскада находится за пределами воспроизведения большинства громкоговорителей, перемещение катушки динамика на этой частоте получается очень незначительным. Используйте динамики с последовательной индуктивностью больше 10 мкГн. Типовые динамики 8 Ом обладают последовательной индуктивностью в диапазоне от 20 до 100 мкГн.

Вход питания. Микросхема может получать питание VDD в диапазоне от 2.5V до 5.5V. Используйте блокирующие конденсаторы емкостью 0.1 мкФ и 10 мкФ между VDD и GND. В некоторых приложениях достаточно одного общего конденсатора 10 мкФ по питанию. Добавьте дополнительную повышенную ёмкость у микросхем, если между VDD и источником питания используются длинные дорожки разводки питания.

Разводка и заземление. Правильная разводка печатной платы и организация заземления очень важны для достижения оптимальной производительности. Хорошее заземление улучшает параметры звука и предотвращает проникновение шума переключения в аудиосигнал.

Используйте толстые, низкоомные выходные проводники. С уменьшением сопротивления нагрузки растет ток потребления и ток на выходе. При повышенном токе на выходе на сопротивлении проводников теряется мощность, которая не попадает в нагрузку. Например, если 2 ватта передается на динамик с сопротивлением 4 Ом через проводники с общим сопротивленем 100 мОм, то до динамика доходят только 1.904 ватт. Если общее сопротивление выходной цепи 10 мОм, то до динамика доходит 1.951 ватт. Широкие проводники выхода, питания и земли также улучшают рассеивание мощности на микросхемах усилителя. Паразитная емкость выходных проводников приводит к увеличению тока покоя пропорционально формуле VDD x 300 кГц x CPARASITIC.

Например, при VDD = 5V и общей паразитной емкости 100 пФ (по 50 пФ на каждом выходном проводнике), увеличение тока тишины составит 5 x 300 кГц x 100 пФ = 150 мкА.

Микросхемы изначально спроектированы с отличной устойчивостью к радиочастотным помехам. Для наилучшей производительности добавьте заливку медью цепи GND вокруг всех сигнальных дорожек на верхнем или нижнем слое печатной платы.

Усиления 6dB, 9dB и 12dB выбираются без использования переходного отверстия (via) и без вывода центрального шарика (bump) из WLP-корпуса. Это упрощает разводку печатной платы и удешевляет её производство. Ниже приведен пример разводки для установки усиления 12dB. Центральный шарик закорочен на соседний шарик вывода GND. См. апноут [2] для дополнительной информации.

MAX98357 WLP pin connect 12dB Gain without via fig22

Рис. 22. Подключение для усиления 12dB без переходного отверстия на корпусе WLP.

MAX98357 example layout Left Channel Gain 12dB fig23

Рис. 23. Пример разводки, сконфигурированной для вывода звука левого канала и усиления 12dB.

MAX98357 WLP ball dimensions fig24

Рис. 24. Размеры шариков корпуса WLP микросхем MAX98357A/MAX98357B.

Информацию о покупке, размерам посадочных мест корпусов см. в оригинальном даташите [1].

[Программирование MAX98357A]

Ниже показан пример программирования микроконтроллера ESP32-C3 с использованием драйверов и библиотек тулчейна ESP-IDF v6.0.3. Важное изменение: в ESP-IDF v6.0 старый драйвер driver/i2s.h полностью удален, и код для MAX98357A необходимо писать с использованием нового API driver/i2s_std.h.

Ключевые изменения в ESP-IDF v6.0

При программировании MAX98357A на ESP-IDF v6.0 необходимо обратить внимание на следующие моменты:

- Старый драйвер удален: #include "driver/i2s.h" больше не работает, его необходимо заменить на #include "driver/i2s_std.h".

- Новый API на основе каналов: новая версия драйвера больше не управляет напрямую контроллером I2S, а управляет отдельными каналами через i2s_chan_handle_t. Вам потребуется сначала вызвать i2s_new_channel(), чтобы запросить канал TX, и только затем выполнять конфигурацию.

- Изменения в зависимостях компонентов: если в CMakeLists.txt все еще используется старая зависимость `REQUIRES driver`, то компиляция не пройдет. Необходимо заменить на `REQUIRES esp_driver_i2s`.

Аппаратное подключение (ESP32-C3)

Для ESP32-C3 можно выбрать любые доступные выводы GPIO в качестве сигналов I2S, так как ESP32-C3 обладает функцией матрицы переключения GPIO, и сигналы I2S не привязаны жестко к определенным выводам.

Справочная таблица подключения (на основе общих примеров):

MAX98357A ESP32-C3 Примечание
VIN 3.3V Питание модуля
GND GND Общий провод
BCLK GPIO5 Тактовый сигнал
LRCLK GPIO6 Тактовый сигнал кадров
DIN GPIO7 Вход данных
~SD_MODE 3.3V или не подключен Режим выключения (по умолчанию включен)
GAIN_SLOT GND (9dB) Установка усиления

Базовый пример кода

Ниже приведен минималистичный код app_main.c, использующий новый API для воспроизведения синусоидальной волны через MAX98357A:

#include < stdio.h>
#include < math.h>
#include "driver/i2s_std.h"
#include "driver/gpio.h"

// Определение выводов подключения MAX98357A
#define I2S_BCLK_GPIO GPIO_NUM_5
#define I2S_WS_GPIO GPIO_NUM_6
#define I2S_DOUT_GPIO GPIO_NUM_7

// Дескриптор канала I2S
static i2s_chan_handle_t tx_handle;void app_main(void) {
// 1. Конфигурация контроллера I2S (включая запрос канала TX)
i2s_chan_config_t chan_cfg = I2S_CHANNEL_DEFAULT_CONFIG(I2S_NUM_AUTO, I2S_ROLE_MASTER);
// При необходимости можно настроить размер DMA-буфера
// chan_cfg.dma_desc_num = 8;
// chan_cfg.dma_frame_num = 240;

ESP_ERROR_CHECK(i2s_new_channel(&chan_cfg, &tx_handle, NULL));

// 2. Конфигурация стандартного режима I2S
i2s_std_config_t std_cfg = {
// Конфигурация тактового сигнала: 44100 Гц
.clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG(44100),
// Конфигурация слота: 16 бит, стерео, формат Philips
.slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO),
// Конфигурация выводов GPIO
.gpio_cfg = {
.mclk = I2S_GPIO_UNUSED,
.bclk = I2S_BCLK_GPIO,
.ws = I2S_WS_GPIO,
.dout = I2S_DOUT_GPIO,
.din = I2S_GPIO_UNUSED,
.invert_flags = {
.mclk_inv = false,
.bclk_inv = false,
.ws_inv = false,
},
},
};
// Примечание: для MAX98357A иногда может потребоваться формат MSB, если Philips работает некорректно.
// В этом случае измените на: .slot_cfg = I2S_STD_MSB_SLOT_DEFAULT_CONFIG(...)

ESP_ERROR_CHECK(i2s_channel_init_std_mode(tx_handle, &std_cfg));

// 3. Запуск канала TX
ESP_ERROR_CHECK(i2s_channel_enable(tx_handle));

// 4. Циклическая отправка простых данных синусоидальной волны
size_t bytes_written = 0;
const int sample_rate = 44100;
const float frequency = 440.0f; // A4
const float amplitude = 0.3f; // Предотвращение искажений
static int16_t buf[1024]; // Буфер

while (1) {
for (int i = 0; i < 1024; i += 2) {
// Генерация синусоидальной волны (левый и правый каналы одинаковы)
float t = (float)(i / 2) / sample_rate;
int16_t sample = (int16_t)(amplitude * 32767 * sinf(2 * M_PI * frequency * t));
buf[i] = sample; // Левый канал
buf[i + 1] = sample; // Правый канал
}

// Запись данных с ожиданием завершения в течение 100 мс
i2s_channel_write(tx_handle, buf, sizeof(buf), &bytes_written, 100 / portTICK_PERIOD_MS);
} }

Ключевые моменты конфигурации для MAX98357A

При использовании MAX98357A в ESP-IDF v6.0 необходимо обратить внимание на следующие моменты:

1. Формат данных: MAX98357A поддерживает форматы Philips и MSB. Стандартный формат Philips обычно работает нормально, но если при воспроизведении звук искажен, попробуйте переключиться на формат MSB (I2S_STD_MSB_SLOT_DEFAULT_CONFIG).

2. Обработка стерео/моно: MAX98357A может выводить сигнал левого канала, правого канала или их комбинации в зависимости от конфигурации вывода SD. При генерации данных обычно рекомендуется заполнять левый и правый каналы одинаковыми данными (stereo duplication) для обеспечения стабильного звука.

3. Подавление шума при включении/выключении: во время переключения питания или старта/останова канала I2S могут возникать щелчки. В критичных приложениях можно перед запуском записать короткий фрагмент данных нулевой амплитуды для "предварительного прогрева".

Изменения в файлах конфигурации проекта

Чтобы код скомпилировался, необходимо изменить зависимости в main/CMakeLists.txt:

Старая версия (невозможна в v6.0):

idf_component_register(SRCS "main.c" REQUIRES driver)

Новая версия:

idf_component_register(SRCS "main.c" REQUIRES esp_driver_i2s)

Если также используется `gpio`, добавьте `esp_driver_gpio`.

[Ссылки]

1. MAX98357A/MAX98357B Tiny, Low-Cost, PCM Class D Amplifier with Class AB Performance site:analog.com.
2. Application Note 6643: Optimize Cost, Size, and Performance with MAX98357 WLP site:analog.com.