Общ преглед и предимства на I2C шината

Съдържание:

Общ преглед и предимства на I2C шината
Общ преглед и предимства на I2C шината
Anonim

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

Image
Image

Какво представлява 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 включват:

  • Четене на определени IC памети.
  • Достъп до DAC и ADC.
  • Предаване и контролиране на насочени от потребителя действия.
  • Четене на хардуерни сензори.
  • Комуникация с множество микроконтролери.

Препоръчано: