Преглед и предимства на I2C автобуса

Разработено от Philips през 80-те години на миналия век, I2C (алтернативно изписван I2C) се превърна в един от най-често използваните протоколи за серийна комуникация в електрониката. I2C улеснява комуникацията между електронни компоненти или интегрирани вериги, дали компонентите са еднакви печатни платки или свързани с кабел.

Втора фаза на протокола I2C
Mwnuk / CC BY 2.0 / Wikimedia Commons

Какво представлява I2C протоколът?

I2C е сериен комуникационен протокол, който изисква само две сигнални линии. Той е проектиран за комуникация между чипове на печатна платка (PCB). I2C първоначално е проектиран за 100 Kbps комуникация. Въпреки това, през годините са разработени по-бързи режими на предаване на данни за постигане на скорост до 3,4 Mbit.

Ключовата характеристика на I2C е способността да има много компоненти на един комуникационна шина само с два проводника, което прави I2C перфектен за прости приложения. Протоколът I2C е установен като официален стандарт, позволяващ обратна съвместимост между I2C реализациите.

I2C сигнали

Протоколът I2C използва две двупосочни сигнални линии за комуникация с устройствата на комуникационната шина. Използваните два сигнала са:

  • Серийна линия за данни (SDL)
  • Часовник за серийни данни (SDC)

Причината, поради която I2C може да използва само два сигнала за комуникация с няколко периферни устройства, е в това как се управлява комуникацията по шината. Всяка I2C комуникация започва със 7-малко (или 10-битов) адрес, който извиква адреса на периферното устройство.

Това позволява на множество устройства на I2C шината да играят ролята на основно устройство, както диктуват нуждите на системата. За предотвратяване на комуникационни сблъсъци, I2C протоколът включва възможности за арбитраж и откриване на сблъсък, които позволяват гладка комуникация по шината.

Предимства на I2C

Като комуникационен протокол, I2C има следните предимства:

  • Гъвкави скорости на предаване на данни.
  • Комуникация на по-дълго разстояние от SPI.
  • Всяко устройство на шината може да се адресира независимо.
  • Устройствата имат проста връзка първично/вторично.
  • Необходими са само две сигнални линии.
  • Той е в състояние да обработва множество първични комуникации, като осигурява арбитраж и откриване на комуникационни сблъсъци.

Ограничения на I2C

С всички тези предимства, I2C има и няколко ограничения, които може да се наложи да бъдат проектирани. Най-важните ограничения на I2C включват:

  • Тъй като само 7-бита (или 10-бита) са налични за адресиране на устройства, устройствата на една и съща шина могат да споделят един и същ адрес. Някои устройства могат да конфигурират последните няколко бита от адреса, но това налага ограничение на устройствата на една и съща шина.
  • Налични са само няколко ограничени скорости на комуникация и много устройства не поддържат предаването при по-високи скорости. Необходима е частична поддръжка за всяка скорост на шината, за да се предотврати по-бавните устройства да улавят частични предавания, които могат да доведат до оперативни проблеми.
  • Споделеното естество на I2C шината може да доведе до спиране на цялата шина, когато едно устройство на шината спре да работи. Превключването на захранването към шината може да възстанови правилната работа.
  • Тъй като устройствата задават своя собствена скорост на комуникация, по-бавните работни устройства могат да забавят работата на по-бързите устройства.
  • I2C черпи повече мощност от другите серийни комуникационни шини поради топологията на комуникационните линии с отворен дренаж.
  • Ограниченията на I2C шината обикновено ограничават броя на устройствата в една шина до около дузина.

I2C приложения

I2C е чудесен вариант за приложения, които изискват ниска цена и проста реализация, а не висока скорост. Например, често срещаните употреби на комуникационния протокол I2C включват:

  • Четене на определени интегрални схеми на паметта.
  • Достъп до ЦАП и АЦП.
  • Предаване и контролиране на действия, насочени към потребителя.
  • Отчитане на хардуерни сензори.
  • Комуникация с множество микроконтролери.