И2С протокол: рад, разлике и његове примене

Испробајте Наш Инструмент За Елиминисање Проблема





Дигитални системи и њихови захтеви за аудио податке у оквиру мобилних телефона, рачунара и Кућне аутоматизације производи су се драматично променили током одређеног временског периода. Аудио сигнал од или до процесора постаје дигитализован. Ови подаци у различитим системима се обрађују преко многих уређаја као што су ДСП , АДЦ, ДАЦ, дигитални И/О интерфејси, итд. Да би ови уређаји међусобно комуницирали аудио податке потребан је стандардни протокол. Један такав је И2С протокол. То је интерфејс серијске магистрале, који је дизајнирао Пхилип Семицондуцтор у фебруару 1986. за дигитални аудио интерфејс између уређаја. Овај чланак говори о прегледу И 2С протокол његов рад са апликацијама.


Шта је И2С протокол?

Протокол који се користи за пренос дигиталних аудио података са једног уређаја на други уређај познат је као И2С или Интер-ИЦ Соунд протокол. Овај протокол преноси ПЦМ (пулс-цоде модулед) аудио податке са једне ИЦ на другу у оквиру електронског уређаја. И2С игра кључну улогу у преносу аудио датотека које су унапред снимљене са МЦУ на ДАЦ или појачало. Овај протокол се такође може користити за дигитализацију звука помоћу микрофона. Не постоји компресија унутар И2С протокола, тако да не можете да репродукујете ОГГ или МП3 или друге аудио формате који кондензују звук, међутим, можете да репродукујете ВАВ датотеке.



Карактеристике

Тхе Карактеристике И2С протокола укључи следеће.

  • Има 8 до 32 бита података за сваки узорак.
  • Тк & Рк ФИФО прекида.
  • Подржава ДМА.
  • 16-битни, 32-битни, 48-битни или 64-битни период избора речи.
  • Симултани двосмерни аудио стриминг.
  • 8-битна, 16-битна и 24-битна ширина узорка.
  • Има различите стопе узорковања.
  • Брзина преноса података је до 96 кХз кроз период избора 64-битне речи.
  • Интерлеавед стерео ФИФОс или независни десни и леви канал ФИФОс
  • Независно омогућавање Тк & Рк.

И2С комуникациони протокол ради

Тхе И2С комуникациони протокол је 3-жични протокол који једноставно управља аудио подацима преко 3-линијске серијске магистрале која укључује СЦК (Непрекидни серијски сат), ВС (Избор речи) и СД (серијски подаци).



3-жична веза И2С:

СЦК

СЦК или серијски сат је прва линија И2С протокола који је такође познат као БЦЛК или линија битног сата која се користи за добијање података у сличном циклусу. Фреквенција серијског такта се једноставно дефинише коришћењем формуле као што је Фреквенција = Брзина узорковања к Битови за сваки канал к бр. канала.

ВС

У И2С комуникационом протоколу, ВС или избор речи је линија која је такође позната као ФС (Фраме Селецт) жица која раздваја десни или леви канал.

Ако је ВС = 0, користи се леви канал или канал-1.

Ако је ВС = 1, користи се десни канал или канал-2.

СД

Серијски подаци или СД је последња жица где се корисни терет преноси унутар 2 комплемента. Дакле, веома је значајно да се МСБ прво преноси, јер и предајник и пријемник могу укључивати различите дужине речи. Дакле, предајник или пријемник морају препознати колико битова се преноси.

  • Ако је дужина речи пријемника већа од дужине предајника, онда се реч скраћује (ЛСБ битови су постављени на нулу).
  • Ако је дужина речи пријемника мања од дужине речи предајника, онда се ЛСБ битови занемарују.

Тхе предајник може послати податке било на предња ивица или задња ивица импулса такта . Ово се може конфигурисати у одговарајућим контролни регистри . Али пријемник закључава серијске податке и ВС само на предњој ивици импулса такта . Предајник преноси податке само након једног тактног импулса након промене ВС. Пријемник користи ВС сигнал за синхронизацију серијских података.

