I2C Tiny USB - znoxx/ARCAdaptor GitHub Wiki

Оригинальный проект I2C-Tiny-USB за авторством Till Harbaum -- это простой адаптер, позволяющий обеспечить подключение I2C устройств (в т.ч. и самодельных) по шине I2C. Причем, при работе с актуальными версиями Linux драйвера не требуются, ибо уже находятся в ядре (и давно).

На диаграмме ниже указаны контакты SCL и SDA, к которым нужно подключать оконечное устройство. Так же отмечены PULL-UP резисторы. I2C требует три провода - SCL, SDA и GND. Pull-up резисторы, НЕ нужно ставить в случаях, если:

  • Они есть на оконечном устройстве
  • Используется конвертер уровней, на котором они уже есть (а как правило, на дешевых массовых моделях они присутствуют).

i2c

Вообще, хороший туториал можно почитать тут.

Несмотря на то, что I2C присутствует в большинстве одноплатных компьютеров, использование описанного USB-I2C адаптера является хорошим решением.

  • Драйвер устройства давно присутствует в ядре.
  • Если одноплатный компьютер имеет GPIO с уровнями 3.3в, то можно избежать использования конвертера уровней, что добавит схеме стабильности.
  • Новые модели SBC не всегда получают поддержку I2C сразу.

Проект находится здесь