Водич за протокол магистрале И2Ц, Сучеље са апликацијама

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





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

И2Ц протокол

Шта је И2Ц аутобус?




За пренос и пријем информација између два или више уређаја потребна је комуникациона путања која се назива систем магистрале. И2Ц магистрала је двосмерна двожична серијска магистрала која се користи за пренос података између интегрисаних кола. И2Ц је скраћеница од „Интер интегрисани круг“. Први пут су га представили Пхилипс полупроводници 1982. И2Ц магистрала се састоји од три брзине преноса података као што су стандардни, брзи и брзи режим. И2Ц магистрала подржава 7-битни и 10-битни уређај за адресни простор и његов рад се разликује са ниским напонима.

И2ц протокол магистрале

И2ц протокол магистрале



Сигналне линије И2Ц

Сигналне линије И2Ц

Сигналне линије И2Ц

И2Ц је протокол серијске магистрале који се састоји од две сигналне линије као што су СЦЛ и СДЛ линије које се користе за комуникацију са уређајима. СЦЛ означава „серијску линију сата“ и овај сигнал увек покреће „главни уређај“. СДЛ је кратица за „серијску линију података“, а овај сигнал покреће главна или И2Ц периферна опрема. И ове СЦЛ и СДЛ линије су у стању отвореног одвода када нема преноса између И2Ц периферних уређаја.

Излази са отвореним одводом


Отворени одвод је концепт за ФЕТ транзистор при чему је одводни терминал транзистора отворен. СДЛ и СЦЛ пинови главног уређаја дизајнирани су са транзисторима у отвореном стању, тако да је пренос података могућ само када се ови транзистори изводе. Дакле, ови водови или одводни терминали повезани су темељним повлачним отпорницима на ВЦЦ за проводни режим.

И2Ц интерфејси

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

И2Ц стопе преноса података

И2Ц протокол ради у три режима, као што су: брзи режим, режим велике брзине и стандардни режим, при чему се брзина података у стандардном режиму креће од 0Хз до 100Хз, а подаци у брзом режиму могу се преносити брзином од 0Хз до 400 КХз и режим велике брзине са 10 КХз до 100КХз. 9-битни подаци се шаљу за сваки пренос, при чему 8-битни одашиљач МСБ шаље ЛСБ-у, а 9. бит је бит потврде који шаље пријемник.

И2Ц стопе преноса података

И2Ц стопе преноса података

И2Ц комуникација

И2Ц протокол магистрале најчешће се користи у мастер и славе комуникацији, при чему се мастер назива „микроконтролер“, а славе се називају други уређаји као што су АДЦ, ЕЕПРОМ, ДАЦ и слични уређаји у уграђеном систему. Број помоћних уређаја повезан је са главним уређајем помоћу И2Ц магистрале, при чему се сваки помоћни уређај састоји од јединствене адресе која га комуницира. Следећи кораци се користе за комуникацију главног уређаја са подређеним уређајем:

Корак 1: Прво, главни уређај издаје почетни услов да обавести све помоћне уређаје тако да слушају на серијској линији података.

Корак 2: Главни уређај шаље адресу циљног помоћног уређаја која се упоређује са адресама свих помоћних уређаја повезаних на СЦЛ и СДЛ линије. Ако се било која адреса подудара, тај уређај је изабран, а преостали сви уређаји су искључени са СЦЛ и СДЛ линија.

Корак 3: Подређени уређај са подударном адресом примљеном од мастер-а, одговара потврдом мастер-у, након чега се успоставља комуникација између главног и славе уређаја на магистрали података.

Корак4: И мастер и славе примају и преносе податке у зависности од тога да ли се комуникација чита или пише.

Корак5: Тада мастер може пренијети 8-битне податке на пријемник који одговара 1-битном потврдом.

Водич за И2Ц

Преношење и примање информација корак по корак серијски у односу на импулсе такта назива се И2Ц протокол. То је протокол међу системима и кратким удаљеностима, што значи да се користи у оквиру плочице за комуникацију главног и помоћног уређаја.

Основе протокола И2Ц

Генерално, И2Ц систем магистрале састоји се од две жице које се лако користе за проширење улазних и излазних периферних функција као што су АДЦ, ЕЕРОМ и РТЦ, и остале основне компоненте направити систем чија је сложеност врло мања.

