Назад в библиотеку

Интерфейсная шина I2C

Автор: Каршов Р.С.
Источник: http://scientificmagazine.ru/images/PDF/2017/19/interfejsnaya-shina-i2c.pdf

Аннотация:

Каршов Р.С. Интерфейсная шина I2C
Шина I2C очень популярна среди протоколов обмена данных. Используется для обмена информацией между ведущим и ведомым. Процесс обмена информацией осуществляется по двум линиям: данных и синхронизации, что является одним из самых больших преимуществ данного интерфейса.

Ключевые слова:

шина I2C, SDA, SCL, управляющий байт, ведущий, ведомый.

Шина I2C представляет собой стандартный двунаправленный интерфейс, который использует контроллер, известный как ведущий, для связи с ведомыми устройствами. Ведомый может не передавать данные, если он не был адресован мастером. Каждое устройство на шине I2C имеет конкретный адрес устройства для отличия от других устройств, которые находятся на одной шине.

Физический интерфейс I2C состоит из последовательных тактовых импульсов (SCL) и последовательных данных (SDA). Линии SDA и SCL должны быть подключены к VCC через нагрузочный резистор [1]. Размер подтягивающего резистора определяется величиной емкости на линиях I2C. Передача данных может быть инициирована только тогда, когда шина находится в режиме ожидания. Шина считается бездействующей, если обе линии SDA и SCL находятся в состоянии высокого после состояния STOP.

Связь I2C с устройством инициируется ведущим, отправляющим условие START и завершающим условием STOP, представленная на рисунке 1. Переход с высокого уровня на низкий по линии SDA в то время как SCL высокий, определяется как условие START. Переход от низкого к высокому по линии SDA при высоком уровне SCL определяется как STOP [2].

Повторное условие START похоже на состояние START и используется вместо промежуточного STOP. Он выглядит идентично, но отличается от условия START, потому что это происходит до состояния STOP. Это удобно, когда мастер передает новое сообщение, но не хочет, чтобы шина простаивала в состоянии STOP. В этом случае есть шанс того, что мастер потеряет управление шиной.

Рисунок 1 – Условия START и STOP

Рисунок 1 – Условия START и STOP

Управляющий байт – это первый байт, полученный от ведущего устройства следом за условием START, состоящий из 4-битного управляющего кода [3]. Далее идут биты выбора микросхемы, к которой необходимо получить доступ. Завершающий бит управляющего кода определяет, какая операция будет выполнена. Если 1, то операция чтения, если 0 – операция записи. На рисунке 2 показана полная адресация устройства.

Рисунок 2 – Адресация устройства

Рисунок 2 – Адресация устройства

Список использованной литературы

  1. Семенов Б.Ю. Шина I2C в радиотехнических конструкциях. СОЛОН-Р. Москва, 2002.
  2. Valdez Jonathan, Becker Jared. Understanding the I2C Bus. Texas, June 2015.
  3. 24LC512 – КМОП последовательная EEPROM 512 Кбит с интерфейсом I2C. [Электронный ресурс]. Режим доступа:http://piclist.ru/D-MC-24LC512-RUS/D-MC-24LC512-RUS.html/ (дата обращения: 10.06.2017).