Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС (Андрей).docx
Скачиваний:
121
Добавлен:
05.05.2021
Размер:
7.63 Mб
Скачать

18) Интерфейс i2c. Протокол передачи данных, режимы работы. Основные преимущества и недостатки интерфейса.

Интерфейс I2C использует всего две линии — они именуются SCL (Serial Clock) и SDA (Serial Data). Первая предназначена для передачи синхроимпульсов (они формируются тем устройством, которое в настоящий момент передает данные), а вторая — для передачи самих данных и команд, управляющих этим процессом. Обе линии имеют открытый коллектор (как и во многих других случаях, когда необходимо, чтобы к одной линии мого подключаться несколько различных устройств), поэтому требуют подключения «подтягивающих» резисторов сопротивлением 1-10 кОм.

Для примера на рисунке ниже показана структурная схема:

Протокол передачи данных

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

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

Каждое устройство взаимодействует с сигналами данных и тактовой синхронизации через драйверы вывода с открытым стоком (или с открытым коллектором).

Каждое ведомое устройство идентифицируется с помощью 7-битного адреса; устройство мастер должно знать эти адреса, чтобы общаться с конкретным ведомым устройством

Все передачи инициируются и прекращаются мастером; мастер может передавать данные одному или нескольким ведомым устройствам или запрашивать данные из ведомого устройства.

Метки «ведущий/master» и «ведомый/slave» по своей сути непостоянны: любое устройство может функционировать и как ведущее, и как ведомое устройство, если оно содержит необходимое аппаратное и/или программное обеспечение. На практике, однако, встраиваемые системы часто используют архитектуру, в которой одни мастер отправляет команды или собирает данные с нескольких ведомых устройств.

Сигнал данных обновляется по заднему фронту тактового сигнала, а его выборка происходит по переднему фронту.

Данные передаются в однобайтовых секциях, причем каждый байт сопровождается однобитным сигналом подтверждения, называемым битом ACK/NACK (подтверждение или неподтверждение)

Пакет данных:

Преимущества интерфейса I2C

необходим всего один микроконтроллер для управления набором устройств;

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

возможна одновременная работа нескольких ведущих (master) устройств, подключенных к одной шине I2C;

стандарт предусматривает «горячее» подключение и отключение устройств в процессе работы системы;

встроенный в микросхемы, реализующие интерфейс фильтр подавляет всплески, обеспечивая целостность данных.

Недостатки интерфейса I2C

ограничение на ёмкость линии — 400 пФ;

несмотря на простоту протокола, программирование контроллера I2C затруднено из-за изобилия возможных нештатных ситуаций на шине. По этой причине большинство систем используют I²C c единственным ведущим (master) устройством и распространённые драйверы поддерживают только монопольный режим обмена по I2C;

Трудность локализации неисправности, если одно из подключенных устройств ошибочно устанавливает на шине состояние низкого уровня.

85

Соседние файлы в предмете Микропроцессорные системы