Аудиопроцессор LC75341 (Arduino)

LC75341 представляют собой электронный регулятор громкости и тембра, так же содержит 4-канальный коммутатор входов, предусилитель.

Основные параметры LC75341

  • Регулировка громкости от -79 до 0 дБ (шаг 1 дБ)
  • Независимая регулировка громкости (баланс)
  • Входной предварительный усилитель входа от 0 до +30 дБ (шаг 2 дБ)
  • 4-х канальный коммутатор входов
  • Регулировка тембра BASS от 0 до +20 дБ (шаг 2 дБ)
  • Регулировка тембра TREBLE от -10 до +10 дБ (шаг 2 дБ)
  • Напряжение питания от 5 до 10 В
  • Управление цифровое 3-Wire (CL, DI, CE) (макс. тактовая частота до 500 кГц)
  • Входное сопротивление 50 кОм
  • Коэффициент нелинейных искажений 0,01% (макс.)

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

Управление аудиопроцессором осуществляется через 3-Wire шину, в которую входит CL — синхронизация, DI — данные и  CE — сигнал разрешения передачи адреса/данных.

Первым передается байт адреса при CE = LOW:

Далее передаются данные после сигнала разрешения CE = HIGH, байт данных содержит 32 бита.

Порядок передачи данных содержится в даташите — lc75341.pdf

Тестовый скетч:

#include <LC75341.h>

LC75341 lc(3,4,2);   // CE,DI,CL

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

  }

void loop(){}

void audio(){
  lc.addr();
  lc.set_input(0);   // input 1...4 = byte 0...3 (byte 4...7 = All switches off)
  lc.set_gain(0);    // gain 0...30 dB step 2 dB = byte 0...15
  lc.set_volume(5);  // volume 0...-79 dB = byte 0...79
  lc.set_treble(3);  // treble -10...10 dB step 2 dB = int -5...5 
  lc.set_bass(1);    // bass 0...20 dB step 2 dB = int 0...10
  lc.set_ch(3);      // Channel Selection RCH = byte 2, LCH = byte 1, Left and right together = byte 3 
  lc.test();
  }

При тестировании стоит обратить внимание на функцию  lc.set_ch(), которая позволяет регулировать громкость одновременно двух каналов, только правого или только левого канала. При раздельной регулировке громкости необходимо два раза запускать функцию audio() отдельно для каждого канала.

#include <LC75341.h>

LC75341 lc(3,4,2);   // CE,DI,CL

void setup(){
  delay(100);
  audio_L();
  audio_R();

  }

void loop(){}

void audio_L(){
  lc.addr();
  lc.set_input(0);   // input 1...4 = byte 0...3 (byte 4...7 = All switches off)
  lc.set_gain(0);    // gain 0...30 dB step 2 dB = byte 0...15
  lc.set_volume(5);  // volume 0...-79 dB = byte 0...79
  lc.set_treble(3);  // treble -10...10 dB step 2 dB = int -5...5 
  lc.set_bass(1);    // bass 0...20 dB step 2 dB = int 0...10
  lc.set_ch(1);      // Channel Selection RCH = byte 2, LCH = byte 1, Left and right together = byte 3 
  lc.test();
  }

void audio_R(){
  lc.addr();
  lc.set_input(0);   // input 1...4 = byte 0...3 (byte 4...7 = All switches off)
  lc.set_gain(0);    // gain 0...30 dB step 2 dB = byte 0...15
  lc.set_volume(5);  // volume 0...-79 dB = byte 0...79
  lc.set_treble(3);  // treble -10...10 dB step 2 dB = int -5...5 
  lc.set_bass(1);    // bass 0...20 dB step 2 dB = int 0...10
  lc.set_ch(2);      // Channel Selection RCH = byte 2, LCH = byte 1, Left and right together = byte 3 
  lc.test();
  }  

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

Библиотека — lc75341.zip

Регулятор громкости и тембра на LC75341 — http://rcl-radio.ru/?p=112468

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

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