Перейти к содержанию

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)высокое качество69980 мкА
2,1–2,65 МГц (тип. 2,4)средний68—
1,05–1,9 МГц (тип. 1,536)экономичный66620 мкА
ниже 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.

Источники

  1. 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 Ом против звона
  2. 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-битные

Нашли ошибку?