| Ваш IP: 3.239.7.207 | Online(31) - гости: 10, боты: 20 | Загрузка сервера: 2.37 ::::::::::::

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

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

Основные параметры аудиопроцессора PT2319:

  • 5-и канальный коммутатор входа
  • 4-х канальный выход (FRONT, REAR)
  • регулятор громкости 0…-79 дБ (шаг 1 дБ)
  • регулировка BASS ±11.9 дБ
  • регулировка TREBLE ±11.9 дБ
  • регулировка SUPER BASS 0 дБ … +20 дБ
  • КНИ не более 0,003% при выходном напряжении 1 Vrms
  • сопротивление нагрузки выхода 600 Ом
  • аттенюатор REAR (тыл) 0 дБ … -60 дБ
  • режим MUTE
  • предусилитель входа 0 дБ …+18.75 дБ с шагом 1.25 дБ
  • усилитель входа 0 дБ, +6.5 дБ, +8.5 дБ
  • цифровой 3-х проводной интерфейс управления (макс. частота шыны 500 кГц)
  • напряжение питания 5…10 В (9 В — рекомендуемое)
  • ток потребления 15 мА
  • разделение каналов 110 дБ
  • отношение сигнал.шум 100 дБ
  • уровень MUTE -100 дБ
  • входное сопротивление 50 кОм
  • 36-контактный SSOP корпус

Для управления любой из функций PT2319 необходимо передавать управляющие сигналы микроконтроллера
через 3-проводной интерфейс CE, DI и CL. Основная временная последовательность управляющих кодов показана ниже:

Код управления для PT2319 состоит из 8-разрядного кода адреса и 44-разрядного кода данных, общая длина одного посылаемого в аудиопроцессор пакета данных 52 бита.

Отправка адреса 8 бит

Отправка данных 44 бита

После подачи питания на микросхему необходимо очистить регистр путем заполнения битов D33 и D34 нулями. При обращении к определенной функции, например к громкости, необходимо каждый раз отправлять 52 битный байт, при этом нужно повторно подтверждать данный которые Вы не меняли.

Ниже показан тестовый скетч который позволяет запустить аудиопроцессор используя платформу Arduino (Nano, Uno, Atmega8, Atmega168, Atmega328).

#define CE 2
#define DI 3
#define CL 4
 
byte fader_m[16]={0b1111,0b0111,0b1011,0b0011,0b1101,0b0101,0b1001,0b0001,0b1110,0b0110,0b1010,0b0010,0b1100,0b0100,0b1000,0b0000};
byte sup_bass_m[11]={0b0000,0b1000,0b0100,0b1100,0b0010,0b1010,0b0110,0b1110,0b0001,0b1001,0b0101};
byte tembr_m[15]={0b1111,0b0111,0b1011,0b0011,0b1101,0b0101,0b1001,0b0000,0b1000,0b0100,0b1100,0b0010,0b1010,0b0110,0b1110};
byte in_gain_m[16]={0b0000,0b1000,0b0100,0b1100,0b0010,0b1010,0b0110,0b1110,0b0001,0b1001,0b0101,0b1101,0b0011,0b1011,0b0111,0b1111};
byte vol_m[81]={0b00100101,0b11000101,0b01000101,0b10000101,0b00111001,0b11011001,0b01011001,0b10011001,0b00101001,
                0b11001001,0b01001001,0b10001001,0b00110001,0b11010001,0b01010001,0b10010001,0b00100001,0b11000001,
                0b01000001,0b10000001,0b00111110,0b11011110,0b01011110,0b10011110,0b00101110,0b11001110,0b01001110,
                0b10001110,0b00110110,0b11010110,0b01010110,0b10010110,0b00100110,0b11000110,0b01000110,0b10000110,
                0b00111010,0b11011010,0b01011010,0b10011010,0b00101010,0b11001010,0b01001010,0b10001010,0b00110010,
                0b11010010,0b01010010,0b10010010,0b00100010,0b11000010,0b01000010,0b10000010,0b00111100,0b11011100,
                0b01011100,0b10011100,0b00101100,0b11001100,0b01001100,0b10001100,0b00110100,0b11010100,0b01010100,
                0b10010100,0b00100100,0b11000100,0b01000100,0b10000100,0b00111000,0b11011000,0b01011000,0b10011000,
                0b00101000,0b11001000,0b01001000,0b10001000,0b00110000,0b11010000,0b01010000,0b10010000,0b00000000};
 
