Содержание
Mute
Включение/отключение режима Mute:
Установите или снимите флажок; сигнал заглушается, когда флажок установлен.
Блок Mute доступен в виде алгоритма Slew или Non-Slew.
Версия алгоритма Slew плавно изменяет усиление до целевого значения, устраняя щелчки и помехи, но требует больше системных ресурсов.
Алгоритмы:
- No Slew (Standard) - Алгоритм Mute по умолчанию — это алгоритм типа «no slew», который заглушает сигнал немедленно при включении, без плавного изменения усиления. Этот алгоритм требует меньше ресурсов, чем алгоритмы slew, но может приводить к разрывам сигнала (щелчкам и помехам) при переключении в реальном времени.
- HW (RCtype Slew) - Процессоры AD1940 / 1941 поддерживают управление Mute с использованием аппаратного обеспечения target/slew RAM для плавного перехода (slew) от усиления 0dB к режиму Mute.
- SW (RCtype Slew) - Алгоритм типа Slew, который плавно переходит от усиления 0dB к режиму Mute и обратно от режима Mute к усилению 0dB. Этот алгоритм Slew реализован в программном обеспечении («SW») и, следовательно, требует больше инструкций, чем алгоритм No Slew.
Этот блок поддерживает как алгоритм Grow Algorithm (добавляет дополнительные входы и выходы), так и алгоритм Add Algorithm (добавляет независимый алгоритм Mute, а также связанные с ним входы и выходы).
Управление режимом Mute с микроконтроллера
Ниже предполагается, что у вас есть работающая платформа микроконтроллера с кодом интерфейса SigmaDSP, основанным на Interfacing SigmaDSP Processors with a Microcontroller.
В процессорах SigmaDSP функция Mute реализована как усиление. Когда флажок установлен (Mute Enabled), DSP умножает входной сигнал на 0. Это дает 0 на выходе. Когда флажок снят (Mute Disabled), DSP умножает входной сигнал на 1, позволяя входному сигналу проходить на выход.
Чтобы установить алгоритм в режим Mute, запишите 0 в адрес MuteOnOff. Чтобы отключить режим Mute на выходе, запишите 1 в адрес MuteOnOff.
Как обычно, измените имя переменной MOD_MUTE1_ALG0_MUTEONOFF_ADDR в соответствии с вашими экспортированными файлами.
Чтение значений Mute из SigmaDSP
Значения Mute хранятся в десятичном формате (8.24 или 5.23), поэтому для получения текущего значения используйте функцию SIGMA_READ_REGISTER_FLOAT.
double mute_state = SIGMA_READ_REGISTER_FLOAT(MOD_MUTE1_ALG0_MUTEONOFF_ADDR); if (mute_state == 1) { Serial.println("System is Unmuted"); } else if (mute_state == 0) { Serial.println("System is Muted"); } else { Serial.println("Mute value is not 0 or 1"); }
Запись значений Mute в SigmaDSP
Чтобы заглушить выходной сигнал:
SIGMA_WRITE_REGISTER_FLOAT(MOD_MUTE1_ALG0_MUTEONOFF_ADDR, 0);
Чтобы отключить режим Mute на выходе:
SIGMA_WRITE_REGISTER_FLOAT(MOD_MUTE1_ALG0_MUTEONOFF_ADDR, 1);
