Целевая RAM-память плавного изменения (Target Slew Ram)
Целевая RAM-память плавного изменения (Target/Slew RAM) — это аппаратно-оптимизированная функция, которая позволяет плавно изменять уровень громкости или другие параметры до последующих уровней без слышимых щелчков и помех (clicks/pops).
В аудиосистемах резкие изменения положения громкости или других параметров вызывают непредсказуемые шумы. См. пример схемы ниже, показывающий возможные изменения в реальном времени, которые могут вызывать щелчки/помехи:
Этот шум возникает из-за масштабирования аудиосигнала ступенчатой функцией, что вызывает нежелательную реакцию. Ступенчатая функция содержит импульс (дельта-функцию Дирака d(k)). Можно показать, что импульс d(k) является ограниченным по частоте белым шумом. Этот шум нежелателен во всех аудиоприложениях. См. ниже графическое представление этого шума сигнала, вызванного ступенчатой функцией:
Существует несколько возможных решений для рассмотрения этой проблемы шума:
- Мы можем непрерывно записывать увеличивающееся значение в DSP, пока не достигнем желаемого значения. Проблемы:
- Требует интенсивного использования микроконтроллера
- Сложно реализовать из-за временных ограничений и формы кривой изменения.
- Мы можем использовать целевую RAM-память плавного изменения (target/slew RAM) для автоматического выполнения требуемого плавного изменения одной простой командой без необходимости отключать звук DSP. Результат показан ниже:
Блоки управления громкостью и мультиплексоры (mux) SigmaStudio используют RAM плавного изменения (slew RAM) для чистого изменения громкости с одного уровня на другой. Таким образом, для всех ячеек управления громкостью у вас есть возможность использовать целевую RAM-память плавного изменения (target/slew RAM) в качестве алгоритма для предотвращения шума, присущего переключению уровней.
Существует 4 типа кривой (slope), которые можно использовать с целевой RAM-памятью плавного изменения (target/slew RAM):
- Линейная (Linear) — фиксированный размер шага.
- Постоянная в дБ (Constant dB) — использует мгновенное значение плавного изменения для расчета следующего размера шага. В дБ она постоянна как при увеличении, так и при уменьшении.
- RC-типа (RC-type) — использует разницу между целевым и текущим значениями для расчета размера шага.
- Постоянная (Constant) — значения изменяются линейно за фиксированное количество шагов.
Подробности см. на странице «Алгоритмы управления громкостью AD1940/1941».
Хотя целевая RAM-память плавного изменения (target/slew RAM) полезна для устранения нежелательного шума, у нее есть некоторые недостатки:
- Мы вынуждены записывать значения, используя регистры безопасной загрузки (safeload registers).
- Мы не можем считывать данные из целевой RAM-памяти плавного изменения (target/slew RAM) для проверки записанного значения.
- Мы можем реализовать эту функциональность в программном обеспечении, хотя это может занять дефицитную программную RAM (MIPS) и не будет оптимизировано.
- Ограниченное количество: в настоящее время AD1940 имеет 64 ячейки целевой RAM-памяти плавного изменения (target/slew RAM), которые следует использовать только тогда, когда параметр или набор параметров будет изменяться во время выполнения в конечном приложении.