void setup() {
   pinMode(CE,OUTPUT);pinMode(DI,OUTPUT);pinMode(CL,OUTPUT);
   digitalWrite(CL,LOW);digitalWrite(CE,LOW);digitalWrite(DI,LOW);
   Serial.begin(9600);
   Write(0,0,0,0,0,0,0,0,0,0,0);delay(100);  
}
 
void loop() {
  Write(0,1,7,15,0,0,1,0,0,3,0);
 
  delay(1000);
}
 
void Write(byte fader, byte sup_bass,byte bass, byte treb, int vol, byte in_gain,long in,long f_r,long out_gain,long c_set,long mute){  
 // fader 0...-60 ∞ dB >> byte 0...15 - ослабление тыл
 // sup_bass step0...step10 >> byte 0...10
 // bass step1...step15 >> byte 0...15
 // treb step1...step15 >> byte 0...15
 // vol 0...-79 ∞ dB >> int 0...80
 // in_gain 0...18.75 dB step 1.25dB >> int 0...15
 // in 1...5 >> int 1...5
 // f_r - Fader resr/front control >> int 0 >> не менять
 // out_gain 0, 6.5, 8.5 dB >> int 0...2
 // c_set >> int 0...3 >> 3 - не менять
 // mute >> 0 - off, 1 - on
 
  digitalWrite(CL,LOW);
  digitalWrite(CE,LOW);
  byte addr = 0b10000001;
     for(int i = 7; i >= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (addr >> i) & 0x01);
        digitalWrite(CL,HIGH);
        }   
  digitalWrite(CE,HIGH);
     for(int i = 3; i >= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (fader_m[fader] >> i) & 0x01);
        digitalWrite(CL,HIGH);
        }
     for(int i = 3; i >= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (sup_bass_m[sup_bass] >> i) & 0x01); 
        digitalWrite(CL,HIGH);
        }                
     for(int i = 3; i >= 0; i--){
        digitalWrite(CL,LOW); 
        digitalWrite(DI, (tembr_m[bass] >> i) & 0x01);
        digitalWrite(CL,HIGH);
        } 
     for(int i = 3; i >= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (tembr_m[treb] >> i) & 0x01);
        digitalWrite(CL,HIGH);
        } 
     for(int i = 7; i >= 0; i--){
        digitalWrite(CL,LOW); 
        digitalWrite(DI, (vol_m[vol] >> i) & 0x01);
        digitalWrite(CL,HIGH);
        }
     for(int i = 3; i >= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (in_gain_m[in_gain] >> i) & 0x01);
        digitalWrite(CL,HIGH);
        } 
     long in1,in2,out_gain1,out_gain2;      
     switch(in){
      case 1: in1=0b00;in2=1;break;
      case 2: in1=0b10;in2=1;break;
      case 3: in1=0b01;in2=1;break;
      case 4: in1=0b11;in2=1;break;
      case 5: in1=0;in2=0;break;
      }
     switch(out_gain){
      case 0: out_gain1=0;out_gain2=1;break;
      case 1: out_gain1=1;out_gain2=0;break;
      case 2: out_gain1=1;out_gain2=1;break;
      } 
 
     long grup = (in1<<14)+(f_r<<13)+(out_gain1<<12)+(in2<<11)+(c_set<<9)+(mute<<8)+(out_gain2<<4);  
     for(int i = 15; i >= 0; i--){
        digitalWrite(CL,LOW); 
        digitalWrite(DI, (grup >> i) & 0x01); 
        digitalWrite(CL,HIGH); 
        }              
        digitalWrite(CL,LOW);
        digitalWrite(CE,LOW);
        Serial.println(grup,BIN);
  }