Пример: Будући да микроконтролер 8051 нема уграђени АДЦ - па, ако желимо да повежемо било који аналогни сензор са 8051 микроконтролером - морамо да користимо АДЦ уређаје као што су АДЦ0804-1 канални АДЦ, АДЦ0808- 8-канални АДЦ, итд. Коришћењем ових АДЦ-а, можемо повезати аналогне сензоре са микроконтролером.

Без коришћења протокола за проширивање И / О карактеристика било ког микроконтролера или процесора, можемо да пређемо на 8255 ИЦит 8-пински уређај. Тхе 8051 микроконтролер је 40-пински микроконтролер помоћу 8255 ИЦ можемо проширити 3-И / О портове са 8 пинова у сваком порту. Коришћењем свих уређаја као што су РТЦ, АДЦ, ЕЕПРОМ, тајмери ​​итд. - за проширење периферних кола - повећава се и сложеност, трошак, потрошња енергије и величина производа.

Да би се превазишао овај проблем, концепт протокола долази у обзир за смањење сложености хардвера и потрошње енергије. Помоћу овог И2Ц протокола можемо проширити већи број функција, попут И / 0 периферних уређаја, АДЦ-ова, Т / Ц и меморијских уређаја до 128 уређаја.
Терминологија која се користи у И2Ц протоколима

Предајник: Уређај који шаље податке на магистралу назива се предајник.

Пријемник: Уређај који прима податке са магистрале назива се пријемник.

Мастер: Уређај који покреће преносе за генерисање сигнала такта и завршава пренос назива се мастер.

Роб: Уређај коме се обраћа мастер назива се славе.

Мултимастер: Више од једног мастер-а може истовремено покушати да контролише магистралу, а да се не оштети порука која се назива Мултимастер.

Арбитража: Поступак којим се осигурава да, ако више од једног главног рачунара истовремено покушава да контролише магистралу - само један сме да то учини, тако да победничка порука није оштећена.

Синхронизација: Поступак за синхронизацију појединачних часовника два или више уређаја назива се синхронизација.

И2Ц секвенца основних команди

  1. Стање стартног бита
  2. Стање зауставног бита
  3. Услов за признање
  4. Операција мастер-славе запис
  5. Прочитајте операцију Славе то Мастер

Стање покретања и заустављања битова

Када мастер (микроконтролер) жели да разговара са славе уређајем (на пример АДЦ), започиње комуникацију издавањем услова за покретање на И2Ц магистрали, а затим издаје услов за заустављање. Нивои И2Ц покретања и заустављања приказани су на слици.

Услов покретања И2Ц дефинише се као висок до низак прелаз СДА линије док је СЦЛ линија висока. Услов заустављања И2Ц настаје када се СДА линија пребацује са ниске на високу, док је СЦЛ линија висока.

И2Ц мастер увек генерише С и П услове. Једном када И2Ц мастер покрене стање СТАРТ, сматра се да је И2ц сабирница у заузетом стању.

Стање покретања и заустављања битова

Стање покретања и заустављања битова

Програмирање:

СТАРТ Услов:

