Аналоги реле Phoenix Contact, Finder, Omron, ABB, Schneider
РадиоЛоцман - Все об электронике

BM2114dsp - Цифровой процессор звука (часть 3). Внешние элементы управления, генерация и обработка звуковых сигналов

Мастер Кит BM2114dsp

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

1. Функциональный генератор звуковой частоты

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

  • синусоидальный;
  • меандр;
  • пилообразный;
  • треугольный;
  • импульсный с переменной скважностью;
  • свипируемый по частоте (линейно и логарифмически);
  • постоянное напряжение;
  • модулированный по частоте и уровню;
  • белый шум.

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

Над сигналами можно производить арифметические операции – складывать их, вычитать, умножать, делить. Элементы, позволяющие осуществлять такие операции находятся в подменю Basic DSP->Arithmetic Operations. Разумеется, генерируемые сигналы можно произвольным образом сочетать с сигналами, поступающими с двух входных АЦП.

Все элементы, связанные с генерацией сигналов находятся в подменю Sources. С помощью этих элементов можно создать управляемый генератор тестовых сигналов с числом каналов до четырех, по числу выходных ЦАП.

Создадим проект генератора тестовых сигналов, загрузим его в плату и пощупаем осциллографом, что получилось. Мы нарисовали двухканальный генератор с совершенно раздельными каналами. В тракте применены коммутаторы, позволяющие переключать сигналы между несколькими входами и одним выходом радиокнопкой. Коммутатор монофонического сигнала Mono Switch Nх1, где N – число переключаемых каналов, находится в подменю Muxes/Demuxes->Multiplexers->Switch->No Slew(Standard)->1Ch.

Также мы используем регулятор громкости Single Volume Gain (no slew), который находится в подменю Volume Control->Adjustable Gain->Single/Multiple Controls->No Slew(Standard). Используемые в схеме комментарии вводятся контролом User Comment из меню Schematic Design.

BM2114dsp - Цифровой процессор звука

На следующей фотографии реально подключенного модуля BM2114dsp, на экране осциллографа видим два синусоидальных сигнала, смещенных по фазе на 180 град друг относительно друга, в соответствии с заданным смещением на элементе генератора синуса с регулировкой фазы в нижнем канале рис.1.

BM2114dsp - Цифровой процессор звука

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

BM2114dsp - Цифровой процессор звука

2. Использование входов-выходов общего назначения (GPIO)

Управлять параметрами элементов звукового тракта, сформированного и загруженного в модуль с помощью SigmaStudio, можно с помощью 12-ти так называемых входов-выходов общего назначения (General Purpose Input/Output – GPIO). К ним можно подключить кнопки, энкодеры, источники напряжения, устройства индикации, управления и т.п.

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

Откроем в SigmaStudio новый проект и нарисуем схему , позволяющую регулировать  громкость с помощью двух кнопок. Помимо уже известных нам входов и выходов, понадобится управляемый кнопками регулятор, который можно найти в подменю GPIO Conditioning->Volume Control->Push Button->Push Button Volume. По умолчанию контрол одноканальный, его следует сделать двухканальным с помощью описанной в предыдущей статье функции контрола Grow Algorithm. Тогда получится стереофонический регулятор с синхронным изменением громкости в обоих каналах. Конечно, если такая потребность, регулировку стереоканалов можно сделать раздельной.

Также понадобятся два элемента GPIO, работающих на вход, к которым подключаются кнопки. Они находятся в подменю IO->GPIO->Input->General Purpose Input. Их выходы в виде оранжевых точек соединяются с соответствующими входами регулятора – это линии управления.  При нажатии на кнопку, подсоединенную к GPIO_0, громкость увеличивается, к GPIO_1 – уменьшается.  Следует отметить чекбокс InvertGPIO для того, чтобы срабатывание происходило при подаче низкого логического уровня на входы GPIO.

Для корректной компиляции схемы в нее следует добавить еще два служебных элемента интерфейса, подсоединяемые к интерфейсным входу/выходу регулятора (см. схему). Если оставить точки не подсоединенными, то при компиляции возникнет ошибка. Интерфейсные элементы находятся в подменю IO->GPIO->Input->Interface Read и IO->GPIO->Output->Interface Write.

BM2114dsp - Цифровой процессор звука

Регулятор имеет несколько настраиваемых параметров: первый параметр hold задает время в миллисекундах, через которое начинается пошаговое изменение громкости при удержании кнопки; второй repeat задает время между шагами, третий параметр работает совместно с таблицей, которая появляется при нажатии на кнопку контрола Table, и задает число шагов изменения громкости. Число шагов в таблице должно совпадать с третьим параметром и задавать значение громкости на каждом шаге. В данном примере таких шагов 11, а громкость изменяется от 0 до максимума (1 или 100%) через 0.1 (10%). Параметр SW Slew Rate задает скорость изменения громкости между шагами.

BM2114dsp - Цифровой процессор звука

Модифицируем нашу схему так, чтобы громкостью можно было управлять с помощью поворотного энкодера. Для этого используется элемент Rotary Volume.

BM2114dsp - Цифровой процессор звука

Параметры контрола сверху вниз:

  • время подавления дребезга контактов энкодера (20 мс);
  • число шагов изменения громкости (33), должно соответствовать числу шагов в таблице;
  • таблица с 33 значениями громкости;
  • скорость изменения громкости между шагами.

BM2114dsp - Цифровой процессор звука

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

Среди элементов SigmaStudio есть такой фильтр. Он находится в подменю Filters->Second Order->Lookup->Double Precision->General 2nd Order w var Param/Lookup/Slew. По умолчанию он одноканальный. Размножив алгоритм, сделаем его двухканальным для стереозвука, а в качестве управляющего элемента используем счетчик нажатий кнопки Toggle Counter, подключенной к GPIO_0. Счетчик будет срабатывать при каждом положительном фронте (Rising Edge) сигнала на его входе. К счетчику должны быть подключены два интерфейса.

Число переключаемых таким образом характеристик фильтра определяется параметром контрола curves, параметр step фактически управляет плавностью переключения от одной кривой фильтра к другой. Два параметра Frequency задают минимальное и максимальное значения частоты среза фильтра.

BM2114dsp - Цифровой процессор звука

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

BM2114dsp - Цифровой процессор звука

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

Скачать файлы проектов для SigmaStudio:

  1. generators.dspproj
  2. 2_push_button_volume.dspproj
  3. encoder_volume.dspproj
  4. push_button_filter_switch.dspproj

Мастер Кит

T-electron
Россия и страны СНГ
BM2114DSP597 955 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя