Orange Pi Zero. Подключаем I2C интерфейс

Что такое I2C

Последовательный протокол обмена данными IIC (также называемый I2C – Inter-Integrated Circuits, межмикросхемное соединение) использует для передачи данных две двунаправленные линии связи, которые называются шина последовательных данных SDA (Serial Data) и шина тактирования SCL (Serial Clock).

В сети есть хотя бы одно ведущее устройство (Master), которое инициализирует передачу данных и генерирует сигналы синхронизации. В сети также есть ведомые устройства (Slave), которые передают данные по запросу ведущего. У каждого ведомого устройства есть уникальный адрес, по которому ведущий и обращается к нему. Адрес устройства указывается в паспорте (datasheet). К одной шине I2C может быть подключено до 127 устройств, в том числе несколько ведущих. К шине можно подключать устройства в процессе работы, т.е. она поддерживает «горячее подключение».

Orange Pi Zero. Подключаем I2C интерфейс

i2c интерфейс

Настройка I2C на Orange Pi Zero

По умолчанию порт I2C на Orange Pi Zero не настроен и для того что бы вклчить I2C на Orange Pi Zero. Нужно сделать следующее: отредактировать файл /boot/armbianEnv.txt, добавив значение i2c0 для параметра overlays, пример: overlays=usbhost2 usbhost3 uart1 uart2 i2c0

Подробнее можно почитать тут: https://docs.armbian.com/User-Guide_Allwinner_overlays/

Так же устанавливаем i2c-tools из репозитория:

sudo apt-get install i2c-tools

В i2c-tools входят следующие утилиты:

i2cdetect — для определения устройств, подключенных к шине i2c

i2cget — для чтения данных из регистров подключенных устойств

i2cset — запись данных в регистры подключённых устройств

что бы просмотреть устройства надо запустить:

i2cdetect -y 0

в результате мы получим список подключенных устройств:

Orange Pi Zero. Подключаем I2C интерфейс

вывод i2cdetect

EnglishRussianUkrainian