сбит СДА = П1 ^ 7 // иницијализација СДА и СЦЛ пинова микроконтролера //
сбит СЦЛ = П1 ^ 6
одлагање празнине (непотписан инт)
воид маин ()
{
СДА = 1 // обрада података //
СЦЛ = 1 // сат је висок //
кашњење ()
СДА = 0 // послао податке //
кашњење ()
СЦЛ = 0 // тактни сигнал је низак //
}
Кашњење празнине (инт п)
{
унсигнединта, б
За (а = 0а<255a++) //delay function//
За (б = 0б}

СТОП Стање:

воид маин ()
{
СДА = 0 // Заустави обраду података //
СЦЛ = 1 // сат је висок //
кашњење ()
СДА = 1 // Заустављено //
кашњење ()
СЦЛ = 0 // тактни сигнал је низак //
}
Кашњење празнине (инт п)
{
унсигнединта, б
За (а = 0а<255a++) //delay function//
За (б = 0б}

Захтев за потврду (АЦК) и без потврде (НЦК)

Сваки бајт пренесен преко И2Ц магистрале прати услов потврде од пријемника, што значи да ће, након што мастер повуче СЦЛ ниско да би завршио пренос 8-битног, пријемник СДА повући ниско. Ако се након преноса пријемника не повуче, СДА линија ЛОВ се сматра НЦК условом.

Признање (АЦК)

Признање (АЦК)

Програмирање

Признање
воид маин ()
{
СДА = 0 // СДА линија иде на низак //
СЦЛ = 1 // сат је висок до низак //
кашњење (100)
СЦЛ = 0
}
Нема потврде:
воид маин ()
{
СДА = 1 // СДА линија иде до високе //
СЦЛ = 1 // сат је висок до низак //
кашњење (100)
СЦЛ = 0
}

Мастер то Славе пише операцију

И2Ц протокол преноси податке у облику пакета или бајтова. Сваки бајт прати бит потврде.

Формат преноса података

Формат преноса података

Формат преноса података

Почетак: Првенствено, секвенца преноса података коју покреће мастер који генерише почетни услов.

7-битна адреса: Након тога мастер шаље помоћну адресу у два 8-битна формата уместо у једну 16-битну адресу.

Р / В: Ако је бит за читање и писање висок, тада се изводи операција писања.

АЛАС: Ако се операција уписа изводи у славе уређају, тада пријемник шаље 1-битни АЦК микроконтролеру.

Зауставити: Након завршетка операције уписа у подређени уређај, микроконтролер шаље услов заустављања подређеном уређају.

Програмирање

Врите Оператион

воидврите (непотписани знак д)
{
Непотписани знак к, ј = 0к80
За (к = 0к<8k++)
{
СДА = (д & ј)
Ј = ј >> 1
СЦЛ = 1
кашњење (4)
СЦЛ = 0
}
СДА = 1
СЦЛ = 1
кашњење (2)
ц = СДА
кашњење (2)
СЦЛ = 0
}

Операција Мастер-Славе Реад

Подаци се с помоћног уређаја читају у облику бита или бајтова - прво прочитајте најзначајнији бит, а последњи прочитајте најмање значајан бит.

Формат читања података

Формат за читање података

Формат за читање података

Почетак: Првенствено секвенцу преноса података покреће мастер који генерише почетни услов.

7-битна адреса: Након тога мастер шаље помоћну адресу у два 8-битна формата уместо у једну 16-битну адресу.

Р / В: Ако је бит за читање и писање низак, тада се изводи операција читања.

АЛАС: Ако се операција уписа изводи у славе уређају, тада пријемник шаље 1-битни АЦК микроконтролеру.

Зауставити: Након завршетка операције уписа у подређени уређај, микроконтролер шаље услов заустављања подређеном уређају.

Програмирање

Пропуштено читање ()
{
Непотписани знак ј, з = 0к00, к = 0к80
СДА = 1
за (ј = 0ј<8j++)
{
СЦЛ = 1
кашњење (100)
застава = СДА
ако (застава == 1)
к)
к = к >> 1
кашњење (100)
СЦЛ = 0

Практични пример повезивања АДЦ са микроконтролером 8051

АДЦ је уређај који се користи за претварање аналогних података у облик дигиталних и дигиталних у аналогне. Микроконтролер 8051 нема уграђени АДЦ, тако да морамо да додајемо споља путем И2Ц протокола. ПЦФ8591 је заснован на И2Ц аналогно дигиталном и дигитално-аналогни претварач. Овај уређај може да подржи максимално 4 аналогна улазна канала заједно са напоном од 2,5 до 6в.

Аналогни излази

Аналогни излази долазе у облику напона. На пример, аналогни сензор од 5в даје излазну логику од 0.01в до 5в.
Максимална дигитална вредност од 5в је = 256.
Вредност 2,5в је = 123 према максималној вредности напона.

Формула аналогног излаза је:

Формула дигиталних излаза:

Повезивање АДЦ-а са микроконтролером 8051

Повезивање АДЦ-а са микроконтролером 8051

Горња слика приказује пренос података помоћу И2Ц протокола са АДЦ уређаја на микроконтролер 8051. АДЦ пинови СЦЛ и СДА повезани су на пинове 1.7 и 1.6 микроконтролера ради успостављања комуникације између њих. Када сензор даје аналогне вредности АДЦ-у, он се претвара у дигитални и преноси податке у микроконтролер путем И2Ц протокола.

Овде се ради о упутству за протокол И2Ц магистрале са одговарајућим програмима. Надамо се да ће вам дати садржај пружити практичан концепт повезивања неколико уређаја са микроконтролером помоћу И2Ц комуникације. Ако сумњате у поступак повезивања овог протокола, можете нас контактирати коментаришући у наставку.