И2С мрежне компоненте

Када је више И2С компоненти повезано једна са другом онда се то назива И2С мрежа. Компонента ове мреже укључује различите називе и различите функције. Дакле, следећи дијаграм приказује 3 различите мреже. Овде се ЕСП НодеМЦУ плоча користи као предајник, а И2С аудио плоча се користи као пријемник. Три жице које се користе за повезивање предајника и пријемника су СЦК, ВС & СД.

  И2С мрежне компоненте
И2С мрежне компоненте

У првом дијаграму, предајник (Тк) је главни тако да контролише линије СЦК (серијски сат) и ВС (одабир речи).

У другом дијаграму, пријемник је главни. Дакле, и СЦК и ВС линије почињу од пријемника и предајника се завршавају.

У трећем дијаграму, спољашњи контролер је повезан са чворовима унутар мреже који ради као главни уређај. Дакле, овај уређај генерише СЦК & ВС.

У пре свега И2С мрежама, доступан је само један главни уређај и многе друге компоненте које преносе или примају звучне податке.

У И2С-у било који уређај може бити главни тако што даје сигнал сата.

И2С временски дијаграм

За боље разумевање И2С-а и његове функционалности, имамо временски дијаграм И2С комуникационог протокола приказан испод. Доле је приказан временски дијаграм И2С протокола који укључује три жице СЦК, ВС & СД.

  Временски дијаграм протокола И2С
Временски дијаграм И2С протокола

У горњем дијаграму, прво, серијски сат  има фреквенцију = брзину узорковања * битове за сваки канал * бр. канала). Линија за избор речи је друга линија која се мења између '1' за десни канал и '0' за леви канал.

Трећи ред је линија серијских података где се подаци преносе у сваком циклусу такта на опадајућој ивици означеној тачкама од ХИГХ до ЛОВ.

Поред тога, можемо приметити да ВС линија варира један ЦЛК циклус пре него што се МСБ пренесе, што даје пријемнику време за чување претходне речи и брисање улазног регистра за следећу реч. МСБ се шаље када се СЦК промени након промене ВС-а.

Кад год се подаци преносе између предајника и пријемника, дошло би до кашњења ширења  које би

кашњење пропагације = (временска разлика између екстерног сата и унутрашњег сата пријемника)+( временска разлика између унутрашњег сата до тренутка када се подаци примају).

Да би се смањило кашњење у ширењу и ради синхронизације преноса података између предајника и пријемника  потребно је да предајник има период такта  

Т > тр  – Претпоставити да је Т период такта предајника и тр је минимални период такта предајника.

Под горњим условом ако узмемо у обзир на пример а предајник  са брзином преноса података 2,5 МХз онда:

тр = 360нс

сат Висок тХЦ (минимум) >0,35 Т.

