PDM-микрофон
Цифровой MEMS-микрофон с двумя сигнальными выводами — CLK и DATA — отдаёт не отсчёты звука, а поток единиц и нулей с частотой в несколько мегагерц. Плотность единиц и есть звук; превращает её в привычный PCM фильтр децимации.
Обновлено Редакция GAW
PDM-микрофон — цифровой MEMS-микрофон, который выдаёт звук в виде импульсно-плотностной модуляции (pulse-density modulation): однобитного потока, где доля единиц пропорциональна мгновенному звуковому давлению. Внутри такого микрофона, как пишет Infineon про IM69D130, стоят малошумящий предусилитель и сигма-дельта АЦП; снаружи — всего два сигнальных вывода, такт CLK и данные DATA, плюс вывод выбора канала.
От PDM к PCM
Однобитный поток идёт с частотой в мегагерцы — это сильная передискретизация. Чтобы получить обычные многобитные отсчёты PCM, поток фильтруют цифровым ФНЧ и понижают частоту отсчётов — это децимация. ESP-IDF описывает два шага так же: фильтрация и понижение частоты. У ESP32 аппаратный преобразователь PDM-to-PCM есть на порту I2S0, на остальных портах доступен только сырой PDM, и фильтр приходится писать программно.
Соотношение тактов задаёт коэффициент децимации. В ESP-IDF режим I2S_PDM_DSR_8S даёт такт CLK = 64·fs, режим I2S_PDM_DSR_16S — 128·fs. При 48 кГц и 64·fs такт равен 3,072 МГц (наш пересчёт) — ровно типовая частота IM69D130.
Такт и режимы микрофона
| Такт IM69D130 | Режим | SNR, дБ(A) | Ток, тип. |
|---|---|---|---|
| 2,9–3,3 МГц (тип. 3,072) | высокое качество | 69 | 980 мкА |
| 2,1–2,65 МГц (тип. 2,4) | средний | 68 | — |
| 1,05–1,9 МГц (тип. 1,536) | экономичный | 66 | 620 мкА |
| ниже 250 кГц | ожидание, DATA в Z-состоянии | — | — |
Данные из таблиц 4 и 5 даташита Infineon. Частотой такта выбирают компромисс между отношением сигнал/шум и потреблением; после смены режима чувствительность устанавливается с точностью ±0,5 дБ за 20 мс.
Два микрофона на одной линии
Стерео или массив из двух микрофонов собирают на общих CLK и DATA: вывод SELECT одного соединяют с землёй, другого — с питанием. По таблице 5 даташита микрофон начинает вести DATA не раньше 40 нс после фронта CLK и отпускает её в высокоимпедансное состояние за 5–30 нс после фронта, поэтому два микрофона с разным уровнем SELECT по очереди делят одну линию в пределах периода такта. Приёмник при этом разделяет левый и правый каналы.
Разводка простая, но аккуратная: конденсатор 100 нФ вплотную к выводу питания каждого микрофона, короткая линия такта, при длинной линии DATA — резистор около 100 Ом против звона, как советует Infineon. Звуковое отверстие на плате совмещают с портом микрофона, а сам интерфейс тактов и данных — это вариант шины I²S в режиме PDM.
Частые вопросы
Как подключить два PDM-микрофона к одному входу?
Оба микрофона садят на общие линии CLK и DATA, а выводы выбора канала (у IM69D130 — SELECT) подключают по-разному: один к земле, другой к питанию. Микрофон ведёт DATA только часть периода такта и затем отпускает её в высокоимпедансное состояние (по даташиту — за 5–30 нс после фронта CLK), поэтому линия делится без конфликта. Infineon советует ставить у каждого микрофона конденсатор 100 нФ.
Какой такт подавать на PDM-микрофон?
Такт задаёт и частоту дискретизации после децимации, и режим микрофона. У ESP32 в режиме PDM-to-PCM с понижением в 64 раза при 48 кГц выходит 3,072 МГц — ровно типовая частота IM69D130 с SNR 69 дБ(A). На 1,536 МГц тот же микрофон потребляет меньше (620 мкА против 980 мкА), но SNR падает до 66 дБ(A); ниже 250 кГц он уходит в режим ожидания.
Чем PDM-микрофон отличается от микрофона с выходом I²S?
PDM-микрофон отдаёт однобитный поток с частотой в мегагерцы, а фильтр децимации стоит на стороне приёмника — в периферии микроконтроллера, кодеке или программе. Микрофон с выходом I²S делает децимацию сам и отдаёт готовые многобитные отсчёты с BCLK и WS, так что приёмнику достаточно обычного интерфейса I²S без преобразователя PDM.
Источники
- Infineon Technologies. IM69D130 High performance digital XENSIV MEMS microphone, Datasheet v1.0 (2017-12-19) — Description: внутри предусилитель и сигма-дельта АЦП, выход PDM; SNR 69 дБ(A), AOP 130 дБ SPL, THD < 1 % до 128 дБ SPL; табл. 4: при fCLK 3,072 МГц SNR 69 дБ(A), при 2,4 МГц — 68, при 1,536 МГц — 66; табл. 5: питание 1,62–3,6 В, конденсатор 100 нФ у вывода VDD; режимы по частоте такта — 2,9–3,3 МГц, 2,1–2,65 МГц, 1,05–1,9 МГц, 400–950 кГц, при такте ниже 250 кГц — standby, DATA в высокоимпедансном состоянии; ток 980 мкА тип. при 3,072 МГц и 620 мкА при 1,536 МГц; переключение режима — 20 мс до ±0,5 дБ чувствительности; задержки DATA от фронта CLK: tDD от 40 нс, tHZ 5–30 нс, tDV до 100 нс; разд. 4, рис. 10: стерео — два микрофона на общих CLK и DATA, выбор канала выводом SELECT, рядом 100 нФ, на DATA можно поставить резистор ≈ 100 Ом против звона
- Espressif. ESP-IDF Programming Guide v6.1, ESP32: Inter-IC Sound (I2S), section «PDM Mode» — PDM — оцифровка передискретизацией с разрешением 1 бит, аналоговая величина передаётся плотностью импульсов; линии CLK и DATA; перевод в PCM — фильтрация и понижение частоты отсчётов; PDM-to-PCM есть на I2S0 у ESP32, на портах без преобразователя доступен только сырой PDM и нужен программный фильтр; при сыром PDM частота обычно 1,024–6,144 МГц; режим I2S_PDM_DSR_8S — такт CLK = 64 · fs PCM, I2S_PDM_DSR_16S — 128 · fs; данные в PDM-режиме всегда 16-битные
Нашли ошибку?
Смотрите также
- I²S (шина цифрового звука)Трёхпроводная шина для передачи звука: такт, выбор канала, данные
- Сигма-дельта АЦПАЦП с передискретизирующим модулятором и цифровым фильтром
- ПередискретизацияOversampling: дополнительные биты АЦП усреднением
- SNR — отношение сигнал/шумОтношение сигнала к шуму без гармоник; для идеального АЦП 6,02N + 1,76 дБ
- MCLK в I²SМастер-такт аудио: кратность частоте дискретизации, 256·fs, 384·fs, PLL от BCK
- MEMS-микрофонКремниевый конденсаторный микрофон с предусилителем; выход аналоговый, PDM или I²S
- Децимационный фильтрФильтр нижних частот с прореживанием после сигма-дельта модулятора