Удлинитель шины I2C

Шина I2C – это удобный и дешевый способ обмена информацией между интегральными микросхемами внутри устройства. Но бывает надо иметь возможность увеличить радиус действия шины. Это облегчает связь, например, с датчиками, без необходимости использовать последовательные интерфейсы с большим радиусом действия, такие как RS232 или RS485, или прибегать к использованию радиопередатчиков.

Модуль позволяет удлинить шину I2C с использованием дифференциальной передачи и типичной витой пары CAT5. Благодаря оснащению модуля набором разъемов для наиболее популярных стандартов прототипов плат (Grove, Qwiic, Arduino) он действует как концентратор между схемами, избавляя также от необходимости использовать адаптеры.

Вот внутренняя структура микросхемы PCA9615. Модуль основан на специализированном буфере и контроллере Hot-Swap. В своей структуре чип включает буферы SDA и SCL, управляемые сигналом EN. Буферы изолируют часть шины со стороны входа (SDA / SCL) и обеспечивают соответствие стандарту I2C, а на стороне выхода (DSCLP / LM, DSDAP / AM) они настроены как дифференциальные сигналы – обеспечивают больший диапазон и невосприимчивость к помехам.

Согласно примечанию производителя, дальность составляет около 3 м для режима FM+ и может быть увеличен на более низких скоростях. Конечно, для правильной работы необходимы две цепи, обеспечивающие полное преобразование сигнала.

Принципиальная схема модуля удлинителя I2C

Основные параметры:

  • передача с дифференциальными сигналами обеспечивает большой радиус действия и невосприимчивость к помехам,
  • диапазон составляет примерно 3 м в режиме FM+ и может быть увеличен на более низких скоростях (10 м в стандартном режиме 100 кГц),
  • работает в диапазоне питания 3,3 … 5 В.

Схема модуля представлена на рисунке выше. Шина I2C подключается к разъемам I2CA … I2CF, резисторы R7 и R8 обеспечивают соответствующую поляризацию. Схема U1 преобразует сигналы в симметричную форму для линии данных SDA и тактовой частоты SCL, которые после согласования с элементами R1 … R6 выводятся на разъем LINK (типа RJ45). Типовой кабель CAT5 (1:1) используется для соединения между модулями. Перемычки VCC и GND включают выход источника питания, когда, помимо передачи, нужно запитать взаимодействующую схему.

Проведенные эксперименты показывают, что при хорошем качестве связи можно подавать питание и передавать на расстояние до 10 м в стандартном режиме (100 кГц).

Это позволяет подключать типичные датчики окружающей среды с низким энергопотреблением, такие как BME280, LM75 и даже модуль расширения PCF8574, который поддерживает OLED-дисплей и несколько светодиодов. Перемычки VCC и GND должны быть припаяны в случае выхода питания в обоих модулях шины.

Модуль собран на двусторонней печатной плате. Его схема вместе с расположением элементов показана на рисунке.

Правильно собранная схема не требует налаживания и готова к работе сразу после подключения источника питания.