сат Низак тЛЦ (минимално> > 0,35Т.

Пријемник као подређени са брзином преноса података 2,5МХз тада:

сат Висок тХЦ (минимум) < 0,35 Т

сат Низак тЛЦ (минимум) < 0,35Т.

време подешавања тст (минимално) < 0,20Т.

И2С протокол Ардуино

Главни циљ овог пројекта је да направи И2С  тхеремин интерфејс користећи Ардуино И2С библиотеку. Потребне компоненте за израду овог пројекта су; Ардуино МКР Зеро, Бреадбоард , краткоспојне жице, Адафруит МАКС98357А, 3В, звучник од 4 ома и РоботГеек клизач.

Ардуино И2С библиотека једноставно вам омогућава да преносите и примате дигиталне аудио податке преко И2С магистрале. Дакле, овај пример има за циљ да објасни како да искористите ову библиотеку за покретање И2С ДАЦ-а за репродукцију звука израчунатог у Ардуино дизајну.

Ово коло се може повезати као; И2С ДАЦ који се користи у овом примеру захтева само три жице, као и напајање за И2С магистралу. Везе за И2С на Ардуино МКРЗеро следе као;

Серијски подаци (СД) на пин А6;

Серијски сат (СЦК) на пин2;

Оквир или избор речи (ФС) на пин3;

Рад

У основи, теремин има две контроле висине и јачине звука. Дакле, ова два параметра се мењају померањем два клизна потенциометра, међутим, можете их подесити и да их очитате. Два потенциометра су повезана у облику разделника напона, тако да померањем ових потенциометара добијате вредности од 0 до 1023. Након тога, ове вредности се мапирају између максималне и минималне фреквенције и најмање и највеће јачине звука.

  И2С Тхермин дијаграм
И2С Тхермин дијаграм

Звук који се преноси преко И2С магистрале је једноставан синусни талас чија се амплитуда и фреквенција мењају на основу очитавања потенциометара.

Код

Код за повезивање Тхеремина са Ардуино МКРЗеро, потенциометрима са 2 клизача и И2С ДАЦ-ом је дат испод.

#инцлуде <И2С.х>

цонст инт макФрекуенци = 5000; //максимална генерисана фреквенција
цонст инт минФрекуенци = 220; //минимална генерисана фреквенција
цонст инт макВолуме = 100; //максимални волумен генерисане фреквенције
цонст инт минВолуме = 0; //мин запремине генерисане фреквенције
цонст инт самплеРате = 44100; //узорковање генерисане фреквенције
цонст инт вавСизе = 256; // величина бафера
кратки синус [вавСизе]; //бафер у коме се чувају вредности синуса
цонст инт фреквенцијаПин = А0; //пин повезан на пот који одређује фреквенцију сигнала
цонст инт амплитудеПин = А1; //пин повезан на пот који одређује амплитуду сигнала
дугме цонст инт = 6; //пин повезан са контролом дугмета  да би се приказала фреквенција

воид сетуп()
{

Сериал.бегин(9600); // конфигуришите серијски порт
// Иницијализујте И2С предајник.
иф (!И2С.бегин(И2С_ПХИЛИПС_МОДЕ, самплеРате, 16)) {
Сериал.принтлн(“Иницијализација И2С није успела!”);

док (1);
}

генератеСине(); // пуни бафер са синусним вредностима
пинМоде(дугме, ИНПУТ_ПУЛЛУП); //поставимо пин дугмета у улазни пуллуп

}
воид лооп() {

иф (дигиталРеад(дугме) == ЛОВ)

{

флоат фреквенција = мап(аналогРеад(фрекуенциПин), 0, 1023, минФрекуенци, макФрекуенци); //мапа фреквенција
инт амплитуде = мап(аналогРеад(амплитудеПин), 0, 1023, минВолуме, макВолуме); //мапа амплитуде
плаиВаве(фреквенција, 0,1, амплитуда); //репродукцију звука
//штампа вредности на серијски
Сериал.принт(“Фреквенција = “);
Сериал.принтлн(фрекуенци);
Сериал.принт(“Амплитуда = “);
Сериал.принтлн(амплитуда);

}

}
воид генератеСине() {
фор (инт и = 0; и < вавСизе; ++и) {
сине[и] = усхорт(флоат(100) * син(2.0 * ПИ * (1.0 / вавСизе) * и)); //100 се користи да нема малих бројева
}
}
воид плаиВаве(флоат фреквенција, флоат секунди, инт амплитуда) {
// Репродукујте обезбеђени бафер таласног облика за наведени
// количина секунди.
// Прво израчунајте колико узорака треба да се репродукује да би се покренуло
// за жељену количину секунди.

унсигнед инт итератионс = секунди * самплеРате;

// Затим израчунајте 'брзину' којом се крећемо кроз талас
// бафер на основу фреквенције тона који се репродукује.

флоат делта = (фрекуенци * вавСизе) / флоат (самплеРате);

// Сада прођите кроз све узорке и репродукујте их, рачунајући
// позиција унутар бафера таласа за сваки тренутак у времену.

фор (унсигнед инт и = 0; и < итератионс; ++и) {
кратки пос = (унсигнед инт)(и * делта) % вавСизе;
кратак узорак = амплитуда * синус [пос];

// Дуплирајте узорак тако да се шаље и на леви и на десни канал.
// Чини се да је редослед десни канал, леви канал ако желите да пишете
// стерео звук.

вхиле (И2С.аваилаблеФорВрите() < 2);
И2С.врите(узорак);
И2С.врите(узорак);

}
}

Разлика између И2Ц и И2С протокола

Разлика између И2Ц и И2С протокола укључује следеће.

И2С

Тхе И2Ц протокол означава интер-ИЦ бус протокол И2С је скраћеница за Интер-ИЦ Соунд протокол .
Углавном се користи за покретање сигнала између интегрисаних кола смештених на сличној ПЦБ-у. Користи се за повезивање дигиталних аудио уређаја.
Користи две линије између неколико мастера и славеова као што су СДА и СЦЛ . Користи три линије ВС, СЦК  и СД.
Подржава мулти-мастер & мулти-славе. Подржава један мастер.
Овај протокол подржава ЦЛК истезање. Овај протокол нема ЦЛК истезање.
И2Ц укључује додатне стартне и стоп битове. И2С не укључује стартне и стоп битове.

Предности

Тхе предности И2С магистрале укључи следеће.

  • И2С користи одвојене ЦЛК и серијске линије података. Дакле, има веома једноставан дизајн пријемника у поређењу са асинхроним системима.
  • То је један главни уређај тако да нема проблема са синхронизацијом података.
  • Микрофон заснован на И2С о/п не треба аналогни предњи крај, али се користи у бежичном микрофону помоћу дигиталног предајника. Користећи ово, можете имати потпуно дигиталну везу између предајника и сонде.

Недостаци

Тхе недостаци И2С магистрале укључи следеће.

  • И2С није предложен за пренос података преко каблова.
  • И2С није подржан у апликацијама високог нивоа.
  • Овај протокол има проблем са синхронизацијом између три сигналне линије који се примећује при високој брзини бита и фреквенцији узорковања. Дакле, овај проблем се углавном јавља због варијације кашњења пропагације између линија сата и линија података.
  • И2С не укључује механизам за откривање грешака, тако да може изазвати грешке у декодирању података.
  • Углавном се користи за међу-ИЦ комуникацију на сличној ПЦБ-у.
  • Не постоје типични конектори и каблови за међусобно повезивање за И2С, тако да различити дизајнери користе различите конекторе.

Апликације

Тхе примене И2С протокола укључи следеће.

  • И2С се користи за повезивање дигиталних аудио уређаја.
  • Овај протокол се у великој мери користи у преносу аудио података са ДСП-а или микроконтролера у аудио кодек за репродукцију звука.
  • У почетку, И2С интерфејс се користи у дизајну ЦД плејера. Сада се може пронаћи где се дигитални аудио подаци шаљу између ИЦ-а.
  • И2С се користи у ДСП-овима, аудио АДЦ-овима, ДАЦ-овима, микроконтролерима, претварачима брзине узорковања итд.
  • И2С је посебно дизајниран за употребу између интегрисаних кола за комуникацију дигиталних аудио података.
  • Овај протокол игра кључну улогу у повезивању микроконтролера и  његових периферних уређаја када се И2С фокусира на пренос аудио података између дигиталних аудио уређаја.

Дакле, ово је све о прегледу Спецификација И2С протокола што укључује рад, разлике и његове примене. И²С је 3-жични синхрони серијски протокол користи се за пренос дигиталног стерео звука између два интегрисана кола. Тхе И2С Протоцол Анализер је декодер сигнала који укључује све ДигиВиев логичке анализаторе. Овај софтвер ДигиВиев једноставно пружа широку претрагу, навигацију, извоз, мерење, цртање и штампање за све врсте сигнала. Ево питања за вас, шта је И3Ц протокол?