Skip to main content

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

10 правила от етикета на стратъп света (Април 2025)

10 правила от етикета на стратъп света (Април 2025)
Anonim

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

Протоколът I2C

I2C е сериен комуникационен протокол, който изисква само две сигнални линии. Той е проектиран за комуникация между чиповете на печатни платки. I2C първоначално е проектирана за комуникация от 100kbps, но през годините са разработени по-бързи начини за предаване на данни, за да се постигнат скорости до 3.4Mbit. Протоколът I2C е установен като официален стандарт, който осигурява добра съвместимост между внедряванията на I2C и добра обратна съвместимост.

I2C Сигнали

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

  • Сериен ред за данни (SDL)
  • Сериен часовник за данни (SDC)

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

Предимства и ограничения

Като комуникационен протокол, I2C има много предимства, които правят, е добър избор за много вградени дизайн приложения. I2C носи следните предимства:

  • I2C изисква само две сигнални линии
  • Гъвкави скорости на предаване на данни
  • Всяко устройство на шината е независимо адресируемо
  • Устройствата имат проста връзка между капитан и роб
  • I2C е в състояние да обработва множество главни комуникации чрез предоставяне на арбитраж и разкриване на сблъсъка на комуникация
  • По-дълги комуникации от SPI

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

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

Приложения

Автобусът I2C е чудесна възможност за приложения, които изискват ниска цена и просто изпълнение, а не висока скорост. Например, четенето на някои интегрални интегрални схеми, достъпа до DAC и ADC, четенето на сензори, предаването и контролирането на насочени от потребителя действия, четенето на хардуерни сензори и комуникацията с множество микроконтролери са обичайни приложения на I2C комуникационния протокол.