DFSDM (digital filter for sigma-delta modulators)
Изолированный сигма-дельта модулятор в датчике тока и PDM-микрофон выдают одно и то же — однобитный поток с частотой в мегагерцы. Чтобы получить из него числа, в STM32H7 есть аппаратный блок DFSDM.
Обновлено Редакция GAW
DFSDM (digital filter for sigma-delta modulators) — блок микроконтроллеров STM32H7, который принимает однобитные потоки внешних сигма-дельта модуляторов и превращает их в многоразрядные отсчёты. По RM0433 (разд. 30.1) у него до 8 входных каналов и до 4 цифровых фильтров, а разрядность результата — до 24 бит.
Что внутри
- Последовательные каналы. Интерфейс SPI или однопроводной манчестерский код; DFSDM может выдавать такт для модуляторов. Есть и параллельный вход — от встроенных АЦП или из памяти.
- Фильтр Sinc порядка 1–5 или FastSinc с коэффициентом передискретизации до 1024 — это децимационный фильтр, который снижает частоту и повышает разрядность.
- Интегратор суммирует от 1 до 256 выходов фильтра, затем сдвиг вправо на 0–31 бит и коррекция смещения.
- Аналоговый сторож по каналу или результату — аналог сторожа АЦП.
- Детектор короткого замыкания замечает длинную серию одинаковых битов во входном потоке, детектор экстремумов запоминает максимум и минимум.
Результат забирают по прерыванию или через DMA, запуск — программно или от таймера.
Два главных применения
Изолированные измерения. Модулятор стоит у шунта или датчика за барьером изоляции, а через изоляцию идёт только поток битов. DFSDM фильтрует его, а детектор КЗ и сторож быстро реагируют на аварию.
PDM-микрофоны. RM0433 (разд. 30.4.4) описывает подключение пары PDM-микрофонов: линии такта и данных — на один канал, этот канал стробирует по фронту (левый), соседний — по спаду (правый), и каждому назначают свой фильтр. Это та же схема двух микрофонов на одной линии, что описывает InvenSense. Обзор семейства — на странице STM32H7.
Частые вопросы
Как подключить PDM-микрофон к DFSDM?
Линии данных и такта микрофонов — на выводы одного канала DFSDM, канал y стробирует данные по фронту (левый микрофон), соседний канал y − 1 берёт данные с тех же выводов по спаду (правый). На каждый канал назначают свой фильтр. Такт для микрофонов DFSDM выдаёт сам. Так описывает схему RM0433 в разд. 30.4.4.
Зачем DFSDM, если в STM32 есть свои АЦП?
Для внешних сигма-дельта модуляторов: они стоят у датчика — например, в изолированном измерителе тока двигателя — и передают через изоляцию только однобитный поток. DFSDM фильтрует его до 24-битных отсчётов, следит за выходом из диапазона и замечает короткое замыкание по длинной серии одинаковых битов. Ещё одно применение — цифровые PDM-микрофоны.
Какой порядок фильтра Sinc выбрать?
Выше порядок — сильнее подавление вне полосы и больше разрядность выхода (до ±FOSR в степени порядка), но меньше допустимый коэффициент децимации: в DFSDM до 1024 для Sinc1–Sinc3, до 215 для Sinc4 и до 73 для Sinc5. Растёт и время первого преобразования: по RM0433 оно равно [FOSR · (IOSR − 1 + FORD) + FORD] тактам входного потока.
Источники
- STMicroelectronics. RM0433: STM32H742, STM32H743/753 and STM32H750 Value line advanced Arm-based 32-bit MCUs. Reference manual, Rev 9 — разд. 30.1: DFSDM — модуль для подключения внешних сигма-дельта модуляторов: до 8 внешних последовательных каналов и до 4 цифровых фильтров, разрядность результата до 24 бит; параллельный ввод от внутренних АЦП или из памяти; интерфейсы SPI и однопроводной манчестерский; преобразование — цифровая фильтрация и децимация потока; скорость и разрядность задают тип, порядок и длина фильтра и длина интегратора; режимы однократный и непрерывный, DMA; аналоговый сторож по каналу или результату, детектор короткого замыкания (длинная серия нулей или единиц), детектор экстремумов; разд. 30.2: Sinc порядка 1–5 и FastSinc, коэффициент передискретизации до 1024, интегратор 1–256, сдвиг вправо 0–31 бит, знаковый результат, коррекция смещения; разд. 30.4.4 — настройка последовательных каналов для PDM-микрофона: данные и такт на вывод канала y, канал y стробирует по фронту (левый канал), канал y − 1 — по спаду (правый), два фильтра на два канала; гл. 30 — время первого преобразования для Sinc: [FOSR · (IOSR − 1 + FORD) + FORD] / fCKIN; разд. 30.4.8 — FOSR до 1024 для Sinc1–Sinc3 и FastSinc, до 215 для Sinc4, до 73 для Sinc5, H(z) = ((1 − z^−FOSR)/(1 − z^−1))^x
- InvenSense. Lewis J. Inter-IC Digital Audio Interfaces (WP, Revision 1.0, 12/18/2013) — у PDM децимационный фильтр находится в принимающей микросхеме: источник выдаёт сырой поток модулятора; два источника PDM делят линию данных, выдавая биты на разных фронтах общего такта; такт обычно 1,0–3,2 МГц
Нашли ошибку?
Смотрите также
- Децимационный фильтрФильтр нижних частот с прореживанием после сигма-дельта модулятора
- Сигма-дельта АЦПАЦП с передискретизирующим модулятором и цифровым фильтром
- PDM-микрофонЦифровой MEMS-микрофон с 1-битным выходом: такт, выбор канала, децимация
- Манчестерский кодБит = две половинки с перепадом посередине; без постоянной составляющей, скорость вдвое ниже
- Аналоговый сторож АЦП (AWD)Прерывание АЦП, когда результат выходит из окна порогов
- STM32H7Cortex-M7 от 280 до 600 МГц, двухъядерные H745/H747 — линейки, память, загрузка и распиновки
- Изолированный усилительПередача аналогового сигнала через изолирующий барьер