EdigE
← ЛЕНТА

Pico превратили в цифровой кроссовер с восемью выходами

В активной акустике один входной поток приходится разрезать на полосы, выровнять динамики задержками, скорректировать АЧХ эквалайзером и отправить каждую полосу своему ЦАП. Обычно эта работа живёт в выделенном DSP или дорогом аудиопроцессоре. Проект DSPi помещает её в Raspberry Pi Pico: прошивка принимает USB Audio либо S/PDIF и строит цифровой выходной тракт для многополосной системы.

Четыре или восемь полос из одной Pico

На RP2040 доступны до четырёх выходных каналов, на RP2350 — до восьми. Выходные слоты можно назначать как S/PDIF или I2S; вход USB заявлен для 16- и 24-битного аудио с частотами 44.1, 48 и 96 кГц. Сам контроллер не превращается в готовый аудиоинтерфейс: для оптического S/PDIF нужны внешний приёмник и передатчик, а за цифровыми выходами всё равно остаются внешние ЦАП, аналоговые фильтры и усилители. Однако вся математика разделения полос и маршрутизация оказываются в микроконтроллере стоимостью Pico.

Фиксированная точка против аппаратного float

На старом RP2040 разработчики выбрали Q28 fixed-point и оптимизированные вставки ARM assembly. Это дисциплинирует диапазоны данных и масштабирование коэффициентов, зато избавляет от программной эмуляции float. RP2350 позволяет считать single-precision float на аппаратном FPU двух Cortex-M33, поэтому та же идея получает больше запаса для обработки. Штатная частота RP2350 составляет 150 МГц; упоминаемые проектом 307.2 МГц относятся к разгону, а не к паспортному режиму чипа.

Сабвуфер забирает второе ядро

В документации есть особенно честная цена многоканальности. Второе ядро обслуживает либо PDM-модулятор отдельного сабвуферного выхода, либо worker для EQ старших выходов. При включённом PDM на RP2350 остаются Out 1–2 и PDM Out 9, а Out 3–8 отключаются; у RP2040 схема аналогична с Out 1–2, PDM Out 5 и отключёнными Out 3–4. Восемь цифровых каналов и PDM-сабвуфер нельзя получить в одном режиме только прошивкой: вычислительный ресурс и периферийная логика уже заняты.

Именно этот компромисс делает DSPi интереснее демонстрации «звук из Pico». Прошивка явно раскладывает аудиотракт на входные буферы, вычисление фильтров, цифровые выходы и конкурирующие задачи ядер. В репозитории есть телеметрия загрузки и ошибок буферов, однако опубликованных независимых измерений задержки, THD+N, джиттера и загрузки при конкретной конфигурации фильтров пока нет. Поэтому проект следует читать как открытую и воспроизводимую архитектуру, а не как готовый измеренный эталон качества.

Исходники и документация

Исходники и документация