Обзор и преимущества шины I2C
Разработанный Philips в 1980-х годах, я2C (или I2C) стал одним из наиболее часто используемых протоколов последовательной связи в электронике. I2C облегчает обмен данными между электронными компонентами или интегрированными схемы, находятся ли компоненты на одном Печатная плата или подключен с помощью кабеля.

Что такое протокол I2C?
I2C - это протокол последовательной связи, для которого требуются только две сигнальные линии. Он был разработан для связи между микросхемами на печатной плате (PCB). I2C изначально был разработан для 100 Кбит / с коммуникация. Однако с годами были разработаны более быстрые режимы передачи данных, позволяющие достичь скорости до 3,4 Мбит.
Ключевой особенностью 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 относятся:
- Чтение некоторых микросхем памяти.
- Доступ к ЦАП и АЦП.
- Передача и управление действиями, направленными пользователем.
- Считывание аппаратных датчиков.
- Связь с несколькими микроконтроллерами.