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