ИМС 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