Основная и единственная функция управления аудиопроцессором Write(). Эта функция позволяет управлять всеми параметрами аудиопроцессора.

Описание функции:

  • Аттенюатор: REAR (тыл) fader 0…-60 ∞ dB >> byte 0…15
  • Регулировка SUER BASS: sup_bass step0…step10 >> byte 0…10
  • Регулировка BASS:bass step1…step15 >> byte 0…15
  • Регулировка TREBLE: treb step1…step15 >> byte 0…15
  • Регулировка VOLUME:vol 0…-79 ∞ dB >> int 0…80
  • Предупредить входа: in_gain 0…18.75 dB step 1.25dB >> int 0…15
  • Коммутатор входа: in 1…5 >> int 1…5
  • Выбор тыл или фронт для регулировки аттенюатора (выбран тыл it 0): f_r — Fader resr/front control >> int 0 >> не менять
  • Усилитель выхода: out_gain 0, 6.5, 8.5 dB >> int 0…2
  • Режим работы: c_set >> int 0…3 >> 3 — не менять
  • Режим MUTE: mute >> 0 — off, 1 — on

pt2319.pdf

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

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

Случайные статьи

  • Импульсный источник питания 1кВт для УНЧ

    Импульсный источник питания 1кВт для УНЧ

    Основные параметры: Мощность, отдаваемая в нагрузку …………………………………………………..1 кВт Выходное напряжение ………………………………………………………………….50 В Максимальный ток в нагрузке………………………………………………………….10 А Выходное напряжение при максимальном токе (не менее) ……………………..48 В Ток срабатывания защиты………………………………………………………около 14 А Частота преобразования……………………………………………………………..50 кГц Принципиальная схема импульсного блока питания (ИБП) показана на рис.1. В основу схемы положена микросхема DA1 TL494CN …Подробнее...
  • Простейшая СДУ

    Эту свето-динамическую установку можно собрать за несколько минут. Т1 трансформатор от абонентского громкоговорителя (радиоточки), на его низкоомную обмотку подают источник сигнала от УМЗЧ. Лампы мощностью не более 150Вт, все конденсаторы с рабочим напряжением не менее 300В. Тиристоры буквы К Л М Н. Литература РК2001-1Подробнее...
  • Номиналы резисторов (онлайн калькулятор)

    Номиналы резисторов (онлайн калькулятор)

    Номиналы промышленно выпускаемых электронных компонентов (сопротивление резисторов, ёмкость конденсаторов, индуктивность небольших катушек индуктивности) не являются произвольными. Существуют установленные стандартом специальные ряды номиналов, представляющие собой множества значений от 1 до 10. Номинал детали определённого ряда является некоторым значением из соответствующего ряда, умноженным на произвольный десятичный множитель (10 в целой степени). Например …Подробнее...
  • Усилитель 35Вт на TDA2030

    Усилитель 35Вт на TDA2030

    При использовании мостовой схемы подключения TDA2030, выходную мощность усилителя можно увеличить до 35 Вт при напряжении питания +/-15В (2А). Микросхема обеспечивает большой выходной ток, имеет малые гармонические  и интермодуляционные искажения, обладает широкой полосой частот усиливаемого сигнала, а так же имеет автоматическую систему ограничения рассеиваемой мощности удерживая рабочую точку выходных транзисторов микросхемы в …Подробнее...
  • Электронный метроном

    Электронный метроном

    На рисунке показана схема имитирующая механический звук метронома. Основу схемы составляет два генератора на таймерах LM555, первый генератор используется для создания высокочастотного тона, второй для низкочастотного. Дополнительно используется усилитель низкой частоты на LM386. Источник — https://freecircuitdiagram.com/988-electronic-metronome-emulates-mechanical-sound/Подробнее...