LC75342 (Arduino)

ИМС LC75342 представляет собой высококачественный аудиопроцессор предназначенный для регулировки громкости и тембра, а так же содержит 4-канальный коммутатор входов, предусилитель.

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

  • Регулировка громкости от -79 до 0 дБ (шаг 1 дБ)
  • Независимая регулировка громкости (баланс)
  • Входной предварительный усилитель входа от 0 до +30 дБ (шаг 2 дБ)
  • 4-х канальный коммутатор входов
  • Регулировка тембра BASS от -20 до +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 бита.

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

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

#include <LC75342.h>

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

void setup(){
  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(0);  // volume 0...-79 dB = byte 0...79
  lc.set_treble(0);  // treble 10...-10 dB step 2 dB = int 5...-5 
  lc.set_bass(0);    // bass 20...-20 dB step 2 dB = int 10...-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 <LC75342.h>

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

void setup(){
  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(0);  // volume 0...-79 dB = byte 0...79
  lc.set_treble(0);  // treble 10...-10 dB step 2 dB = int 5...-5 
  lc.set_bass(0);    // bass 20...-20 dB step 2 dB = int 10...-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(0);  // volume 0...-79 dB = byte 0...79
  lc.set_treble(0);  // treble 10...-10 dB step 2 dB = int 5...-5 
  lc.set_bass(0);    // bass 20...-20 dB step 2 dB = int 10...-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=446

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

 

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

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