TDA7416 (Arduino)

Аудиопроцессор TDA7416 представляет собой регулятор громкости с 7-и полосным эквалайзером и коммутатором входов.

Особенности аудиопроцессора TDA7416:

  • Коммутатор входов с программируемым предварительным усилителем от 0 до 15 дБ:
    • 3 стереовхода
    • 1 псевдодифференциальный стереовход
  • Регулятор громкости
    • -79.5 … 32 дБ (не рекомендовано повышать громкость более +20,0 дБ), шаг 0,5 дБ
  • 7-и полосный эквалайзер с регулировкой полос от -15 до +15 дБ и добротности:
    • Частота фильтра:
      • EQ Filter 1 (62/100Hz) (выбор частоты)
      • EQ Filter 2 (157Hz)
      • EQ Filter 3 (396Hz)
      • EQ Filter 4 (1kHz)
      • EQ Filter 5 (2.51kHz)
      • EQ Filter 6 (4/6.34kHz) (выбор частоты)
      • EQ Filter 7 (15/16kHz) (выбор частоты)
    • Добротность:
      • 2.2
      • 1.8
      • 1.4
      • 1.0
  • Фильтр частот для сабвуфера
    • 4 режима — off  / 80Hz / 120Hz /160Hz
  • Фильтр высоких частот для сабвуфера
    • 4 режима — 90Hz / 135Hz / 180Hz / 225Hz
  • Тонкомпенсация (Loudness)
    • Аттенюатор от -19 до 0 дБ
    • Выбор фильтра центральной частоты 200Hz / 400Hz / 600Hz / 800Hz
    • Режимы фильтра: First order / Second order
  • Выход тип 4.1 с независимыми аттенюаторами от -79 до +15 дБ
    • RF, LF, RR, LR, SUB (subwoofer)
  • Режим MUTE
  • Микшер
  • Встроенный 7-и полосный анализатор спектра
  • Интерфейс шины I2C

Схема подключения

Библиотека TDA7416 поддерживает все режимы и возможности аудиопроцессора, ниже показан тестовый скетч который позволяет регулировать все параметры аудиопроцессора:

#include <TDA7416.h>
#include <Wire.h>
TDA7416 tda;

void setup() {
  delay(100); 
  audio();
}

void loop() {}

void audio(){
  tda.set_input(0, 0, 0); 
// Source selector 1...4 === byte 0...3
// Input gain 0...15 dB === byte 0...15
// Mute bool 0=off, 1=on
        tda.set_loudness(0, 0, 1);   
// Attenuation 0...-19 dB === byte 0...19
// Center frequency 200/400/600/800 Hz === byte 0...3
// Loudness order bool 0 = First order, bool 1 = Second order 
        tda.set_volume(0);
// Volume +32.0...-79.5 dB step 0.5 dB === int +64...-159 /// int 1 = 0.5 dB
        tda.set_eq1(0, 0, 0);
// 62/100 Hz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
// Equalizer center frequency 62/100 Hz === bool 0...1
        tda.set_eq2(0, 0);
// 157 Hz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
        tda.set_eq3(0, 0);
// 396 Hz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
        tda.set_eq4(0, 0);
// 1 kHz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
        tda.set_eq5(0, 0);
// 2.51 kHz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
        tda.set_eq6(0, 0, 0);
// 4/6.34 kHz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
// Equalizer center frequency 4/6.34 kHz === bool 0...1
        tda.set_eq7(0, 0, 0);
// 15/16 kHz
// Equalizer cut/boost level -15...+15 dB === int -15...+15
// Equalizer Q-Factor 2.2/1.8/1.4/1.0 === byte 0...3
// Equalizer center frequency 15/16 kHz === bool 0...1
        tda.set_miz_prog(0, 3, 0, 0, 1, 1);
// Mixing mute/eneble === bool 0...1
// Rear Source Selector input 1...4 === byte 0...3
// Mixing Target Speaker LF off/on === bool 0...1
// Mixing Target Speaker RF off/on === bool 0...1
// ZeroCross on HPF2 on/off === bool 0...1
// Spectrum Analyzer Detect Point  After EQ/Before EQ === bool 0...1
        tda.set_soft_mute(0, 2, 1, 10);
// Soft-mute on/off === bool 0...1
// Soft-mute time 0.48/0.96/123 ms === byte 0...2
// Secondary high-pass enable Filter available/No Filter (Gain) === bool 0...1
// Secondary high-pass effect (with ZeroCross) 4/6/8/10/12/14/16/18/20/22/0 dB === byte 0...10
        tda.set_sub(2, 1, 1, 1, 3);
// Subwoofer Filter off/80/120/160 Hz === byte 0...3
// Subwoofer Coupling  AC using SWIn pin/DC === bool 0...1
// Spectrum Analyzer Q-Factor 3.5/1.8 === bool 0...1
// High-pass enable off/on === bool 0...1
// High-pass cut-off frequency 90/135/180/225 === byte 0...3
        tda.set_conf_audio(0, 1, 1, 3, 1, 1, 1);
// PD input mode  single ended/pseudo differential === bool 0...1
// PD Input Gain -6/0 dB === bool 0...1
// Soft-step volume off/on === 0...1
// Soft-step time 0.32/1.28/5.12/20.4 ms === byte 0...3
// Loudness  flat/filter On === bool 0...1 
// Front AC speaker  AC coupling (ACin)/DC coupling === bool 0...1
// Rear effect  No effect signal/Equalizing signal === bool 0...1
        tda.set_mix_att(0);
// Gain/Attenuation +15...-79 dB === int 15...-79
        tda.set_lf_att(0, 1);
// Gain/Attenuation -79...+15 dB === int -79...15
// Soft-step on/off === bool 0...1
        tda.set_rf_att(0, 1);
// Gain/Attenuation -79...+15 dB === int -79...15
// Soft-step on/off === bool 0...1
        tda.set_lr_att(0, 1);
// Gain/Attenuation -79...+15 dB === int -79...15
// Soft-step on/off === bool 0...1
        tda.set_rr_att(0, 1);
// Gain/Attenuation -79...+15 dB === int -79...15
// Soft-step on/off === bool 0...1
        tda.set_sub_att(0, 1);
// Gain/Attenuation -79...+15 dB === int -79...15
// Soft-step on/off === bool 0...1
        tda.set_test(0);// 0b10000000 SC-Clock Normal mode
// off === byte 0
  }

Форум — http://forum.rcl-radio.ru/viewtopic.php?id=457

Даташит — tda7416_data.pdf

Добавить комментарий

Войти с помощью: