I2C — послідовна шина даних для зв'язку інтегральних схем, розроблена фірмою Philips на початку 1980-х як проста шина внутрішнього зв'язку для створення керуючої електроніки. Використовується для з'єднання низькошвидкісних периферійних компонентів з материнською платою, вбудовуваними системами та мобільними телефонами.
Назва є абревіатурою слів Inter-Integrated Circuit.
Ліцензування
1 жовтня 2006 року скасовані ліцензійні відрахування за використання протоколу I2C. Однак, відрахування зберігаються для виділення ексклюзивної підлеглої адреси на шині I2C.
Цей розділ потребує доповнення. |
Історія, стандарти та схемотехніка
I2C використовує дві двонапрямлені лінії, підтягнуті до напруги живлення та керовані через відкритий колектор або відкритий стік — послідовна лінія даних (SDA, англ. Serial DAta) і послідовна лінія тактування (SCL, англ. Serial CLock). Стандартні напруги +5 В або +3,3 В, проте допускаються й інші.
Класична адресація включає 7-бітовий адресний простір з 16-ма зарезервованими адресами. Це означає наявність до 112 вільних адрес для підключення периферії на одну шину.
Основний режим роботи — 100 кбіт/с; 10 кбіт/с в режимі роботи із зниженою швидкістю. Зауважимо, що стандарт допускає припинення тактування для роботи з повільними пристроями.
Після перегляду стандарту 1992 року стає можливим підключення ще більшої кількості пристроїв на одну шину (за рахунок можливості 10-бітної адресації), а також велику швидкість до 400 кбіт/с у швидкісному режимі. Відповідно, доступна кількість вільних вузлів зросла до 1008. Максимальна допустима кількість мікросхем, приєднаних до однієї шині, обмежується максимальною ємністю шини в 400 пФ.
Версія стандарту 2.0, випущена 1998 року представила високошвидкісний режим роботи зі швидкістю до 3,4 Мбіт/с зі зниженим енергоспоживанням. Остання версія 2.1 2001 року включила лише незначні доопрацювання.
Принцип роботи
Стан СТАРТ і СТОП
Процедура обміну починається з того, що ведучий (вузол, який ініціює передачу даних) формує стан СТАРТ: генерує перехід сигналу лінії SDA з ВИСОКОГО стану в низький при високому рівні на лінії SCL. Цей перехід сприймається усіма пристроями, підключеними до шини, як ознака початку процедури обміну. Генерація синхросигналу — це завжди обов'язок ведучого; кожний ведучий генерує свій власний сигнал синхронізації при пересиланні даних по шині. Процедура обміну завершується тим, що ведучий формує стан СТОП — перехід стану лінії SDA з низького стану в ВИСОКИЙ при високому стані лінії SCL. Стани СТАРТ і СТОП завжди виробляються ведучим. Вважається, що шина зайнята після фіксації стану СТАРТ. Шина вважається звільненою через деякий час після фіксації стану СТОП. При передачі посилок по шині I2C кожний ведучий генерує свій синхросигнал на лінії SCL. Після формування стану СТАРТ, ведучий опускає стан лінії SCL в НИЗЬКИЙ стан і виставляє на лінію SDA старший біт першого байта повідомлення. Кількість байт в повідомленні не обмежена. Специфікація шини I2C дозволяє зміни на лінії SDA лише при низькому рівні сигналу на лінії SCL. Дані дійсні та повинні залишатися стабільними лише під час ВИСОКОГО стану синхроімпульсу. Для підтвердження прийому байта від ведучого-передавача веденим-приймачем в специфікації протоколу обміну по шині I2C вводиться спеціальний біт підтвердження, який виставляється на шину SDA після прийому 8 біта даних.
Підтвердження
Таким чином передача 8 біт даних від передавача до приймача завершуються додатковим циклом (формуванням 9-го тактового імпульсу лінії SCL), при якому приймач виставляє низький рівень сигналу на лінії SDA, як ознаку успішного прийому байта.
Підтвердження при передачі даних обов'язкове, крім випадків закінчення передачі веденою стороною. Відповідний імпульс синхронізації генерується ведучим. Передавач відпускає (ВИСОКУ) лінію SDA на час синхроімпульсу підтвердження. Приймач повинен утримувати лінію SDA протягом ВИСОКОГО стану синхроімпульсу підтвердження в стабільному НИЗЬКОМУ стані.
У тому випадку, коли ведений-приймач не може підтвердити свою адресу (наприклад, коли він виконує в цей момент будь-які функції реального часу), лінія даних повинна бути залишена в ВИСОКОМУ стані. Після цього ведучий може видати сигнал СТОП для переривання пересилання даних. Якщо у пересиланні бере участь ведучий-приймач, то він повинен повідомити про закінчення передачі веденого-передавача шляхом непідтвердження останнього байта. Ведений-передавач повинен звільнити лінію даних для того, щоб дозволити ведучому видати сигнал СТОП або повторити сигнал СТАРТ.
Синхронізація
Синхронізація виконується з використанням підключення до лінії SCL за правилом монтажного І. Це означає, що ведучий не має монопольного права на керування переходом лінії SCL з НИЗЬКОГО стану в ВИСОКИЙ. У тому випадку, коли веденому потрібен додатковий час на обробку прийнятого біта, він має можливість утримувати лінію SCL в низькому стані до моменту готовності до прийому наступного біта. Таким чином, лінія SCL буде знаходитися в НИЗЬКОМУ стані протягом найдовшого НИЗЬКОГО періоду синхросигналів.
Пристрої з більш коротким найнижчими періодом будуть входити в стан очікування на час, поки не скінчиться довгий період. Коли у всіх задіяних пристроїв скінчиться НИЗЬКИЙ період синхросигналу, лінія SCL перейде в ВИСОКИЙ стан. Всі пристрої почнуть проходити ВИСОКИЙ період своїх синхросигналів. Перший пристрій, у якого скінчиться цей період, знову встановить лінію SCL в НИЗЬКИЙ стан. Таким чином, НИЗЬКИЙ період синхролінії SCL визначається найдовшим періодом синхронізації з усіх задіяних пристроїв, а ВИСОКИЙ період визначається самим коротким періодом синхронізації пристроїв.
Механізм синхронізації може бути використаний приймачами як засіб керування пересиланням даних на байтовому та бітовому рівнях.
На рівні байта, якщо пристрій може приймати байти даних з великою швидкістю, але вимагає певний час для збереження прийнятого байта або підготовки до прийому наступного, то воно може утримувати лінію SCL в НИЗЬКОМУ стані після прийому та підтвердження байта, переводячи таким чином передавач в стан очікування.
На рівні бітів, пристрій, такий як мікроконтролер без вбудованих апаратних схем I2C або з обмеженими схемами, може уповільнити частоту синхроімпульсів шляхом продовження їх НИЗЬКОГО періоду. Таким чином швидкість передачі будь-якого ведучого адаптується до швидкості повільного пристрою.
Адресація в шині I2C та особливості
Кожен пристрій, підключений до шини, може бути програмно адресований за унікальною адресою. Для вибору приймача повідомлення передавач використовує унікальну адресну компоненту у форматі посилки. При використанні однотипних пристроїв, ІС часто мають додатковий селектор адреси, який може бути реалізований як у вигляді додаткових цифрових входів селектора адреси, так і у вигляді аналогового входу. При цьому адреси таких однотипних пристроїв виявляються рознесені в адресному просторі пристроїв, підключених до шини.
У звичайному режимі використовується 7-бітна адресація.
Процедура адресації на шині I2C полягає в тому, що перший байт після сигналу СТАРТ визначає, який ведений адресується передавачем для проведення циклу обміну. Виняток становить адреса «Загального виклику», який адресує всі пристрої на шині. Коли використовується ця адреса, всі пристрої в теорії повинні послати сигнал підтвердження. Однак, пристрої, які можуть обробляти «загальний виклик», на практиці трапляються рідко.
Перші сім бітів першого байта утворюють адресу веденого. Восьмий, молодший біт, визначає напрям пересилання даних. «Нуль» означає, що ведучий буде записувати інформацію до обраного веденого. «Одиниця» означає, що ведучий буде зчитувати інформацію з веденого.
Після того, як адреса послана, кожний пристрій в системі порівнює перші сім біт після сигналу СТАРТ зі своєю адресою. при збігу пристрій вважає себе обраним як ведений-приймач або як ведений-передавач, залежно від біта напряму.
Адреса веденого може складатися з фіксованої та програмованої частини. Часто трапляється, що в системі буде кілька однотипних пристроїв (Наприклад ІМС пам'яті, або драйверів світлодіодних індикаторів), тому за допомогою програмованої частини адреси стає можливим підключити до шини максимально можливу кількість таких пристроїв. Кількість програмованих біт в адресі залежить від кількості вільних виводів мікросхеми. Іноді використовується один вивід з аналоговою установкою програмованого діапазону адрес. При цьому залежно від потенціалу на цьому адресному виведенні ІМС, можливе зміщення адресного простору драйвера так, щоб однотипні ІМС не конфліктували між собою на загальній шині.
Всі спеціалізовані ІМС, що підтримують роботу в стандарті шини I2C, мають набір фіксованих адрес, перелік яких зазначений виробником в описах контролерів.
Комбінація біт 11110ХХ адреси зарезервована для 10-бітної адресації.
Як випливає з специфікації шини, допускаються як прості формати обміну, так і комбіновані, коли в проміжку від стану СТАРТ до стану СТОП ведучий та ведений можуть виступати і як приймач, і як передавач даних. Комбіновані формати можуть бути використані, наприклад, для керування послідовною пам'яттю.
Під час першого байта даних можна передавати адресу в пам'яті, який записується у внутрішній регістр-засувку. Після повторення сигналу старту та адреси веденого видаються дані з пам'яті. Всі рішення про автоінкремент або декремент адреси, до якого стався попередній доступ, приймаються конструктором конкретного пристрою. Тому, в будь-якому випадку найкращий спосіб уникнути неконтрольованої ситуації на шині перед використанням нової (або раніше не використовуваної) ІМС слід ретельно вивчити її опис (datasheet або reference manual), отримавши його з сайту виробника. Більше того, виробники часто розміщують поруч більш докладні інструкції по застосуванню.
В будь-якому випадку, за специфікацією шини, всі пристрої, що розробляються, при отриманні сигналу СТАРТ або повторний СТАРТ повинні скинути логіку шини та підготуватися до прийому адреси.
Проте основні проблеми з використанням I2C шини виникають саме через те, що розробники «початківці», працюючи з I2C шиною, не враховують того факту, що ведучий (часто — мікропроцесор) не має монопольного права ні на одну з ліній шини.
Застосування
I2C знаходить застосування в пристроях, які передбачають простоту розробки та низьку собівартість виготовлення при відносно непоганий швидкості роботи.
Список можливих застосувань:
- доступ до модулів пам'яті NVRAM;
- доступ до низькошвидкісних ЦАП/АЦП;
- регулювання контрастності, насиченості та колірного балансу моніторів;
- регулювання звуку в динаміках;
- керування світлодіодами, в тому числі в мобільних телефонах;
- читання інформації з датчиків моніторингу та діагностики устаткування, наприклад, термостат центрального процесора або швидкість обертання ;
- читання інформації з годинника реального часу (кварцових генераторів);
- керування включенням/виключенням живлення системних компонент;
- інформаційний обмін між мікроконтролерами;
На дешевих пристроях часто I2C емулюється програмно з використанням технології .
Переваги
- необхідний всього один мікроконтролер для керування набором пристроїв;
- використовується всього дві лінії введення-виведення загального призначення;
- стандарт передбачає «гаряче» підключення та відключення пристроїв в процесі роботи системи
- вбудований в мікросхеми фільтр придушує сплески, забезпечуючи цілісність даних.
Переваги для конструкторів
- оскільки такі мікросхеми підключаються безпосередньо до шини без будь-яких додаткових ланцюгів, з'являється можливість модифікації та модернізації системи прототипу шляхом підключення та відключення пристроїв від шини.
- блоки на функціональній схемі відповідають мікросхемам, перехід від функціональної схеми до принципової відбувається швидко.
- немає потреби розробляти шинні інтерфейси, оскільки шина вже інтегрована в мікросхеми.
- інтегровані адресація пристроїв та протокол передачі даних дозволяють системі бути повністю програмно обумовленою.
- одні й ті ж типи мікросхем можуть бути часто використані в різних додатках.
- час розробки знижується, оскільки конструктори швидко знайомляться з часто використовуваними функціональними блоками та відповідними мікросхемами.
- мікросхеми можуть бути додані або прибрані з системи без надання впливу на інші мікросхеми, підключені до шини (якщо їх робота незалежна).
- проста діагностика збоїв та налагодження; порушення в роботі можуть бути негайно відслідковані.
- час розробки програмного забезпечення може бути знижене за рахунок використання бібліотеки повторно використовуваних програмних модулів.
Приклад системи з шиною I2C
Цей розділ потребує доповнення. (березень 2018) |
У телевізорі:
- Мікроконтролер
- ФАПЧ синтезатор
- Флеш-пам'ять
- Мультисистемний декодер сигналів кольоровості
- Стереодекодер звуку
- Покращувач сигналу картинки
- Одночіповий текст
- ІМС сигналів OSD
У базовій станції радіотелефону стандарту DECT
Підтримка операційними системами
- У Linux підтримка I2C забезпечується спеціальним модулем для кожного пристрою, сумісного з цим стандартом. Файл заголовків для написання клієнта I2C — /usr/include/linux/i2c.h. В OpenBSD також додана підтримка основних мікроконтролерів та сенсорів I2C;
- В QDOS і підтримка здійснюється через набір розширень фірми TF Services;
- В AmigaOS доступ до пристроїв I2C здійснюється за допомогою бібліотеки i2c.library, написаної Вільгельмом Нойкером;
- eCos підтримує I2C для декількох архітектур.
- Материнські плати підтримують I2C на рівні форм-фактор Mini-ITX.
Похідні технології
I2C є основою [en], дисплейного інтерфейсного каналу даних (DDC) VESA, шини керування системними функціями SMBus, шини інтелектуального керування системою [en] (варіант протоколу [en]). У цих технологіях можливе використання різних напруг, частоти тактування та наявності ліній переривань.
TWI (Two Wire Interface) або TWSI (Two Wire Serial Interface) власне та ж сама шина I2C, але використовує іншу назву за ліцензійними причин. (Патенти на I2C вже скасовані)
Примітки
Див. також
Посилання
- Опис шини I2C RUS [ 19 квітня 2012 у Wayback Machine.]
- Шина I2C і як її використовувати (включаючи специфікацію) RUS [ 31 травня 2013 у Wayback Machine.]
- Специфікації Philips I2C [ 12 лютого 2007 у Wayback Machine.]
- I2C [ 12 грудня 2020 у Wayback Machine.](англ.)
- I2C Bus/Access Bus [ 18 липня 2020 у Wayback Machine.]
- Using the I2C Bus with Linux [ 1 грудня 2020 у Wayback Machine.]
- OpenBSD iic(4) manual page[недоступне посилання з жовтня 2019]
- GNU/Linux package supports I2C bus, among others.
- massmind I2C page [ 7 жовтня 2008 у Wayback Machine.] Source code, samples and technical information for using I2C with PC, PIC and SX microcontrollers.
- Serial buses information page [ 19 липня 2008 у Wayback Machine.]
- I2C Bus Technical Overview and Frequently Asked Questions [ 6 серпня 2009 у Wayback Machine.]
- Інтерфейс I2C [ 22 травня 2013 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
I2C poslidovna shina danih dlya zv yazku integralnih shem rozroblena firmoyu Philips na pochatku 1980 h yak prosta shina vnutrishnogo zv yazku dlya stvorennya keruyuchoyi elektroniki Vikoristovuyetsya dlya z yednannya nizkoshvidkisnih periferijnih komponentiv z materinskoyu platoyu vbudovuvanimi sistemami ta mobilnimi telefonami Nazva ye abreviaturoyu sliv Inter Integrated Circuit Licenzuvannya1 zhovtnya 2006 roku skasovani licenzijni vidrahuvannya za vikoristannya protokolu I2C Odnak vidrahuvannya zberigayutsya dlya vidilennya eksklyuzivnoyi pidlegloyi adresi na shini I2C Cej rozdil potrebuye dopovnennya Istoriya standarti ta shemotehnikaPriklad shemotehniki z odnim mikrokontrolerom uC Master i troma pidleglimi slave pristroyami ADC analogo cifrovij peretvoryuvach DAC cifro analogovij peretvoryuvach ta drugij mikrokontroler uC Slave navantazhenimi rezistorami Rp I2C vikoristovuye dvi dvonapryamleni liniyi pidtyagnuti do naprugi zhivlennya ta kerovani cherez vidkritij kolektor abo vidkritij stik poslidovna liniya danih SDA angl Serial DAta i poslidovna liniya taktuvannya SCL angl Serial CLock Standartni naprugi 5 V abo 3 3 V prote dopuskayutsya j inshi Klasichna adresaciya vklyuchaye 7 bitovij adresnij prostir z 16 ma zarezervovanimi adresami Ce oznachaye nayavnist do 112 vilnih adres dlya pidklyuchennya periferiyi na odnu shinu Osnovnij rezhim roboti 100 kbit s 10 kbit s v rezhimi roboti iz znizhenoyu shvidkistyu Zauvazhimo sho standart dopuskaye pripinennya taktuvannya dlya roboti z povilnimi pristroyami Pislya pereglyadu standartu 1992 roku staye mozhlivim pidklyuchennya she bilshoyi kilkosti pristroyiv na odnu shinu za rahunok mozhlivosti 10 bitnoyi adresaciyi a takozh veliku shvidkist do 400 kbit s u shvidkisnomu rezhimi Vidpovidno dostupna kilkist vilnih vuzliv zrosla do 1008 Maksimalna dopustima kilkist mikroshem priyednanih do odniyeyi shini obmezhuyetsya maksimalnoyu yemnistyu shini v 400 pF Versiya standartu 2 0 vipushena 1998 roku predstavila visokoshvidkisnij rezhim roboti zi shvidkistyu do 3 4 Mbit s zi znizhenim energospozhivannyam Ostannya versiya 2 1 2001 roku vklyuchila lishe neznachni doopracyuvannya Taktuvannya poslidovnosti peredachi danihPrincip robotiStan START i STOP Procedura obminu pochinayetsya z togo sho veduchij vuzol yakij iniciyuye peredachu danih formuye stan START generuye perehid signalu liniyi SDA z VISOKOGO stanu v nizkij pri visokomu rivni na liniyi SCL Cej perehid sprijmayetsya usima pristroyami pidklyuchenimi do shini yak oznaka pochatku proceduri obminu Generaciya sinhrosignalu ce zavzhdi obov yazok veduchogo kozhnij veduchij generuye svij vlasnij signal sinhronizaciyi pri peresilanni danih po shini Procedura obminu zavershuyetsya tim sho veduchij formuye stan STOP perehid stanu liniyi SDA z nizkogo stanu v VISOKIJ pri visokomu stani liniyi SCL Stani START i STOP zavzhdi viroblyayutsya veduchim Vvazhayetsya sho shina zajnyata pislya fiksaciyi stanu START Shina vvazhayetsya zvilnenoyu cherez deyakij chas pislya fiksaciyi stanu STOP Pri peredachi posilok po shini I2C kozhnij veduchij generuye svij sinhrosignal na liniyi SCL Pislya formuvannya stanu START veduchij opuskaye stan liniyi SCL v NIZKIJ stan i vistavlyaye na liniyu SDA starshij bit pershogo bajta povidomlennya Kilkist bajt v povidomlenni ne obmezhena Specifikaciya shini I2C dozvolyaye zmini na liniyi SDA lishe pri nizkomu rivni signalu na liniyi SCL Dani dijsni ta povinni zalishatisya stabilnimi lishe pid chas VISOKOGO stanu sinhroimpulsu Dlya pidtverdzhennya prijomu bajta vid veduchogo peredavacha vedenim prijmachem v specifikaciyi protokolu obminu po shini I2C vvoditsya specialnij bit pidtverdzhennya yakij vistavlyayetsya na shinu SDA pislya prijomu 8 bita danih Pidtverdzhennya Takim chinom peredacha 8 bit danih vid peredavacha do prijmacha zavershuyutsya dodatkovim ciklom formuvannyam 9 go taktovogo impulsu liniyi SCL pri yakomu prijmach vistavlyaye nizkij riven signalu na liniyi SDA yak oznaku uspishnogo prijomu bajta Pidtverdzhennya pri peredachi danih obov yazkove krim vipadkiv zakinchennya peredachi vedenoyu storonoyu Vidpovidnij impuls sinhronizaciyi generuyetsya veduchim Peredavach vidpuskaye VISOKU liniyu SDA na chas sinhroimpulsu pidtverdzhennya Prijmach povinen utrimuvati liniyu SDA protyagom VISOKOGO stanu sinhroimpulsu pidtverdzhennya v stabilnomu NIZKOMU stani U tomu vipadku koli vedenij prijmach ne mozhe pidtverditi svoyu adresu napriklad koli vin vikonuye v cej moment bud yaki funkciyi realnogo chasu liniya danih povinna buti zalishena v VISOKOMU stani Pislya cogo veduchij mozhe vidati signal STOP dlya pererivannya peresilannya danih Yaksho u peresilanni bere uchast veduchij prijmach to vin povinen povidomiti pro zakinchennya peredachi vedenogo peredavacha shlyahom nepidtverdzhennya ostannogo bajta Vedenij peredavach povinen zvilniti liniyu danih dlya togo shob dozvoliti veduchomu vidati signal STOP abo povtoriti signal START Sinhronizaciya Sinhronizaciya vikonuyetsya z vikoristannyam pidklyuchennya do liniyi SCL za pravilom montazhnogo I Ce oznachaye sho veduchij ne maye monopolnogo prava na keruvannya perehodom liniyi SCL z NIZKOGO stanu v VISOKIJ U tomu vipadku koli vedenomu potriben dodatkovij chas na obrobku prijnyatogo bita vin maye mozhlivist utrimuvati liniyu SCL v nizkomu stani do momentu gotovnosti do prijomu nastupnogo bita Takim chinom liniya SCL bude znahoditisya v NIZKOMU stani protyagom najdovshogo NIZKOGO periodu sinhrosignaliv Pristroyi z bilsh korotkim najnizhchimi periodom budut vhoditi v stan ochikuvannya na chas poki ne skinchitsya dovgij period Koli u vsih zadiyanih pristroyiv skinchitsya NIZKIJ period sinhrosignalu liniya SCL perejde v VISOKIJ stan Vsi pristroyi pochnut prohoditi VISOKIJ period svoyih sinhrosignaliv Pershij pristrij u yakogo skinchitsya cej period znovu vstanovit liniyu SCL v NIZKIJ stan Takim chinom NIZKIJ period sinhroliniyi SCL viznachayetsya najdovshim periodom sinhronizaciyi z usih zadiyanih pristroyiv a VISOKIJ period viznachayetsya samim korotkim periodom sinhronizaciyi pristroyiv Mehanizm sinhronizaciyi mozhe buti vikoristanij prijmachami yak zasib keruvannya peresilannyam danih na bajtovomu ta bitovomu rivnyah Na rivni bajta yaksho pristrij mozhe prijmati bajti danih z velikoyu shvidkistyu ale vimagaye pevnij chas dlya zberezhennya prijnyatogo bajta abo pidgotovki do prijomu nastupnogo to vono mozhe utrimuvati liniyu SCL v NIZKOMU stani pislya prijomu ta pidtverdzhennya bajta perevodyachi takim chinom peredavach v stan ochikuvannya Na rivni bitiv pristrij takij yak mikrokontroler bez vbudovanih aparatnih shem I2C abo z obmezhenimi shemami mozhe upovilniti chastotu sinhroimpulsiv shlyahom prodovzhennya yih NIZKOGO periodu Takim chinom shvidkist peredachi bud yakogo veduchogo adaptuyetsya do shvidkosti povilnogo pristroyu Adresaciya v shini I2C ta osoblivosti Kozhen pristrij pidklyuchenij do shini mozhe buti programno adresovanij za unikalnoyu adresoyu Dlya viboru prijmacha povidomlennya peredavach vikoristovuye unikalnu adresnu komponentu u formati posilki Pri vikoristanni odnotipnih pristroyiv IS chasto mayut dodatkovij selektor adresi yakij mozhe buti realizovanij yak u viglyadi dodatkovih cifrovih vhodiv selektora adresi tak i u viglyadi analogovogo vhodu Pri comu adresi takih odnotipnih pristroyiv viyavlyayutsya rozneseni v adresnomu prostori pristroyiv pidklyuchenih do shini U zvichajnomu rezhimi vikoristovuyetsya 7 bitna adresaciya Procedura adresaciyi na shini I2C polyagaye v tomu sho pershij bajt pislya signalu START viznachaye yakij vedenij adresuyetsya peredavachem dlya provedennya ciklu obminu Vinyatok stanovit adresa Zagalnogo vikliku yakij adresuye vsi pristroyi na shini Koli vikoristovuyetsya cya adresa vsi pristroyi v teoriyi povinni poslati signal pidtverdzhennya Odnak pristroyi yaki mozhut obroblyati zagalnij viklik na praktici traplyayutsya ridko Pershi sim bitiv pershogo bajta utvoryuyut adresu vedenogo Vosmij molodshij bit viznachaye napryam peresilannya danih Nul oznachaye sho veduchij bude zapisuvati informaciyu do obranogo vedenogo Odinicya oznachaye sho veduchij bude zchituvati informaciyu z vedenogo Pislya togo yak adresa poslana kozhnij pristrij v sistemi porivnyuye pershi sim bit pislya signalu START zi svoyeyu adresoyu pri zbigu pristrij vvazhaye sebe obranim yak vedenij prijmach abo yak vedenij peredavach zalezhno vid bita napryamu Adresa vedenogo mozhe skladatisya z fiksovanoyi ta programovanoyi chastini Chasto traplyayetsya sho v sistemi bude kilka odnotipnih pristroyiv Napriklad IMS pam yati abo drajveriv svitlodiodnih indikatoriv tomu za dopomogoyu programovanoyi chastini adresi staye mozhlivim pidklyuchiti do shini maksimalno mozhlivu kilkist takih pristroyiv Kilkist programovanih bit v adresi zalezhit vid kilkosti vilnih vivodiv mikroshemi Inodi vikoristovuyetsya odin vivid z analogovoyu ustanovkoyu programovanogo diapazonu adres Pri comu zalezhno vid potencialu na comu adresnomu vivedenni IMS mozhlive zmishennya adresnogo prostoru drajvera tak shob odnotipni IMS ne konfliktuvali mizh soboyu na zagalnij shini Vsi specializovani IMS sho pidtrimuyut robotu v standarti shini I2C mayut nabir fiksovanih adres perelik yakih zaznachenij virobnikom v opisah kontroleriv Kombinaciya bit 11110HH adresi zarezervovana dlya 10 bitnoyi adresaciyi Yak viplivaye z specifikaciyi shini dopuskayutsya yak prosti formati obminu tak i kombinovani koli v promizhku vid stanu START do stanu STOP veduchij ta vedenij mozhut vistupati i yak prijmach i yak peredavach danih Kombinovani formati mozhut buti vikoristani napriklad dlya keruvannya poslidovnoyu pam yattyu Pid chas pershogo bajta danih mozhna peredavati adresu v pam yati yakij zapisuyetsya u vnutrishnij registr zasuvku Pislya povtorennya signalu startu ta adresi vedenogo vidayutsya dani z pam yati Vsi rishennya pro avtoinkrement abo dekrement adresi do yakogo stavsya poperednij dostup prijmayutsya konstruktorom konkretnogo pristroyu Tomu v bud yakomu vipadku najkrashij sposib uniknuti nekontrolovanoyi situaciyi na shini pered vikoristannyam novoyi abo ranishe ne vikoristovuvanoyi IMS slid retelno vivchiti yiyi opis datasheet abo reference manual otrimavshi jogo z sajtu virobnika Bilshe togo virobniki chasto rozmishuyut poruch bilsh dokladni instrukciyi po zastosuvannyu V bud yakomu vipadku za specifikaciyeyu shini vsi pristroyi sho rozroblyayutsya pri otrimanni signalu START abo povtornij START povinni skinuti logiku shini ta pidgotuvatisya do prijomu adresi Prote osnovni problemi z vikoristannyam I2C shini vinikayut same cherez te sho rozrobniki pochatkivci pracyuyuchi z I2C shinoyu ne vrahovuyut togo faktu sho veduchij chasto mikroprocesor ne maye monopolnogo prava ni na odnu z linij shini ZastosuvannyaI2C znahodit zastosuvannya v pristroyah yaki peredbachayut prostotu rozrobki ta nizku sobivartist vigotovlennya pri vidnosno nepoganij shvidkosti roboti Spisok mozhlivih zastosuvan dostup do moduliv pam yati NVRAM dostup do nizkoshvidkisnih CAP ACP regulyuvannya kontrastnosti nasichenosti ta kolirnogo balansu monitoriv regulyuvannya zvuku v dinamikah keruvannya svitlodiodami v tomu chisli v mobilnih telefonah chitannya informaciyi z datchikiv monitoringu ta diagnostiki ustatkuvannya napriklad termostat centralnogo procesora abo shvidkist obertannya chitannya informaciyi z godinnika realnogo chasu kvarcovih generatoriv keruvannya vklyuchennyam viklyuchennyam zhivlennya sistemnih komponent informacijnij obmin mizh mikrokontrolerami Na deshevih pristroyah chasto I2C emulyuyetsya programno z vikoristannyam tehnologiyi Perevagineobhidnij vsogo odin mikrokontroler dlya keruvannya naborom pristroyiv vikoristovuyetsya vsogo dvi liniyi vvedennya vivedennya zagalnogo priznachennya standart peredbachaye garyache pidklyuchennya ta vidklyuchennya pristroyiv v procesi roboti sistemi vbudovanij v mikroshemi filtr pridushuye spleski zabezpechuyuchi cilisnist danih Perevagi dlya konstruktoriv oskilki taki mikroshemi pidklyuchayutsya bezposeredno do shini bez bud yakih dodatkovih lancyugiv z yavlyayetsya mozhlivist modifikaciyi ta modernizaciyi sistemi prototipu shlyahom pidklyuchennya ta vidklyuchennya pristroyiv vid shini bloki na funkcionalnij shemi vidpovidayut mikroshemam perehid vid funkcionalnoyi shemi do principovoyi vidbuvayetsya shvidko nemaye potrebi rozroblyati shinni interfejsi oskilki shina vzhe integrovana v mikroshemi integrovani adresaciya pristroyiv ta protokol peredachi danih dozvolyayut sistemi buti povnistyu programno obumovlenoyu odni j ti zh tipi mikroshem mozhut buti chasto vikoristani v riznih dodatkah chas rozrobki znizhuyetsya oskilki konstruktori shvidko znajomlyatsya z chasto vikoristovuvanimi funkcionalnimi blokami ta vidpovidnimi mikroshemami mikroshemi mozhut buti dodani abo pribrani z sistemi bez nadannya vplivu na inshi mikroshemi pidklyucheni do shini yaksho yih robota nezalezhna prosta diagnostika zboyiv ta nalagodzhennya porushennya v roboti mozhut buti negajno vidslidkovani chas rozrobki programnogo zabezpechennya mozhe buti znizhene za rahunok vikoristannya biblioteki povtorno vikoristovuvanih programnih moduliv Priklad sistemi z shinoyu I2CCej rozdil potrebuye dopovnennya berezen 2018 U televizori Mikrokontroler FAPCh sintezator Flesh pam yat Multisistemnij dekoder signaliv kolorovosti Stereodekoder zvuku Pokrashuvach signalu kartinki Odnochipovij tekst IMS signaliv OSD U bazovij stanciyi radiotelefonu standartu DECT Generator DTMF Interfejs telefonnoyi liniyi kodek ADIKM Paketnij kontroler MikrokontrolerPidtrimka operacijnimi sistemamiU Linux pidtrimka I2C zabezpechuyetsya specialnim modulem dlya kozhnogo pristroyu sumisnogo z cim standartom Fajl zagolovkiv dlya napisannya kliyenta I2C usr include linux i2c h V OpenBSD takozh dodana pidtrimka osnovnih mikrokontroleriv ta sensoriv I2C V QDOS i pidtrimka zdijsnyuyetsya cherez nabir rozshiren firmi TF Services V AmigaOS dostup do pristroyiv I2C zdijsnyuyetsya za dopomogoyu biblioteki i2c library napisanoyi Vilgelmom Nojkerom eCos pidtrimuye I2C dlya dekilkoh arhitektur Materinski plati pidtrimuyut I2C na rivni form faktor Mini ITX Pohidni tehnologiyiI2C ye osnovoyu en displejnogo interfejsnogo kanalu danih DDC VESA shini keruvannya sistemnimi funkciyami SMBus shini intelektualnogo keruvannya sistemoyu en variant protokolu en U cih tehnologiyah mozhlive vikoristannya riznih naprug chastoti taktuvannya ta nayavnosti linij pererivan TWI Two Wire Interface abo TWSI Two Wire Serial Interface vlasne ta zh sama shina I2C ale vikoristovuye inshu nazvu za licenzijnimi prichin Patenti na I2C vzhe skasovani PrimitkiDiv takozh1 Wire SPIPosilannyaOpis shini I2C RUS 19 kvitnya 2012 u Wayback Machine Shina I2C i yak yiyi vikoristovuvati vklyuchayuchi specifikaciyu RUS 31 travnya 2013 u Wayback Machine Specifikaciyi Philips I2C 12 lyutogo 2007 u Wayback Machine I2C 12 grudnya 2020 u Wayback Machine angl I2C Bus Access Bus 18 lipnya 2020 u Wayback Machine Using the I2C Bus with Linux 1 grudnya 2020 u Wayback Machine OpenBSD iic 4 manual page nedostupne posilannya z zhovtnya 2019 GNU Linux package supports I2C bus among others massmind I2C page 7 zhovtnya 2008 u Wayback Machine Source code samples and technical information for using I2C with PC PIC and SX microcontrollers Serial buses information page 19 lipnya 2008 u Wayback Machine I2C Bus Technical Overview and Frequently Asked Questions 6 serpnya 2009 u Wayback Machine Interfejs I2C 22 travnya 2013 u Wayback Machine