Zavod.devсоздан инженерами для инженеров
Глоссарий

I2C

I2C (Inter-Integrated Circuit) — это синхронная двухпроводная последовательная шина, предназначенная для связи между микроконтроллерами и различными периферийными устройствами, такими как датчики, АЦП, ЦАП и модули памяти. Интерфейс использует две линии: тактовый сигнал (SCL) и данные (SDA), что позволяет подключать до 127 (в стандартном режиме адресации) или более 1000 (в расширенном) устройств к одной шине с минимизацией числа выводов на кристалле. I2C широко применяется во встроенных системах, включая промышленные AI-платы и модули машинного обучения, где требуется компактное и экономичное сопряжение с сенсорным парком. В каталоге Zavod.dev интерфейс I2C реализован в микроконтроллерах и AI-платах (разделы mikrokontrollery и ai-dev-boards), что упрощает интеграцию внешних датчиков температуры, давления, акселерометров и других компонентов без усложнения печатного монтажа.

Инженеры Zavod.dev · обновлено 20 июля 2026

Принцип работы

Передача данных по шине I2C происходит с использованием старт-стопных условий: ведущее устройство инициирует сеанс, формируя условие старта (переход SDA из высокого уровня в низкий при высоком SCL), за которым следует адресный байт, содержащий 7-битный адрес целевого ведомого и бит направления (чтение/запись). Ведомое устройство, распознав свой адрес, подтверждает прием сигналом ACK (низкий уровень на SDA). Последующие байты данных передаются синхронно с тактовыми импульсами, генерируемыми ведущим. Скорость обмена может составлять от 100 кбит/с (стандартный режим) до 3,4 Мбит/с (режим High-Speed). Важной особенностью является возможность работы нескольких ведущих на одной шине с арбитражем и обнаружением коллизий.

Ключевые характеристики при выборе

При выборе компонентов для работы с I2C необходимо учитывать максимальную тактовую частоту, поддерживаемую ведомыми устройствами, так как она определяет пропускную способность канала. Второй параметр — значения подтягивающих резисторов на линиях SDA и SCL, которые зависят от емкости шины и рабочего напряжения (типично 1.8–5 В): слишком низкое сопротивление увеличивает потребление тока, слишком высокое — ухудшает фронты сигнала. Третий фактор — адресное пространство: некоторые датчики имеют конфликтующие фиксированные адреса, что требует использования мультиплексоров или переключения адресных выводов. Для длинных линий или в условиях электромагнитных помех следует рассмотреть буферизованные расширители шины и экранированные кабели.

Где применяется

В промышленности I2C применяется для подключения датчиков вибрации, температуры и влажности к системам мониторинга состояния оборудования. В составе AI-плат шина используется для соединения нейропроцессоров с вспомогательными АЦП и источниками опорного напряжения. В каталоге Zavod.dev интерфейс встречается в отладочных платах для прототипирования алгоритмов машинного обучения, где необходимо оперативно подключать новые сенсорные модули без перепроектирования схемы. Также I2C применяется в системах управления питанием для конфигурирования PWM-контроллеров и мониторов напряжения.

Частые ошибки при подборе

Ошибка №1 — неправильный расчет времени нарастания сигнала из-за неверного номинала подтягивающих резисторов, что ведет к сбоям при высоких скоростях. Ошибка №2 — игнорирование требований к уровню логических напряжений: подключение 5-вольтового ведомого к 3.3-вольтовому ведущему без преобразователя уровней приводит к повреждению портов. Ошибка №3 — дублирование адресов при использовании нескольких одинаковых датчиков без возможности аппаратного переключения (выводы ADDR), что требует применения мультиплексоров или программной смены адреса, если это поддерживается.

Перейти в каталог Zavod.dev →

Частые вопросы

Стандартный I2C рассчитан на внутриплатные соединения. Для длинных линий необходимы специализированные удлинители (буферы) с дифференциальной передачей или пониженной скоростью обмена.